+ All Categories
Home > Documents > 0035-domain-modeling1.ppt

0035-domain-modeling1.ppt

Date post: 02-Jun-2018
Category:
Upload: vasunews
View: 216 times
Download: 0 times
Share this document with a friend

of 16

Transcript
  • 8/10/2019 0035-domain-modeling1.ppt

    1/16

    IntellAgi le

    www.craiglarman.comCopyright 2002 Craig Larman. All rights reserved.

    VisualizingConcepts with

    aDomainModel

  • 8/10/2019 0035-domain-modeling1.ppt

    2/16

    IntellAgile

    2

    Overview

    A Domain Model visualizes noteworthy concepts or

    objects in the domain.

    You will be able to:

    Read and write the UML class diagram notation

    for a Domain Model

    Create a Domain Model

    Apply guidelines Relate it to other artifacts

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    3/16

    IntellAgile

    3

    DEFINITION & MOTIVATION: Domain Model

    A Domain Modelvisualizes, using UML class

    diagram notation, noteworthy concepts or objects.

    It is a kind of visual dictionary.

    Nota picture of software classes.

    It helps us identify, relate and visualize important

    information.

    It provides inspiration for later creation of softwaredesign classes, to reduce representational gap.

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    4/16

    IntellAgile

    4

    EXAMPLE: Partial Domain Model

    Video

    ID

    Stocks4

    Rents4

    Rents-from4

    11..*

    1 *1

    *

    VideoStore

    address

    name

    phoneNumber

    Customer

    address

    name

    phoneNumber

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    5/16

    IntellAgile

    5

    GUIDELINES: Finding Domain Concepts

    Candidate lists (see text, p. 134)

    Abbott Analysis; AKA Linguistic Analysis

    Most simply, pick out the nouns

    Existing analysis patterns:

    use cases sys. sequence diagrams domain models operation contract

    http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0201895420/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0932633293/reader/2/002-3439525-6842407
  • 8/10/2019 0035-domain-modeling1.ppt

    6/16

    IntellAgile

    6

    UML: Associations

    VideoVideoStoreStocks4

    *1

    association name multiplicity

    -"direction reading arrow"

    -it has no meaning except to indicate direction of

    reading the association label

    -optional

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    7/16

    IntellAgile

    7

    UML: Multiplicity

    zero or more;

    "many"

    one or more

    one to forty

    exactly five

    T

    T

    T

    T

    *

    1..*

    1..40

    5

    T3, 5, 8 exactly three,

    five or eight

    Customer

    Video

    Rents

    *

    One instance of a

    Customer may be

    renting zero or more

    Videos.

    One instance of a Video

    may be being rented by

    zero or one Customers.

    0..1

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    8/16

    IntellAgile

    8

    GUIDELINES: Associations

    Only add associations for noteworthyrelationships. Literally,

    those for which making a note is worthy or business

    motivated.Video

    ...Rents4

    Influenced-by4

    1

    1..*

    1 Loan Policy

    ...

    Customer

    ...

    Important association.

    Need to remember.

    Low value association.

    Possible, but so what?

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    9/16

    IntellAgile

    9

    UML and GUIDELINES: Attributes

    Show only simple relatively primitive types as

    attributes.

    Connections to other concepts are to be

    represented as associations, not attributes.

    Payment

    date : Date

    time : Time

    amount : Money

    attributes

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    10/16

    IntellAgile

    10

    GUIDELINES: Attributes

    Why??

    Video

    ...Rents

    41 1..*Customer

    ...Better

    Video

    renter : Customer

    Customer

    rentedVideos: List of VideoWorse

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    11/16

    IntellAgile

    11

    EXAMPLE: Domain Model

    Catalog

    VideoDescription

    titlesubjectCategory

    VideoRental

    dueDatereturnDate

    returnTime

    CashPayment

    amount : Money

    Video

    ID

    Stocks4

    Rents4

    Rents-from4

    Pays-for 4

    Initiates4

    Owns-a4

    Described-by

    Membership

    ID

    startDate

    1

    1

    1..*

    1

    1

    1

    1..*

    1

    1

    *

    1

    1

    1

    *

    1*

    Pays-for-overdue-charges 4

    RentalTransaction

    date

    LoanPolicy

    perDayRentalChargeperDayLateCharge

    Determines-rental-charge4

    1

    Defines

    1..*

    *

    1..*

    1

    1

    * *

    VideoStore

    address

    namephoneNumber

    Customer

    address

    namephoneNumber

    1

    1

    1..*

    Records-rental-of

    0..1

    1

    Has Maintains

    *

    1

    1

    Notice how this can

    be viewed as a

    visual dictionary.

    It illustratesconcepts, words,

    things in a domain.

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    12/16

    IntellAgile

    12

    1. In small teams at the whiteboard, draw a partial

    Domain Model, limited to the Main Success

    Scenario of the Process Saleuse case, andassuming iteration 1 simplifications.

    Use the texts use case as the basis. p. 50

    Apply the guidelines

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    13/16

  • 8/10/2019 0035-domain-modeling1.ppt

    14/16

    IntellAgile

    14

    Recommended Resources

    use cases sys. sequence diagrams domain models operation contract

    http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0139055975/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0201895420/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0932633293/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0471353485/reader/2/002-3439525-6842407http://www.amazon.com/exec/obidos/tg/stores/detail/-/books/0471380237/reader/2/002-3439525-6842407
  • 8/10/2019 0035-domain-modeling1.ppt

    15/16

    IntellAgile

    15

    1. Without notes, draw all UP disciplines and

    artifacts discussed, and relate them.

    use cases sys. sequence diagrams domain models operation contract

  • 8/10/2019 0035-domain-modeling1.ppt

    16/16

    IntellAgile

    16

    1. Objectives assessment. Can you:

    Read and write the UML class diagram

    notation for a Domain Model

    Create a Domain Model

    Apply guidelines

    Relate it to other artifacts

    use cases sys sequence diagrams domain models operation contract


Recommended