CMPE/SE 131 Software Engineering May 9 Class Meeting

Slides:



Advertisements
Similar presentations
CS 174: Web Programming April 28 Class Meeting
Advertisements

CS 185C: The History of Computing August 24 Class Meeting Department of Computer Science San Jose State University Fall 2011 Instructor: Ron Mak
CS 160: Software Engineering October 20 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 151: Object-Oriented Design December 5 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
Software Development Process
CS 157B: Database Management Systems II March 18 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak.
CS 152: Programming Language Paradigms April 9 Class Meeting Department of Computer Science San Jose State University Spring 2014 Instructor: Ron Mak
CS 160: Software Engineering October 8 Class Meeting
CS361 Winter 2013 Final Exam Review Software Engineering I Oregon State University.
CS 235: User Interface Design November 3 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Review for the Final Exam CSCI Software Project Management.
CS 149: Operating Systems April 7 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
CMPE 226 Database Systems November 18 Class Meeting Department of Computer Engineering San Jose State University Fall 2015 Instructor: Ron Mak
MNP1163 (Software Construction).  SDLC and Construction Models  Construction Planning  Construction Measurement.
CS 151: Object-Oriented Design October 29 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
CS 235: User Interface Design April 28 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 160 and CMPE/SE 131 Software Engineering February 18 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
CS 174: Web Programming November 16 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
CS 160 and CMPE/SE 131 Software Engineering April 12 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CS 160 and CMPE/SE 131 Software Engineering March 22 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CS 154 Formal Languages and Computability April 19 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
CS 160 and CMPE/SE 131 Software Engineering May 12 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
CS 160 and CMPE/SE 131 Software Engineering May 3 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
Software Development - Methodologies
TK2023 Object-Oriented Software Engineering
Chapter 7: Software Engineering
Business System Development
Chapter 15 Finalizing Design Specifications
Methodologies and Algorithms
Motivation, Terminology, Layered systems (and other random stuff)
Chapter 7: Software Engineering
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Appendix B Agile Methodologies
CMPE 280 Web UI Design and Development August 29 Class Meeting
Managing the Project Lifecycle
Review for Final, Fall 2010 Close book, Close notes
Ernest Cachia Department of Computer Information Systems
Project Workflow.
Software Development methodologies
CSE 403 Software Engineering
CMPE 135: Object-Oriented Analysis and Design November 21 Class Meeting Department of Computer Engineering San Jose State University Fall 2017 Instructor:
Client Management Managing Client Expectations
CMPE Database Systems Exercise #1 Solutions
Campus Locator – Definition Phase (May04-04)
COMP 350: Object Oriented Analysis and Design Lecture 2
CIS 207 Competitive Success-- snaptutorial.com
CIS 207 Education for Service-- snaptutorial.com
CIS 207 Teaching Effectively-- snaptutorial.com
What do you need to know about XP?
Chapt 2 Iterative Evolutionary Agile.
Practical Software Engineering
CMPE 135: Object-Oriented Analysis and Design December 6 Class Meeting
CMPE 135: Object-Oriented Analysis and Design November 29 Class Meeting Department of Computer Engineering San Jose State University Fall 2018 Instructor:
CMPE 152: Compiler Design December 6 Class Meeting
CMPE Database Systems Exercise #3 Solutions
CMPE 152: Compiler Design November 29 Class Meeting
CMPE 135: Object-Oriented Analysis and Design November 29 Class Meeting Department of Computer Engineering San Jose State University Fall 2018 Instructor:
Chapter 13: Construction
CMPE/SE 131 Software Engineering April 13 Class Meeting
CMPE/SE 131 Software Engineering March 23 Class Meeting
CMPE/SE 131 Software Engineering February 21 Class Meeting
Appendix B Agile Methodologies
CMPE/SE 131 Software Engineering April 11 Class Meeting
CMPE 135: Object-Oriented Analysis and Design April 30 Class Meeting
CMPE 135 Object-Oriented Analysis and Design March 7 Class Meeting
CS 144 Advanced C++ Programming April 25 Class Meeting
CMPE 152: Compiler Design May 2 Class Meeting
Preparation for Final exam
CS/SE 157B Database Management Systems II April 24 Class Meeting
Presentation transcript:

CMPE/SE 131 Software Engineering May 9 Class Meeting Department of Computer Engineering San José State University Spring 2017 Instructor: Ron Mak www.cs.sjsu.edu/~mak

Unofficial Field Trip Computer History Museum in Mt. View http://www.computerhistory.org/ Provide your own transportation to the museum. Saturday, May 20, 11:30 – closing time Special free admission (for my students only). Experience a fully restored IBM 1401 mainframe computer from the early 1960s in operation. Do a self-guided tour of the Revolution exhibit. New Make/Software: Change the World exhibit.

Unofficial Field Trip, cont’d IBM 1401 computer, fully restored and operational. A small transistor-based mainframe computer. Extremely popular with small businesses in the late 1950s through the mid 1960s Maximum of 16K bytes of memory. 800 card/minute card reader (wire brushes). 600 line/minute line printer (impact). 6 magnetic tape drives, no disk drives.

