User Requirements Notation URN Daniel Amyot October 2002 Requirements Engineering & User Requirements.

Slides:



Advertisements
Similar presentations
Requirements Engineering Processes – 2
Advertisements

Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Distributed Systems Architectures
Chapter 7 System Models.
Requirements Engineering Process
Chapter 24 Quality Management.
Copyright © 2003 Pearson Education, Inc. Slide 8-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
1 Introducing the Specifications of the Metro Ethernet Forum MEF 19 Abstract Test Suite for UNI Type 1 February 2008.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of URN Daniel Amyot University of Ottawa, Canada
Use Case Maps Daniel Amyot, Gunter Mussbacher Introduction to Use Case Maps.
UCM Path Traversal Daniel Amyot SG17, Geneva, March 5 th, 2002 UCM Scenarios and Path Traversal.
1 GRL Introduction Lin Liu University of Toronto April 2001.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q18/17 (URN) Rapporteur Time and.
Introduction to HTML, XHTML, and CSS
Modern Systems Analyst and as a Project Manager
Knowledge Extraction from Technical Documents Knowledge Extraction from Technical Documents *With first class-support for Feature Modeling Rehan Rauf,
Week 2 The Object-Oriented Approach to Requirements
Configuration management
Chapter 5 – Enterprise Analysis
Effectively applying ISO9001:2000 clauses 6 and 7.
Object-Oriented Software Engineering Visual OO Analysis and Design
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering.
Legacy Systems Older software systems that remain vital to an organisation.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
Lecture 6: Software Design (Part I)
Lecture 5: Requirements Engineering
Executional Architecture
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
1 Phase III: Planning Action Developing Improvement Plans.
RefWorks: The Basics October 12, What is RefWorks? A personal bibliographic software manager –Manages citations –Creates bibliogaphies Accessible.
© Paradigm Publishing, Inc Access 2010 Level 2 Unit 2Advanced Reports, Access Tools, and Customizing Access Chapter 8Integrating Access Data.
© Paradigm Publishing, Inc Excel 2013 Level 2 Unit 2Managing and Integrating Data and the Excel Environment Chapter 6Protecting and Sharing Workbooks.
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
1 Distributed Agents for User-Friendly Access of Digital Libraries DAFFODIL Effective Support for Using Digital Libraries Norbert Fuhr University of Duisburg-Essen,
From Model-based to Model-driven Design of User Interfaces.
Based on Powerpoint slides by Gunter Mussbacher, Gregor v. Bochmann User Requirements Notation (URN) SEG3101 (Fall 2010)
Data, Now What? Skills for Analyzing and Interpreting Data
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q.18/17 Rapporteur SITE, University of Ottawa, Canada.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Requirements Analysis
Business Analysis and Essential Competencies
Effective Requirements Management – an overview Kristian Persson Field Product Manager, Telelogic Asia/Pacific.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q18/17 (URN) Rapporteur User Requirements.
1 Introduction to Software Engineering Lecture 1.
A Lightweight GRL Profile for i* Modeling Presenter: Alexei Lapouchnian Daniel Amyot, Jennifer Horkoff, Daniel Gross, and Gunter Mussbacher {damyot,
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
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.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Winter 2007SEG2101 Chapter 31 Chapter 3 Requirements Specifications.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q18/17 (URN) Rapporteur User Requirements.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
1 Towards Integrated Tool Support for the User Requirements Notation Jean-François Roy
Systems Architectures System Integration & Architecture.
 System Requirement Specification and System Planning.
Daniel Amyot and Jun Biao Yan
Presentation transcript:

User Requirements Notation URN Daniel Amyot October 2002 Requirements Engineering & User Requirements Notation

© 2002 Page 2 User Requirements Notation Objectives u Part I: Requirements Engineering – What is it? – A RE approach – Requirements characteristics u Part II: User Requirements Notation (URN) – Motivations and objectives – Goal-oriented Requirement Language (GRL) – Use Case Maps (UCMs) – MSC generation – Relationships with other languages – Tools

© 2002 Page 3 User Requirements Notation Part I Requirements Engineering

© 2002 Page 4 User Requirements Notation You said “Requirements”? u A requirement is an expression of the ideas to be embodied in the system or application under development u Requirements engineering is the activity of development, elicitation, specification, and analysis of the stakeholder requirements, which are to be met by systems – RE is concerned with identifying the purpose of a software system… and the contexts in which it will be used.

© 2002 Page 5 User Requirements Notation Requirements Engineering Requirements Development Requirements Management Elicitation Analysis Specification Verification Larry Boldt, Trends in Requirements Engineering People-Process-Technology, Technology Builders, Inc., 2001

© 2002 Page 6 User Requirements Notation About the steps… Requirements elicitation –Requirements discovered through consultation with stakeholders Requirements analysis and negotiation –Requirements are analyzed and conflicts resolved through negotiation Requirements specification –A precise requirements document is produced Requirements validation –The requirements document is checked for consistency and completeness

© 2002 Page 7 User Requirements Notation Vision and Scope Document User Requirements Use Case Document Functional Requirements Software Requirements Specification Constraints Quality Attributes System Requirements 1-7 Business Goals/Objectives Adapted from Karl Wiegers, Software Requirements A Requirements Engineering Approach

© 2002 Page 8 User Requirements Notation So many requirements…! u A goal is an objective or concern used to discover and evaluate functional and non-functional requirements. u A functional requirement is a requirement defining functions of the system under development u A non-functional requirement is a requirement characterizing a system property such as expected performance, robustness, usability, maintainability, etc. Non-functional requirements capture business goals/objectives and product quality attributes. u A user requirement is a desired goal or function that a user and other stakeholders expect the system to achieve

© 2002 Page 9 User Requirements Notation The Requirements Analyst u Plays an essential communication role – talks to users: application domain – talks to developers: technical domain – translates user requirements into functional requirements and quality goals u Needs many capabilities – interviewing and listening skills – facilitation and interpersonal skills – writing and modeling skills – organizational ability u RE is more than just modeling… This is a social activity! Karl Wiegers – In Search of Excellent Requirements

© 2002 Page 10 User Requirements Notation (Martin & Leffinwell) Distribution of Effort to Fix Defects Code 7% Other 10% Design 27% Requirements 56% Code 1% Other 4% Design 13% Requirements 82% Why Manage Requirements ? Distribution of Defects

© 2002 Page 11 User Requirements Notation Time Why? What? How? Who? When? If-Then Does It? Where? Project Management Process Quality Management Process Component & Configuration Management Process Risk Management Process Identify Business Needs Derive User & Functional Requirements Design Solutions TIME RE Process and Related Activities

© 2002 Page 12 User Requirements Notation Towards Good Requirements Specs! u Valid (or “correct”) – Expresses actual requirements u Complete – Specifies all the things the system must do –...and all the things it must not do! – Conceptual Completeness u E.g. responses to all classes of input – Structural Completeness u E.g. no TBDs!!! u Consistent – Doesn’t contradict itself (satisfiable) – Uses all terms consistently – Note: inconsistency can be hard to detect, especially in concurrency/timing aspects and condition logic – Formal modeling can help Source: Adapted from Blum 1992, pp164-5 and the IEEE-STD

© 2002 Page 13 User Requirements Notation Towards Good Requirements Specs! u Necessary – Doesn’t contain anything that isn’t “required” u Unambiguous – Every statement can be read in exactly one way – Clearly defines confusing terms u E.g. in a glossary u Verifiable – A process exists to test satisfaction of each requirement – “every requirement is specified behaviorally” u Understandable (Clear) – E.g. by non-computer specialists u Modifiable – Must be kept up to date! Source: Adapted from Blum 1992, pp164-5 and the IEEE-STD

© 2002 Page 14 User Requirements Notation Typical Mistakes u Noise – the presence of text that carries no relevant information to any feature of the problem. u Silence – a feature that is not covered by any text. u Over-specification – text that describes a feature of the solution, rather than the problem. u Contradiction – text that defines a single feature in a number of incompatible ways. u Ambiguity – text that can be interpreted in at least two different ways. u Forward reference – text that refers to a feature yet to be defined. u Wishful thinking – text that defines a feature that cannot possibly be validated. u Jigsaw puzzles – e.g. distributing requirements across a document and then cross-referencing u Inconsistent terminology – Inventing and then changing terminology u Putting the onus on the development staff – i.e. making the reader work hard to decipher the intent u Writing for the hostile reader – There are fewer of these than friendly readers Source: Steve Easterbrook, U. of Toronto

© 2002 Page 15 User Requirements Notation For Further Information… u B. A. Nuseibeh and S. M. Easterbrook, Requirements Engineering: A Roadmap. In A. C. W. Finkelstein (ed) The Future of Software Engineering, ACM Press, 2000 – u INCOSE Requirements Working Group – u Tools Survey: Requirements Management (RM) Tools – – See also u IEEE (1993) Recommended Practice for Software Requirements Specifications. IEEE Std , NY, USA. u IEEE (1995) Guide for Developing System Requirements Specifications. IEEE Std P1233/D3, NY, USA. u RE Conference – u Software Product Line Bibliography –

© 2002 Page 16 User Requirements Notation Part II User Requirements Notation (URN)

© 2002 Page 17 User Requirements Notation Requirements and Service Description Stage 1 Message Sequence Information Stage 2 Protocols, Procedures, Behaviour Stage 3 SDL or UML Statechart diagrams MSC or UML interaction diagrams Informal requirements? Use Cases? URN! Motivation for URN (ITU-T SG17 Question 18)

© 2002 Page 18 User Requirements Notation URN - Initial Objectives u Focus on early stages of design, with scenarios u Capture user requirements when little design detail is available u No messages, components, or component states required u Reusability of scenarios and allocation to components – Evaluation of architectural alternatives u Dynamic refinement capabilities – Behaviour and structure u Early performance analysis u Early detection of undesirable interactions

© 2002 Page 19 User Requirements Notation URN - Additional Objectives u Express, analyse and deal with goals and non- functional requirements (NFRs) u Express the relationship between business objectives/goals and system requirements u Capture reusable analysis (argumentation) and design knowledge (patterns) u Traceabilty and transformations to other languages – Particularly MSC, SDL, TTCN, and UML u Connect URN elements to external req. objects u Manage evolving requirements

© 2002 Page 20 User Requirements Notation Current Proposal for URN u Draft documents for Z.150, Z.151, Z.152 – u Combined use of two complementary notations: – Goal-oriented Requirement Language (GRL) for NFRs ( – Use Case Maps (UCM) for Functional Requirements ( u Create ITU-T standard by end of 2003 (Z )

© 2002 Page 21 User Requirements Notation GRL in a Nutshell u Goal-oriented Requirement Language — a graphical notation that allows reasoning about (non- functional) requirements u GRL is concerned with intentional elements, actors, and their relationships u Intentional elements model the “why” aspect — objectives, alternatives, as well as decision rationale and criteria — but not operational details u GRL may be mapped to scenario-based notations and thus supports reasoning about scenarios u GRL satisfies most of URN’s additional objectives

© 2002 Page 22 User Requirements Notation Basic GRL Notation Means-End PasswordCardkeyBiometrics Correlation (side-effect) Cost of Terminal Belief Argumentation Biometrics is no regular off-the-shelf technology Goal Decomposition (AND) IdentificationAuthentication Task Make.. Access Authorization Encryption ? BreakHurtSome- Unknown MakeHelpSome+Equal Contribution Security of Host Security of Terminal Softgoal System Security

© 2002 Page 23 User Requirements Notation Evaluations with GRL.. PasswordCardkeyBiometrics Identification Cost of Terminal Biometrics is no regular off-the-shelf technology Access Authorization Encryption Authentication Satisficed Weakly Satisficed Undecided Weakly Denied Denied Security of Host Security of Terminal System Security

© 2002 Page 24 User Requirements Notation GRL Model with Actors.. PasswordCardkey Biometrics Identification Cost of Terminal Biometrics is no regular off-the-shelf technology Access Authorization Encryption Authentication Security of Host Security of Terminal System Security Actor Boundary TaxPayer Payment Forward Tax Forms Resource Dependency Electronic Accountant Actor Keep Password Secret

© 2002 Page 25 User Requirements Notation Key Points - GRL Introduction & Notation u GRL (Goal-oriented Requirement Language) provides an intentional view of a system, focusing on the “why” aspect u Goals provide the right abstraction level for many requirements activities u The basic elements of the GRL notation are goals, softgoals, tasks, qualified contribution and correlation links, means-end links, and decomposition links u GRL graphs document rationale of subjective issues u Evaluations of GRL graphs show the impact of qualitative decisions on high level softgoals

© 2002 Page 26 User Requirements Notation UCMs in a Nutshell u Use Case Maps – a graphical scenario notation for describing causal relationships between responsibilities u Scenario elements may (optionally) be linked to components, providing a grey-box view of systems u The intent of UCMs is to facilitate the integration, reusability, and analysis of scenarios, and to guide the design of high level architectures and detailed scenarios from requirements u UCMs satisfy most initial URN requirements

© 2002 Page 27 User Requirements Notation Component Start Point End Point Responsibility Stub AND-Fork Pool a) Root UCM Slot b) Biometrics Plug-In c) PassWord Plug-in Timer OR-Fork

