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

CSE563 Lecture 08

CSE563 Lecture 08

Software Requirements and Specification
Requirement Engineering
(202202)

Javier Gonzalez-Sanchez

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
  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
  3. 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
  4. 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
  5. 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.
  6. 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. §
  7. 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
  8. 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
  9. 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
  10. jgs Fall 2021 | 00001000 Requirements Product Requirement Task As

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

    a (role), I want (feature), So that (benefit)
  12. jgs Fall 2021 | 00001000 Diagram a) Actors b) Use

    Cases a) Relationships child father base addition extension base << include >> << extend >>
  13. 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
  14. 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
  15. 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
  16. 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.