UC San Diego CSE 294 May 7, 2010 Barry Demchak

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Chapter 7 Goal Orientation in RE
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
lamsweerde Part 1: Introduction © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models to.
lamsweerde Part 2: Building System Models for RE © 2009 John Wiley and Sons 1 Part 2: Building System Models for RE Introduction.
Goal-Oriented Requirements Engineering (GORE) “Goal-oriented requirements engineering is concerned with the use of goals for eliciting, elaborating, structuring,
Introduction To System Analysis and Design
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Analysis Concepts and Principles
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Ims5024 Week 71 IMS 5024 Object orientation (2). Ims5024 Week 72 Content Group assignment Use-cases State transition diagrams Place in ISD Evaluation.
8/28/97Information Organization and Retrieval Database Design University of California, Berkeley School of Information Management and Systems SIMS 202:
UML exam advice. Minimal, yet sufficient UML course 80% of modeling can be done with 20% of the UML. Which 20% was that again? We’re supposed to be “Use.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Introduction To System Analysis and design
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Chapter 10 Architectural Design
Chapter 4 Requirements Engineering
Software Engineering CS B Prof. George Heineman.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
MSF Requirements Envisioning Phase Planning Phase.
lamsweerde Requirements Engineering © 2009 John Wiley and Sons 1 Requirements Engineering From System Goals to UML Models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
1 Introduction to Database Systems. 2 Database and Database System / A database is a shared collection of logically related data designed to meet the.
Chapter 6 – System Design II: Behavioral Models. 6.1 Models Models - what do you think of? 2.
Introduction To System Analysis and Design
IT Requirements Management Balancing Needs and Expectations.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Lecture 7: Requirements Engineering
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
lamsweerde Chap.7: Goal Orientation in RE © 2009 John Wiley and Sons 1 Fundamentals of RE Chapter 7 Goal Orientation in.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
E commerce Online Shopping Website at Rs. 7920/-.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
5 Chapter 5: Modeling Systems Requirements: Events and Things Systems Analysis and Design in a Changing World.
Elaboration popo.
Business System Development
CMPE 280 Web UI Design and Development August 29 Class Meeting
The Systems Engineering Context
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
Software Engineering (CSI 321)
Object-Oriented Analysis
Chapter 6 – System Design II: Behavioral Models
Chapter 2 – Software Processes
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
Data Model.
Department of Computer Science Abdul Wali Khan University Mardan
Chapter 7 Goal Orientation in RE
Presentation transcript:

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

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

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)

Goal-oriented RE Use goals for Requirements elicitation Evaluation Negotiation Elaboration Structuring Documentation Analysis Evolution

Agenda Goal orientation in a MDE/MDA world Goal formulation Object modeling basics Representing goals with object models Further possibilities

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

Review Model Driven Engineering (MDE) Model Driven Architecture (MDA) Rich Services, MDE, MDA, and RE

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

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

Rich Services CIM/PIM Process Agility Completeness Scalability End-to-End Alignment No Gaps

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)

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

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!

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

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.

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

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

Goal Categories

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

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

Graphical Goal Representation A. van Lamsweerde. Requirements Engineering. John Wiley & Sons Ltd. West Sussex, England. 2009.

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)

KAOS – the Object Model Keep All Objectives Satisfied

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)

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

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

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

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

A Candidate Model

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

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

Research Opportunities Tools Organize and categorize goals Generate goal gap questions Parse goals and generate models Maintain traceability between goals and model … more … ?

Questions