Chapter 7 Goal Orientation in RE

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Chapter 7 System Models.
Requirements Engineering Process
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Configuration management
2009 – E. Félix Security DSL Toward model-based security engineering: developing a security analysis DSML Véronique Normand, Edith Félix, Thales Research.
User Modeling CIS 376 Bruce R. Maxim UM-Dearborn.
Software Requirements
[ §4 : 1 ] 4. Requirements Processes I Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Requirements Definition Document.
UC San Diego CSE 294 May 7, 2010 Barry Demchak
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
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.
Building System Models for RE Chapter 11 Modeling System Agents and Responsibilities.
© 2005 Prentice Hall6-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Software Testing and Quality Assurance
Introduction to Software Engineering
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Overview of Software Requirements
lamsweerde Chap.11: Modeling System Agents © 2009 John Wiley and Sons Building System Models for RE Chapter 11 Modeling.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Chapter 3 Object-Oriented Analysis of Library Management System(LMS)
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
Managing Software Quality
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering CS B Prof. George Heineman.
Requirements Analysis
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
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.
Software Requirements Presented By Dr. Shazzad Hosain.
Lecture-3.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Specification and Testing An introduction TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
lamsweerde Chap.4: Formal Requirements Specification © 2009 John Wiley and Sons Fundamentals of RE Chapter 4 Requirements.
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
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.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Requirements Analysis
UML - Development Process 1 Software Development Process Using UML.
Basic Concepts and Definitions
Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Chapter 2 Object-Oriented Paradigm Overview
Presentation on Software Requirements Submitted by
CIS 376 Bruce R. Maxim UM-Dearborn
Requirements Specification and Testing
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
UNIT II.
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Process Models Coming up: Prescriptive Models.
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Chapter 7 Goal Orientation in RE
Presentation transcript:

Chapter 7 Goal Orientation in RE Fundamentals of RE Chapter 7 Goal Orientation in RE

System objectives are pervasive in RE As seen before ... the WHY dimension of RE (Chap. 1) understanding objectives in system-as-is, eliciting objectives of system-to-be (Chap. 2) analyzing conflicting objectives, analyzing risks of not meeting critical objectives, evaluating options against objectives (Chap. 3) specifying the rationale for specific requirements (Chap. 4) checking that system objectives are satisfied by operational requirements (Chap. 5) documenting satisfaction arguments & backward traceability to system objectives (Chap. 6) Þ Goals as key abstraction for driving the RE process

Goal orientation in RE: outline What are goals? The granularity of goals and their relationship to requirements and assumptions Goal types and categories Types of goals: behavioral goals vs. soft goals Goal categories: functional goals vs. non-functional goals The central role of goals in the RE process

What are goals? Goal = prescriptive statement of intent the system should satisfy through cooperation of its agents "prescriptive statement": in optative mood “shall”, “should”, “must”, ... e.g. “Train doors shall be closed while the train is moving” “Loan periods shall be limited to 2 weeks” formulated in terms of problem world phenomena "system": system-as-is, system-to-be software + environment "agent": active system component responsible for goal satisfaction

Goal satisfaction requires agent cooperation  Maintain [SafeTransportation]  on-board train controller + tracking system + station computer + passenger + train driver + ... Achieve [BookCopyReturnedToShelves]  patron + staff + library software Agent = role, rather than individual must restrict its behavior to meet its assigned goals must be able to monitor/control phenomena involved in assigned goals Agent types software (software-to-be, legacy software, foreign software) device (sensor, actuator, ...) human

Goals vs. domain properties Domain property = descriptive statement about environment indicative mood: “is", “are", etc --not prescriptive e.g. “If train doors are open, they are not closed” “A borrowed book is not available for other patrons” The distinction between goals & domain properties is essential for RE ... goals can be negotiated, weakened, prioritized domain properties cannot both required in requirements documentation

The granularity of goals Goals can be stated at different levels of abstraction Higher-level goals: strategic, coarse-grained "50% increase of transportation capacity" ”Effective access to state of the art" Lower-level goals: technical, fine-grained ”Acceleration command sent every 3 secs" ”Reminder issued by end of loan period if no return" The finer-grained a goal, the fewer agents required for its satisfaction

