Lecture 9: Requirements Modelling



Similar documents
Lectures 2 & 3: Introduction to Modeling & UML. Getting started

Requirements engineering

Requirements engineering and quality attributes

Design methods. List of possible design methods. Functional decomposition. Data flow design. Functional decomposition. Data Flow Design (SA/SD)

Applying 4+1 View Architecture with UML 2. White Paper

Chap 1. Introduction to Software Architecture

Engineering Process Software Qualities Software Architectural Design

Lecture 17: Requirements Specifications

Karunya University Dept. of Information Technology

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Object Oriented Design

II. Conceptual Modeling

Object-oriented design methodologies

Designing a Semantic Repository

Object Oriented Analysis and Design and Software Development Process Phases

Software Requirements Specification

Vragen en opdracht. Complexity. Modularity. Intra-modular complexity measures

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

Fourth generation techniques (4GT)

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

CDC UNIFIED PROCESS PRACTICES GUIDE

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Documentation of DES Models for Manufacturing System Life Cycle Simulation

Visual Modelling for Information Management. Author: Alex Jouravlev, Consultant with Business Abstraction

To introduce software process models To describe three generic process models and when they may be used

Lecture 12: Entity Relationship Modelling

Goal-Oriented Requirements Engineering: An Overview of the Current Research. by Alexei Lapouchnian

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

Architecture Description of <Architecture Name> for <System of Interest>

BPCMont: Business Process Change Management Ontology

Aerospace Software Engineering

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

The SPES Methodology Modeling- and Analysis Techniques

Business Modeling with UML

CSC340: Information Systems Analysis and Design. About the Course

11 Tips to make the requirements definition process more effective and results more usable

Scenario-based Requirements Engineering and User-Interface Design

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

What is a requirement? Software Requirements. Descriptions and specifications of a system

Programming Language Constructs as Basis for Software Architectures

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

Masters of Science in Software & Information Systems

Using Use Cases for requirements capture. Pete McBreen McBreen.Consulting

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Software Requirements

IAI : Expert Systems

DISCLAIMER OVERVIEW WHY DO WE MODEL WHAT IS QUALITY? Jeff Jacobs,

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

How To Write Software

Quantitative and qualitative methods in process improvement and product quality assessment.

Classical Software Life Cycle Models

Algorithms, Flowcharts & Program Design. ComPro

CSE4213 Lecture Notes

VAIL-Plant Asset Integrity Management System. Software Development Process

GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Detecting Defects in Object-Oriented Designs: Using Reading Techniques to Increase Software Quality

Abstract

Enterprise Architecture at Work

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

6-1. Process Modeling

SOFTWARE DEVELOPMENT MAGAZINE: MANAGEMENT FORUM December, Vol. 7, No. 12 Capturing Business Rules. By Ellen Gottesdiener,

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach

SOFTWARE REQUIREMENTS

Software Design Document (SDD) Template

Requirements Specification and Testing Part 1

A Methodology for the Development of New Telecommunications Services

Menouer Boubekeur, Gregory Provan

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

Requirements Engineering Process

Setting up an Effective Enterprise Architecture capability. Simon Townson Principal Enterprise Architect SAP

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

2. Analysis, Design and Implementation

Ten steps to better requirements management.

Software Requirements. Objectives

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

A process-driven methodological approach for the design of telecommunications management systems

Software Development Methodologies

Architecture. Reda Bendraou

Modeling the User Interface of Web Applications with UML

Appendix B Data Quality Dimensions

Enterprise Architecture Assessment Guide

The Role of the Architect

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

PATTERN-ORIENTED ARCHITECTURE FOR WEB APPLICATIONS

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Quality-Oriented Requirements Engineering for Agile Development of RESTful Participation Service

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.

An Integrated Quality Assurance Framework for Specifying Business Information Systems

Lecture Slides for Managing and Leading Software Projects. Chapter 5: Project Planning Techniques

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Transcription:

A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview of modelling languages Modelling principles Abstraction Decomposition Projection Modularity 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1

