Slide 1

Slide 1 text

CSE 360 Introduction to Software Engineering Lecture 12: Final Review Dr. Javier Gonzalez-Sanchez [email protected] javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment

Slide 2

Slide 2 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 2 Announcements (This Week) § Final Project is due November 30 (Tuesday section) • Final Exam December 1 (Tuesday section)

Slide 3

Slide 3 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 3 Announcements (This Week) • 2 Quizzes + 5 Assignments (20%). ~2.857% each • 7 Exercises (20%). ~2.857% each • 3 Exams (45%) 15% each • Final Project (15%) :: Code + Document + Peer Evaluations

Slide 4

Slide 4 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 4 Announcements (This Week) Sample Exam is available. Test your system ASAP Important: a) Show your environment. b) It is a CLOSED BOOK exam. Do not use any material c) Scratch paper is allowed. Empty White Paper. Show it on camera when you show your environment!

Slide 5

Slide 5 text

Review

Slide 6

Slide 6 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 6 Disclaimer The following slides shows some examples related to some topics This is NOT a comprehensive list of topics Only a review of the most relevant topics For a full list review lectures (slides and/or videos) and Exercises, Assignments, Quizzes and Midterms

Slide 7

Slide 7 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 7 Summary 1. Introduction (Chapter 1) 2. Software Processes (Chapter 2) 3. Agile Software Development (Chapter 3) 4. Requirements Engineering (Chapter 4) 5. Modeling (Chapter 5) 6. Architectural Design (Chapter 6) 7. Design and Implementation (Chapter 7) 8. Software Testing and Quality (Chapter 8, 24) 9. Project Management (Chapter 22, 23) 10. Databases

Slide 8

Slide 8 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 8 Summary Software Engineering definition activities requirements design implementation planning testing deployment types of process models Process models

Slide 9

Slide 9 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 9 Summary requirements definition characteristics verifiable small unambiguous type non-functional constraints quality functional services behaviors actions documentation UML diagrams use cases state machine activity

Slide 10

Slide 10 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 10 Summary design definition documentation UML class diagrams Architecture diagram patterns design patterns observer singleton decorator architecture patterns blackboard Layered MVC Client/Server

Slide 11

Slide 11 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 11 testing White Box (Verification) Unit Testing Integration Testing Black Box (Validation) implementation metrics complexity cyclomatic complexity Databases Summary

Slide 12

Slide 12 text

Test Yourselves

Slide 13

Slide 13 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 13 Disclaimer The following slides shows some examples related to some topics This is NOT a comprehensive list of topics Only a review of the most relevant topics For a full list review lectures (slides and/or videos) and Exercises, Assignments, Quizzes and Midterms

Slide 14

Slide 14 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 14 Process Models • Process Model For a Software that will have the same functionality that one that already exists. There are new non- functional requirements regarding platform and UI - • Process Model for a software in which the client is unsure about what she/he wants – • Process Model for a software having a team that won't be able to meet regularly, i.e., won't be in constant communication - • Process Model for a medical device

Slide 15

Slide 15 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 15 Requirements § Open File § Select File § Use a JFileChooser to select the File § Notify user when CSV file has a value missing in any column § Save file

Slide 16

Slide 16 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 16 Include vs Extends

Slide 17

Slide 17 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 17 Class Diagram

Slide 18

Slide 18 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 18 Note: There are 3 classes and 1 interface Class Diagram

Slide 19

Slide 19 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 19 Software Design • Students and Staff members can request the Library to notify him/her when a Book becomes available. • Also, they can reserve the book. Before reserving a Book for someone the Library check, for students, with the Registrar, if the Student is currently enrolled, and for employees, with Human Resources if the employee has an active contract.

Slide 20

Slide 20 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 20 Software Testing • Cyclomatic complexity • Statement coverage • Decision coverage

Slide 21

Slide 21 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 21 Databases

Slide 22

Slide 22 text

Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 22 Test Yourselves Modifies the database instance by inserting, updating and deleting its data. Instructions: § INSERT INTO table (column1[, column2…]) VALUES (value1[,value2…]) § UPDATE table_name SET column_name=value [WHERE condition] § DELETE FROM table_name [WHERE condition] § SELECT column1[, column2…] FROM table [WHERE condition]

Slide 23

Slide 23 text

CSE360 – Introduction to Software Engineering Javier Gonzalez-Sanchez [email protected] Summer 2020 Disclaimer. These slides can only be used as study material for the class CSE360 at ASU. They cannot be distributed or used for another purpose.