Goals, requirements & expectations Requirement = goal assigned to single agent in software-to-be "doorState = ‘closed’ while measuredSpeed¹ 0"  TrainController ”Acceleration command sent every 3 secs”  StationComputer Expectation = goal assigned to single agent in environment prescriptive assumption on environment cannot be enforced by software-to-be (unlike requirements)   ”Train left when doors open at destination”  Passenger

Statement typology revisited in the presence of goals Cf. general terminology introduced in Chap. 1 ... software requirement « requirement system requirement « goal involving multiple agents incl. software-to-be (prescriptive) assumption « expectation (descriptive) assumption « hypothesis

Goal types Behavioral goals: prescribe behaviors vs. Soft goals: state preferences among alternative behaviors

Goal types: behavioral goals Prescribe intended system behaviors declaratively implicitly define maximal sets of admissible agent behaviors Can be satisfied in a clear-cut sense: YES or NO goal satisfaction, formal analysis Used for building operation models to meet them ”Worst-case stopping distance maintained” “Reminder sent if book not returned on time”

Behavior goals prescribe sets of desired behaviors DoorsClosed WhileMoving moving closed stopped closed moving closed stopped closed stopped open

Behavioral goals: subtypes and specification patterns Achieve [TargetCondition]: [if CurrentCondition then] sooner-or-later TargetCondition Achieve [BookRequestSatisfied]: if a book is requested then sooner-or-later a copy of the book is borrowed by the requesting patron Achieve [FastJourney]: if train is at some platform then within 5 minutes it is at next platform

Behavioral goals: subtypes and specification patterns (2) Maintain [GoodCondition]: [if CurrentCondition then] always GoodCondition always (if CurrentCondition then GoodCondition) Maintain [DoorsClosedWhileMoving]: always (if a train is moving then its doors are closed) Maintain [WorstCaseStoppingDistance]: always (if a train follows another then its distance is sufficient to allow the other to stop suddenly)

Behavioral goals: subtypes and specification patterns (3) Accuracy goals are usually of type Maintain Maintain [AccurateBookClassification]: if a book is registered in the library directory then always its keyword-based classification reflects its covered topics Avoid [BadCondition]: dual of Maintain ... [if CurrentCondition then] never BadCondition Avoid [BorrowerLoansDisclosed]: never patron loans disclosed to other patrons Many security goals are Avoid goals

Goal types: soft goals Capture preferences among alternative behaviors Cannot be satisfied in clear-cut sense: more satisfied in one option, less satisfied in another goal satisficing, qualitative analysis Used for comparing options to select preferred Often take the form Maximize / Minimize, Incresase / Reduce, Improve, ... “Stress conditions of air traffic controllers shall be reduced” “The workload of library staff shall be reduced” “The bibliographical search engine shall be usable by non-CS students”

Goal categories Classification into functional, quality, development goals Categories may overlap; boundary not always clear unlike goal types Functional goals prescribe intended services to be provided by the system used for building operational models of such services use cases, state machines (see later) e.g. “Passengers transported to their destination” “Train acceleration computed” ”Book request satisfied"

Goal categories: non-functional goals Quality goals (not to be confused with soft goals, cf. book p. 271) about quality of service ... security "info about other patrons kept confidential" safety "worst-case stopping distance maintained" accuracy ”measured speed = physical speed” ”book displayed as available iff there is a copy in shelves" performance ”acceleration command sent every 3 seconds” usability interoperability, ... Development goals about quality of development ... cost, deadline, variability, maintainability, reusability, etc.

Goal categories (2) ... See book, Fig. 7.5 p. 269 goal functional satisfaction information security quality accuracy confidentiality ... performance integrity usability time space availability development safety See book, Fig. 7.5 p. 269 Helpful for eliciting overlooked application-specific instances through taxonomy browsing

Using goal types & categories Lightweight specification patterns Heuristic rules for elicitation, validation, reuse, conflict management, ... "Is there any conflict between Information goals and Confidentiality goals?" "Confidentiality goals are Avoid goals on sensitive info" "Safety goals have highest priority in conflict resolution" More specific types & categories Þ more specific heuristics

The central role of goals in the RE process Goal refinement/abstraction as structuring mechanism shows contribution links among goals drives elaboration of reqs (subgoals) provides rationale for reqs (parent goals) rich traceability: strategic objectives  technical requirements can be used to structure reqs document (cf. chap. 16)

