38
Training of master Trainers Workshop 10 – 15 November 2012 e-Services Design and Delivery Module VII Emilio Bugli Innocenti

Training of master Trainers Workshop 10 – 15 November 2012

Embed Size (px)

DESCRIPTION

Training of master Trainers Workshop 10 – 15 November 2012. e-Services Design and Delivery Module VII. Emilio Bugli Innocenti. e-Services Design & Delivery. Contents of MODULE VII – “e-Services Design & Delivery” Data Modeling : Entity Relationship Diagrams - PowerPoint PPT Presentation

Citation preview

Page 1: Training of master Trainers Workshop 10 – 15 November 2012

Training of master Trainers Workshop10 – 15 November 2012

e-Services Design and Delivery

Module VII

Emilio Bugli Innocenti

Page 2: Training of master Trainers Workshop 10 – 15 November 2012

e-Services Design & Delivery

Contents of MODULE VII – “e-Services Design & Delivery”

Data Modeling: Entity Relationship DiagramsSystem Modeling: Unified Modeling LanguageExample/Case Study: The KIWI Project

Page 3: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

DATA SET DESIGN: ENTITY-RELATIONSHIP DIAGRAM

Data modeling – a technique for organizing and documenting a system’s data. Sometimes called database modeling.

Entity relationship diagram (ERD) – a data model utilizing several notations to depict data in terms of the entities and relationships described by that data

Page 4: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: Entity

Entity – a class of persons, places, objects, events, or concepts about which we need to capture and store data.Named by a singular noun Places: sales region, building, room,

branch office, campus.

Objects: book, machine, part, product, raw material, software license, software package, tool, vehicle model, vehicle.

Events: application, award, cancellation, class, flight, invoice, order, registration, renewal, requisition, reservation, sale, trip.

Persons: agency, contractor, customer, department, division, employee, instructor, student, supplier.

Concepts: account, block of time, bond, course, fund, qualification, stock.

Page 5: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: AttributeAttribute – a descriptive property or characteristic of an entity. Synonyms include element, property, and field.

– Just as a physical student can have attributes, such as hair color, height, etc., data entity has data attributes

Compound attribute – an attribute that consists of other attributes. Synonyms in different data modeling languages are numerous: concatenated attribute, composite attribute, and data structure.

Page 6: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: IdentificationKey – an attribute, or a group of attributes, that assumes a unique value for each entity instance. It is sometimes called an identifier.

– Concatenated key - group of attributes that uniquely identifies an instance. Synonyms: composite key, compound key.

– Candidate key – one of a number of keys that may serve as the primary key. Synonym: candidate identifier.

– Primary key – a candidate key used to uniquely identify a single entity instance.

– Alternate key – a candidate key not selected to become the primary key. Synonym: secondary key.

Page 7: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: Relationship

Relationship – a natural business association that exists between one or more entities.

The relationship may represent an event that links the entities or merely a logical affinity that exists between the entities.

Page 8: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: Cardinality

Cardinality – the minimum and maximum number of occurrences of one entity that may be related to a single occurrence of the other entity.

Because all relationships are bidirectional, cardinality must be defined in both directions for every relationship.

Page 9: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Data Modelling Concept: Degree

Degree – the number of entities that participate in the relationship.

A relationship between two entities is called a binary relationship.

A relationship between three entities is called a 3-ary or ternary relationship.

A relationship between different instances of the same entity is called a recursive relationship.

Page 10: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Logical System Models

• Logical models remove biases that are the result of the way the system is currently implemented, or the way that any one person thinks the system might be implemented.

• Logical models reduce the risk of missing business requirements because we are too preoccupied with technical results.

• Logical models allow us to communicate with end-users in nontechnical or less technical languages.

Page 11: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

Difference between DFDs and Flowcharts

• Processes on DFDs can operate in parallel (at-the-same-time)– Processes on flowcharts execute one at a time

• DFDs show the flow of data through a system– Flowcharts show the flow of control (sequence and transfer of control)

• Processes on a DFD can have dramatically different timing (daily, weekly, on demand)

– Processes on flowcharts are part of a single program with consistent timing

Page 12: Training of master Trainers Workshop 10 – 15 November 2012

e- Service Design & Delivery: the Technical Perspective

System Design: UML - Unified Modeling Language•It is a modeling language, not a process•In 1996, work on the UML was begun by Rational•UML is a robust notation that can express information gathered throughout a project’s lifecycle.•Adopting standard use of UML can improve communication between clients and developers.•UML can be used as an effective data modeling tool as well as an object modeling tool.