Refresher: Definitions Application Domain Machine Domain D - domain properties R - requirements C - computers P - programs Some distinctions: Domain Properties - things in the application domain that are true whether or not we ever build the proposed system Requirements - things in the application domain that we wish to be made true by delivering the proposed system A specification - a description of the behaviours the program must have in order to meet the requirements Two correctness (verification) criteria: The Program running on a particular Computer satisfies the Specification The Specification, in the context of the given domain properties, satisfies the requirements Two completeness (validation) criteria: We discovered all the important requirements We discovered all the relevant domain properties 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2

Refresher: Systems to model Source: Adapted from Loucopoulos & Karakostas, 1995, p73 Needs information about Maintains information about Subject System Uses Usage System Information system contracts builds Development System 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3

Refresher: Systems Thinking 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4

Modelling Modelling can guide elicitation: It can help you figure out what questions to ask It can help to surface hidden requirements i.e. does it help you ask the right questions? Modelling can provide a measure of progress: Completeness of the models -> completeness of the elicitation (?) i.e. if we ve filled in all the pieces of the models, are we done? Modelling can help to uncover problems Inconsistency in the models can reveal interesting things e.g. conflicting or infeasible requirements e.g. confusion over terminology, scope, etc e.g. disagreements between stakeholders Modelling can help us check our understanding Reason over the model to understand its consequences Does it have the properties we expect? Animate the model to help us visualize/validate the requirements 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5

The application domain Source: Adapted from Jackson, 1995, p120-122 RE involves a lot of modelling A model is more than just a description it has its own phenomena, and its own relationships among those phenomena. The model is only useful if the model s phenomena correspond in a systematic way to the phenomena of the domain being modelled. Example: Book (1,n) author (0,n) ISBN title name Person The modelling domain Designations for the application domain B = Book P = Person R = Wrote Book: entity Person: entity author: relation Designations for the model s domain Common Properties For every B, at least one P exists such that R(P, B) 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6

There will always be: It s only a model Source: Adapted from Jackson, 1995, p124-5 phenomena in the model that are not present in the application domain phenomena in the application domain that are not in the model Book (1,n) author ISBN title name DOB (0,n) Person Phenomena not captured in the model ghost writers pseudonyms anonymity A model is never perfect Common Phenomena every book has at least one author every book has a unique ISBN If the map and the terrain disagree, believe the terrain Perfecting the model is not always a good use of your time... Phenomena not true in the world no two people born on same date with same name 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7

natural language Choice of modelling notation Source: Adapted from Loucopoulos & Karakostas, 1995, p72-73 extremely expressive and flexible useful for elicitation, and to annotate models for readability poor at capturing key relationships semi-formal notation captures structure and some semantics UML fits in here can perform (some) reasoning, consistency checking, animation, etc. E.g. diagrams, tables, structured English, etc. mostly visual - for rapid communication with a variety of stakeholders formal notation precise semantics, extensive reasoning possible Underlying mathematical model (e.g. set theory, FSMs, etc) very detailed models (may be more detailed than we need) RE formalisms are for conceptual modelling, hence differ from most computer science formalisms 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8

Desiderata for Modelling Notations Source: Adapted from Loucopoulos & Karakostas, 1995, p77 Implementation Independence does not model data representation, internal organization, etc. Abstraction extracts essential aspects e.g. things not subject to frequent change Formality unambiguous syntax rich semantic theory Constructability can construct pieces of the model to handle complexity and size construction should facilitate communication Ease of analysis ability to analyze for ambiguity, incompleteness, inconsistency Traceability ability to cross-reference elements ability to link to design, implementation, etc. Executability can animate the model, to compare it to reality Minimality No redundancy of concepts in the modelling scheme i.e. no extraneous choices of how to represent something 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9

