Unified Software Development Process 1: Creating a domain model

Source: Internet
Author: User

1: What is a domain model?
It is a visual representation of concepts in the field or objects in the real world. Domain models are also called conceptual models, domain object models, and analysis object models.
(UP domain model is a special feature of UP business objects. "It is used to explain the important 'objects' and products in the business field. That is to say, the domain model focuses on specific fields.
")
2: How to find a domain model
There are two methods. "Use category list" and "pass"
2.1: Use category list
We can create a domain model by creating a list of conceptual candidates. (Priority is recommended for the List)
The following example is taken from POS, Monopoly, or aviation reservation.

Concept category

Example

Business transactions

Principle: The key is the starting point.

Sale, Payment, Reservation

Transaction rules

Principle: transactions usually involve projects, so they are placed in the second place.

SalesLineItem

Products or services related to transactions or transactions

Criteria: (products or services) are the objects of transactions, so they are placed in the third place.

Item, Flight, Seat, Meal
Where are transaction records? Register, Ledger, FlightManifest

The role of the person or organization associated with the transaction; the participant of the use case

Criterion: We usually need to know the parties to the transaction

Customer, Store, Player
Transaction location: Service Location Store, Plane
... ...

2.2: Identify nouns and phrases to find concepts
Language analysis identifies nouns and noun phrases in text descriptions of a field and uses them as candidate conceptual classes or attributes. (Note the ambiguity in the language)
(The second frame in the UML representation method indicates the attribute of the domain object)
Domain Models are important domain concepts and vocabulary visualization. Some of these words come from use cases, while others come from the ideas of other documents or experts. In any case, use cases are one of the important sources for mining noun phrases.
3: What should I pay attention to when looking for a domain model?
3.1: How to differentiate attributes and Classes
Criterion: if we think that X is not a number or text in the real world, X may be a conceptual class rather than a property.
For example, should Store be a Sale attribute or a separate concept class? In the real world, Store is a concept class because it is not regarded as a number or text.
3.2: Join
Association is the relationship between classes (precisely the instances of these classes), indicating meaningful and noteworthy connections.
Representation: the name of the association between classes, which is capitalized with the first letter.
Name: "class name-verb phrase-class name", where the verb constitutes a readable and meaningful order.
3.3: the attributes in the domain model do not represent foreign keys. The relationships between domain classes can only be expressed by associations rather than foreign keys in the database.
Unified Software Development Process 2: case text writing

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.