Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.

Slides:



Advertisements
Similar presentations
Context Diagram Yong Choi BPA CSUB.
Advertisements

© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 7 Descriptors Events Events Tables.
Use cases.
Extending the Requirements Model - techniques for detailing use cases
Information System Engineering
CS3773 Software Engineering Lecture 03 UML Use Cases.
Jan 15, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration: a simple cash-only success scenario of Process Sale.
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Jan Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box Actors.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” - may be of.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Solving the Problem Analysis & Design.
Chapter 10 System Sequence Diagrams. What is a System Sequence Diagram? A way of modeling input and output events related to systems It is a picture that.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
9/18/011 Software Requirements Analysis and Design (Continued)
Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
Project Semester 1 Group 3 Robert, Pavel, Ulfar, Svetomir
Last lecture. What is a Use Case Use cases are stories (scenarios) of how actors use (interact with) the system to fulfill his goal. Examples Process.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
UML basics UML distilled, a brief guide to the standard Modeling language, by Martin Fowler, 2000.
Software Architecture in Practice Architectural description (The reduced version)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Review ♦ System sequence diagram ♦ Domain model
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Chapter 9 Applying UML and Patterns -Craig Larman
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
System sequence diagrams
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Phase 6 Start: Saturday14 April End: Saturday 21 April
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Understanding Requirements
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 Object Oriented Analysis and Design System Events & Contracts.
Chapter 5: Use Cases Chapter 6 & 25 in Applying UML and Patterns Book.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Elaboration popo.
Business Process and Functional Modeling
ATM OO Design and Implementation Case Study
System Sequence Diagrams and Operation Contracts
Use Case Driven Analysis
System sequence diagrams
Classes, Sequence Diagrams and Triangulation
Webapp Design with System Sequence Diagrams
UML Use Case Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Use Case Model Use case description.
OO Domain Modeling With UML Class Diagrams and CRC Cards
SE-565 Software System Requirements IV. Use Cases
Use Case Modeling - techniques for detailing use cases
Software Requirements
Chapter 5: Use Cases Chapter 6 & 25 in Applying UML and Patterns Book.
Presentation transcript:

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence diagrams Identifying objects

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 2 Reminder! Analysis: deciding what to do –use cases, diagrams, UML, … Design: finding out how to do –language, algorithms, database, …

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 3 Use case Description of an interaction that achieves a useful goal to the user Actor: external entity that interacts with the system System: application and hardware that users will use

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 4 Actors One actor for each role Have responsabilities: –Initiate actions –Receive instructions Use case diagram: Bank clerk Open account database

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 5 Use case diagram Draw the use case diagram for the following description to control a door: The customer arrives at the door. A sensor is activated and the door opens. After 3 seconds it closes, provided that the sensor is not detecting any customer. What are the actors? What if the shop system need the time the door closes and opens?

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 6 Use cases A collection of uses cases provide information about the system: –Actors and details about their interaction with the system –Relationships with other use cases –Pre- and post- conditions –Exceptions: things that might go wrong and need action –Constraints (or restrictions) –Alternatives

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 7 System sequence diagrams What is the dynamics of the system? The answer can be sequence diagrams. They allow us to: –Identify system events –Create sequence of events for use case scenarios –Show input and output events

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 8 Use cases Example: how does a supermarket sells items? The customers enter the supermarket and choose the items by themselves. Then they to the checkout with items to purchase. The cashier registers each purchased item. The system presents the total amount to be paid and a list with the items. The customer enters payment information, which the system validates and records. The system updates inventory. The customer receives a receipt from the system and then leaves with the items.

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 9 Sequence of events What is one possible flow of events for this example? 1. Customer arrives at the checkout with goods to purchase. 2. Cashier starts a new sale. 3. Cashier enters item identifier (bar code,…) 4. What happens in this step? 5. System presents total with taxes calculated. 6. Cashier tells Customer the total, and asks for payment. 7. Customer pays and System handles payment. 8. The system logs the transaction 9. The system releases the receipt 10. The customer leaves with goods and receipt

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 10 Alternative Flows How is the payment handled? 7.1: Paying by cash 1. Cashier enters the cash amount tendered. 2. System presents the balance due, and releases the cash drawer. 3. Cashier deposits cash handed and returns balance in cash to Customer. 4. System records the cash payment. 7.2: Paying by credit card … 7.3: Paying with some coupon …

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 11 Sequence diagrams Show actors and input and output events to the systems and in which order Systems are treated as black boxes Emphasis on the events that cross the system boundary from the actors

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 12 What’s in a name? Names for events: focus on what, rather than how What is the event: the cashier enters an item - enterItem(id,qt) How is the event realized: –typing on the keyboard –scanning the bar code –RFID tags –…

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 13 Sequence diagrams Draw the sequence diagram: 1.For the control door example 2.For the cashier example 3.Identify the nouns and verbs in the use cases.

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 14 Finding the objects and classes Look also in similar systems in books, reports, with friends, … In the use cases: –Nouns are candidates for objects, classes, interfaces –Verbs are candidats for services Later you can find that some of the objects may be: –Not needed in the system –Just attibutes to some class –A class

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 15 Objects and abstractions An abstraction of a fire truck is not a fire truck: several details are left out. But still: –Provides services: turn siren on/off, turn left/right, raise stairs, … –Has exception conditions: battery drained, broken stairs, … –Has attibutes Variable: battery level, new/old, … Constant: colour, height, …

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 16 Finding responsibilities What is the purpose of the object? We need to identify: Attibutes Services Methods

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 17 Identifying attributes What is the general description of the object? What parts of the general description that are applicable to the domain? What is the minimal description?

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 18 Is it a class or an attribute? General rule: it is an attribute if it is a name or a number, and class otherwise Example: a flight is from one city to another and has a number and date/time of departure

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 19 Is it a class or an attribute? Can you suggest other ways to do it? Which one is the right one? or What kind of relationship is this?

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 20 Is it a class or an attribute? Value X independent existence Example: an address can be just a string or be manipulated as an independent entity, as in finding the best route in a delivery system. or

Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 21 Identifying services Simple services (standard to all objcts) –Creation and initialization of objects –Connections between objects –Getting and setting attributes values –Disconnections from other objects –Deleting objects Complex services