© 2002 Page 28 User Requirements Notation Electronic Accountant: Highlight Biometrics selected, Successful scenario

© 2002 Page 29 User Requirements Notation UCM Scenario Definitions u Enhances the behavioral modeling capability of UCM paths and path elements u Requires a path data model – Currently, global and modifiable Boolean variables – Scenario definition: initial values and start points – Used in conditions for OR-forks and dynamic stubs – Variables may be updated in responsibilities u Combined to a path traversal algorithm u Mapping rules for transformations

© 2002 Page 30 User Requirements Notation UserAAgentAAgentBUserB req msg1 ring vrfy upd chk UserASwitchSNUserB req chk upd msg2 ring msg5 msg4 msg3 vrfy SN req chk upd User:BUser:ASwitch vrfy ring User:AAgent:AAgent:BUser:B req ring vrfy upd chk Refining UCMs with Messages

© 2002 Page 31 User Requirements Notation MSC for Biometrics Successful

© 2002 Page 32 User Requirements Notation Why Stop at MSCs? UCM spec (XML) MSC’2000HMSC UML collaboration diagrams UML sequence diagrams Scenario Output (XML) MSC ’96 L OTOS test cases TTCN-3 test cases Performance models Documentation (ps, pdf, cgm)

© 2002 Page 33 User Requirements Notation UCMs and Performance Response Time Requirement From T1 to T2 Name Response time Percentage SecurityE_Accountant Ready Continue CheckBio TaxPayer Access T1 Timestamp T2 Device Characteristics Processors, disks, DSP, external services… Speed factors Rejected Arrival Characteristics Exponential, or Deterministic, or Uniform, or Erlang, or Other Population size Responsibilities Data access modes Device demand parameters Mean CPU load (time) Mean operations on other devices OR Forks Relative weights (probability) Components Allocated responsibilities Processor assignment Can generate Layered Queuing Networks (LQN) automatically!

