Requirement Analysis with UML

Similar documents
Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Chapter 8 The Enhanced Entity- Relationship (EER) Model

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

Object Oriented Design

SysML Modelling Language explained

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

System Modeling / Class Diagra Diagr m a Week 6

How To Design Software

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

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

IV. The (Extended) Entity-Relationship Model

Using UML Part One Structural Modeling Diagrams

Software Engineering. System Modeling

ATM Case Study OBJECTIVES Pearson Education, Inc. All rights reserved Pearson Education, Inc. All rights reserved.

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

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

11 November

Assuming the Role of Systems Analyst & Analysis Alternatives

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

Using UML Part Two Behavioral Modeling Diagrams

A technical discussion on modeling with UML 06/11/03 Entity Relationship Modeling with UML

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. September 2013 EXAMINERS REPORT

Lecture 9: Requirements Modelling

Scenario-based Requirements Engineering and User-Interface Design

Requirements engineering

Tutorial - Building a Use Case Diagram

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Lecture 12: Entity Relationship Modelling

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

CPS122 Lecture: State and Activity Diagrams in UML

Object Oriented Software Models

Analysis and Design with UML

What is a metamodel: the OMG s metamodeling infrastructure

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Transaction-Typed Points TTPoints

Communication Diagrams

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

UML basics. Part III: The class diagram. by Donald Bell IBM Global Services

Software Development: An Introduction

CSC 742 Database Management Systems

A terminology model approach for defining and managing statistical metadata

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

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

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c

XV. The Entity-Relationship Model

Designing a Semantic Repository

UML FOR OBJECTIVE-C. Excel Software

Meta-Model specification V2 D

Object-Oriented Systems Analysis and Design

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

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

i. Node Y Represented by a block or part. SysML::Block,

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements

Exercise 8: SRS - Student Registration System

Algorithms, Flowcharts & Program Design. ComPro

Database Design Methodology

II. Conceptual Modeling

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

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

Umbrello UML Modeller Handbook

Software Project Management and UML

Graphical Systems Modeling with UML / SysML Class diagrams

Enterprise Architecture at Work

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Rose/Architect: a tool to visualize architecture

UML for the C programming language.

How to Make a Domain Model. Tutorial

Sofware Requirements Engineeing

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

UML TUTORIALS THE USE CASE MODEL

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Object Oriented Programming. Risk Management

TDDC88 Lab 2 Unified Modeling Language (UML)

Programming Language Constructs as Basis for Software Architectures

1 Class Diagrams and Entity Relationship Diagrams (ERD)

Modeling the User Interface of Web Applications with UML

Design by Contract beyond class modelling

SemTalk BPMN Tutorial APRIL Tutorial SemTalk 4.3 BPMN Edition for Business Process Analysis

Managing Variability in Software Architectures 1 Felix Bachmann*

Design Patterns for Complex Event Processing

A Proposal for Constructing Relational Database from Class Diagram

Business Process Redesign and Modelling

Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design

Automated Modeling of Legacy Systems Using the UML

6-1. Process Modeling

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

ATM Case Study Part 1

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

The «include» and «extend» Relationships in Use Case Models

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

Semantic Modeling of Mortgage Backed Securities: Case Study. Mike Bennett, Enterprise Data Management Council Yefim Zhuk, Sallie Mae

[1] [2]

Menouer Boubekeur, Gregory Provan

ER modelling, Weak Entities, Class Hierarchies, Aggregation

Agile Software Development

BPMN Business Process Modelling Notation

MODERN OBJECT-ORIENTED SOFTWARE DEVELOPMENT

UML: Classes -- Association

Transcription:

Requirement Analysis with UML Pierre-Alain Muller pa.muller@uha.fr V 2.0 Requirement Analysis 1

Pierre-Alain Muller 15+ years experience in OO modeling Assistant professor at ENSISA (a French school of engineering) Former CEO ObjeXion Software Independent Consultant Author of Instant UML, Wrox Press 1997 and Modélisation objet avec UML, Eyrolles 2000 V 2.0 Requirement Analysis 2

Course objectives Quick introduction to UML Requirement Analysis Activity modeling Use Cases modeling Object-Oriented modeling V 2.0 Requirement Analysis 3

What is UML? Unified Modeling Language for objectoriented developments De facto standard Defined and endorsed by the OMG (Object Management Group) Universally adopted by all major software vendors The Esperanto for the object-oriented methods V 2.0 Requirement Analysis 4

A single language UML is the language for the description of the object-oriented models UML can be used by Business analysts Software engineers Quality Assurance and Validation End-Users and Customers V 2.0 Requirement Analysis 5