Page 13: Training of master Trainers Workshop 10 – 15 November 2012

UML

UML Diagrams

1.Class Diagrams2.Use Case Diagrams3.Collaboration Diagrams4.Sequence Diagrams5.Package Diagrams6.Component Diagrams 7.Deployment Diagrams8.Activity Diagrams 9.State Diagrams

Page 14: Training of master Trainers Workshop 10 – 15 November 2012

UML

Class Diagrams

•Are the most fundamental UML Diagram.•Describe the classes in the system, and the static relationships between classes.•Class diagrams are used during Analysis, Design and Development

Page 15: Training of master Trainers Workshop 10 – 15 November 2012

UML

Class Diagrams

DVD Movie VHS Movie Video Game

Rental Item

Rental Invoice

1..*1

Customer

Checkout Screen

1

0..1

1Customer

Checkout ScreenVideo Game

Page 16: Training of master Trainers Workshop 10 – 15 November 2012

UML

Class Diagrams

DVD Movie VHS Movie Video Game

Rental Item{abstract}

Rental Invoice

1..*1

Customer

Checkout Screen

0..1

1

Simple

Association

Class

Abstract

Class

Simple

Aggregation

Generalization

Composition

(Dependency)

Multiplicity

Page 17: Training of master Trainers Workshop 10 – 15 November 2012

UML

Parts of a Class• Classes can have

four parts– Name– Attributes– Operations– Responsibilities

• Classes can show visibility and types.

• All parts but the Name are optional.

MyClassName

+SomePublicAttribute : SomeType

-SomePrivateAttribute : SomeType

#SomeProtectedAttribute : SomeType

+ClassMethodOne()

+ClassMethodTwo()

Responsibilities

-- can optionally be described here.

Page 18: Training of master Trainers Workshop 10 – 15 November 2012

UML

Object Diagrams• An Object is an

instance of a class.• Object names are

underlined.• Object diagrams are

similar to class diagrams. Many of the same notations are used.

• Object diagrams capture instances of classes, and allow the dynamic relationships to be shown.

ThisOne : MyClassName

+SomePublicAttribute : SomeType

-SomePrivateAttribute : SomeType

#SomeProtectedAttribute : SomeType

+ClassMethodOne()

+ClassMethodTwo()

Page 19: Training of master Trainers Workshop 10 – 15 November 2012

UML

Class and Object Diagram

Customer Rental Item

Rents+name:string

+id:integer

Joe: Customer Casablanca: Movie

+name:Joe Smith

+id:1667

+released:1942

+id:22340

Class Diagram

Object Diagram

Class Name

Object Name

Attributes

Association Name

Page 20: Training of master Trainers Workshop 10 – 15 November 2012

UML

Use Cases

•Describe interactions between users and computer systems (both called actors) .•Capture user-visible functions. •Achieve discrete measurable goals.•Are typically used during Analysis and Design.

Page 21: Training of master Trainers Workshop 10 – 15 November 2012

UML

Use Cases

Telephone Customer

In-StoreCustomer

Clerk

Identify Movie

Open Account

Return Movie

Customer

ReviewAccount Status

Actor

Use Case

Page 22: Training of master Trainers Workshop 10 – 15 November 2012

UML

Use Case Report• The Use Case Report

provides documentation for the Use Case.

• A Use Case is not complete without the report.

• The elements of the Use Case Report are shown on the right.

• Brief description• Precondition• Flow of events

– Main flow– Subflows– Alternate flows

• Postcondition• Special Requirements• Enclosures

– Diagrams– Pictures of the UI

• Brief description• Precondition• Flow of events

– Main flow– Subflows– Alternate flows

• Postcondition• Special Requirements• Enclosures

– Diagrams– Pictures of the UI

Page 23: Training of master Trainers Workshop 10 – 15 November 2012

UML

Collaboration Diagrams

•Collaboration diagrams describe interactions and links•Focus on exchange of messages between objects•Appears during Analysis phase•Enhanced during Design phase

Page 24: Training of master Trainers Workshop 10 – 15 November 2012

UML

Collaboration Diagrams – Rent a movie

:Check-out Manager

:Customer

:Inventory

1: enter_customer()

3: enter_movies()

5: add(customer, movies)

7: print invoice() 2: IsValidCust(CustId)

4:GetMovieByBarcode()

:Clerk

Object

Message

:Rented Items

8: generateRentalTotal()

