Repetition af Domæne model. Artifact influence emphasizing the Domain Model.

Slides:



Advertisements
Similar presentations
Software Engineering OO Analysis (Object-Relationship and Object-Behaviour Models)
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
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
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
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Refining the Domain Model
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
9/18/011 Software Requirements Analysis and Design (Continued)
CSSE 374: Domain Model Refinements and Iteration 3 Preparations Q1 These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others.
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’
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 9 Structuring System Data Requirements.
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.
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 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
Review ♦ System sequence diagram ♦ Domain model
Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.
Jan 21, Ron McFadyen1 Ch 10. Domain Model: Visualizing Concepts Domain model illustrated with a class diagram (with no operations defined)
CS3773 Software Engineering Lecture 04 UML Class Diagram.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Software Engineering Object-Oriented Analysis (Class Diagrams) James Gain
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
Chapter 16 Applying UML and Patterns Craig Larman
Domain Model Refinement Larman, chapter 31 CSE 432: Object-Oriented Software Engineering Glenn D. Blank, Lehigh University.
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
NJIT UML Class Diagrams Chapter 16 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
Generalization (Ch 26) a generalization is a relationship between a general thing (the superclass or parent class) and a more specific kind of thing (the.
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.
Domain Modeling Yonglei Tao.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.
Software Engineering Zhang Shuang
January Ron McFadyen1 Domain Models Domain Model: a visual representation of conceptual classes or real-world objects in a domain of interest.
1 Introduction to Classes. 2 Terms and Concepts A class is... –The most important building block of any object- oriented system. –A description of a set.
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.
Domain Model Refinement Notation Extensions. Things not seen before in the Domain Model Similar to the concepts in the Object Models Generalization and.
DOMAIN MODEL—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
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.
Business System Development
Domain Model: Visualizing concepts
Domain Model Refinement
OO Domain Modeling With UML Class Diagrams and CRC Cards
OBJECT RELATIONSHIPS, ATTRIBUTES, AND METHODS
OO Domain Modeling With UML Class Diagrams and CRC Cards
Relating Use Cases popo.
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Domain Modeling.
Object Oriented System Design Class Diagrams
Domain Model: Visualizing Concepts
Presentation transcript:

Repetition af Domæne model

Artifact influence emphasizing the Domain Model

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.

Domain Model

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

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)

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)

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

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

Domain Model F inding associations Common Associations List (p ) High-Priority Associations: –A is a physical part of B –A is physically or logically contained in B –A is recorded in B

Domain Model Association guidelines Focus on those associations for which knowledge of the relationship needs to be preserved for some duration (”need to know” associations) It is more important to identify conceptual classes than to identify associations Too many associations tend to confuse the domain model rather than illuminate it. Their discovery can be time-consuming, with marginal effect Avoid showing redundant or derivable associations

NextGen POS Domain Model Associations

Attributes Attribute = a logical data value of an object. Include the following attributes in a domain model : –Those for which the requirements (ex. Use cases) suggest or imply a need to remember information. –Ex. A receipt normally has a date and time.

Valid attribute types Keep it simple –Prefer simple attributes or data types Boolean, Date, Number, String…. Relate conceptual classes with an association –not with an attribute

A partial domain model

Modeling Generalization A conceptual superclass definition is more general or encompassing than a subclass definition Identify domain superclasses and subclasses relevant to the current investigation, and illustrate them in the Domain Modelc

Modeling Generalization class set membership “100%” rule

Modeling Generalization subclass conformance “Is-a” rule

When to define conceptual subclasses? Create a conceptual subclass of a superclass when: (see also page 402) –The subclass has additional attributes of interest –The subclass has additional associations of interest –The subclass concept is operated on, handled, reacted to or manipulated differently than the superclass or other subclasses, in ways that are of interest –The subclass concept represents an animate thing that behaves differently than the superclass or other subclasses, in ways that are of interest

When to define a conceptual superclass? Create a conceptual superclass in a generalization relationship to subclasses when: –The potential conceptual superclass represents variations of a similar concept –The subclasses will conform to the ”100%” and ”Is-a” rules –All subclasses have the same attribute which can be factored out and expressed in the superclass –All subclasses have the same association which can be factored out and related to the superclass

Abstract Conceptual Classes If all members of a class C must also be member of a subclass, the class C is called an abstract conceptual class

Association Classes Guidelines for adding association classes: –An attribute is related to an association –Instances of the association class have a life-time dependency on the association –There is a many-to-many association between two concepts, and information associated with the association itself

Association Classes examples

Aggregation and composition Aggregation is a kind of association used to model whole-part relationships between things. The whole is called the composite Two types: –Composite aggregation – (filled diamond) –Shared aggregation – (hollow diamond)

Aggregation and composition

How to identify aggregation: –If in doubt, leave it out Consider showing aggregation when: –The lifetime of the part is bound within the lifetime of the composite – there is a create-delete dependency of the part on the whole –There is an obvious whole-part physical or logical assembly –Some properties of the composite propagate to the parts, such as the location –Operations applied to the composite propagate to the parts, such as destruction, movement, recording

Aggregation and composition

Roles as concepts vs. roles in associations

Derived elements

Packages - POS Domain Model