UML learning notes

xiaoxiao2021-03-06  40

UML learning notes

Author: Thatway (mailto: outhatway (at) hotmail (dot) com) from: http: //www.hibernate.org.cn

table of Contents

Why is an important study?

View and map related resource aggregation, related and reference practice suggestions

Why is it important?

Should you use UML? One word: Yes! ... New books, articles, etc. will all be used as a symbol. ... If you are going to start using modeling symbols, you should learn UML directly.

- Martin Fowler 1997

Unified modeling language UML (Unified Modeling Language) is a standard symbol for object-oriented system modeling. In the 1990s, he finally got support for object management organization OMG (Object Management Group), which became industry symbol system. Uniform standards.

Therefore, it is a prerequisite for learning the technique of learning. This is not exaggerated. Before reading (not proficient) UML, I didn't understand "design mode" because I used the language like UML in "Set".

That uml is undoubtedly important, but can it be good for modeling? Regarding this problem, I have no ability to give you a perfect response, the relevant "Discussion" continues, but the following facts believe that will give you confidence.

1. UML draws the advantages of multiple modeling languages, including the contribution of three global top methodologists.

2. It has risen in the wind and rain and is subject to test.

3. UML is supported by OMG organizations and its members.

4. Quite a lot of industry giants are also using it.

Learning journey

The UML system is so complicated, which may make you feel difficult to grasp. But as long as the choice of selective learning is enough, we will study in depth after the rest of the day.

Before you learn, let's make a statement first, UML is just a language, learning UML does not wait with learning system modeling, and their relationship is like learning Chinese and learning articles. Just a lot of cases, we will contact them together.

View and map

Well, let's get started, let's browse the full picture of UML. Since we are difficult to completely describe all aspects of a system from one angle. Therefore, UML provides the following five views, and they work together to supplement each other.

1) Use case view

2) Design View or Logical View

3) Process view

4) Implementation View or Component View (Component View)

5) Implement View (deployment view)

And these five views are used in the following nine graphs, respectively.

1)

2) Class map

3) Object map

4) sequence diagram

5) Collaboration map

6) Status diagram

7) Activity diagram

8) Members

9) Implementation

related resources

Ok, look at the relevant resources.

1) "UML User Guide"

This book is from famous, but some translation is not good. After reading, you can figure out the concepts of the above five views and the representation of several common maps.

2) "UML and mode applications"

Demonstrations in the book intend to develop a system in an incremental manner, focusing on the skills and rules of OO analysis. The content is slightly like, but it is not a good book.

3) "UML DISTILED"

Another entry is sufficient as ordinary use. 4) "Non-programmer" second phase "use UML Design Java Application"

Read this short article quickly learn how to use UML in the actual project.

5) http://www.uml.org/

UML's official website, you can find a lot of useful information.

6) http://www.umlchina.com/

It issues "non-programmers" e-magazines and records many Chinese documents, and there is a very active discussion group.

7) http://www.9cbs.net/develop/

8) http://www-900.ibm.com/developerWorks/cn

These two websites can search for many UML Chinese articles, just comparing zero, not suitable for system learning.

Let's take a look at the UML tool. I don't have a good experience in this regard, and see how others say.

1) "Non-programmer" The first phase of "Choose a UML Modeling Tool" introduced a series of criteria for evaluating the UML tool.

2) UML Tools "column (link) of the UML official website resource page lists the maximum UML tool for selection.

Polymerization, association and reference

Finally, we discuss several concepts with "controversial", aggregation, combination, association, dependency, and reference. They are very similar, and some even exactly in the implementation of the code, however, from conceptual understanding and distinguishing between our systematic analysis and design.

Aggregation means that an object has another object and emphasizes "owned". The combination refers to a part of another object that emphasizes "inextrous" and two objects have the same lifecycle. The difference between the two is better than the creation of a company you can do not want to pay (owned), but when you create a person, you can't lose his heart (indivisible).

All associations and dependencies refer to an object known another object. The difference is that the association is a structural relationship that is characterized by an object to obtain an instance of another object, and call its service (ie, it); dependence is a use relationship, representing an object is only called another object. Service. Accessibility may be associated or dependent.

Quote refers to those class properties that point to objects. Implementation of combinations, aggregation, and associations are inevitable to be referenced, but do not necessarily use it.

In general, the association and dependence are similar; the combination is a polymerization, and the aggregation is an association; reference is relatively independent.

Articles related to this:

1) Chapter 10 of the UML User Guide, Booch details the meaning and differences of dependence and associations.

2) "Design Mode" Chinese version of the 15th to 16th, GOF tells the difference in aggregation and acquaintance.

3) "The" Phase II "class" "" "related" or "dependent" seems to be a good discussion of the difference between the difference, the association and dependence.

At this point, if you have different opinions on their definition, or if you feel difficult to understand, you may wish to put away the set of others, and you will redefine themselves. Anyway, we are not a theorist, even if it is unprofessional, it doesn't matter, just as long as the person concerned with our project is consistent and acceptable. After all, effective communication is our true purpose.

Practice suggestion

Tarring on demand. What is the need to use what is going to learn, and let it go for the time being. Our purpose is to model the current system, not a UML master.

Free expansion. In combination with our actual situation, in the process of use, it is necessary to clarify the focus of UML to "communication", followed by "public". UML itself has many rules and conventions, but it is not necessary to follow. As long as we are facilitating communication, we use it, otherwise it will abandon. Usually our document is only spread in a small range, and it is not difficult to unify it. Of course, when the rules are set, it is best to change it. Last Update 12 February 04, 16:30, Up to 4280 Views.

转载请注明原文地址:https://www.9cbs.com/read-71926.html

New Post(0)