UML is a powerful notation Syntax and semantics formally defined in a metamodel 9 types of diagrams (from business modeling to component modeling) Everything is not needed by everybody Many use a subset of UML V 2.0 Requirement Analysis 6

Activity Modeling Understand the business processes Find the actors in the business Find the activities performed by the actors V 2.0 Requirement Analysis 7

Scope The focus is on understanding Who is doing What and Where in the business Then the focus shifts on asking What should be provided by the system to help the actors to perform their tasks V 2.0 Requirement Analysis 8

Example : Customer : Sales Rep I need X : Provider I will prepare a proposal How much for X? Make a study Brainstorming It will cost 1 $ It will cost 3 $ Too expensive!!! Make it cheaper! V 2.0 Requirement Analysis 9

Use Cases Modeling Communicate with users and customers Capture requirements Identify system boundaries Derive objects and objects interactions Design user interface Define test cases Outline the user documentation V 2.0 Requirement Analysis 10

What is usually wrong with requirement specification? The customer is focused on business details The SW development is focused on implementation details The customers introduces new ideas without realizing that they are out of the agreed scope V 2.0 Requirement Analysis 11

The root of the problem They are too many ways to interpret a requirement specification All the details are correct, but they are out of context Very few, if any, will indicate what the users really need V 2.0 Requirement Analysis 12

What is good with Use Cases? The user is involved early in the process The user is aware when there is a change in the model The user sees the cost impact of a change in the model V 2.0 Requirement Analysis 13

Who writes the Use Cases? A separate analysis team The designers This is often the best way to get most from Use Cases V 2.0 Requirement Analysis 14

Use Case model concepts Actors Use Cases Scenarios System Boundaries Use Case description Actor 1 Use case 1 Use case 2 Actor 2 V 2.0 Requirement Analysis 15

What is an Actor? An Actor represents anything that interacts with the system (human, machine or another system) represents roles a user can play can give and receive information is not part of the system V 2.0 Requirement Analysis 16

Identifying Actors Who will supply, use or remove information? Who will use this functionality? Who will support and maintain the system? What are the system external resources? V 2.0 Requirement Analysis 17

Description of Actors An Actor is described by: Name Brief description Who or what the actor represents Why the actor is needed What interests the actor has in the system V 2.0 Requirement Analysis 18

What is a Use Case? A Use Case is a complete and meaningful flow of events A Use Case is initiated by an actor to invoke a certain functionality in the system A Use Case models a dialogue between an actor and the system The collection of all Use Cases constitutes all possible ways of using the system V 2.0 Requirement Analysis 19

Identifying Use Cases What are the tasks of an actor? How is the actor informed about certain occurrences in the system? How is the system informed about certain occurrences in the business? Does the system supply the business with the correct behavior? V 2.0 Requirement Analysis 20

Use Case and Actors A Use Case can interact with many actors An actor normally interacts with several Use Cases of a system For each actor Each way of using the system is captured in a use case For each use case There is one actor initiating the use case V 2.0 Requirement Analysis 21

Use Case description A Use Case has: Name Brief description Flow of events One basic flow Several alternative flows Additional requirements performance, reliability... V 2.0 Requirement Analysis 22

How to name a Use Case Name is taken from the actor point of view Name makes sense to the user (not to the system implementor) V 2.0 Requirement Analysis 23

Symptoms Beware of functional decomposition A lot of small Use Cases Difficult to understand the model Names like Actions Operation + Object or Function + Data Raise the abstraction level (the larger context) What value will the Use Case add? V 2.0 Requirement Analysis 24

Interaction with the system A communication-association between an Actor and a Use Case indicates that they interact The arrow direction shows who started the interaction Bank operation Customer V 2.0 Requirement Analysis 25

Interaction description A Use Case is a set of flow of events These flows scenarios are named scenarios The scenarios can be described Textually (in natural language) Graphically (using UML sequence diagrams) Usually both ways Between 5 and 15 pages of documentation V 2.0 Requirement Analysis 26

Example The user inserts his/her Credit Card in the ATM The ATM asks the PIN code The User provides the code : Customer Insert Card ATM Ask PIN Code Give Pin Code V 2.0 Requirement Analysis 27

Essential Use Cases Focuses on semantics No GUI presentation details : Customer ATM Secure Connection V 2.0 Requirement Analysis 28

Recurring Use Cases System start and stop System maintenance System evolution V 2.0 Requirement Analysis 29

Sources of information Requirements specification (if any) Customer, end users, and domain experts interviews Business model (if any) Internal standard practices and procedures V 2.0 Requirement Analysis 30

Summary Use Cases capture the system requirements Use Cases are user-focused Use Cases are readable by the end-user Use Cases are families of scenarios V 2.0 Requirement Analysis 31

