SWEBOK Knowledge Areas - memphis-cs.github.io

SWEBOK Knowledge Areas - memphis-cs.github.io

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 Software Design

Todays topic: 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 Challenges: From Requirements to Design Developer not problem domain expert Lacks mental model User stories not unified model

Can't see the forest for the trees Representational gap b/t requirements and design USs are text descriptions of features OO designs are interrelated classes of objects Analysis bridges the gap between requirements and design http://flic.kr/p/a1NZHb Design

Design Analysis Analysis Requirements Domain Model Captures entities, attributes, and relationships in the problem domain Represented with UML class diagram

Conceptual classes not software classes Inspiration for software classes Lowers representational gap Key rationale for OOP http://flic.kr/p/4UtQzk 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? Objects have identity Two objects w/ same attribute values are still distinct Model as classes Data values do not have identity

Numbers, strings, dates, etc. with same value are same Model as attributes POS Domain Model Classes: concepts or entities in the problem domain (not software) Attributes: number or text properties of conceptual classes

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 Associations Name Reading direction Multiplicities: Read as

each Register records 0 or more Sales each Sale is recorded by exactly 1 Register Examples of multiplicities Also common to see 0..* 8

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 Consider 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? How to find conceptual classes and attributes: Noun phrase identification Identify nouns and noun phrases in descriptions of a

domain (e.g., USs) Nouns = candidate classes or attributes What about Verb Phrases? has-a can refer to association or attribute is-a often refers to generalization Use existing names in the territory No irrelevant or out-of-scope features Do not add things

http://flic.kr/p/5QKvWh Tip: Think like a mapmaker Summary

Domain modeling / OO analysis Associations / multiplicities Object identity vs data values Generalization relationships Abstract classes Noun phrase identification technique http://flic.kr/p/aCLor3

Recently Viewed Presentations

  • A Beginner's Guide to Archetypal Literary Theory What

    A Beginner's Guide to Archetypal Literary Theory What

    Archetypal literary theory focuses on recurring archetypes, patterns, symbols and myths in literature. What is an Archetype? According to Carl Jung, an archetype is a primordial image residing in the collective unconscious of a people, expressed in literature, myth, folklore...
  • Physics

    Physics

    If the economy relies only on capital deepening, while remaining at the technology level shown by the Technology 1 line, then it would face diminishing marginal returns as it moved from point R to point U to point W. However,...
  • Native American Conflict Part II - Social Studies with Mrs ...

    Native American Conflict Part II - Social Studies with Mrs ...

    Indian Wars Activity: Pairs or Individual . Create an Illustrated Timeline with details about each of the four wars we studied today. Timeline should be in chronological order, should include a description of what happened, the date and a picture...
  • e h t t s i g r

    e h t t s i g r

    The Pastor is not the preacher, unless this preacher fulfill the qualifications found in 1 Timothy 3 and Titus 1. ... Do not lay hands on anyone hastily, nor share in other people's sins; keep yourself pure. HIS LIFE! Is...
  • Logistics, Readiness, and Sustainment

    Logistics, Readiness, and Sustainment

    When it comes time for a contract you'll have all your questions answered. ... Flood Mitigation Assistance (FMA) Grant Program. Reduce or eliminate the risk of flood damage. Annual allocation of funding by FEMA. 25% cost share for insured properties...
  • Fundamentals acquisition processing to an image models blob

    Fundamentals acquisition processing to an image models blob

    Fundamentals acquisition processing to an image models blob coloring algoritm Acquisition and processing CCD chips CT scan MRI scan Ultrasound Structured light Spot ranger CCD focus Image functions Geometric models Stereo model Radiometric models Eye color model RGB model Other...
  • Catholic Higher Education Research: Tools for Assessing Catholic

    Catholic Higher Education Research: Tools for Assessing Catholic

    …The University roots itself in the principle of justice and a belief that education empowers people…offers students a welcoming and supportive communitythat encourages men and women of all backgrounds to shape their lives as leaders in service to others.Proud of...
  • The Constitution and the Supreme Court

    The Constitution and the Supreme Court

    Appeals to the Supreme Court The Supreme Court Marbury v. Madison (1803 Supreme Court opinion by Chief Justice John Marshall) "[It] is emphatically the province of the judicial department to say what the law is." As a result, Supreme Court...