Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1.

Slides:



Advertisements
Similar presentations
Chapter 9 Domain Models The classic OOAD model. Fig. 9.1.
Advertisements

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
Solving the Problem Analysis & Design.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Use Case Analysis – continued
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
How to Make a Domain Model Tutorial
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative Development Part III Elaboration Iteration I – Basic1.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
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’
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.
Information Systems Analysis and Design Class Modeling
DOMAIN MODEL— PART 2: ATTRIBUTES SYS466. Looking For Potential Classes “Know the business”. Ask Questions Identify business concepts; filter nouns (person,
Chapter 9 Domain Models. Domain Modeling After you have your requirements you start modeling the domain. You are still modeling the business, not the.
TK2023 Object-Oriented Software Engineering CHAPTER 5 DOMAIN MODELLING.
Domain Modelling Presented By Dr. Shazzad Hosain.
Sept Ron McFadyen1 Section 10.1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL
Review ♦ System sequence diagram ♦ Domain model
Lecture 9 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
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
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
Elaboration Iteration 1- Part 1
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,
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2A: Attributes.
January Ron McFadyen1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain of interest.
Chapter 9: Domain Models.  The problem domain is modelled using a UML domain model: This is the first OO model that we will see (Use Cases are very useful.
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.
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.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
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.
Chapter 5: Structural Modeling
Elaboration popo.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Chapter 16 UML Class Diagrams.
Conceptual Model.
Domain Models Part 1
UML Use Case Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Relating Use Cases popo.
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
Object Oriented Analysis and Design Conceptual Model.
Object Oriented Analysis
Domain Model: Visualizing Concepts
Use cases Dr. X.
Presentation transcript:

Domain Modeling Chandan R. Rupakheti and Steve Chenoweth Week 5, Day 1

Today Domain Modeling Notations Guidelines Practice 2

Domain Model The domain model is a representation of real-situation conceptual classes The term does not mean a set of diagram describing software classes Bridges the representational gap between Use-Case Model and Software Design Model (such as Class and Interaction Diagrams) 3 Q1

An Example – POS System 4

Notation – UML Class Diagram UML class diagram is used to model a domain with a twist Domain Class Domain class consist of class name and attributes Domain class does not have methods Relation A line with a label represents the relation between two classes A relation has a cardinality constraint 5 Q2

How to Create Domain Model Find conceptual classes Draw them as classes in a UML class diagram Add associations and attributes 6

Finding Conceptual Classes Reuse or modify the existing model if one exists Use a category list Identify noun phrases in your use-cases 7

Category List (Partial) Business transaction Sale, Payment, Reservation Product or service related to transaction Item, Flight, Seat Where is the transaction recorded Register, Ledger, FlightManifest Place of service Store, Airport, Plane, Seat 8

Identify Noun Phrase in Use Cases Basic Flow for a POS System 1.Customer arrives at a POS checkout with goods and/or services to purchase 2.Cashier start a new sale 3.Cashier enters item identifier 4.System records sale line item and presents item description, price, and running total 5.… 9

List and Draw UML Diagram Sale Cash Payment SaleLineItem Item Register Amount Cashier … 1. Decide which ones are classes and which ones are attributes 2. Add attributes and relation to the identified domain classes 10

Part of POS System 11

Attributes vs. Classes - or - 12 Q3

Description Classes A description class contains information that describes something else E.g. Item and ProductDescription 13

When to use Description Class When information must be retained independent of existence of instances of the described item When deleting the described item could result in information loss When it reduces redundant information 14 Q4

Avoid Premature Design Good Avoid 15

Confusion with Databases Domain model ≠ Data model Data models: Only show persistent data Exclude classes that don’t have attributes Domain models may include: External actors, transient data, any real-world classes Also classes without attributes/data that have a purely behavioral role 16 Q5

Don’t Have Too Much Details 17

Association Notations Association name : Use verb phrase Capitalize Typically camel-case or hyphenated Avoid “has”, “use” Multiplicity (Cardinality) : ‘*’ means “many” x..y means from x to y inclusively Reading direction : Can exclude if association reads left- to-right or top-to- bottom 18

Cardinality (or Multiplicity) 19

More Association Classes can have multiple associations Classes can also self-associate! Object creates itself Object modifies itself Object moves itself… 20

Attributes An object’s logical data value that must be remembered Some attributes are derived from other attributes Usual primitive attributes (data types not shown in DM) Common compound attributes Date, time, address, SSN, phone number, bar codes, etc. May even become full class objects in design… 21

Visibility in Domain Models 22

POS Domain Model 23

Next … In-class Exercise Create domain model for your project based on use cases (2 rich ones) that you have developed for Milestone 2 Present your model to the class 24