BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes.

Slides:



Advertisements
Similar presentations
Object Design Examples with GRASP
Advertisements

Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
1 Domain Model Adding Associations Chapter 11 Applying UML and Patterns -Craig Larman.
1 Domain Model: Adding Attributes Chapter 12 Adding Attributes.
Jan 21, Ron McFadyen1 Domain Modeling Specification classes “need-to-know” associations Reflexive associations “association checklist”
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.
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.
How to Make a Domain Model Tutorial
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Object-Oriented Analysis and Design
INFO 355Week #31 Systems Analysis II Domain Modeling INFO 355 Glenn Booker.
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,
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
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.
DOMAIN MODE: ASSOCIATIONS, MULTIPLICITY AND ATTRIBUTE-TEXT NOTATION SYS466.
Chapter 9 Domain Models $PH\06f522\LarmanApplUMLandPtrns\larman3EdDgmsCh01-14\09_domainModelsR2.ppt – RJL
Design Patterns. Patterns “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution.
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)
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
Domain Model—Part 3: Associations, Multiplicity and Attribute- Text Notation.
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Elaboration Iteration 1- Part 1
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 Feb 2, 2009.
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.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.
Chapter 16 UML Class Diagrams.
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 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.
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.
1 Object Oriented Analysis and Design System Events & Contracts.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Chapter 16 UML Class Diagrams.
Conceptual Model.
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.
Software Engineering Lecture # 19
Domain Modeling.
Domain Model: Visualizing Concepts
Design Model: Creating Design Class Diagrams
Presentation transcript:

BTS430 Systems Analysis and Design using UML Domain Model—Part 2: Associations and Attributes

Domain Models  Domain Model is not a data model (which by definition shows persistent data to be stored) Don’t exclude a class simply because the requirements don’t indicate any obvious need to remember information about it Valid to have conceptual classes with no attributes* * Larman, p.136

Attributes vs Classes  Common Mistake: Represent something as an attribute when it should be a conceptual class

Attributes vs Classes  GUIDELINE: If we DO NOT think of a conceptual class as text or a number in the real world then it is probably a class, not an attribute e.g. a sale is made at a store  Sale is a conceptual class because in the real world the term suggests a legal entity, an organization or something that occupies space

Description Classes  A description class contains information that describes something else E.g., a ProductDescription records price, picture, and text description of a product

Description Classes  Place holders.  Use when: Deleting instances of things they describe results in a loss of information that needs to be maintained  Common in sales, product, and service domains  In manufacturing which requires a description of a manufactured item that is distinct from the thing itself.

Fig (p.149) Service Example

Report Objects  Not generally useful since information is derived from other sources  But if they have a special role in terms of business rules—e.g. need Receipt in order to get refund—then they should be included

Associations  “a relationship between instances of classes that indicates some meaningful and interesting connection” (text, p. 150)

When to show Associations  When “memory” of a relationship is required (in a real world situation, not a software situation) SalesLineItem instances are associated with a Sale instance. Otherwise, it would not be possible to reconstruct a sale, print a receipt, or calculate a sale total.

Finding Associations  “Need to remember”  “Preserved for some duration”  Common Associations List (p.155) “patterns” – e.g. Sale to SaleLineItem to Item.

Association Details  Name  Multiplicity (of Roles)  Multiple Associations Examples p.157

Multiplicity  Multiplicity defines how many instances of class A can be associated with one instance of class B

Fig (p.152)

Attributes  A logical data value of an object (Text, p. 158)  Show attributes when They are suggested by use cases and imply a need to remember information

Attributes  Most modelers assume attributes have private visibility unless shown otherwise

Guidelines  In the domain Model Relate conceptual classes with an association, NOT an attribute  Cashier to Register  NOT currentRegister attribute of Cashier Attributes should preferably be “data type”, not complex concepts  Flight to Airport  NOT destination attribute of Flight

Fig (p.165)

Fig. 9.23

Attributes  Most attribute types should be “primitive” data types such as numbers and booleans

Data Types  Most common Boolean Date (or DateTime) Number Character String (Text) Time

Data Types  Others Address Colour Geometrics Phone Number Social Insurance Number Universal Product Code SKU Postal Codes Enumeration (Size=Small)

Guidelines Cont’d  “Represent what may initially be considered a number or string as a new data type class in the domain model if” it: Is composed of separate sections  Phone number, name of a person Has operations associated with it such as parsing or validation  Social insurance number, credit card number Has other attributes  Sales price could have a start (effective) date and an end date

Guidelines Cont’d  “Represent what may initially be considered a number or string as a new data type class in the domain model if” it: is a quantity with a unit  Payment amount has a unit of currency Is an abstraction of one or more types with some of these qualitities  Item identifies in the sales domain is a generalization of types such as Universal Product Code (UPC)

Example OR A data type class

Fig. 9.24

Guidelines Cont’d  In the domain model No attributes representing foreign keys! WORSE BETTER