Unofficial Field Trip, cont’d Information on the IBM 1401: General info: http://en.wikipedia.org/wiki/IBM_1401 My summer seminar: http://www.cs.sjsu.edu/~mak/1401/ Restoration: http://ed-thelen.org/1401Project/1401RestorationPage.html

Unofficial Field Trip, cont’d See the extensive Revolution exhibits! Walk through a timeline of the First 2000 Years of Computing History. Historic computer systems, data processing equipment, and other artifacts. Small theater presentations. Hollerith Census Machine Atanasoff-Berry Computer

Unofficial Field Trip, cont’d New Make/Software: Change the World exhibit. Explore the history, impact, and technology behind seven game-changing applications: MP3, Photoshop, MRI, Car Crash Simulation, Wikipedia, Texting, and World of Warcraft.

EPICS Prof. Keith Perry will come in around 9:45 today to discuss his EPICS (Engineering Programs in Community Service) senior project class.

Individual Postmortem Report Each student submits a 3-paragraph private assessment. What did you learn from this class. What did you do for the project and how well did you do. Your assessment of each of your fellow team members. Canvas: Postmortem report

This is Not a Web Programming Class! Creating a fantastic web app is not enough to earn a high grade. Your project must demonstrate that you applied good software engineering principles.

Major Themes What is software engineering? Project organization Complexity + Change Collaboration, Communication, Coordination Project structure and communication Team member roles Project organization Waterfall model vs. Agile development The Agile Manifesto Project risk

Major Themes, cont'd Project phases, activities, and artifacts Use cases Requirements elicitation Functional specification Requirements analysis Conceptual design Prototyping System architecture Object design and development

Major Themes, cont'd Project phases, activities, and artifacts, cont’d ER diagram Relational schema Work breakdown structure Estimating, scheduling, Gantt charts Test plan and testing Code reviews Product demos

Major Themes, cont'd Architecture and design Partitioning, coupling, cohesion, layering Architectural styles Model-View-Controller Client-Server Full-stack framework Relational data model Object-relational mapping UI design

Major Themes, cont'd Software reliability Testing Test cases Unit, integration, system, regression, stress Black box and white box Alpha and beta Usability Test cases Logging and monitoring Fault tolerance Failure analysis Test-driven development (TDD)

Major Themes, cont'd Failed projects Project do’s and don’ts Denver International Airport baggage handling system U.S.S. Vincennes Project do’s and don’ts

Major Themes, cont'd Project management and methodologies Ethics Agile project management Extreme Programming The Rational Unified Process Ethics Morality and ethics Professional responsibilities Software engineering codes Speaking out and whistle blowing

Final Exam Format There will be a combination of multiple choice and short answer questions.

Example Final Exam Questions You’re developing an application for a client. How is it possible for a software product to fail despite meeting all of the client’s requirements? How can you prevent this type of failure? What are advantages and disadvantages of object-relational mapping such as provided by Rail’s active records?

Example Final Exam Questions Explain the maxim, “You can write code so simple that there are obviously no bugs, or you can write code so complex that there are no obvious bugs.” How does Extreme Programming do code reviews? Why is it important to have milestones in a project schedule?

Example Final Exam Questions Why is LOC (lines of code) a poor productivity metric? What are the advantages and disadvantages of a framework such as Rails when it comes to debugging your code? What does it mean to say, “Don’t make me think” with regards to UI design?

Example Final Exam Questions When do most of the benefits of a code review actually occur? Why? Briefly explain the concept of MVP and its importance to project scheduling. From the Extreme Programming point of view, explain the statement “The code’s not done until the tests run.”

Example Final Exam Question At the start of a project, you need to gather the requirements for a proposed software product from the product’s clients and future users. Discuss the effectiveness of soliciting the requirements by creating and handing out a multiple-choice questionnaire.

Example Final Exam Question How would you create a Gantt chart for purchasing a car? The following are elements of a work breakdown structure listed in time order, but you must determine which are individual tasks, summary tasks, or milestones. Start on Monday, May 1 and do not work during weekends. For this problem, assume that each individual task takes one full day. Each individual task is dependent upon the completion of the previous task or milestone. Exceptions: Reading reviews and talking to friends happen in parallel during the same day. Looking at cars on the lot and test-driving them happen in parallel during two consecutive days.

Example Final Exam Question Research models Read reviews Talk to friends Model chosen Visit dealerships San Jose Sunnyvale Palo Alto Dealership chosen Meetings with a car salesman Look at cars on the lot Test drive cars Car chosen Meetings with the finance manager Choose options Negotiate price Arrange financing Sign contracts Own your new car Show dependencies and progress. All work before today should be 100% completed. Today’s work and future work should be 0% completed. You do not need to show resources.

Example Final Exam Question NASA’s Jet Propulsion Laboratory (JPL) ran several Operational Readiness Tests (ORTs) before the rovers landed on Mars. At each ORT, the mission scientists and engineers tested the software and procedures by remotely operating an actual rover located in a nearby warehouse. Briefly describe how an ORT can or cannot perform each of the following types of tests on the software: unit testing regression testing system testing stress testing acceptance testing