Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSE360 Flipped Lecture 12

CSE360 Flipped Lecture 12

Introduction to Software Engineering
Final Review
(202011)

Javier Gonzalez-Sanchez
PRO

June 21, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. 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

    View Slide

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

    View Slide

  3. 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

    View Slide

  4. 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!

    View Slide

  5. Review

    View Slide

  6. 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

    View Slide

  7. 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

    View Slide

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

    View Slide

  9. 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

    View Slide

  10. 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

    View Slide

  11. 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

    View Slide

  12. Test Yourselves

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. 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.

    View Slide

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

    View Slide

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

    View Slide

  22. 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]

    View Slide

  23. 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.

    View Slide