domain model example

17
Domain Models - Part Deux

Upload: heba-fathy

Post on 20-Nov-2014

7.729 views

Category:

Business


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Domain model example

Domain Models - Part Deux

Page 2: Domain model example

Vision

• Network Time Server• Major Features:

o Gets current time for a given time zone.o Get all available time zones.o Support 600+ clients.o Single clock on a large network.o Clock isn’t necessarily the same as the wall

clock.• This is a real business problem!

Page 3: Domain model example

Use Case UC1: GetCurrentTime

Use Case: GetCurrentTime

Identifier:UC1

Description:The GetCurrentTime use case models obtaining the current time from a central clock.

Actors:Client

Preconditions:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the current time.3. The Client provides its current time zone, using the time zone name.4. The Server provides the Client with the current time in the requested time zone.5. The Server closes the network connection.Postconditions:1. The Client has the current time, and the network connection is closed.

Page 4: Domain model example

SSD: UC1

Page 5: Domain model example

Use Case UC2: ListTimeZonesUse Case: ListTimeZones

Identifier:UC2

Description:The ListTimeZones use case models obtaining a description of all recognized time zones.

Actors:Client

Preconditions:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the complete list of all time zones.3. For each recognized time zone: 1. Server provides the time zone name. 2. Server provides the time zone offset from UTC. 3. Server provides a list of major cities which use the time zone.

4. The Server closes the network connection.Postconditions

:1. The Client has been given all recognized time zones, and the network connection is closed.

Page 6: Domain model example

How To Make A Domain Model

• Identify Conceptual Classes

Page 7: Domain model example

Use Case UC1: GetCurrentTimeUse Case: GetCurrentTime

Identifier:UC1

Description:The GetCurrentTime use case models obtaining the current time from a central clock.

Actors:Client

Preconditions:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the current time.3. The Client provides its current time zone, using the time zone name.4. The Server provides the Client with the current time in the requested time zone.5. The Server closes the network connection.

Postconditions:1. The Client has the current time, and the network connection is closed.

Page 8: Domain model example

Use Case UC1: GetCurrentTimeUse Case: GetCurrentTime

Identifier:UC1

Description:The GetCurrentTime use case models obtaining the current time from a central clock.

Actors:ClientPreconditions

:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the current time.3. The Client provides its current time zone, using the time zone name.4. The Server provides the Client with the current time in the requested time zone.5. The Server closes the network connection.

Postconditions:

1. The Client has the current time, and the network connection is closed.

Page 9: Domain model example

Identified Conceptual Classes

• Network Time Service• Network• Client• Network Connection• Server• Current Time• Current Time Zone• Time Zone Name

Page 10: Domain model example

How To Make A Domain Model

(The system itself)

(Probably an attribute)

(Out of system boundary)

Page 11: Domain model example

How To Make A Domain Model

• Identify Conceptual Classes• Put them onto a picture.• Draw associations between them.

Page 12: Domain model example
Page 13: Domain model example

How To Make A Domain Model

• Identify Conceptual Classes• Put them onto a picture.• Draw associations between them.• Add attributes to fill in details.

Page 14: Domain model example
Page 15: Domain model example

Use Case UC2: ListTimeZonesUse Case: ListTimeZones

Identifier:UC2

Description:The ListTimeZones use case models obtaining a description of all recognized time zones.

Actors:Client

Preconditions:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the complete list of all time zones.3. For each recognized time zone:1. Server provides the time zone name.2. Server provides the time zone offset from UTC.3. Server provides a list of major cities which use the time zone.4. The Server closes the network connection.

Postconditions:

1. The Client has been given all recognized time zones, and the network connection is closed.

Page 16: Domain model example

Use Case UC2: ListTimeZonesUse Case: ListTimeZones

Identifier:UC2

Description:The ListTimeZones use case models obtaining a description of all recognized time zones.

Actors:ClientPreconditions

:1. Network time service is available on the network.

Flow of events:

1. The use case starts when the Client opens a network connection to the Server.2. The Client indicates a need for the complete list of all time zones.3. For each recognized time zone:1. Server provides the time zone name.2. Server provides the time zone offset from UTC.3. Server provides a list of major cities which use the time zone.4. The Server closes the network connection.

Postconditions:

1. The Client has been given all recognized time zones, and the network connection is closed.

Page 17: Domain model example