Requirements Engineering A Roadmap Jichuan Chang cjccs cmu

  • Slides: 21
Download presentation
Requirements Engineering A Roadmap Jichuan Chang cjc@cs. cmu. edu Ø Based on Ø “RE

Requirements Engineering A Roadmap Jichuan Chang cjc@cs. cmu. edu Ø Based on Ø “RE roadmap” by Nuseibeh & Easterbrook Ø RE course materials by Steve Easterbrook http: //www. cs. toronto. edu/~sme/CSC 2106 S/index. html 2/21/2021 1

Outline n Foundations n n n What is RE? Why important? Inter-disciplinary aspects of

Outline n Foundations n n n What is RE? Why important? Inter-disciplinary aspects of RE Basic Requirements Engineering activities Directions and Discussion 2/21/2021 2

Discussion n About requirements: n n About RE: n n n What and How?

Discussion n About requirements: n n About RE: n n n What and How? Environment and Machine Is there always a bridge from the real-world to the “machine”? Is formal specification suitable for all requirements? Is RE really important? Who can benefic from RE? What is really used in practice? Why so many methods/techniques? How to evaluate and choose? What’s the process that integrates methods and activities? RE tools? Traceability? Future directions: n What’s the impact of imperfect requirements? n n inconsistency? incomplete? evolving? What’s the impact to other development activities? What’s the impact of architectural decision to NFRs? What’s the impact of requirement reuse? 2/21/2021 3

What is RE? n What’s Requirement? [IEEE Std] n A condition or capability needed

What is RE? n What’s Requirement? [IEEE Std] n A condition or capability needed by a user to solve a problem or achieve an objective. The set of all requirements forms the basis for subsequent development of the system or system component. n What is RE? [Zave 94] n n Requirements Engineering is the branch of systems engineering concerned with real-world goals for, services provided by, and constraints on software systems. Requirements Engineering is also concerned with the relationship of these factors to precise specifications of system behavior and to their evolution over time and across system families. 2/21/2021 4

Importance of Requirements n Engineering Argument n n Economic Argument n n Failure to

Importance of Requirements n Engineering Argument n n Economic Argument n n Failure to understand manage requirements is the biggest single cause of cost and schedule over-runs. Safety Argument n n Defects are cheaper to remove if are found earlier. Empirical Argument n n A good solution can only be developed if the engineer has a solid understanding of the problem. Safety-related software errors arise most often from inadequate or misunderstood requirements …… 2/21/2021 5

Research on RE n Early research: One epigram summarized all of RE. n n

Research on RE n Early research: One epigram summarized all of RE. n n n 1990’s: A field of study of it own right n n n Two series of international meetings: RE and ICRE International journal by Springer. Late 1990’s: Grown up enough n n n Reqts. say what the system will do and not how it will do it. A time-consuming, bureaucratic & contractual process? Many additional smaller meetings and workshops Emphasize the use of contextualized enquiry techniques Model indicative & optative properties of the environment Handle inconsistent and evolving specification Future: increasingly recognized as a critical activity 2/21/2021 6

RE Basics n n Dimensions of RE What vs. How n n What does

RE Basics n n Dimensions of RE What vs. How n n What does a web browser do? ‘What’ refers to a system’s purpose n n n ‘How’ refers to a system’s structure & behavior n n n external to the system A property of the application domain internal to the system A property of the machine domain Foundations of RE – Multi-discipline n Systems Theory, Systems Engineering, Math & Logic, Computer Science, Social Sciences, Cognitive Sciences, Philosophy, AI 2/21/2021 7

RE process n RE in software lifecycle n n n Initial phase may also

RE process n RE in software lifecycle n n n Initial phase may also span the entire life cycle Essential RE process n n n Understand the problem n elicitation n specification, modeling Formally describe the problem Attain agreement on the nature of problem n n validation, conflict resolution, negotiation requirements management - maintain the agreement! Sequential or iterative/incremental RE groundwork n n Feasibility, risk, concept of operations Decide the RE process, methods and techniques 2/21/2021 8

