2.0. Requirements Capture and Analysis with UML The Unified Modeling Language 2.0 (www.uml.org) Class/Object diagrams (static) Sequence diagrams (dynamic)

Slides:



Advertisements
Similar presentations
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Advertisements

Karolina Muszyńska Based on:
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Software Development 2D Karl Meinke CSC KTH
Software Development 2D1385 Karl Meinke NADA KTH
2.4. Use Case Modeling In O-O based IT projects, we can begin the requirements analysis phase with a Use Case Analysis A use case is a common or representative.
Introduction To System Analysis and Design
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Systems Analysis and Design in a Changing World, Fourth Edition
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Modeling.
7M822 UML Interaction Diagrams 25 November 2010.
Use Case Analysis – continued
CMPT 275 Software Engineering
Chapter 7: The Object-Oriented Approach to Requirements
Class, Sequence and UML Model.  Has actors and use cases.
CSCI-383 Object-Oriented Programming & Design Lecture 9.
程建群 博士(Dr. Jason Cheng) 年03月
Introduction To System Analysis and Design
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML-1 3. Capturing Requirements and Use Case Model.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
UML-1 8. Capturing Requirements and Use Case Model.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Modelling Class T07 Conceptual Modelling – Behaviour References: –Conceptual Modeling of Information Systems (Chapters 11, 12, 13 and 14)
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
UA. Unified Approach ( UA ) It combines best practices, methods process, guidelines & methodology (Rumbaugh, Booch and Jacobson) along with UML notations.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
Use Cases -Use Case Diagram
Analysis Classes Unit 5.
Object-Oriented Analysis and Design
Week 10: Object Modeling (1)Use Case Model
University of Central Florida COP 3330 Object Oriented Programming
Requirements: Use Case Models and Narratives
Unified Modeling Language
Use Cases & Use Case Diagrams
Chapter 22 Object-Oriented Systems Analysis and Design and UML
ITEC324 Principle of CS III
ITEC324 Principle of CS III
Presentation transcript:

