SYS466: Analysis and Design Using OO Models Domain Class Diagram, Part 1.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Week 2 The Object-Oriented Approach to Requirements
Database Design – Lecture 11
Object-Oriented Analysis and Design CHAPTERS 8, 9: BASICS, INTRO TO DOMAIN MODELS 1.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Object Design Examples with GRASP
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Copyright ©2004 Cezary Z Janikow 1 Domain Model n Visualization of entities and relationships n In UP presented as Class Diagrams – Classes, Relationships,
Use Case Modelling.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
Domain model: visualizing concepts
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
NJIT 1 Domain Model Visualizing Concepts Chapter 9 Applying UML and Patterns Craig Larman.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
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 7: The Object-Oriented Approach to Requirements
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’
SYS466: Analysis and Design Using OO Models
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.
1 Chapter 2 (Cont.) The BA’s Perspective on Object Orientation.
BTS430 Systems Analysis and Design using UML Domain Model Part 1—Finding Conceptual Classes.
DOMAIN MODEL— PART 2: ATTRIBUTES SYS466. Looking For Potential Classes “Know the business”. Ask Questions Identify business concepts; filter nouns (person,
TK2023 Object-Oriented Software Engineering CHAPTER 5 DOMAIN MODELLING.
Chapter 17 GRASP: Designing Objects with Responsibilities. 1CS6359 Fall 2011 John Cole.
Review ♦ System sequence diagram ♦ Domain model
Lecture 9 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
1 Lecture 6: Operation Contracts. 2 Overview  What is contract ?  The guidelines for writing contracts for the system operations.  Use Case realizations.
Conceptual Modeling Modeling the Problem Domain. Conceptual Modeling Decompose problem space into comprehensible concepts. Clarify the terminology or.
PRJ566 System Sequence Diagrams.  A system sequence diagram …. Illustrates input and output events related to the system under discussion.  Larman,
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
SYS466: Analysis and Design Using OO Models Domain Class Diagram.
Lecture 6: Structural Modeling
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
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
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Repetition af Domæne model. Artifact influence emphasizing the Domain Model.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
SYS466: Analysis and Design Using OO Models Lecture 8 Domain Classes – More on Relationships.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
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.
Use Case Model Use case description.
1 Chapter 9: Operation Contracts Chapter 13 in Applying UML and Patterns Book.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
SYSTEM-LEVEL SEQUENCE DIAGRAMS Sys466. System-Level Sequence Diagrams  Use cases describe how external actors interact with the software system…  An.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 Object Oriented Analysis and Design System Events & Contracts.
Elaboration popo.
Chapter 9 Domain Models.
Domain Model: Visualizing concepts
Conceptual Model.
Unified Modeling Language
OO Domain Modeling With UML Class Diagrams and CRC Cards
OO Domain Modeling With UML Class Diagrams and CRC Cards
SYS466 Domain Classes – Part 1.
Object Oriented Analysis and Design Conceptual Model.
Object Oriented Analysis
Domain Model: Visualizing Concepts
Presentation transcript:

SYS466: Analysis and Design Using OO Models Domain Class Diagram, Part 1

Where are we going? Analyze Requirements as per Use Case Model Analyze Requirements as per Use Case Model System Sequence Diagrams System Sequence Diagrams Domain Model (Conceptual Class Diagram) Domain Model (Conceptual Class Diagram) Interaction (Sequence) Diagrams Interaction (Sequence) Diagrams Design Class Diagram Design Class Diagram

Requirements Gathering (Specification) Use Case Analysis Interaction Modeling Coding 1. Refine Use Case Description – Scenarios 2. Model system input and output events (Systems Sequence Diagram - SSD) 3. Noun filtering - Domain Class Diagram (conceptual classes) - Identify attributes of conceptual classes - Identify relationships between conceptual classes (associations and composition) 1. Model object interaction & definition of operations using Sequence Diagrams 2. Design Class Diagram – show final relationships (associations, composition, inheritance) Testing SYS366 SYS466 PRJ Business and System Use Case Diagrams 2. Business and System Use Case Descriptions ** PRJ566 – encompasses SYS366, SYS466, DBS201 and DBS301

Domain Model Major object oriented analysis step: decomposition of a domain into noteworthy concepts or objects Major object oriented analysis step: decomposition of a domain into noteworthy concepts or objects A visual representation of conceptual classes or real- situation objects in a domain - a conceptual model A visual representation of conceptual classes or real- situation objects in a domain - a conceptual model Focuses on a domain versus the entire business Focuses on a domain versus the entire business i.e. a business area i.e. a business area

Domain Model Not a data model however for SYS466, we will focus on the data that is important to a business domain. We will not show software artifacts (i.e. a window or a database) Not a data model however for SYS466, we will focus on the data that is important to a business domain. We will not show software artifacts (i.e. a window or a database) Shows: Shows: Domain objects or conceptual classes Domain objects or conceptual classes Associations between conceptual classes Associations between conceptual classes Attributes of conceptual classes Attributes of conceptual classes Does not show operations Does not show operations

Domain Model What is a class? What is a class? A software or a conceptual element A software or a conceptual element Contains attributes and behaviour Contains attributes and behaviour Classes have relationships to other classes Classes have relationships to other classes Syntax for attribute and operation names: first letter is a small letter, no spaces between names and each subsequent word is capitalized!

Domain Class Diagram Sample Relationship description multiplicity relationship

Domain Model How to discover conceptual classes How to discover conceptual classes Reuse or modify existing models (patterns!) Reuse or modify existing models (patterns!) Use a category list (a lot of analysis) Use a category list (a lot of analysis) Identify noun phrases (noun filtering) Identify noun phrases (noun filtering)

Existing Data Models Already published and can be re-used Already published and can be re-used Retrieved from:

Category List Focuses on a list of common categories which emphasis business information system needs Focuses on a list of common categories which emphasis business information system needs i.e. i.e. Conceptual Class CategoryExamples Business Transactions Guidelines: These are critical. Sale, Payment Transaction Line items Guidelines: These are the line items associated with transactions. SalesLineItem Product or service related to a transaction or a transaction line item Guidelines: Transactions are for something (a product or service) Item Roles of people or organizations related to the transaction; actors in the use case Guidelines: We usually need to know about the parties involved in a transactions Cashier, Customer

Noun Filtering Done for each scenario (not for a use case description) Done for each scenario (not for a use case description) Underline the noun phrases in the scenario that pertain to data Underline the noun phrases in the scenario that pertain to data

HD Browse Catalog Scenario Preconditions: At the moment the scenario begins the system is displaying the Online Auction Main Page. ActorSystem Selects the Browse Catalog option on the Online Auction Main Page. Retrieves the list of categories and displays the Category Page with a drop down list of categories and an Exit Button. Selects an option from the drop down listRetrieves all the items for that category and displays an Item List Page showing a table with item names with a Display Button and an Exit Button. Selects an item and clicks the Display Button.Retrieves the product name, it’s picture and a description and displays the information on the Item Information Page with a Place Bid Button and an Exit Button. Clicks the Place Bid Button.Use case ends and starts the Place Bid use case.

Noun Filtering Place the candidate noun phrases into a noun filter table template Place the candidate noun phrases into a noun filter table template Categorize the data if possible – is it an attribute or a class? Categorize the data if possible – is it an attribute or a class?

Noun Filter Table – focusing on data ONLY! Noun or Noun PhraseClass or Attribute?Name of potential conceptual class or attribute If attribute, what class does it belong to? CategoriesA itemsA categoryC Item namesA itemC Product nameA picture A descriptionA

Noun Filtering Next, identify entries that should be rejected for any of the following reasons: Next, identify entries that should be rejected for any of the following reasons: Actors (keep if data about them needs to be stored for the scenario your are filtering) Actors (keep if data about them needs to be stored for the scenario your are filtering) Operation (might have identified this as data by mistake) Operation (might have identified this as data by mistake) Duplicate Duplicate Too vague (be careful using this – if you’ve underlined the noun phrase and it’s data, then need to rename this noun phrase to be more meaningful) Too vague (be careful using this – if you’ve underlined the noun phrase and it’s data, then need to rename this noun phrase to be more meaningful)

Noun Filter Table – focusing on data ONLY! Noun or Noun PhraseClass or Attribute?Name of potential conceptual class or attribute If attribute, what class does it belong to? CategoriesA duplicate itemsToo vague categoryC Item namesA itemC Product nameA picture A descriptionA

The process of Noun Filtering Now, make the attribute names more meaningful – follow syntax for naming attributes Now, make the attribute names more meaningful – follow syntax for naming attributes Enter the names of the potential classes for those nouns that were not rejected Enter the names of the potential classes for those nouns that were not rejected These are your initial “draft” classes! These are your initial “draft” classes!

Noun Filter Table – focusing on data ONLY! Noun or Noun PhraseClass or Attribute?Name of potential conceptual class or attribute If attribute, what class does it belong to? CategoriesA categoryName Category Categories duplicate itemsToo vague categoryC Item namesAitemNameItem itemC Product nameA itemNameItem picture A Item descriptionA Item