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

Slides:



Advertisements
Similar presentations
What is a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
Advertisements

Object-Oriented Analysis and Design CHAPTERS 8, 9: BASICS, INTRO TO DOMAIN MODELS 1.
Chapter 9 Domain Models The classic OOAD model. Fig. 9.1.
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Visualizing Concepts with a Domain Model.
What is a domain model? “A domain model captures the most important types of objects in the context of the business. The domain model represents the ‘things’
CSE 441: Systems Analysis & Design
Internet Software Development Putting it all together Paul J Krause.
Last lecture. What is a Use Case Use cases are stories (scenarios) of how actors use (interact with) the system to fulfill his goal. Examples Process.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
DOMAIN MODEL— PART 2: ATTRIBUTES SYS466. Looking For Potential Classes “Know the business”. Ask Questions Identify business concepts; filter nouns (person,
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
TK2023 Object-Oriented Software Engineering CHAPTER 5 DOMAIN MODELLING.
Domain Modelling Presented By Dr. Shazzad Hosain.
Software Architecture in Practice Architectural description (The reduced version)
Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL
Structural Modeling Chapter 7
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Review ♦ System sequence diagram ♦ Domain model
Lecture 9 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish.
Lecture 13-17, chitkara university.  Gives a conceptual framework of the things in the problem space  Helps you think – focus on semantics  Provides.
Chapter 9 Applying UML and Patterns -Craig Larman
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Lecture 6: Structural Modeling
Conceptual Model or Domain Models Chapter10 Applying UML and pattern.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Domain Model—Part 2: Attributes.  A logical data value of an object  (Text, p. 158)  In a domain model, attributes and their data types should be simple,
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.
Summary from previous lectures
1 Object Oriented Analysis and Design Conceptual Model.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
BTS430 Systems Analysis and Design using UML Design Class Diagrams (ref=chapter 16 of Applying UML and Patterns)
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
Elaboration popo.
Chapter 9 Domain Models.
DATA REQIREMENT ANALYSIS
System Sequence Diagrams and Operation Contracts
Domain Model: Visualizing concepts
Conceptual Model.
Conceptual Modeling.
DESIGN MODEL: USE-CASE REALIZATIONS WITH GRASP PATTERNS
OO Domain Modeling With UML Class Diagrams and CRC Cards
Advanced Java Programming
OO Domain Modeling With UML Class Diagrams and CRC Cards
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
MIS2502: Data Analytics Relational Data Modeling
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Domain Modeling.
Domain Model: Visualizing Concepts
Design Model: Creating Design Class Diagrams
Presentation transcript:

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

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

Iterative Development Process We are here Planning Requirements Analysis Design Implementation Deployment Testing Evaluation Initial Planning

Analysis bridges the gap between requirements and design http://flic.kr/p/a1NZHb Analysis Requirements

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

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

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

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

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

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

Associations Reading direction Multiplicities: Read as each Register records 0 or more Sales each Sale is recorded by exactly 1 Register Name

Examples of multiplicities 8 Also common to see 0..*

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:

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

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

Think-Pair-Share Activity: Creating a Domain Model http://flic.kr/p/5dfuqL 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

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