2.0. Requirements Capture and Analysis with UML The Unified Modeling Language 2.0 ( Class/Object diagrams (static) Sequence diagrams (dynamic) Statecharts (dynamic) OCL (static) Standard developed by OMG adopting earlier ideas (Booch, Rumbaugh, Jacobson) 1

2.1. Requirements Models Models express requirements, architecture & detailed design. (Video Game examples) Use Case Model: In this situation do the following … e.g. how to engage a foreign character 2

Object / Class Model: with objects of these classes … Object provides a set of services, e.g. engagement class. State Model: by reacting to these events … state/event  reaction e.g. if foreign character shoots while we are friendly … run away 3

2.2. O-O Analysis & Design The basic OOA&D approach (iterative) 1.State the main use cases 2.Convert the use cases to sequence diagrams 3.Select the resulting domain classes 4.If not finished goto 1. 4

2.3. UML Use Case Diagrams UML gives us a graphical language to organize all our use case scenarios into one overview: Use Case Diagrams These display organisation of: actors use cases associations, dependencies 5

Activate Check in Check out Add video Clerk Stocker Precondition: app has been activated 1.Clerk clicks “check out” 2.Clerk swipes bar code 3.… Postcondition: video is registered to customer UML Comment requires Add customer requires includes UML Dependency * 6

Clerk 1 – one and only one Actor with role name, use case dependency and multiplicity Activate Use case with name and dependent actors and multiplicities * * - zero or more 1 … * - one or more 7

Precondition: app has been activated 1.Clerk clicks “check out” 2.Clerk swipes bar code 3.… Postcondition: video is registered to customer Pre and postcondition describing black-box effect of executing a use case on the system Expressed as a comment only 8

requires A B Use case dependency A requires B - B must complete before A starts A equivalent B – identical activities and flow, but user sees them as different A extends B – all activities of B are performed but A adds activities or slightly modifies them. Can use to refactor or simplify use cases 9

2.4. Use Case Modeling In O-O based IT projects, we can begin the requirements analysis phase with a Use Case Analysis A use case is a common or representative situation where one or more external users and/or systems interact with the system to solve an instance of a common problem 10

Notice the underlined word “common” Software seems to obey the statistical Pareto Law 90% of time is spent executing just 10% of the code Therefore care in designing just this 10% of code is “cheap” and will give a good product 90% of the time (at least in theory!) 11

Note: we want to decouple specific users (e.g. John Smith) From their roles, e.g. student, teacher, systems administrator, etc. A role will be called an actor. A specific proper noun (object) e.g. Karl Meinke, may play several roles: teacher, researcher, sys_admin... etc. 12

Central O-O Dogma Common Nouns e.g. warehouse, truck, correspond to classes and attributes Proper Nouns e.g. Karl, Fido, KTH, correspond to objects Verbs e.g. unload, correspond to methods Relational Phrases e.g. responsible for, correspond with system structure 13

Not every noun will be an actor … … but every actor will be a noun, so: Actors  Nouns 14

Step 2 requires us to look at each actor in turn and ask: What does this actor want to do (all verbs)? What does the actor need from the system to accomplish each activity (each verb)? Let’s look at a logistics system with an actor “foreman” and try to identify goals … 15

(a) A foreman has to be able to move items between warehouses with or without a customer order. This use case scenario is called “manual redistribution between warehouses” (b) A foreman also wants to check how far a customer order has been processed. We call this use case scenario “check status of a customer order”. 16

Let’s try to informally define the 1 st use case scenario: “manual redistribution between warehouses”. This could be broken down into 4 steps (1)Initialisation: when a foreman gives a request to do a redistribution. 17

(2) Planning: when the system plans how to co-ordinate the various transports, and issues transport requests (3) Loading: when a truck fetches the items from a source warehouse. (4) Unloading: when a truck delivers items to a destination warehouse. 18

Is there anything wrong with this use case? (1)It is very short! - but we can add detail later! (2)It doesn’t say what happens if things go wrong. - We need to add exception/error cases. - The more of these we add, the more robust our system will be. 19

2.6. UML Sequence Diagrams A use case scenario describes a sequence of interactions or messages between a collection of actors and the system in order to carry out some task 20

Often we would like to formally model a use case scenario, to study: timing aspects (relative or absolute) communication patterns system states exception behavior alternative paths or behaviors 21

Basic Concepts A basic sequence diagram depicts a set of objects or processes each of which has its own timeline. Conventionally, objects go across the diagram horizontally, while time goes down the diagram vertically. Down the timelines, between objects, we show messages. 22

C : ComputerP : Print_serverD : Device >lpr file print(file, device) print(file,size) done >done (time) Here’s a sequence diagram with the basic elements: object/process timeline message time SD Print 23

Notice that: This basic SD has 3 objects and 6 messages 1 message comes from the environment: >lpr file (from the keyboard??) 1 message goes to the environment >done(time) (to the screen??) The environment is an implicit actor Each timeline has a terminating block at the bottom, which does not mean that the object dissappears/ gets deleted, life goes on!! 24

Events in Time An SD must show dynamic behavior over time as possible (permissible) sequences of events Down each timeline we see a set of local events A basic event may either be: sending of a message (arrow tail) receiving of a message (arrow head) 25

Each timeline shows the local relative order between events, but not the absolute time interval between events, nor the global order. Thus the basic model of time is relative We are interested in a precise meaning for UML diagrams Precise UML (aka pUML) Journal of Software and Systems Modeling 26

Partial Ordering Rules Local Rules allow us to infer the global partial ordering of events Rule 1. For every message m: send(m) occurs before receive(m) Rule 2. Events are constrained globally by their local order of occurrence down each timeline 27

This means that, e.g. receive(>lpr file) occurs before send( print(file, device) ) before receive(done) before send(>done(time) ) and send(done) occurs before receive(done) 28

We don’t know the absolute time between sending and receiving a message, i.e. message delay. e.g these two diagrams express the same scenario. B A AB “a” “b” “a” “b” SD 1 SD 2 29