Business Modelling. PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e. Early phase of development Inputs: Activities: informal specification

Similar documents
Chapter 5: Structural Modeling

Architecture and the UML

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Analysis and Design with UML

Section 2. Opening and Editing Documents

Requirements Analysis. SE 555 Software Requirements & Specification

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Basic Structural Modeling. Copyright Joey Paquet,

ITEC420: Software Engineering Lecture 3: Recap OO/UML Requirement Workflow

Outline of Unified Process

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Xen. Guest List. Frequently Asked Questions (FAQs) Rev. 07/2018. A Global Payments Company

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Object-Oriented and Classical Software Engineering

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d.

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL

Object-Oriented Systems Development: Using the Unified Modeling Language

Requirements engineering

3. UML Class Diagrams Page 1 of 15

Analysis Modeling Week 5

ICONIX Process: Use Case Driven Object Modeling. Copyright 2007 ICONIX Software Engineering, Inc. 1

5 Object Oriented Analysis

S1 Informatic Engineering

Fundamentals of Databases

S1 Informatic Engineering

UML Views of a System

Ch 4: Requirements Engineering. What are requirements?

COSC 3351 Software Design. An Introduction to UML (I)

22/09/2012 INFO2110. Copyright Warning. Revision of class diagram. Overview. Purpose of class diagram. Generalization Relationship

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

IBM Software Group. Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model

Practical UML - A Hands-On Introduction for Developers

Object-Oriented Software Engineering Practical Software Development using UML and Java

Enhancing validation with Prototypes out of Requirements Model

Objectives Pre-Test Questions Introduction Collaboration Diagrams Flow of Events and Special Requirements...

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

MIS 3504 Digital Design and Innovation

Fundamentals of Health Workflow Process Analysis and Redesign

Lecture 4: Goals and Scenarios. System context. Usage facet. IT system facet. Core activities. Negotiation. Requirements artefacts

Designing applications. Main concepts to be covered

Outline of UML and Unified Process. Object Oriented Analysis/Design/Programming UML1.5. Koichiro Ochimizu, JAIST. UML&UP outline 1.

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

PPOOA, An Architectural Style for Real Time Systems

Identifying entities. Another relationship. Continue exploring our first model for databases: Entity-relationship (ER) model. Identifying entities

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Chapter 5 System modeling

Software Engineering

Introduction to UML. Danang Wahyu utomo

CMSC 447: Software Engineering I

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

1: Software Development and.net. An approach to building software

Topic : Object Oriented Design Principles

The Process of Interaction Design DECO1200

Use-Case Analysis. Architecture Oriented Analysis. R. Kuehl/J. Scott Hawker p. 1 R I T. Software Engineering

Practical UML : A Hands-On Introduction for Developers

OO Project Management

Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design.

Software Engineering I (02161)

Unified Modeling Language (UML)

The Web Service Sample

06. Analysis Modeling

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Designing Component-Based Architectures with Rational Rose RealTime

A Rapid Overview of UML

Index. : (colon), 80 <<>> (guillemets), 34, 56

Interaction design. The process of interaction design. Requirements. Data gathering. Interpretation and data analysis. Conceptual design.

Experiment no 4 Study of Class Diagram in Rational Rose

Applying ISO/IEC Quality Model to Quality Requirements Engineering on Critical Software

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

An introduction to Unified Modeling Language (UML) in Software Engineering

European Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions

A Method of Automatic Integration Test Case Generation from UML-based Scenario

Results Summary Show All Pages and Questions

Incremental development A.Y. 2018/2019

OBJECT-ORIENTED DESIGN

10.1 Big Objects, Business Objects, and UML Components

Class Diagrams in Analysis

Software architecture in ASPICE and Even-André Karlsson

Update on AADL Requirements Annex

Transactional Process

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

Introduction to UML What is UML? Motivations for UML Types of UML diagrams UML syntax Descriptions of the various diagram types Rational Rose (IBM.. M

Introduction to Software Engineering. 5. Modeling Objects and Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Discover, Relate, Model, and Integrate Data Assets with Rational Data Architect

Unit Wise Questions. Unit-1 Concepts

Software Development Methodologies

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

3. Agent-Oriented Methodologies Part 2: The PROMETHEUS methodology.

Transcription:

PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant System: Business Modelling Slide 1/1 Business Modelling Early phase of development Inputs: informal specification Activities: create use case model define use cases create domain model create glossary Slide 1/2 1

Restaurant System Current system uses manual booking sheets Slide 1/3 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 Slide 1/4 2

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 Slide 1/5 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 Slide 1/6 3

Use Cases The different tasks that users can perform while interacting with the system Preliminary list for booking system: 1 record information about a new booking 2 cancel a booking 3 record the arrival of a customer 4 move a customer from one table to another Slide 1/7 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 Slide 1/8 4

Use Case Diagrams Show use cases, actors and who does what Slide 1/9 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 Slide 1/10 5

Basic Course of Events This describes what happens in the normal case For example, for Record Booking : 1 receptionist enters date 2 system displays bookings 3 receptionist enters details 4 system records and displays new booking Often a dialogue between system and user Slide 1/11 Alternative Courses of Events Describe predicted alternative flows For example, if no table is available: 1 receptionist enters date 2 system displays bookings 3 no table available: end of use case Slide 1/12 6

Exceptional Courses of Events Situations where a mistake has been made E.g. allocate a booking to a small table 1 receptionist enters date 2 system displays bookings 3 receptionist enters details 4 system asks for confirmation of oversize booking 5 if no, use case terminates with no booking made 6 if yes, booking recorded with warning flag Slide 1/13 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 Slide 1/14 7

User-interface Prototype When writing use cases, it is useful to have a rough idea of the planned user interface Slide 1/15 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) Slide 1/16 8

Use Case Inclusion Move shared functionality to a separate use case, eg Display Bookings : 1 user enters a date 2 system displays bookings for that date Include this in other use cases: 1 receptionist performs Display Bookings 2 receptionist enters details 3 system records and displays new booking Slide 1/17 The include Dependency UML shows inclusion as a dependency between use cases, labelled with the stereotype include: Slide 1/18 9

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 Slide 1/19 Actor Generalization Notation Slide 1/20 10

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 Slide 1/21 The extend Dependency Use case extension is shown with a dependency Slide 1/22 11

Complete Use Case Diagram Slide 1/23 Domain Modelling Using UML to construct a model of the realworld 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 Slide 1/24 12

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 Slide 1/25 Customers and Reservations Basic business fact: customers make reservations Slide 1/26 13

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 Slide 1/27 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 Slide 1/28 14

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 Slide 1/29 Use of Generalization A superclass can be used to show the properties shared by different types of booking Slide 1/30 15

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 Slide 1/31 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 Slide 1/32 16

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 Slide 1/33 17