© 2002 Page 34 User Requirements Notation GRL - UCM Relationship u Goal-based approach – Focuses on answering “why” questions – Addresses functional and non-functional requirements u Scenario-based approach – Focuses on answering “what” questions u Goals are operationalized into tasks and tasks are elaborated in (mapped to) UCM scenarios – Focuses on answering “how” questions

© 2002 Page 35 User Requirements Notation ? ? MSC, UML Use Case Diagram & Activity Diagram Informal Requirements, Textual Use Cases URN — Missing Piece of the Modelling Puzzle? UCMs link to operationalizations (tasks) in GRL models Structural Diagrams SDL, eODL, or UML class, object, component, & deployment diagrams Testing and Performance Languages TTCN, LQN,... Behavioral Diagrams MSC/SDL, or UML sequence, collabor., & statechart diagrams UCMs represent visually use cases in terms of causal responsibilities UCMs provide a framework for making high level and detailed design decisions UCMs visually associate behavior and structure at the system level URN-FR / UCMs Superimpose visually system level behavior onto structures of abstract components. Can replace UML use case & deployment diagams. URN-NFR/GRL Goals, non-functional requirements, alterna- tives, rationales

© 2002 Page 36 User Requirements Notation GRL Tool: OME3 u Java tool, developed by Prof. Eric Yu, Dr. Lin Liu, and others (University of Toronto) u Conceptual modeling tool and model analysis tool u OME3 supports many frameworks – NFR (Non-Functional Requirements Framework) – i* (Strategic Actor-based Modelling Framework) – GRL (Goal-Oriented Requirements Language) u Based on TELOS u Exports to XML u Version 3.10:

