Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10.

Slides:



Advertisements
Similar presentations
Object-Oriented Analysis and Design CHAPTERS 8, 9: BASICS, INTRO TO DOMAIN MODELS 1.
Advertisements

Object Design Examples with GRASP
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
Case Study The NextGen POS System
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.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
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’
SOEN 6011 Software Engineering Processes Section SS Fall 2007 Dr Greg Butler
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.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Object-Oriented Analysis and Design An Introduction.
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.
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.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Copyright © Craig Larman All Rights Reserved The Domain Model.
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
Domain Model—Part 3: Associations, Multiplicity and Attribute- Text Notation.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
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.
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.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
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.
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
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.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
Object Oriented Analysis & Design By Rashid Mahmood.
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
Chapter 5: Object Oriented Analysis and Design
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Domain Models Part 1
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Domain Modeling.
Domain Model: Visualizing Concepts
Presentation transcript:

Larman chapter 101 Domain Model: Visualizing concepts Larman chapter 10

2 Artifact influence emphasizing the Domain Model

Larman chapter 103 Objectives 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

Larman chapter 104 Domain Model The Domain Model is the most important artifact to create during object oriented analysis – (a visual dictionary) The domain model is a representation of real-world conceptual classes NOT of software components The domain model is used as a source of inspiration for designing software objects.

Larman chapter 105 Domain Model A domain model is illutrated 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

Larman chapter 106 Domain Model

Larman chapter 107 Domain Model

Larman chapter 108 Domain Model conceptual classes Informally, a conceptual class is an idea, event, thing, object, person …… Formally, a conceptual class is described by its: –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

Larman chapter 109 Domain Model conceptual classes

Larman chapter 1010 Domain Model The primary analysis task is to identify different concepts in the problem domain and document the result in a domain model Conceptual classes in the Sale Domain:

Larman chapter 1011 Domain Model guideline It is better to overspecify a domain model with lots of fine-grained conceptual classes than to underspecify it ! A Domain Model is not absolutely correct or wrong, but more or less useful, it is a tool of communication

Larman chapter 1012 Domain Model strategies to identify conceptual classes Use a conceptual class category list (p )  list of candidate conceptual classes Identify noun phrases  based upon fully dressed use cases (p ) (Use analysis patterns)

Larman chapter 1013 Domain Model Candidate conceptual classes for the Sales Domain: Register Item Store Sale Payment ProductCatalog ProductSpecification SalesLineItem Cashier Customer Manager Receipt???

Larman chapter 1014 Domain Model Candidate conceptual classes for the Sales Domain: Receipt??? –Report of a sale – duplicates information found elsewhere  exclude receipt –Special role in terms of business rules (the right to return bought items)  include it (since returns are not considered in this iteration, receipt is excluded)

Larman chapter 1015 Domain Model Modeling guidelines 1.List the candidate conceptual classes using CCC-List and noun phrase identification technique related to the current requirements under consideration 2.Draw them in a domain model 3.Add the associations necessary to record relationships for which there is a need to preserve some memory 4.Add the attributes necessary to fulfill the information requirements

Larman chapter 1016 Domain Model ’the mapmaker’ Use the existing names of the territory Exclude irrelevant features Do not add things that are not there Use the Domain Vocabulaty strategy

Larman chapter 1017 Domain Model common mistakes If we do not think of some conceptual class X as a number or text in the real world, X is probably an conceptual class, not an attribute

Larman chapter 1018 Domain Model similar conceptual classes

Larman chapter 1019 Domain Model ’specification conceptual classes’

Larman chapter 1020 Domain Model ’specification conceptual classes’

Larman chapter 1021 UML Notation multiple perspectives Essential or conceptual perspective Specification perspective Implementation perspective

Larman chapter 1022 UML Notation terminology Conceptual class – real world thing/concept Software class – a class representing a specification or implementation perspective of a software component Design class – a member of the UP Design Model – synonym for sw class Implementation class – a class implemented in an objectoriented language Class – the general term representing either a real world thing or a software thing

Larman chapter 1023 Domain Model representational gap

Larman chapter 1024 The NextGen POS Domain Model

Larman chapter 1025 Artifact influence emphasizing the Domain Model