Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.

Slides:



Advertisements
Similar presentations
Software Engineering, CPSC , CPSC , Lecture 3
Advertisements

Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Written by: Zvika Gutterman Adam Carmi
Use Case Analysis Chapter 6.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
UML for database design1 Business analysis- Naiburg and Maksinchuk (UML for database design ) The first phase systems analysis. Identify business actors.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] February 5, 2009.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
The chapter will address the following questions:
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Chapter 5: Modeling Systems Requirements: Events and Things
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Chapter 8: Actor-System Interaction Modeling
Object-Oriented Modeling
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Systems Analysis and Design in a Changing World, Fifth Edition
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Chapter 9 Applying UML and Patterns -Craig Larman
UML-1 8. Capturing Requirements and Use Case Model.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
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.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
Object-Oriented Analysis and Design Use cases Finding classes Collaboration and Sequence diagrams Associations between classes.
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML - Development Process 1 Software Development Process Using UML.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
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.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Use Case Analysis Chapter 6.
Welcome to M301 P2 Software Systems & their Development
Use Case Model.
Use Case Modeling.
Chapter 20 Object-Oriented Analysis and Design
Engineering Quality Software
Presentation transcript:

Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant System: Business Modelling

Practical Object-Oriented Design with UML 2e Slide 1/2 ©The McGraw-Hill Companies, 2004 Business Modelling Early phase of development Inputs: –informal specification Activities: –create use case model –define use cases –create domain model –create glossary

Practical Object-Oriented Design with UML 2e Slide 1/3 ©The McGraw-Hill Companies, 2004 Restaurant System Current system uses manual booking sheets

Practical Object-Oriented Design with UML 2e Slide 1/4 ©The McGraw-Hill Companies, 2004 Current Functionality Advance bookings recorded on sheet –name and phone number of contact –number of diners: ‘covers’ ‘Walk-ins’ also recorded –number of covers only Bookings allocated to a table Cancellations etc recorded physically on booking sheet

Practical Object-Oriented Design with UML 2e Slide 1/5 ©The McGraw-Hill Companies, 2004 Define First Iteration First iteration should implement the minimal useful system Basic functionality: –record bookings –update booking sheet information System could then replace manual sheets

Practical Object-Oriented Design with UML 2e Slide 1/6 ©The McGraw-Hill Companies, 2004 Use Case View This view is intended to provide a structured view of the system's functionality Based round a description of how users interact with the system Supported by UML use case diagrams Serves as the starting point for all subsequent development

Practical Object-Oriented Design with UML 2e Slide 1/7 ©The McGraw-Hill Companies, 2004 Use Cases The different tasks that users can perform while interacting with the system Preliminary list for booking system: 1record information about a new booking 2cancel a booking 3record the arrival of a customer 4move a customer from one table to another

Practical Object-Oriented Design with UML 2e Slide 1/8 ©The McGraw-Hill Companies, 2004 Actors Actors are the roles users play when interacting with a system, eg: –Receptionist (makes bookings) –Head waiter (assigns tables etc) Individual users may play one or more role at different times Customers are not users of the system, hence not recorded as an actor

Practical Object-Oriented Design with UML 2e Slide 1/9 ©The McGraw-Hill Companies, 2004 Use Case Diagrams Show use cases, actors and who does what

Practical Object-Oriented Design with UML 2e Slide 1/10 ©The McGraw-Hill Companies, 2004 Describing Use Cases A use case comprises all the possible interactions that a user can have when performing a given task These are described as courses of events, or scenarios A full description of a use case includes: –a basic course of events –an number of alternative and exceptional courses

Practical Object-Oriented Design with UML 2e Slide 1/11 ©The McGraw-Hill Companies, 2004 Basic Course of Events This describes what happens in the ‘normal’ case For example, for ‘Record Booking’: 1receptionist enters date 2system displays bookings 3receptionist enters details 4system records and displays new booking Often a dialogue between system and user

Practical Object-Oriented Design with UML 2e Slide 1/12 ©The McGraw-Hill Companies, 2004 Alternative Courses of Events Describe predicted alternative flows For example, if no table is available: 1receptionist enters date 2system displays bookings 3no table available: end of use case

Practical Object-Oriented Design with UML 2e Slide 1/13 ©The McGraw-Hill Companies, 2004 Exceptional Courses of Events Situations where a mistake has been made E.g. allocate a booking to a small table 1receptionist enters date 2system displays bookings 3receptionist enters details 4system asks for confirmation of oversize booking 5if “no”, use case terminates with no booking made 6if “yes”, booking recorded with warning flag

Practical Object-Oriented Design with UML 2e Slide 1/14 ©The McGraw-Hill Companies, 2004 Use Case Templates UML does not define a standard format for use case descriptions Various templates have been defined to structure descriptions Essentially a list of subheadings such as: –name –actors –courses of events

Practical Object-Oriented Design with UML 2e Slide 1/15 ©The McGraw-Hill Companies, 2004 User-interface Prototype When writing use cases, it is useful to have a rough idea of the planned user interface