The central role of goals in the RE process (2) Goals support chains of satisfaction arguments (cf. Chap. 1) Req, Exp, Dom |= G , SubG, Exp, Dom |= G “in view of domain properties in Dom, the reqs/subgoals in Req/SubG ensure that goal G is satisfied under expectations in Exp” R: doorsState = ‘closed’ if measuredSpeed ¹ 0 E: Doors are closed iff doorsState = ‘closed’ ( door actuators) measuredSpeed = physicalSpeed ( speedometer) D: Train is moving iff physicalSpeed ¹ 0 G: Doors are closed if train is moving

The central role of goals in the RE process (3) Goals provide a criterion for reqs completeness set REQ of requirements is complete if for all goals G : {REQ, Exp, Dom} |= G Goals provide a criterion for reqs relevance r in REQ is pertinent if for some G : r is used in argument {REQ, Exp, Dom} |= G

The central role of goals in the RE process (4) Goal OR-refinement  capture of alternative options

The central role of goals in the RE process (5) Support for evolution management higher-level goals  more stable concerns Þ multiple system versions within single model ... common parent goals different OR-branches Roots for conflict detection & resolution (cf. Chap. 16) Anchors for risk management (cf. Chap. 9)

Avoid frequent misconceptions Goal-oriented ¹ top-down bottom-up elaboration as well (goal abstraction) Goal-oriented Þ agent-oriented, scenario-oriented the magic RE triangle: goal s scenario s agents interaction responsibility coverage

Scenarios as concrete vehicles for goal elicitation/validation easy to get from or validate with stakeholders DoorsClosed WhileMoving :Controller :Train :Passenger arrival doors opening entrance doors closing G covers Sc: Sc is subhistory in set of behaviors prescribed by G move arrival doors opening

Part 2: Building System Models for RE Introduction

RE activities require focus and structure A recurrent problem ... focusing, structuring elicitation sessions & artefacts (Chap.2) identifying items at common level of granularity for comparison, evaluation (Chap.3) structuring large, complex specifications (Chap.4) focusing inspection, validation, verification on structured specs (Chap.5) identifying change units, granularities of traceable items, derivation links for reqs evolution (Chap.6) Þ Model-driven approach to RE

Model-Driven RE Model: Multi-view model: abstract representation of system (as-is or to-be) highlights, specifies, inter-relates key system features Multi-view model: different system facets for requirements completeness

Why models for RE ? Focus on key aspects (abstraction from multiple details) Provides structure for RE activities target for what must be elicited, evaluated, specified, consolidated, modified interface among RE activities: produce/consume model items Facilitates analysis support for early detection and fix of errors Support for understanding, explanation to stakeholders Basis for making decisions multiple options made explicit Basis for generating the requirements document (with tool)

A goal-oriented approach to model-driven RE interviews documents existing systems modeling analysis generation of RE deliverables .rtf .pdf .mif .html

The lectures will summarize book chapters, see details there ! Concentrates on solid, replicable RE techniques Emphasizes model construction, beyond mere use of diagrammatic notations heuristic rules, tactics, modeling patterns, bad smells UML compliance wherever possible Unified Modeling Language, de facto standards Specific diagrams when not supported by UML (e.g. goals) Based on case studies in a variety of domains

What models for RE ? Goals (Chap. 7, 8) why ?

What models for RE ? Goals (Chap. 7, 8) Risks (Chap.9) why ?

What models for RE ? Goals (Chap. 7, 8) Risks (Chap.9) why ? Conceptual objects (Chap.10) on what?

What models for RE ? Goals (Chap. 7, 8) Risks (Chap.9) why ? Conceptual objects (Chap.10) Agents (Chap.11) on what? who ?

What models for RE ? Operations (Chap.12) what ?

What models for RE ? Operations (Chap.12) what ? Behaviors - Scenarios (Chap.13) Behaviors - State machines (Chap.13)

What models for RE ? Operations (Chap.12) Threats (Chap. 16) what ? Behaviors - Scenarios (Chap.13) Behaviors - State machines (Chap.13)

Building system models for RE: more detailed outline Chap.8: Modeling system objectives with goal diagrams Chap.9: Risk analysis on goal models Chap.10: Modeling conceptual objects with class diagrams Chap.11: Modeling system agents and responsibilities Chap.12: Modeling system operations Chap.13: Modeling system behaviors: scenarios and state machines Chap.14: Integrating multiple system views Chap.15: A Goal-oriented model building method in action