DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish.

Slides:



Advertisements
Similar presentations
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Advertisements

Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
Chapter 9 DOMAIN MODELS Objectives
1 Domain Model Adding Associations Chapter 11 Applying UML and Patterns -Craig Larman.
1 Lecture 2: Elaboration Tasks and Domain Modeling.
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.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
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”
Object-Oriented Analysis and Design
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’
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
Information Systems Analysis and Design Class Modeling
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
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.
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)
Structural Modeling. Objectives O Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. O Understand.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
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
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
Lecture 6: Structural Modeling
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,
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
DOMAIN MODEL: ADDING ATTRIBUTES Identify attributes in a domain model. Distinguish between correct and incorrect attributes.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
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.
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.
OO Methodology Elaboration Phase Iteration 1- Part 3.
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.
BTS430 Systems Analysis and Design using UML Design Class Diagrams (ref=chapter 16 of Applying UML and Patterns)
Use Case, Component and Deployment Diagrams University of Sunderland.
What is this? SE-2030 Dr. Mark L. Hornick 1. Same images with different levels of detail SE-2030 Dr. Mark L. Hornick 2.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
1 Chapter 13: Class Diagram Chapter 19 in Applying UML and Patterns Book.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XIV. From Requirements to Design in the UP.
Elaboration popo.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Domain Models Part 1
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Chapter 11: Class Diagram
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Object Oriented Analysis
Domain Model: Visualizing Concepts
Chapter 11: Class Diagram
Presentation transcript:

DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish between correct and incorrect attributes. Add specification conceptual classes, when appropriate. Compare and contrast conceptual and implementation views.

DOMAIN MODEL- VISUALIZING CONCEPTS

Using UML notation, a domain model is illustrated with a set of class diagrams in which no operations are defined. It may show: domain objects or conceptual classes associations between conceptual classes attributes of conceptual classes

DOMAIN MODEL- VISUALIZING CONCEPTS

Domain Models Are not Models of Software Components

Conceptual Classes Symbol—words or images representing a conceptual class. Intension—the definition of a conceptual class. Extension—the set of examples to which the conceptual class applies.

Conceptual Classes

Conceptual Classes in the Sale Domain

Conceptual Class Identification Do not think that a domain model is better if it has fewer conceptual classes; quite the opposite tends to be true. It is common to miss conceptual classes during the initial identification step, and to discover them later during the consideration of attributes or associations, or during design work. When found, they may be added to the domain model.

Conceptual Class Identification Do not exclude a conceptual class simply because the requirements do not indicate any obvious need to remember information about it (a criterion common in data modeling for relational database design, but not relevant to domain model- ing), or because the conceptual class has no attributes. It is valid to have attributeless conceptual classes, or conceptual classes which have a purely behavioral role in the domain instead of an information role.

Strategies to Identify Conceptual Classes 1. Use a conceptual class category list. 2. Identify noun phrases.

Use a Conceptual Class Category List

Finding Conceptual Classes with Noun Phrase Identification

Candidate Conceptual Classes for the Sales Domain

Report Objects—Include Receipt in the Model? A receipt is a report of a sale. In general, showing a report of other information in a domain model is not useful since all its information is derived from other sources; it duplicates information found elsewhere. This is one reason to exclude it. A receipt has a special role in terms of the business rules: it usually confers the right to the bearer of the receipt to return bought items. This is a reason to show it in the model.

How to Make a Domain Model

On Naming and Modeling Things: The Mapmaker

A Common Mistake in Identifying Conceptual Classes

Resolving Similar Conceptual Classes—Register vs. "POST"

Modeling the Unreal World Some software systems are for domains that find very little analogy in natural or business domains; software for telecommunications is an example. It is still possible to create a domain model in these domains, but it requires a high degree of abstraction and stepping back from familiar designs. For example, here are some candidate conceptual classes related to a telecommunication switch: Message, Connection, Port, Dialog, Route, Protocol.

Specification or Description Conceptual Classes

When Are Specification Conceptual Classes Required?

UML Notation, Models, and Methods: Multiple Perspectives

Example: The NextGen POS Domain Model

Domain Models Within the UP Elaboration The Domain Model is primarily created during elaboration iterations, when the need is highest to understand the noteworthy concepts and map some to software classes during design work.

DOMAIN MODEL: ADDING ASSOCIATIONS Identify associations for a domain model. Distinguish between need-to-know and comprehension-only associations.

Associations An association is a relationship between types (or more specifically, instances of those types) that indicates some meaningful and interesting connection

Associations

Criteria for Useful Associations

The UML Association Notation

Finding Associations—Common Associations List

High-Priority Associations A is a physical or logical part of B. A is physically or logically contained in/on B. A is recorded in B.

Association Guidelines

Roles Each end of an association is called a role. Roles may optionally have: name multiplicity expression navigability

Multiplicity

Naming Associations Name an association based on a TypeName- VerbPhrase-TypeName format where the verb phrase creates a sequence that is readable and meaningful in the model context.

Naming Associations

Multiple Associations Between Two Types

NextGen POS Domain Model Associations Applying the Category of Associations Checklist

NextGen POS Domain Model Associations