Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.

Slides:



Advertisements
Similar presentations
Chapter 3 Data Modeling Copyright © 2014 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent.
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 Attributes Chapter 12 Adding Attributes.
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.
FIS 431/631 Financial Information Systems: Analysis and Design ERD & Normalization Joe Callaghan Oakland University Department of Accounting & Finance.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Systems Analysis and Design in a Changing World, 6th Edition
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.
How to Make a Domain Model Tutorial
Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
Systems Analysis and Design in a Changing World, Fifth Edition
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’
1 A Student Guide to Object- Orientated Systems Chapter 4 Objects and Classes: the basic concepts.
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,
5 Systems Analysis and Design in a Changing World, Fourth Edition.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
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)
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
DOMAIN MODEL- VISUALIZING CONCEPTS Identify conceptual classes related to the current iteration requirements. Create an initial domain model. Distinguish.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
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.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
SYS466: Analysis and Design Using OO Models Domain Class Diagram, Part 1.
Elaboration Iteration 1- Part 1
Design Model Lecture p6 T120B pavasario sem.
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.
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.
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—PART 2: ATTRIBUTES BTS430 Systems Analysis and Design using UML.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Elaboration popo.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Conceptual Model.
Domain Models Part 1
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
Entity – Relationship Model
Group Members Muhammad Zeeshan ( 16) Adnan Akhtar (4)
Object Oriented Analysis and Design Conceptual Model.
Domain Modeling.
Domain Model: Visualizing Concepts
Presentation transcript:

Conceptual Modeling Modeling the Problem Domain

Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or vocabulary of the problem domain. Includes concepts, associations between concepts, and attributes of concepts. Does not include responsibilities, methods, or software artifacts such as window or database.

Class diagrams (POS Example) Sales LineItem quantity Payment Sale date time amount Item Store name address POST Records-sale-of Captured-on Houses Stocked-inContainer Paid-by * * 1 1 * Concept Association Attributes Role Name Multiplicity Association Name

Concepts Symbol –Words or images representing a concept –Sale Intension –The definition of a concept –“The event of a purchase transaction…” Extension –The set of instances of the concept –The set of all sales

Conceptual Modeling Process 1.Identify candidate concepts 2.Remove poor candidates 3.Add associations 4. Add attributes 5.Add inheritance 6.Refine

Identifying Concepts (1) Use existing names as they are used in the problem domain. –In the library domain there are “Borrowers” or “Patrons”, not “Customers” Exclude irrelevant concepts –“Shopping bag” has no role in the requirements Don’t invent concepts that are not already there

Identifying Concepts (2) Extract nouns and noun phrases from use case descriptions. Consider a list of concept categories: Physical objects (POST) Designs, descriptions (Product Spec.) Places (Store) Transactions (Sale, Payment) People’s roles (Cashier) Containers (Store, Bin) Contained things (Item) External systems (Credit bureau) Abstract concepts (Hunger) Organizations (Sales Dept.) Events (Sale, Robbery) Processes (Selling) Polices (Refund policy) Catalogs (Product catalog) Records/Contracts (Receipt) Financial Items (Credit line) Manuals/Books (Employee manual)

Concept Quality Good Concepts POST Sale Line item Customer Cashier Account Store Product Poor Concepts System Security Provision Sales price User Cash

Receipt? Receipt is a report of a sale. Reports are generally not useful in conceptual models, since all their information is derived from other sources. Receipt confers the right to return an item to the store for a refund. If an item return use case is included, it might be useful to include receipts in the conceptual model.

Attributes and Concepts If we think of something in the real world as text or a number it is probably an attribute, otherwise it is a concept. Is destination an attribute of a flight, or a concept? When in doubt, use a separate concept.

When to use specifications When deleting the last instance of something will incorrectly result in the loss of information. When it reduces redundant information. Item price upc description ItemProductSpec price upc description describes *1 vs.

Adding Associations Associations should imply an enduring relationship which needs to be remembered. –Association between a sale and its line items. –No association between a sale and a sales manager. –No association between the POST and a customers credit card.

Common Associations Physical part (POST–Drawer) Logical part (LineItem–Sale) Physical containment (POST–Store) Logical containment (Description–Catalog) Description (ProductSpec–Item) Knows/Records (POST–Sale) Membership (Cashier–Store) Ownership (POST–Store) Subunit (Department–Store) Transaction (Payment–Customer, Payment–Sale) Communication (Customer–Cashier)

Association Guidelines (1) Focus on enduring relationships rather than transient events: Concepts are more important than associations. Too many associations may confuse the model. POST Credit Card accepts ?

Association Guidelines (2) Avoid redundant and derivable associations unless they improve domain understanding. Company Computer Employee employs assigned toowns * ** Can any of these associations be removed?

Aggregation and Composition Part-of associations. Composition is a strong form of aggregation where the parts may belong to only one whole, and whose existence depends on the whole. But what does this really mean? PersonCompanyDivision Composition? Aggregation?

Multiplicity *zero or more 1..*one or more 1..10one to ten 5exactly five 3, 5, 10…*three, five, or at least 10

Examples Employee supervises 1 * FlightAirport flies-to flies-from * *1 0..1

Adding Attributes Attributes should be simple, pure data values. –Number, String, Date, Color, etc. –Not flight destination Relate concepts with associations, not attributes. –Don’t use attributes as “foreign keys” –Item does not have UPC attribute, it has an association to ProductSpec

Inheritance Share common attributes and associations. Bottom-up –Generalize common aspects of existing classes Top-down –Specialize existing classes

Key Points (1) Conceptual models are concerned with the problem domain, not software artifacts. UML class diagrams are useful for modeling concepts and associations. Don’t confuse attributes with concepts. Concepts are more important than associations and should receive more attention.

Key Points (2) Don’t include associations that are redundant or derivable from other associations unless they improve domain comprehension. 80% of modeling activities use only 20% of UML notation. Don’t feel compelled to use every feature (e.g. aggregation, composition).