Outline n n Foundations Basic Requirements Engineering activities n n n n Eliciting Requirements

Outline n n Foundations Basic Requirements Engineering activities n n n n Eliciting Requirements Modeling and Analyzing Requirements Communicating Requirements Agreeing Requirements Evolving Requirements RE Tool Directions and Discussion 2/21/2021 9

Eliciting Requirements n Source of Requirements: n n Customer-driven, Marketdriven, Hybrid Affect the role

Eliciting Requirements n Source of Requirements: n n Customer-driven, Marketdriven, Hybrid Affect the role of Requirements n n n Things to elicit n n n System boundaries Stakeholders & User Classes Viewpoints Goals and tasks Scenarios/Use cases 2/21/2021 Elicitation techniques n n Interviews, questionnaires, surveys, meetings Prototyping Ethnographic techniques Knowledge elicitation techniques Conversation Analysis Text Analysis Elicitation process: n n Inquiry cycle Use case analysis Ethnographic: a branch of sociology dealing with nonspecialists' commonsense understanding of the structure and organization of society 10

Modeling Requirements n Why Modeling? n Modeling can guide elicitation n n Modeling can

Modeling Requirements n Why Modeling? n Modeling can guide elicitation n n Modeling can provide a measure of progress: n n if we’ve filled in all the pieces of the model, are we done? Modeling can help to uncover problems n n n it help you ask the right questions? Does inconsistency in the model reveal interesting things…? conflicting or infeasible requirements; confusion over terminology, scope, etc; reveal disagreements between stakeholders Modeling can help us check our understanding n n n 2/21/2021 Can we test that the model has the properties we expect? Can we reason over the model to understand its consequences? Can we animate the model to help us visualize/validate the requirements? 11

Modeling Techniques n n n Goals & objectives Organizational structure Processes and products Agents

Modeling Techniques n n n Goals & objectives Organizational structure Processes and products Agents and work roles Modeling Functional Requirements n n n. Information Modeling Enterprises Structural views Behavioral views Timing requirements Modeling Non-functional Requirements n n n Product requirements Process requirements External requirements 2/21/2021 modeling: n ERD n i*, SSM, ISAC n KAOS, CREWS n. Organization n. Goal modeling: n. Structured Analysis: n SADT, SSADM, JSD n OOA, OOSE, OMT, UML n SCR, RSML, Z, Larch, VDM n. Object n. Formal n. Quality n modeling: Oriented Analysis: Methods: tradeoffs: QFD, win-win n. Specific NFRs: Performance: Timed Petri nets n. Usability: Task models n. Reliability: Probabilistic MTTF n 12

Communicating Reqts - SRS n How do we communicate the Requirements to others? n

Communicating Reqts - SRS n How do we communicate the Requirements to others? n n It is common practice to capture them in an SRS Purpose n Communicates an understanding of the requirements n Contractual n Baseline for evaluating subsequent products n testing, V&V n Baseline for change control 2/21/2021 n Audience n Users, Purchasers n Requirements Analysts n Developers, Programmers n Testers n Project Managers 13

