Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

jgs Engineering

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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.

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

jgs Specification

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

jgs Fall 2021 | 00001000 Strategy Plan-based Agile

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

jgs Fall 2021 | 00001000 Strategy Plan-based

Slide 16

Slide 16 text

jgs Use Case Diagram A Graphical Notation

Slide 17

Slide 17 text

jgs Fall 2021 | 00001000 UML Diagrams

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

jgs Fall 2021 | 00001000 Example

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

jgs Fall 2021 | 00001000 Example

Slide 24

Slide 24 text

jgs Fall 2021 | 00001000 Include vs Extends

Slide 25

Slide 25 text

jgs Examples Use Case Diagrams

Slide 26

Slide 26 text

jgs Fall 2021 | 00001000 Example

Slide 27

Slide 27 text

jgs Fall 2021 | 00001000 Example

Slide 28

Slide 28 text

jgs Fall 2021 | 00001000 Example

Slide 29

Slide 29 text

jgs Fall 2021 | 00001000 Example

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

jgs Fall 2021 | 00001000 Think About This

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

jgs Fall 2021 | 00001000 Questions

Slide 34

Slide 34 text

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.