Presentation is loading. Please wait.

Presentation is loading. Please wait.

Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects.

Similar presentations


Presentation on theme: "Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects."— Presentation transcript:

1 Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects Created during the elaboration stage Illustrated as a set of class diagrams without operations –Conceptual classes –Associations between conceptual classes –Attributes of conceptual classes

2 Conceptual Model Example

3 Domain Model A major distinction between object- oriented and structured analysis is: division by conceptual classes (objects) rather than division by functions To identify conceptual classes: –Use a conceptual Class category list –Identify noun phrases –Use analysis patterns done by experts

4 Conceptual Class Category List Physical or tangible objectsEvents Specifications, design or description of things Rules and policies PlacesAbstract noun concepts Transactions/transaction line itemsCatalogs Roles of peopleRecords of finance Containers of thingsManuals, books, documents Things in a containerOrganizations Other computer/ electromechanical systems

5 Noun Phrases Identify noun phrases in use-case model Some are classes, others are attributes

6 Steps to Create Domain Model List conceptual classes identified Draw them in a domain model Add associations necessary to record relationship between classes Add attributes to fulfill requirements

7 Domain Model Guidelines Use the vocabulary of the domain when naming the conceptual classes Exclude conceptual classes that are not relevant to the requirements Do not include things that are not there in real life Conceptual classes are more complex than a number or text (otherwise attribute)

8 Classes vs. Attributes Sale Store SaleStore Phone no Flight destination FlightAirport name Or ?

9 Specification Conceptual Class There is a need to include specification/ description classes that include information about items. Used in sales, product and manufacturing domains to include description of a thing When all inventory items of a specific product has been sold and the item instance class is deleted, the specification class still remains

10 Specification Conceptual Class

11 Use specification conceptual classes when: –There is a need for a description of the item independent of the current existence of these items in the system –Deleting instances of things (e.g. items) will result in loss of information that needs to be maintained –Reduce redundant information

12 UML vs. Models UML describes raw diagram types Models utilize UML diagrams in certain context. For example: –UML has class diagram (rectangular box) –In Domain model, they are real life conceptual classes –In Design model, they are software classes

13 Associations A relationship between types (instances of types) that indicates some meaningful and interesting connection UML definition: a semantic relationship between two or more classifiers that involve connection among their instances. Include associations when: –Knowledge of relationship needs to be stored for some time –Use “Common association list” to decide

14 Associations Lines between classes with association name on it. End points of the line has multiplicity expression indicating numerical relationship between instances of classes Default reading direction is left to right, and top to bottom. Or optional reading arrow Multiplicity: how many instances of class A can be associated with one instance of class B

15 Multiplicity Values

16 Common Association List A is a physical part of BA is a member of B A is a logical part of BA is an organizational subunit of B A is physically / logically contained in B A is next to B A is recorded/ logged in BA is an event related to B A is a description of BA is related to a transaction B A is a line item of report or transaction A is owned by B A uses or manages BA communicates with B

17 Associations It is more important to find conceptual classes than to find associations You can have multiple associations between two classes Show only important associations

18 Attributes A logical data value of an object Include attributes in the domain model that the requirements imply to store Optionally show the type of the attribute Attribute data type should be simple (e.g. string, date, number, boolean) If the attribute is not simple, it should be a conceptual class

19 Attributes Relate classes using association NOT attributes (No foreign keys)

20 Quantities and Units Most numeric values have units (e.g. money, weight, length) For international software, these quantities should be recorded with their units Units are conceptual classes, but it is acceptable to collapse them into data types because they are common

21 Quantities and Units

22 System Sequence Diagram A picture that shows for a particular use-case scenario, events that external actors generate, their order and inter-system events. Shows input/ output events related to system being described The system is treated as a black box SSD should be drawn for the main success scenario of the use-case Created during the elaboration stage System events may include parameters

23 SSD Example

24 Use-Case Use abstract events names: enterItem (itemID, quantity) Scan (itemID, quantity)

25 Contracts Describes detailed system behavior in terms of state changes of objects in the Domain model after a system operation has been executed Done for each complex operation in the System Sequence diagram Operation: a specification of a transformation or query that an object may be called to execute Writing contracts may suggest changes in the domain model

26 Contracts Sections Operation: name of the operation and parameters Cross reference: Use case this operation can occur within Preconditions: Assumptions about the state of the system or objects in the domain model before the execution of the operation Post conditions: The state of objects in the domain model after the completion of the operation

27 Contracts Post conditions: (results) –Instance creation/ deletion –Changes in attributes –Associations broken or formed Steps to write contracts –Identify system operation for SSD –If things are complex and need details –Write contract

28 Contracts Describe real life operations which could be paper-based, not a computer freeing memory Example: In many countries, after a person has declared bankruptcy and seven or ten years have passed, all records of their bankruptcy declaration must be destroyed


Download ppt "Domain Model A representation of real-world conceptual classes in a problem domain. The core of object-oriented analysis They are NOT software objects."

Similar presentations


Ads by Google