Presentation is loading. Please wait.

Presentation is loading. Please wait.

UC San Diego CSE 294 May 7, 2010 Barry Demchak

Similar presentations


Presentation on theme: "UC San Diego CSE 294 May 7, 2010 Barry Demchak"— Presentation transcript:

1 UC San Diego CSE 294 May 7, 2010 Barry Demchak
Requirements Engineering From System Goals to UML Models to Software Specifications Axel van Lamsweerde Universite catholique de Louvain, BE Hagia Sophia – AD 558 UC San Diego CSE 294 May 7, 2010 Barry Demchak

2 Dreaming of an Online Bookstore
Multiple Orders Pricing, Payment, Accounts How do I: Discover the requirements? Translate them into a design? Know that the design is complete? Change the requirements? Update the design? Order Fulfill Deliver Deliver Stocks Couriers Address, Retry, Rejection, Return

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
Platform Independent Model Computation Independent Model Platform Specific Model Today 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

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 Goals, Agents, and Entities come from scenarios
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 Non-goals
The store shall deliver each book the shopper orders. Each book shall have a price specific to the shopper. The shopper shall be charged for any book delivered. Non-goals To order a book, the shopper browses a catalog, chooses a book, and submits an order. The shopper can pay COD or Paypal. The system shall guarantee delivery of each book. The first non-goal is a use case, and goals can be derived from it The second non-goal identifies an actor out of the scope of known actors 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 Meta-goal
Agent behaviors satisfy goals by sequencing state transitions Application behavior is closure of all agent behaviors  Application SATISFIES GOALS 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) Behavioral goal Agent behavior: sequence of state transitions the agent controls System behavior: Closure of agent behaviors We want GOAL SATISFACTION

18 Goal Categories

19 Using Goal Categories Eliciting missing goals Detecting goal conflicts
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 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
Name Book Type Entity Def A bound edition Has Title, Author, Publisher, Date DomInvar Book is valid iff Title, Author, Publisher, Date all not null Init Set all null

26 Agent Features as Model Notations
Name Shopper Type Agent Def Any person having an account Name Buy Type Association Def Relationship between buyer and item purchased DomInvar Item 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. 4-way association

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 <source> <linkverb> <target>, 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 … ?

33 Questions


Download ppt "UC San Diego CSE 294 May 7, 2010 Barry Demchak"

Similar presentations


Ads by Google