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