Upload
leslie-hopper
View
23
Download
3
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
Training of master Trainers Workshop10 – 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 DiagramsSystem Modeling: Unified Modeling LanguageExample/Case Study: The KIWI Project
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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
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
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
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.
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()
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
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.
UML
Use Cases
Telephone Customer
In-StoreCustomer
Clerk
Identify Movie
Open Account
Return Movie
Customer
ReviewAccount Status
Actor
Use Case
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
UML
Collaboration Diagrams
•Collaboration diagrams describe interactions and links•Focus on exchange of messages between objects•Appears during Analysis phase•Enhanced during Design phase
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()
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
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
UML
Package Diagrams
Clerk User Interface
«facade»BusinessSystemC lient
(to businesssystem )Custom er Data
Renta l ScreenClassPackage
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
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
UML
Activity Diagram
Identify Caller
Create Account
Obtain Name& Address Open
Account?
CurrentCustomer? [no]
[no]
[yes]
Action State
Start State
Decision
End State[yes]
UML
Swimlanes and Fork/Join Points
Identify Movie
PlaceOrder
Place Order
FillOrder
Pay
DeliverMovie
PickupMovie
Customer Manager Walking ClerkFork Point
Join Point
CollectMoney
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
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
UML
CASE STUDY – The KIWI Project - Use Cases for Milan PrefectureMain Actors
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
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)
UML
CASE STUDY – The KIWI Project – Activity DiagramBack End Process
UML
CASE STUDY – The KIWI Project – Sequence DiagramWorkflow on the fly