Page 25: Training of master Trainers Workshop 10 – 15 November 2012

UML

Sequence Diagrams

•Can be “morphed” from Collaboration Diagrams.•Describe interactions between objects arranged in time sequence•Focus on objects and classes involved in the scenario and the sequence of messages exchanged•Associated with use cases•Used heavily during Analysis phase and are enhanced and refined during Design phase

Page 26: Training of master Trainers Workshop 10 – 15 November 2012

UML

Sequence Diagrams – Rent a Movie

1: find customer()2: search (string)

4: search (string)

6: add(Cust, item)

3: enter movie()

5: rent (movie)

7: printInvoice() 8: generateRentalTotal()

Object

Lifeline

ActivationMessage

:CheckoutMgr :InventoryCust:Customer :RentedItems:Employee

Page 27: Training of master Trainers Workshop 10 – 15 November 2012

UML

Package Diagrams

Clerk User Interface

«facade»BusinessSystemC lient

(to businesssystem )Custom er Data

Renta l ScreenClassPackage

Page 28: Training of master Trainers Workshop 10 – 15 November 2012

UML

Component Diagram

«applica tion»V ideo

W orksta tion(vsta tion .exe)

« lib rary»D B S erverIn terface

(dbsvr.d ll)

Supplied byM icrosoft

«lib rary»A pplica tionFram ework(appfr.d ll)

Component

Interface

Dependency

Note

Page 29: Training of master Trainers Workshop 10 – 15 November 2012

UML

Deployment Diagram

C heck O ut Term ina l:C lerk C lien t

P hone C lerk Term ina l:C lerk C lien t

:S tore S erver

S erverD B

S toreS erver

A pp«TC P /IP »

«TC P /IP »

Node

Communication

Association

Page 30: Training of master Trainers Workshop 10 – 15 November 2012

UML

Activity Diagram

Identify Caller

Create Account

Obtain Name& Address Open

Account?

CurrentCustomer? [no]

[no]

[yes]

Action State

Start State

Decision

End State[yes]

Page 31: Training of master Trainers Workshop 10 – 15 November 2012

UML

Swimlanes and Fork/Join Points

Identify Movie

PlaceOrder

Place Order

FillOrder

Pay

DeliverMovie

PickupMovie

Customer Manager Walking ClerkFork Point

Join Point

CollectMoney

Page 32: Training of master Trainers Workshop 10 – 15 November 2012

UML

State Diagram

Validate

do/checkaccount

custom er appears

Check-Out

do/check-outvideo

[account valid ]/get firs t video

[m ore videos]/get next video

Check-OutComplete

[no m ore videos]

[account notvalid ]

State

Transition

Activity

Guard

Action

Event

Page 33: Training of master Trainers Workshop 10 – 15 November 2012

UML

UML Diagrams UsageDevelopment Phase

UML Diagrams

Analysis Use Cases, Class Diagrams, Activity Diagrams, Collaboration Diagrams, Sequence Diagrams

Design Class Diagrams, Collaboration Diagrams, Sequence Diagrams, State Diagrams, Component Diagrams Deployment Diagrams

Development Collaboration Diagrams, Sequence Diagrams, Class Diagrams, State Diagrams, Component Diagrams, Deployment Diagrams

Implementation Package Diagrams, Deployment Diagrams

Page 34: Training of master Trainers Workshop 10 – 15 November 2012

UML

CASE STUDY – The KIWI Project - Use Cases for Milan PrefectureMain Actors

Page 35: Training of master Trainers Workshop 10 – 15 November 2012

UML

CASE STUDY – The KIWI Project - Use Cases for Milan PrefectureExternal Actors

Foreign Employed Worker

Home Help and AssistantSubordinate Work

External User

(from Actors)

EmployerCSA - Administrative

Services Centre

Page 36: Training of master Trainers Workshop 10 – 15 November 2012

UML

CASE STUDY – The KIWI Project - Use Cases for Milan PrefectureWorkflow on the fly

create the Workflow on the Fly task force

delete a Workflow on the Fly task force

modify a Workflow on the Fly task

get the Workflow on the Fly members

Prefecture U.T.G. Responsible

(from Use Case View)

Page 37: Training of master Trainers Workshop 10 – 15 November 2012

UML

CASE STUDY – The KIWI Project – Activity DiagramBack End Process

Page 38: Training of master Trainers Workshop 10 – 15 November 2012

UML

CASE STUDY – The KIWI Project – Sequence DiagramWorkflow on the fly