SRS for Procurement n An ‘SRS’ may be written by: n the procurer (a

SRS for Procurement n An ‘SRS’ may be written by: n the procurer (a call for proposals) n n n the bidders (a proposal to meet the Cf. P) n n n must be specific enough to demonstrate feasibility and competence … and general enough to avoid over-commitment the selected developer n n Must be general enough to yield a good selection of bids … and specific enough to exclude unreasonable bids reflects the developer’s understanding of the customers needs forms the basis for evaluation of contractual performance or an independent RE contractor Choice over what point to compete the contract n n n Early (conceptual stage) Late (detailed specification stage) IEEE Standard recommends SRS jointly developed by procurer and developer 2/21/2021 14

Reqts Traceability n Importance: n n Verification & Validation Maintenance n n n n

Reqts Traceability n Importance: n n Verification & Validation Maintenance n n n n n Assessing change requests Tracing design rationale change management risk management control of the development process Difficulties: n Current Practice n Cost Delayed gratification Size and diversity 2/21/2021 Focuses on baselined requirements Coverage n Document access Process visibility Management n n n links from requirements forward to designs, code, test cases, links back from designs, code, test cases to requirements links between requirements at different levels Tools (manual, syntactic) ? ? n Approaches: n n UID, hypertext linking Ability: n n n Follow links Find missing links Measure overall traceability 15

Agreeing Requirements n n Two key problems: validation & negotiation Validation - What is

Agreeing Requirements n n Two key problems: validation & negotiation Validation - What is “truth” and what is “knowable”? n Approaches (Based on philosophical assumptions): n n Method in practice: n n n assumes there is an objective problem that exists in the world design your requirements models to be refutable validation is always subjective and contextualised Inspections, Reviews and Walkthroughs Prototyping: Throwaway or Evolve? Negotiation - How to reconcile conflicting goals? n n 2/21/2021 Requirements Negotiation Competition Third Party Resolution Bidding and Bargaining 16

Evolving Requirements n Software evolves because requirements evolve … n n Traditional change management

Evolving Requirements n Software evolves because requirements evolve … n n Traditional change management n Add, modify, remove requirements during development Baselines, Change Requests, Review Boards n The product line approach n n n How to manage incremental change to reqts models? How can multiple models (specifications) be compared? How to capture the rationale for each change? Software Families Viewpoints n n n Requirements model is a collection of viewpoints as a framework for understanding requirements evolution Viewpoints are instantiated from viewpoint templates Viewpoints contain consistency rules (no central control) Internal rule, External rule, Work plan 2/21/2021 17

RE Tool examples n Requisite Pro n n n DOORS n n n http:

RE Tool examples n Requisite Pro n n n DOORS n n n http: //www. rational. com/ products/reqpro/ Support Unified Process Support use-case based, declarative, and mixed representation (document templates) Support Requirements Traceability Integrated with change mgmt, modeling, testing, metrics and project mgmt tools. http: //www. telelogic. com/doors/ Support Requirements Traceability Inter-project linking, Multiple Views Integration with MS Office and external communication tools Cradle n 2/21/2021 http: //www. threesl. com/ 18

Outline n n n Foundations Basic Requirements Engineering activities Directions and Discussion 2/21/2021 19

Outline n n n Foundations Basic Requirements Engineering activities Directions and Discussion 2/21/2021 19

Future Research Directions n Trends in the 1990’s Emphasize the use of contextualized enquiry

Future Research Directions n Trends in the 1990’s Emphasize the use of contextualized enquiry techniques n Model indicative & optative properties of the environment n Handle inconsistent and evolving specification Future Directions: n n n n Modeling and analysis of problem domain, as opposed to the behavior of software. Models for non-functional requirements (NFR). Bridging the gap between contextual enquiry and formal specification techniques. Impact of architectural choices on the prioritization and evolution of requirements. Reuse of requirements models to facilitate the development of system families and COTS selection. Multi-disciplinary training for requirements practitioners. 2/21/2021 20

Discussion n About requirements: n n About RE: n n n What and How?

Discussion n About requirements: n n About RE: n n n What and How? Environment and Machine Is there always a bridge from the real-world to the “machine”? Is formal specification suitable for all requirements? Is RE really important? Who can benefic from RE? What is really used in practice? Why so many methods/techniques? How to evaluate and choose? What’s the process that integrates methods and activities? RE tools? Traceability? Future directions: n What’s the impact of imperfect requirements? n n inconsistency? incomplete? evolving? What’s the impact to other development activities? What’s the impact of architectural decision to NFRs? What’s the impact of requirement reuse? 2/21/2021 21