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
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
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
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.
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. §
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
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
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
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
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
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
jgs Fall 2021 | 00001000 Example http://epf.eclipse.org/wikis/openup/core.tech.common.extend_supp/guidances/examples/uc_model_elaboration_phase_70035F60.html
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.