Practical Object-Oriented Design with UML 2e Slide 1/16 ©The McGraw-Hill Companies, 2004 Shared Functionality Different use cases can overlap E.g. ‘Record Arrival’: –head waiter enters date –system displays bookings –head waiter confirms arrival for booking –system records this and updates display First two steps shared with ‘Record Booking’ (even though different actor)

Practical Object-Oriented Design with UML 2e Slide 1/17 ©The McGraw-Hill Companies, 2004 Use Case Inclusion Move shared functionality to a separate use case, eg ‘Display Bookings’: 1user enters a date 2system displays bookings for that date Include this in other use cases: 1receptionist performs ‘Display Bookings’ 2receptionist enters details 3system records and displays new booking

Practical Object-Oriented Design with UML 2e Slide 1/18 ©The McGraw-Hill Companies, 2004 The ‘include’ Dependency UML shows inclusion as a dependency between use cases, labelled with the stereotype include:

Practical Object-Oriented Design with UML 2e Slide 1/19 ©The McGraw-Hill Companies, 2004 Actor Generalization This diagram shows that the receptionist can display bookings without performing the including use case ‘Record Booking’ Head waiters can also display bookings Introduce a more general actor to show what the other two actors have in common The initial actors are specializations of the general actor

Practical Object-Oriented Design with UML 2e Slide 1/20 ©The McGraw-Hill Companies, 2004 Actor Generalization Notation

Practical Object-Oriented Design with UML 2e Slide 1/21 ©The McGraw-Hill Companies, 2004 Use Case Extension Recording a walk-in can be described as an exceptional source of events –someone arrives but there’s no booking recorded It could also be a separate use case –a customer arrives and asks if there's a free table Then it can extend ‘Record Arrival’ –even without a booking, the customer stays to eat

Practical Object-Oriented Design with UML 2e Slide 1/22 ©The McGraw-Hill Companies, 2004 The ‘extend’ Dependency Use case extension is shown with a dependency. ‘ Record walk-in ’ is not performed every time ‘ Record arrival ’ is performed. In certain circumstances, the ‘ Record arrival ’ use case can be extended by the ‘ Record walk-in ’ use case.

Practical Object-Oriented Design with UML 2e Slide 1/23 ©The McGraw-Hill Companies, 2004 Complete Use Case Diagram

Practical Object-Oriented Design with UML 2e Slide 1/24 ©The McGraw-Hill Companies, 2004 Domain Modelling Using UML to construct a model of the real- world system –similar to entity-relationship modelling Model recorded as a class diagram ‘Seamless development’ –same notation used for analysis and design –design can evolve from initial domain model

Practical Object-Oriented Design with UML 2e Slide 1/25 ©The McGraw-Hill Companies, 2004 Domain Model Notation Subset of class diagram notation –classes represent real-world entities –associations represent relationships between the entities –attributes represent the data held about entities –generalization can be used to simplify the structure of the model

Practical Object-Oriented Design with UML 2e Slide 1/26 ©The McGraw-Hill Companies, 2004 Customers and Reservations Basic business fact: customers make reservations

Practical Object-Oriented Design with UML 2e Slide 1/27 ©The McGraw-Hill Companies, 2004 Defining a Relationship Give a name to the relationship –use a verb so that the relationship can be read as a sentence A customer can make many reservations How many people make a reservation? –one principal contact whose details are held –the expected number of diners can be modelled as an attribute of the reservation

Practical Object-Oriented Design with UML 2e Slide 1/28 ©The McGraw-Hill Companies, 2004 Tables Is table number an attribute of ‘Reservation’? Better modelled as a separate class –tables exist even if there are no reservations –other attributes of tables, e.g. size, can be stored

Practical Object-Oriented Design with UML 2e Slide 1/29 ©The McGraw-Hill Companies, 2004 Constraints Not all domain properties can be shown graphically –e.g. it should be impossible to double-book a table Constraints add information to models –written in a note connected to the model element being constrained

Practical Object-Oriented Design with UML 2e Slide 1/30 ©The McGraw-Hill Companies, 2004 Use of Generalization A superclass can be used to show the properties shared by different types of booking

Practical Object-Oriented Design with UML 2e Slide 1/31 ©The McGraw-Hill Companies, 2004 Correctness How do we know when a domain model is complete? –we don't: there are lots of plausible models in most cases Domain modelling is not an end in itself, but a guide to further development Realizing use cases tests the domain model, and will usually lead to refinements

Practical Object-Oriented Design with UML 2e Slide 1/32 ©The McGraw-Hill Companies, 2004 Glossaries Domain models capture important system concepts Useful to record these terms and their definitions for use throughout a project Do this in the form of a glossary

Practical Object-Oriented Design with UML 2e Slide 1/33 ©The McGraw-Hill Companies, 2004 Partial Restaurant Glossary Booking: an assignment of diners to a table Covers: the number of diners for a booking Customer: a person who makes a reservation Reservation: a booking made in advance Walk-in: a booking that is not made in advance