© 2002 Page 37 User Requirements Notation

© 2002 Page 38 User Requirements Notation

© 2002 Page 39 User Requirements Notation UCM Tool: UCMNAV u By A. Miga, D. Petriu, D. Amyot and others, since 1997 u Editing and navigating of UCMs u Supports UCM path and component notations u Maintains bindings – Plug-ins to stubs, responsibilities to components, sub-components to components, etc. u Editing is transformation-based – Operations maintain syntactic correctness – Enforce some static semantics constraints u Scenario definitions – Path highlighting and MSC generation (Z.120, textual) – XML scenario generation u Performance analysis – Performance annotations – Generation of Layered Queuing Networks (LQN)

© 2002 Page 40 User Requirements Notation UCMNAV and Scenario Highlight

© 2002 Page 41 User Requirements Notation UCMN AV Facts u Load/save/import/export in XML u Developed in C++, GUI in Xforms u Requires an X-server – E.g. Xfree86 freeware ( u Multiple platforms are currently supported – Solaris, Linux, and Windows (all) u Current stable version: – Freely available at u Free and Open Source: –

© 2002 Page 42 User Requirements Notation UCMNav Documents u XML file format (conforms to UCM DTD) u Export of UCM figures – Encapsulated PostScript (EPS) – Maker Interchange Format (MIF) – Computer Graphics Metafile (CGM) – Scalable Vector Graphics (SVG) u Flexible report generation – Content options – PostScript, with PDF hyperlink information

© 2002 Page 43 User Requirements Notation Report Generation in PS/PDF

© 2002 Page 44 User Requirements Notation URN – Emerging Projects u URN for Reverse-Engineering (KLOCwork Suite) u UCM/XML Scenarios to MSC, UML, TTCN, Doc… u URN and Requirements Management (DOORS) u URN and Requirements-based Design (synthesis) u URN and Performance Engineering (UCM2LQN) u ASM-Based Semantics for URN

© 2002 Page 45 User Requirements Notation Conclusion u URN – Combines goals and scenarios – Helps bridging the gap between requirements models and design models u GRL – For incomplete, fuzzy, non-functional requirements – Capture goals, objectives, alternatives and rationales u UCM – For operational and functional requirements – Enables analysis and transformations – Architectural alternatives and dynamic systems

© 2002 Page 46 User Requirements Notation Selected References u URN: u ITU-T SG 17: Draft Recommendations Z.150, September 2002 u ITU-T SG 17: Draft Recommendations Z.151 and Z.152, February 2002 u D. Petriu and M. Woodside, Analysing Software Requirements Specifications for Performance. In: Third International Workshop on Software and Performance (WOSP 2002), Rome, Italy, July 2002 u D. Amyot and G. Mussbacher, URN: Towards a New Standard for the Visual Description of Requirements.In: 3rd SDL and MSC Workshop (SAM’02), Aberystwyth, U.K., June u G. Mussbacher, D. Amyot (2001), A Collection of Patterns for Use Case Maps. In: First Latin American Conference on Pattern Languages of Programming (SugarLoafPLoP 2001), Rio de Janeiro, Brazil, October u D. Amyot (2001), Specification and Validation of Telecommunications Systems with Use Case Maps and LOTOS. Ph.D. thesis, SITE, U. of Ottawa, Canada, September u A. Miga, D. Amyot, F. Bordeleau, D. Cameron, and M. Woodside (2001), Deriving Message Sequence Charts from Use Case Maps Scenario Specifications. In: Tenth SDL Forum (SDL'01), Copenhagen, Denmark, June u L. Liu and E. Yu (2001), From Requirements to Architectural Design –Using Goals and Scenarios. In: From Software Requirements to Architectures Workshop (STRAW 2001), Toronto, Canada, May u D. Amyot and G. Mussbacher (2000), On the Extension of UML with Use Case Maps Concepts. In: The 3rd International Conference on the Unified Modeling Language ( >), York, UK, October u R.J.A. Buhr (1999), Use Case Maps as Architectural Entities for Complex Systems. In: Trans. on Software Engineering, IEEE, Vol. 24, No. 12, December 1998, pp