Domain Modeling http://flic.kr/p/9RR1BL SWEBOK Knowledge Areas 1. 2.

Domain Modeling http://flic.kr/p/9RR1BL SWEBOK Knowledge Areas 1. 2.

Domain Modeling http://flic.kr/p/9RR1BL SWEBOK Knowledge Areas 1. 2. 3. 4. 5. 6.

7. 8. 9. 10. 11. 12. 13. 14. 15.

Software Requirements Todays topic: Software Design Software Construction Software Testing Software Maintenance Software Configuration Management Software Engineering Management Software Engineering Process Software Engineering Models and Methods

Software Quality Software Engineering Professional Practice Software Engineering Economics Computing Foundations Mathematical Foundations Engineering Foundations Analysis Analysis bridges the gap

between requirements and design http://flic.kr/p/a1NZHb Design Analysis Analysis Requirements

Domain Model Most importantand classicmodel 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 Esp. for MVC model classes http://flic.kr/p/4UtQzk Running Example: Point-of-Sale (POS) System POS Domain Model

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

Attributes: number or text properties of conceptual classes Is it a class or an attribute? If we think of an idea/thing as a number or text in the real world, it is probably an attribute, not a conceptual class 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 POS Domain Model 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? How to find conceptual classes:

Noun phrase identification Identify nouns and noun phrases in descriptions of a domain Nouns = candidate classes or attributes Example (noun phrases bolded): 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 Tip: Think like a mapmaker Recall the Payment class Payment There are different types of payments, like cash, credit, and check payments, and each type has some unique attributes

How would you model the different payment types? Answer: Use generalization superclass more general concept Payment subclasses more

specialized concepts generalization relationship (3 overlapping triangle-arrows) Generalization guideline: The 100% Rule 100% of the superclasss definition should be applicable to the subclass

The subclass must conform to 100% of the superclasss attributes associations Payment Generalization guideline: The Is-a Rule All members of the subclass set must be members of the superclass set

Informal test: A Subclass is a superclass E.g.: A CashPayment is a Payment Remember this!!! When to model subclasses? Would you model this? Guideline: Model a subclass when

subclass has additional attributes of interest AND/OR subclass has additional associations of interest AND/OR subclass is operated on, handled, reacted to, or manipulated differently in ways that are of interest AND/OR subclass represents an animate thing (e.g., animal) that behaves differently in ways that are of interest

Payment You can have cash, credit, and check payments, but can you ever really have just a Payment? No. Payment is what we call an abstract class as opposed to a concrete class abstract

Payment concrete Abstract class indicated by italics or when drawing by hand use Payment

{abstract} Payment POS Example: Generalization Does this model obey: The 100% Rule? The Is-a Rule? Activity: Create a Domain Model for Your Project

Identify nouns and noun phrasesfor inspiration USs are good starting place Collaboratively sketch class diagram Use as inspiration for MVC Model class design

Recently Viewed Presentations

  • CS 478 - Machine Learning

    CS 478 - Machine Learning

    Perceptron Neural Networks Sub-symbolic approach: Does not use symbols to denote objects Views intelligence/learning as arising from the collective behavior of a large number of simple, interacting components Motivated by biological plausibility (i.e., brain-like) Natural Neuron Artificial Neuron Captures the...
  • The Respiratory System - Southeast Missouri State University

    The Respiratory System - Southeast Missouri State University

    The Respiratory System How it contributes to homeostasis. Why do we breathe? Structures. Anatomical changes. * * Alveolar-Capillary Membrane 300-600 million alveoli Type I and Type II alveolar cells Macrophages Respiratory Membrane Type I and II-alveolar wall Epithelial basement membrane...
  • Dia 1 - Surchem

    Dia 1 - Surchem

    Isoamyl Ester Fully natural : originates from fusel oils coming from the bio -fermentation of sugar beets Isoamyl alcohol = isobutyl carbinol =isopentyl alcohol Vegetable fatty acids : C8/C10, C12, C14, C16, C18 ,C16-C18, cocoate, oleate Oleon isoamyl esters contain...
  • Literary Genres September 6th 2018 Todays Goals:  Define

    Literary Genres September 6th 2018 Todays Goals: Define

    Drama. Drama is the genre of literature that's subject for compositions is dramatic art in the way it is represented.. This genre is stories composed in verse or prose, usually for theatrical performance, where conflicts and emotion are expressed through...
  • Name, I'm sure you will have some questions

    Name, I'm sure you will have some questions

    The Rule of 72…Sometimes called the Bankers Rule. Divide your interest rate into 72 to find the. approximate number of years it takes for money to double! This table serves as a demonstration of how the Rule of 72 concept...
  • Chapter 40

    Chapter 40

    Microscopic anatomy of the kidney. Renal circulation for the nephron. Glomerular capillaries. It produces the filtrate. It is a high hydrostatic pressure capillary bed because: It is fed by 2 arterioles. The afferent arterioles is larger than the efferent
  • Broadway!

    Broadway!

    Shrek The Musical: Plot. After rescuing Princess Fiona from the tower and the Dragon, Shrek and Donkey take her back to Lord Farquaad. While on the journey Shrek and Fiona fall in love. Shrek does not know that Fiona is...
  • PHYSICS

    PHYSICS

    UNIT 0: Math in Physics . Significant Figures. Scientific Notation. Metric System and Unit Conversion. Algebra and Trigonometry . Vectors and Scalars. Component Vectors