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

CSE563 Lecture 08

CSE563 Lecture 08

Software Requirements and Specification
Requirement Engineering
(202202)

Javier Gonzalez-Sanchez
PRO

August 23, 2021
Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. jgs
    CSE 563
    Software Requirements and Specification
    Lecture 08: Requirement Engineering
    Dr. Javier Gonzalez-Sanchez
    [email protected]
    javiergs.engineering.asu.edu | javiergs.com
    PERALTA 230U
    Office Hours: By appointment

    View Slide

  2. jgs
    Fall 2021 | 00001000
    Announcement
    § Quiz 03 opens today, and it is due BEFORE our lecture on Feb 14.
    § Read:
    Requirements Engineering: A Roadmap
    Nuseibeh, Bashar, and Steve Easterbrook
    Proceedings of the Conference on the Future of Software Engineering
    2000

    View Slide

  3. jgs
    Engineering

    View Slide

  4. jgs
    Fall 2021 | 00001000
    Engineering
    § measure of success of a software system is the degree to which it meets
    the purpose for which it was intended.
    § requirements engineering (RE) is the process of discovering that purpose.
    § goals for, functions (services) of, and constraints (quality) on software
    systems. And their relationships to precise specifications of software
    behavior…
    § RE represents a series of engineering decisions that lead from recognition
    of a problem to be solved to a detailed specification of that problem.
    § cost-effectiveness of the solution

    View Slide

  5. jgs
    Fall 2021 | 00001000
    Foundations
    § RE is a human-centered process.
    § RE needs to be sensitive to how people perceive and understand the world
    § RE draws on the cognitive and social sciences
    § Cognitive psychology provides an understanding of the difficulties people
    may have in describing their needs
    § Anthropology provides a methodological approach to observing human
    activities
    § Sociology: the introduction of a computer system changes the nature of
    the work carried out… involve in the requirements definition process those
    most affected by the outcomes

    View Slide

  6. jgs
    Fall 2021 | 00001000
    Foundations
    § Linguistics. RE is largely about communication –to avoid ambiguity and to
    improve understandability.
    § Philosophy (epistemology). An understanding of sources of knowledge and
    justified beliefs of stakeholders (such as perception, reason, memory,
    and testimony)
    § Philosophy (phenomenology). The question of what is observable in the
    world
    § Philosophy (ontology). The question of what can be agreed on as
    objectively true.

    View Slide

  7. jgs
    Fall 2021 | 00001000
    Context
    § RE plays a crucial role in feasibility and risk assessments
    § RE could allow to estimate project costs, schedules and technical
    feasibility.
    §

    View Slide

  8. jgs
    Fall 2021 | 00001000
    Elicitation
    § To obtain information from someone
    § An example of elicit is to get a confession from a suspect. ...
    § Information gathered during requirements elicitation often has to be
    interpreted, analyzed, modelled and validated

    View Slide

  9. jgs
    Fall 2021 | 00001000
    Elicitation
    Diverse methods exist. Each method itself has its strengths and weaknesses
    and is normally best suited for use in particular application domains.
    § Questionnaires and surveys, interviews, and analysis of existing
    documentation
    § Brainstorming and focus groups
    § Prototyping
    § Model-driven techniques – scenario-based method
    § thinks aloud, participant observation

    View Slide

  10. jgs
    Specification

    View Slide

  11. jgs
    Fall 2021 | 00001000
    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

  12. jgs
    Fall 2021 | 00001000
    Strategy
    Plan-based Agile

    View Slide

  13. jgs
    Fall 2021 | 00001000
    Requirements
    Product Requirement Task
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  14. jgs
    Fall 2021 | 00001000
    Requirements
    Product Requirement Task
    As a (role),
    I want (feature),
    So that (benefit)

    View Slide

  15. jgs
    Fall 2021 | 00001000
    Strategy
    Plan-based

    View Slide

  16. jgs
    Use Case Diagram
    A Graphical Notation

    View Slide

  17. jgs
    Fall 2021 | 00001000
    UML Diagrams

    View Slide

  18. jgs
    Fall 2021 | 00001000
    Diagram
    a) Actors
    b) Use Cases
    a) Relationships
    child father
    base addition
    extension base
    << include >>
    << extend >>

    View Slide

  19. jgs
    Fall 2021 | 00001000
    Diagram | Example
    Nurse
    Medical receptionist
    Manager
    Register
    patient
    View
    personal info.
    View record
    Generate
    report
    Export
    statistics
    Doctor
    Edit record
    Setup
    consultation

    View Slide

  20. jgs
    Fall 2021 | 00001000
    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

  21. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  22. jgs
    Fall 2021 | 00001000
    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

  23. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  24. jgs
    Fall 2021 | 00001000
    Include vs Extends

    View Slide

  25. jgs
    Examples
    Use Case Diagrams

    View Slide

  26. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  27. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  28. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  29. jgs
    Fall 2021 | 00001000
    Example

    View Slide

  30. jgs
    Fall 2021 | 00001000
    Example
    http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/examples/uc_model_elaboration_phase_70035F60.html

    View Slide

  31. jgs
    Fall 2021 | 00001000
    Think About This

    View Slide

  32. jgs
    Fall 2021 | 00001000
    From a Student’s Homework – Thoughts?

    View Slide

  33. jgs
    Fall 2021 | 00001000
    Questions

    View Slide

  34. jgs
    CSE 563 Software Requirements and Specification
    Javier Gonzalez-Sanchez, Ph.D.
    [email protected]
    Spring 2022
    Copyright. These slides can only be used as study material for the class CSE563 at ASU.
    They cannot be distributed or used for another purpose.

    View Slide