Object-Oriented Modeling Move from requirements analysis to objectoriented analysis Prepare the smooth transition to implementation V 2.0 Requirement Analysis 32

Object-Oriented Modeling Use cases are realized by societies of collaborating objects These objects are originally drawn from the problem domain V 2.0 Requirement Analysis 33

The move to the objects <<Realizes>> Use Case Collaboration <<Participates>> A B C V 2.0 Requirement Analysis 34

Sequence diagrams Zoom into the system : Actor 1 The System : Actor 1 X A B C X X1 Y X2 Z Y Z Z1 V 2.0 Requirement Analysis 35

Object chaos V 2.0 Requirement Analysis 36

Object chaos There are many objects in the real world To understand the world, we group objects by similarities Making groups is known as classifying Humans have classified animals, flowers, mushrooms, atoms Classification is the way humans deal with complexity V 2.0 Requirement Analysis 37

Classes A class is an abstract definition of a set of objects Common objects elements are factored out in the class V 2.0 Requirement Analysis 38

Graphical representation Classe - Attribute + Operation() Complex - R eal Par t - Im agi nary Part + Add() + Sub() + Mult() + Div() V 2.0 Requirement Analysis 39

Class Description Split in two parts The specification (the what part) The implementation (the how part) V 2.0 Requirement Analysis 40

Representation of the static structure Class diagrams Classes Relations between classes Association Aggregation Generalization Dependence V 2.0 Requirement Analysis 41

Association Bi-directional symmetric semantic connection between classes An abstraction of all the links between the instances of the associated classes Represented by a line drawn between the classes V 2.0 Requirement Analysis 42

Exemple Company Person SGS Nadine Claudio IB M PAM : Person : Person V 2.0 Requirement Analysis 43

Naming of associations Company < Works for Person Company Employs > Person V 2.0 Requirement Analysis 44

Naming of the roles A role describes one end of an association +Employee Company Person +Employer V 2.0 Requirement Analysis 45

Role multiplicity +Employee Company 0..1 Person +Em ployer 1..* 1 One and only one 0..1 Zero or one M.. N From M to N (naturals) * Many 0.. * From zero to many 1.. * From one to many V 2.0 Requirement Analysis 46

Class-associations Adding attributes and/or operations to the relation +Employee 0..1 Company Person +Employer 1..* Contract - Start Date V 2.0 Requirement Analysis 47

Aggregation Bi-directional asymmetric semantic connection between classes Some kind of stronger association Represents master and slave relations whole and part relations composite and component relations V 2.0 Requirement Analysis 48

Examples Car 1 2..5 Door V 2.0 Requirement Analysis 49

Correspondences An object is instance of a class A link is instance of a relation Links connect objects, relations connect classes A link between two objects implies a relation between the classes of these objects V 2.0 Requirement Analysis 50

Class Hierarchies Master complexity Hierarchies of abstractions Generalization Superclasses Specialization Subclasses Superclass Subclass More specialized More general V 2.0 Requirement Analysis 51

Generalization Factor out the common elements attributes, operations, relations, constraints Vehicle Air Vehicle Ground Vehi cle Plane Truck Car V 2.0 Requirement Analysis 52

Specialization Extension of a set of classes Contract Partial Time Full Time Manager V 2.0 Requirement Analysis 53

Properties of generalization Always means : is a or is a kind of Bird + Fly() Good!!! W rong!!! Sparrow Ostrich V 2.0 Requirement Analysis 54

Properties of generalization Non-reflexive, non-symmetric, transitive B A B A Not possible!!! C B Not possible!!! V 2.0 Requirement Analysis 55

Substitution principle It must be possible to substitute any object instance of a subclass for any object instance of a superclass without affecting the semantics of a program written in terms of the superclass. V 2.0 Requirement Analysis 56

Multiple Generalization Carpet Vehicle Land Vehicle Air Vehicle Flying Carpet V 2.0 Requirement Analysis 57

Inheritance Most often used technique for implementing generalization Build one class from another by sharing attributes, operations, relations and constraints within a class hierarchy Not always available in the implementation language / environment V 2.0 Requirement Analysis 58

Dependence Poorly semantically loaded relation Dependence shows obsolescence rules Include, With, Instantiation Licence Motor Bike Trial Trial Enduro V 2.0 Requirement Analysis 59

Summary Classes are connected by relations Associations are bi-directional symmetric semantic connections between classes Aggregations are bi-directional asymmetric semantic connections between classes Generalization orders classes within hierarchies Dependence shows obsolescence rules V 2.0 Requirement Analysis 60

Summary UML is the standard language for objectoriented models UML provides notational support for requirement analysis Business modeling Use Cases modeling Domain Modeling V 2.0 Requirement Analysis 61