Presentation on theme: "1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel van Lamsweerde Universite catholique de Louvain, BE UC San Diego."— Presentation transcript:
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel van Lamsweerde Universite catholique de Louvain, BE UC San Diego CSE 294 May 7, 2010 Barry Demchak Hagia Sophia – AD 558
2 Dreaming of an Online Bookstore Order Deliver Fulfill Multiple Orders Pricing, Payment, Accounts Stocks Couriers Address, Retry, Rejection, Return How do I: Discover the requirements? Translate them into a design? Know that the design is complete? Change the requirements? Update the design?
3 Goal-Oriented Model Building Build Preliminary Goal Model (w/ scenarios) Derive Object Model Update Goal Model (w/ new goals) Derive Updated Object Model Analyze obstacles, threats, conflicts Build agent model (w/ responsibilities)
4 Goal-oriented RE Use goals for Requirements elicitation Evaluation Negotiation Elaboration Structuring Documentation Analysis Evolution
5 Agenda Goal orientation in a MDE/MDA world Goal formulation Object modeling basics Representing goals with object models Further possibilities
6 Table of Contents Fundamentals of Requirements Engineering Setting the Scene Domain Understanding and Requirements Elicitation Requirements Evaluation Requirements Specification and Documentation Requirements Quality Assurance Requirements Evolution Goal Orientation in Requirements Engineering (ch 7) Building System Models for Requirements Engineering Modeling System Objectives with Goal Diagrams Anticipating What Could Go Wrong: Risk Analysis on Goal Models Modeling Conceptual Objects with Class Diagrams (ch 10) Modeling System Agents and Responsibilities Modeling System Operations Modeling System Behaviors Integrating Multiple System Views A Goal-Oriented Model-Building Method in Action (ch 15) Reasoning about System Models Semi-Formal Reasoning for Model Analysis and Exploitation Formal Specification of System Models Formal Reasoning for Specification Construction and Analysis
7 Review Model Driven Engineering (MDE) Model Driven Architecture (MDA) Rich Services, MDE, MDA, and RE
8 Model Driven Engineering Produces models tailored to important points of view Resource management, security, etc Structural vs dynamic Models represent abstractions at coarse, medium, and fine granularities Models expressed in common language (e.g., UML) Relies on tools and processes for Maintaining models Transforming one model to another Demonstrating important properties of models
9 Model Driven Architecture Approach that can produce SOAs Fidelity of alignment between user requirements and application Multilevel modeling (…UML) Transformations between models … bidirectional NO GAPS Complimentary to SOA Roles Interactions Separation of logical and deployment models Supports hierarchical development Computation Independent Model Platform Independent Model Platform Specific Model Today
10 Rich Services CIM/PIM Process Agility Completeness Scalability End-to-End Alignment No Gaps
11 Goal-Oriented Model Building Build Preliminary Goal Model (w/ scenarios) Derive Object Model Update Goal Model (w/ new goals) Derive Updated Object Model Analyze obstacles, threats, conflicts Build agent model (w/ responsibilities)
12 Definitions Goal Prescriptive statement of intent System (to-be or as-is) satisfies via cooperation of agents in manipulating entities Agent An active component that manipulates entities Entity A passive component containing state Goals, Agents, and Entities come from scenarios
13 Benefits of Goals (Preview) Goal refinement leads to structuring complex abstractions at multiple levels Rationale (and traceability) for requirements Rich structure for “satisfaction arguments” Aligns system with customer’s strategic need Allows demonstration of completeness and pertinence Provide anchors for risk analysis … and 6 other benefits, too!
14 Goal Examples Well-formed goals 1. The store shall deliver each book the shopper orders. 2. Each book shall have a price specific to the shopper. 3. The shopper shall be charged for any book delivered. Non-goals 1. To order a book, the shopper browses a catalog, chooses a book, and submits an order. The shopper can pay COD or Paypal. 2. The system shall guarantee delivery of each book. Agent Entity
15 About Goals (& Statements) Granularity High level goals are strategic (#1) Low-level goals are decompositions identifying technical objectives – involve fewer actors Requirement A goal under responsibility of single agent (#3) Enforceable by the application Expectation Like a requirement Cannot be enforced by the application e.g., The shopper will order 3 books a week #1: The store shall deliver each book the shopper orders. #3: The shopper shall be charged for any book delivered.
16 More About Goals & Statements Assumption Factual information subject to change e.g., Books can be delivered Monday-Saturday Domain Property Invariant descriptive property about environment e.g., An order can be filled iff it contains books
17 Goal Behaviors Achieve if CurrentCondition then sooner-or-later TargetCondition e.g., if a book is ordered, it is shipped within 24 hours Maintain always if SomeCondition then GoodCondition e.g., always if a book is in stock, it is listed in the catalog Soft Prescribe preferences among behaviors (e.g., responsive UI) Meta-goal Agent behaviors satisfy goals by sequencing state transitions Application behavior is closure of all agent behaviors Application SATISFIES GOALS
18 Goal Categories
19 Using Goal Categories Eliciting missing goals e.g., Is there a security goal for order placement? Detecting goal conflicts e.g. Is there a conflict between usability and security? Conflict resolution e.g., Security goals have the highest priority Specifying goals e.g., Confidentiality are Avoid goals about knowledge that agents may have about each other
20 Candidate Goals for Bookstore A shopper purchases books from the store Store offers catalog of books Shopper orders one or more books from catalog Shopper specifies payment Shopper gives credit card OR Shopper gives Paypal OR Shopper references shopper account Shopper specifies shipping Shopper gives shipping address OR Shopper references shopper account Order is shipped via courier
21 Graphical Goal Representation A. van Lamsweerde. Requirements Engineering. John Wiley & Sons Ltd. West Sussex, England
22 Goal-Oriented Model Building Build Preliminary Goal Model (w/ scenarios) Derive Object Model Update Goal Model (w/ new goals) Derive Updated Object Model Analyze obstacles, threats, conflicts Build agent model (w/ responsibilities)
23 KAOS – the Object Model Keep All Objectives Satisfied
24 Modeling – Conceptual Objects Entity Autonomous and passive containers of state (e.g., book) Association Dependent on objects (called roles) it links (e.g., book-catalog) Agent Autonomous and active – has behavior, and changes states (e.g., shopper) Event Instantaneous existence based on system state (e.g., buy book)
25 Entity Features as Model Notations NameBook TypeEntity DefA bound edition HasTitle, Author, Publisher, Date DomInvarBook is valid iff Title, Author, Publisher, Date all not null InitSet all null
26 Agent Features as Model Notations NameShopper TypeAgent DefAny person having an account NameBuy TypeAssociation DefRelationship between buyer and item purchased DomInvarItem is valid and Purchaser has funds
27 Arity of Associations 4-way association Goals:Shopper can choose a book and designate a bank. The shipper will ship the book to the shopper.
28 Goal → Object Model Heuristics Overall objective: complete, pertinent, traceable models Model only objects and properties referenced in goals Create associations from word patterns like, etc. Identify generalizations where objects have similar attributes, associations, or invariants Model pointers as associations Don’t pollute models with links that belong in other models … 5 more in the text
29 A Candidate Model
30 Goal-Oriented Model Building Build Preliminary Goal Model (w/ scenarios) Derive Object Model Update Goal Model (w/ new goals) Derive Updated Object Model Analyze obstacles, threats, conflicts Build agent model (w/ responsibilities) Tomorrow is another day
31 Future Presentations Analyzing obstacles, threats, and conflicts Modeling agents and responsibilities Modeling system operations Merging object, agent, and system views Semi-formal reasoning Formal reasoning
32 Research Opportunities Tools Organize and categorize goals Generate goal gap questions Parse goals and generate models Maintain traceability between goals and model … more … ?