1 / 18

Master Domain Modeling: Understand, Design, Implement

Learn about domain modeling, its importance, and how to diagram models. Explore analysis, requirements, design, and iterative development in the software development process. Discover conceptual classes, attributes, associations, and multiplicities in domain models.

coss
Download Presentation

Master Domain Modeling: Understand, Design, Implement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Domain Models Part 1 http://flic.kr/p/9RR1BL

  2. What are you goingto learn about today? • Domain modeling: • why? • what? • how? • Diagramming domain models http://flic.kr/p/8JpkTg

  3. Iterative Development Process We are here Analysis Requirements Design InitialPlanning Implementation Planning Testing Evaluation Deployment

  4. Analysis bridges the gapbetween requirements and design Design http://flic.kr/p/a1NZHb Analysis Requirements

  5. Domain Model • “Most important—and classic—model in OO analysis” –Larman, p131 • Captures entities, attributes, and relationships in the problem domain • Represented with UML class diagram • Conceptual classes • As opposed to software or implementation classes • Acts as inspiration for some software classes • Lowers representational gap

  6. POS Domain Model Classes: concepts or entities in the problem domain (not software)

  7. 3 aspects of conceptual classes 1. Symbol—words or images representing a conceptual class 2. Intention—definition of a conceptual class (put in glossary!) "A sale represents the event of a purchase transaction. It has a date and time." 3. Extension—set of examples to which conceptual class applies

  8. POS Domain Model Classes: concepts or entities in the problem domain (not software) Attributes: number or text properties of conceptual classes

  9. Is it a class or an attribute? If we do not think of an idea/thing asa number or text in the real world,it is probably a conceptual class,not an attribute

  10. POS Domain Model Classes: concepts or entities in the problem domain (not software) Attributes: number or text properties of conceptual classes Associations: relationships between classes

  11. Associations Readingdirection • Multiplicities: Read as • each Register records 0 or more Sales • each Sale is recorded by exactly 1 Register Name

  12. Examples of multiplicities Also commonto see 0..* 8

  13. How many Stores can an Item be stocked in? How many Items can a Store stock? How many Registers does a Store house? How many Sales LineItems per Sale? How many Sales LineItems can a particular Item be recorded in? POS Domain Model

  14. How to find conceptual classes:Noun phrase identification • Identify nouns and noun phrases in descriptions of a domain • Nouns = candidate classes or attributes • Example:

  15. Tip: Think like a mapmaker • Use existing names in the territory • Exclude irrelevant or out-of-scope features • Do not add things that are not there http://flic.kr/p/5QKvWh

  16. Tip: Sketch classes starting from the upper left Sale Payment Store address

  17. Think-Pair-Share Activity:Creating a Domain Model • Think • Identify nouns and noun phrases—for inspiration • Sketch class diagram • Group • Join your partner at the whiteboard • Collaboratively draw a class diagram • Make tentative decisions quickly, then debate • Share • I’ll randomly select diagram(s) to discuss • Identify one thing that you wish you’d thought of • Identify one thing that you would do differently http://flic.kr/p/5dfuqL

  18. Summary • Domain models • Conceptual class diagrams • Attributes • Associations • Multiplicities • Tips: • Identify noun phrases • Think like mapmaker • Draw from upper left http://flic.kr/p/YSY3X

More Related