$30 off During Our Annual Pro Sale. View Details »

CSE460 Lecture 26

CSE460 Lecture 26

Software Analysis and Design
Final Review
(202104)

Javier Gonzalez-Sanchez
PRO

July 26, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 460
    Software Analysis and Design
    Lecture 26: Final Review
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    564 00000100
    Announcements
    § Wednesday April 21. Final Exam
    (during the lecture time)

    View Slide

  3. jgs
    564 00000100
    Announcements
    Before the exam
    § Sample Exam is available. Test your system ASAP
    § Read the Guidelines for Midterm exam on Canvas
    During the exam
    § Show your environment.
    § It is a CLOSED-BOOK exam. Do not use any material
    § Scratch paper is allowed. Empty White Paper. Show it on camera when you
    show your environment!

    View Slide

  4. jgs
    Review

    View Slide

  5. jgs
    The following slides shows some examples
    related to some topics
    This is NOT a comprehensive list of topics
    Topics in the exam can be found
    Weeks 1 to 15 :: Lectures 1 to 26

    View Slide

  6. jgs
    564 00000100
    Topics
    Presentation 1. Complexity
    2. Requirement Analysis
    3. Object Model 4. Object-Oriented Programming
    Assignment 1,2,3 5. Object-Oriented Principles
    6. Clean Code Principles Assignment 4
    7. Design Patterns
    Practice
    Midterm Review

    View Slide

  7. jgs
    564 00000100
    Part B
    9. Additional Design Patterns 10. Connecting the Dots
    11. Software Architecture 12. Architecture Patterns
    Assignment 5, 6 13. Code Metrics
    14. Dependency Metrics
    Final Review

    View Slide

  8. jgs
    564 00000100
    9. Design Patterns
    § Chain of Responsibilities (code and diagram)
    § Factory (code and diagram)
    § Singleton
    § Decorator
    § Observer

    View Slide

  9. jgs
    564 00000100
    9. Design Patterns
    § 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

  10. jgs
    564 00000100
    10. Connecting the Dots

    View Slide

  11. jgs
    564 00000100
    Note:
    There are 3 classes and 1 interface
    10. Connecting the Dots

    View Slide

  12. jgs
    564 00000100
    10. Connecting the Dots
    wrapper2
    Main wrapper1
    Factory
    decoration
    Envelope
    Box
    Gift
    wrapper3
    ball
    Supervisor
    Is big > 10, box Is small < 5, envelop

    View Slide

  13. jgs
    564 00000100
    Model
    10. Connecting the Dots
    Main
    Factory
    Gift Ball Box Envelop
    Handler
    Supervisor
    Bin
    View
    GUI
    Controllers
    Listener

    View Slide

  14. jgs
    564 00000100
    11, 12 Software Architecture
    § Architecture vs Design
    § Architecture Patterns
    § Model-View-Controller (Code and Diagrams)
    § Blackboard (Code and Diagrams)
    § Client-Server (Code and Diagrams)
    § Java Swing/AWT

    View Slide

  15. jgs
    564 00000100
    Model
    11, 12 Software Architecture
    View Controller
    Blackboard
    KnowledgeSource
    Control

    View Slide

  16. jgs
    564 00000100
    13. Quality Metrics
    Metrics
    Size
    LOC
    eLOC
    lLOC
    Understandability
    Comments
    Whitespaces
    Complexity
    Average, Max, Min LOC
    Interface Complexity
    Cyclomatic Complexity

    View Slide

  17. jgs
    564 00000100
    13. Quality Metrics

    View Slide

  18. jgs
    564 00000100
    13. Quality Metrics
    Instability = Cout
    (Cin + Cout)
    D = A + I – 1

    View Slide

  19. jgs
    564 00000100
    Questions

    View Slide

  20. jgs
    CSE 564 Computer Systems Fundamentals
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 2020
    Disclaimer. These slides can only be used as study material for the class CSE564 at ASU. They cannot be distributed or used for another purpose.

    View Slide