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

CSE360 Flipped Lecture 5

CSE360 Flipped Lecture 5

Introduction to Software Engineering
Requirements Specification
(202009)

Javier Gonzalez-Sanchez
PRO

June 05, 2020
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. CSE 360
    Introduction to Software Engineering
    Lecture 05: Requirements Specification
    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 | 6
    Announcements
    • Exercise 04 (UML Sequence Diagram)
    • Quiz 02 (UML Diagrams, All of them)
    • A Sample Exam is available for you to test your access to
    Lock Down Browser. It has no value, and you can take it
    as many times as needed.

    View Slide

  3. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 7
    Announcements
    • First Midterm Exam
    During the lecture time. No lecture that day.
    Lockdown browser will not allow you to use Zoom
    • Assignment 01 will open. It is about GitHub (version
    control).

    View Slide

  4. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 8
    Email Etiquette
    • What course?
    CSE 360
    • What section?
    Tuesday
    • Is it about a grade?
    First, contact the TA
    • Is it about a medical condition?
    Include documentation
    • Use your ASU email

    View Slide

  5. LockDown Browser

    View Slide

  6. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 11
    Proctoring

    View Slide

  7. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 12
    Proctoring

    View Slide

  8. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 13
    Proctoring

    View Slide

  9. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 14
    Proctoring
    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

  10. Previously

    View Slide

  11. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 16
    Concepts
    necessities
    requirements
    functional
    requirement
    non-functional
    requirement

    View Slide

  12. Requirement Specification

    View Slide

  13. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 18
    Requirements Engineering
    Stories
    or
    Scenarios
    Interview or Observe (Ethnography)i.e., identify needs
    Functional or not?
    Structural issues,
    Cost,
    complexity

    View Slide

  14. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 19
    Where we are?
    Process
    Requirements
    Concepts
    functional
    non-functional
    Specification
    Natural Language
    Mathematical
    specification
    Structured Natural
    Language
    Graphical notations
    Planning
    Modeling
    Coding
    Deployment

    View Slide

  15. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 20
    Relationships
    a) Actors
    b) Use Cases
    a) Relationships
    child father
    base addition
    extension base
    << include >>
    << extend >>

    View Slide

  16. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 21
    Scenarios | Example
    Nurse
    Medical receptionist
    Manager
    Register
    patient
    View
    personal info.
    View record
    Generate
    report
    Export
    statistics
    Doctor
    Edit record
    Setup
    consultation

    View Slide

  17. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 22
    Inclusion
    • Show that behavior of the included use case (addition) is inserted
    into the behavior of the including (base) use case.
    • A dashed line with an open arrowhead directed from
    the including use case (base) to the included (addition) use
    case. The arrow is labeled with the keyword «include».
    • The include relationship is used to (1) simplify large use case by
    splitting it into several use cases, (2) extract common parts of the
    behaviors of two or more use cases.
    base addition

    View Slide

  18. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 23
    Example

    View Slide

  19. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 24
    Extension
    • Extending use case defines optional behavior that is not
    necessarily meaningful by itself.
    • Extend relationship is shown as a dashed line with an open
    arrowhead directed from the extending use case to
    the extended (base) use case. The arrow is labeled with the
    keyword «extend».
    base extension

    View Slide

  20. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 25
    Example 3

    View Slide

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

    View Slide

  22. Examples
    Use Case Diagrams

    View Slide

  23. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 28
    Example

    View Slide

  24. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 29
    Example

    View Slide

  25. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 30
    Example

    View Slide

  26. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 31
    Example

    View Slide

  27. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 32
    Example
    http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/examples/uc_model_elaboration_phase_70035F60.html

    View Slide

  28. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 33
    Think About This

    View Slide

  29. Midterm Review

    View Slide

  30. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 35
    Note
    The following is a summary of the most relevant ideas.
    But, the exam is not limited to these,
    i.e.,
    The following IS NOT a comprehensive list

    View Slide

  31. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 36
    Class diagram
    Class diagrams show the classes in a system
    • modifiers
    • Attributes
    • methods
    And the relationships between these classes:
    • Association / Dependency
    • Aggregation / Composition
    • Generalization / Specialization / Realization

    View Slide

  32. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 37
    Relationships
    Association
    Aggregation Composition Generalization Realization

    View Slide

  33. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 38
    Concepts

    View Slide

  34. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 39
    Process Models
    What process model is recommended for a large system (developed by several
    partner companies)
    Agile
    V-model
    Spiral
    Waterfall

    View Slide

  35. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 40
    Diagrams

    View Slide

  36. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 41
    Diagrams

    View Slide

  37. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 42
    Diagrams

    View Slide

  38. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 43
    References
    Chapter 1-5

    View Slide

  39. Javier Gonzalez-Sanchez | CSE360 | Fall 2020 | 44
    Homework
    Complete This Week’s Hybrid Activities

    View Slide

  40. CSE360 – Introduction to Software Engineering
    Javier Gonzalez-Sanchez
    [email protected]
    Fall 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