Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "SYS466: Analysis and Design Using OO Models Domain Class Diagram, Part 1."— Presentation transcript:

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

2 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

3 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 PRJ666 1. Business and System Use Case Diagrams 2. Business and System Use Case Descriptions ** PRJ566 – encompasses SYS366, SYS466, DBS201 and DBS301

4 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

5 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

6 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!

7 Domain Class Diagram Sample Relationship description multiplicity relationship

8 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)

9 Existing Data Models Already published and can be re-used Already published and can be re-used Retrieved from: http://www.databaseanswers.org/data_models/bank_and_branches/index.htm

10 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

11 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

12 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.

13 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?

14 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

15 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)

16 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

17 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!

18 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


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

Similar presentations


Ads by Google