Survey of Modelling Techniques Modelling Enterprises Goals & objectives Organizational structure Tasks & dependencies Agents, roles, intentionality Modelling Information & Behaviour Information Structure Behavioral views Scenarios and Use Cases State machine models Information flow Timing/Sequencing requirements Modelling System Qualities (NFRs) All the ilities : Usability, reliability, evolvability, safety, security, performance, interoperability, Organization modelling: i*, SSM, ISAC Goal modelling: KAOS, CREWS Information modelling: E-R, Class Diagrams Structured Analysis: SADT, SSADM, JSD Object Oriented Analysis: OOA, OOSE, OMT, UML Formal Methods: SCR, RSML, Z, Larch, VDM Quality tradeoffs: QFD, win-win, AHP, Specific NFRs: Timed Petri nets (performance) Task models (usability) Probabilistic MTTF (reliability) 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10

the Unified Modelling Language (UML) Third generation OO method Booch, Rumbaugh & Jacobson are principal authors Still evolving Attempt to standardize the proliferation of OO variants Is purely a notation No modelling method associated with it! Was intended as a design notation (some features unsuitable for RE) Has become an industry standard But is primarily owned by IBM/Rational (who sell lots of UML tools and services) Has a standardized meta-model Use case diagrams Class diagrams Message sequence charts Activity diagrams State Diagrams Module Diagrams Platform diagrams 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 11

Meta-Modelling Can compare modelling schema using meta-models: What phenomena does each scheme capture? What guidance is there for how to elaborate the models? What analysis can be performed on the models? Example meta-model: refine own Goals implement refine Agents assigned to Tasks 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 12

Modelling principles Facilitate Modification and Reuse Experienced analysts reuse their past experience they reuse components (of the models they have built in the past) they reuse structure (of the models they have built in the past) Smart analysts plan for the future they create components in their models that might be reusable they structure their models to make them easy to modify Helpful ideas: Abstraction strip away detail to concentrate on the important things Decomposition (Partitioning) Partition a problem into independent pieces, to study separately Viewpoints (Projection) Separate different concerns (views) and describe them separately Modularization Choose structures that are stable over time, to localize change Patterns Structure of a model that is known to occur in many different applications 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 13

Modelling Principle 1: Partitioning Partitioning captures aggregation/part-of relationship Example: goal is to develop a spacecraft partition the problem into parts: guidance and navigation; data handling; command and control; environmental control; instrumentation; etc Note: this is not a design, it is a problem decomposition actual design might have any number of components, with no relation to these sub-problems However, the choice of problem decomposition will probably be reflected in the design 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 14

Source: Adapted from Davis, 1990, p48 and Loucopoulos & Karakostas, 1995, p78 Modelling Principle 2: Abstraction Abstraction A way of finding similarities between concepts by ignoring some details Focuses on the general/specific relationship between phenomena Classification groups entities with a similar role as members of a single class Generalization expresses similarities between different classes in an is_a association Example: requirement is to handle faults on the spacecraft might group different faults into fault classes based on location: instrumentation fault, communication fault, processor fault, etc based on symptoms: no response from device; incorrect response; self-test failure; etc... 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 15

Projection: Modelling Principle 3: Projection separates aspects of the model into multiple viewpoints similar to projections used by architects for buildings Example: Need to model the requirements for a spacecraft Model separately: safety commandability fault tolerance timing and sequencing Etc Note: Source: Adapted from Davis, 1990, p48-51 Projection and Partitioning are similar: Partitioning defines a part of relationship Projection defines a view of relationship Partitioning assumes a the parts are relatively independent 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 16

Generalization (an abstraction hierarchy) A brief UML example Source: Adapted from Davis, 1990, p67-68 Aggregation (a partitioning hierarchy) :patient Name Date of Birth physician history :patient Name Date of Birth physician history 0..1 0..1 0..1 :in-patient Room Bed Treatments food prefs :out-patient Last visit next visit prescriptions 1 :heart Natural/artif. Orig/implant normal bpm 1..2 :kidney Natural/artif. Orig/implant number 0..2 :eyes Natural/artif. Vision colour 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 17

What is this a model of? 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 18

Summary Modelling plays a central role in RE Allows us to study a problem systematically Allows us to test our understanding Many choices for modelling notation In this course, we ll use (and adapt) various UML notations All models are inaccurate (to some extent) Use successive approximation but know when to stop perfecting the model Every model is created for a purpose The purpose is not usually expressed in the model So every model needs an explanation 2004-5 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 19