"UML Essentials" notes-Chapter I.

Source: Internet
Author: User

Chapter I. Introduction to UML
1. Defining a unified Model language (Unified modeing language,uml) represents the graphical representation of the same family, and there is a common Hyper model (meta model) behind these representations. They can help us describe and design software systems, especially those designed with object-oriented styles.
The underlying reason behind the model: programming languages cannot be sufficiently abstract to allow us to discuss design-related issues.
UML is a fairly open standard, and the association for Object Management is responsible for managing it, a consortium of open organizations with multiple companies. The purpose of the establishment is to support the relevant standards of interoperability, especially the interoperability between object-oriented systems.
The different uses of 2.UML for UML features three usage patterns, respectively, as: Drafts, blueprints and programming language to use. It is one of the most common uses of three in which it is considered a draft.
When the draft usage is paired with the blueprint usage, we can Forward EngineeringOr Reverse EngineeringTwo different directions to use a draft.
Forward Engineering: Draw the UML diagram reverse engineering before writing the program: Drawing UML Diagrams from existing programs to help us understand the code.
Note: With drafts, blueprints two uses of the steps for (1) first draw a UML draft, (2) with the case tool to write out the coding outline, (3) Modify the Optimization code, (4) periodically through the code with the case tool to draw UML design model with reverse engineering.
To treat UML as a draft is essentially talking about selectivity。 Using a positive draft, you will sketch out the issues that will be reflected in your code and use it to discuss it with a group of people on your team. The purpose of using drafts is to help us communicate ideas or discuss some of the alternatives that are about to be done. You don't want to talk to everyone about all the details of the code you're expecting to write, but just talk to your colleagues about some of the important issues, or visually display some of the design before you start coding.
In reverse-use drafts, you might sketch out how a part of the system works. We're not going to show all the categories, only the ones that are interesting or go into the code before they are worth mentioning.
The UML as a blueprint is completenessThe relevant practice. If we use forward engineering, then we will have a designer to draw a blueprint, his job is to draw detailed design results, let the program development engineer Leaf out write the program. The design results must be complete enough to make all the design decisions. Program developers do not need to think very much, they can win the intuitive way to follow it to write programs.
The common practice is to ask the designer to draw a blueprint-level model, which contains only the subsystem interface, which will be completed later by the developer.
Commentary: Subsystem interfaces are not easily defined in the early stages of development because most of them involve functional interfaces, so it is not easy to define them before the entire system is designed. There is a software system will continue to have changes in design and demand changes, so that we even in the initial definition of the interface, in fact, it is not easy to stabilize, which is difficult to implement the obstacles. Good designers understand that the parts of the system are susceptible to demand and are constantly being modified, and that the system can be separated from the other and easily, thus controlling changes in demand. However, the design changes can only rely on good unit testing when the well-protected network, collaboration we make design changes.
If reverse engineering is used, the blueprint is designed to express more detailed information about the program, and it is possible to use paper or to show blueprints on an interactive graphical viewer. The blueprints can be used to show all the details of the category in an image way, making it easier for developers to understand.
The line between blueprints and drafts is a bit vague, but the difference between the two is that we deliberately make the draft incomplete to emphasize important information, and the blueprint is intended to be all-encompassing, and it is often hoped that the coding work can become a simple, rather mechanized action. In short, I think the sketches are exploratory, and the blueprints are the things that have been decided.
One of the interesting questions about taking UML as a programming language is how to draw a model of behavioral logic. There are three ways to build behavioral models in version UML2: Interactive, state, and activity diagrams.
Another point of view of UML is that we use it in a way that is biased or built into a software model. Most people are accustomed to using UML as a way to build a software model.
Using Software Perspective, the various elements in UML can correspond directly to elements in a software system. When using a conceptual perspective, UML is a description of the field we are studying. At this point, we're not talking about things that are related to software elements, but rather building a set of words that discuss a particular area.
The book is more focused on the draft usage. Fortunately, this is helpful for the interrupted starter manual. I can't give full play to the value of the other two uses of UML with the same size of the book. However, books of this size can effectively help you to read books that use other uses.
3, the development process of UML (omitted here ...) )
4. Representation and hyper-model notation are the graphical parts we see in the model, which also represents the syntax of the model language.
How much does a super model mean for the user of model notation? Most of the answers depend on their use of UML. People who use drafts often don't care too much about hyper-models, and people who use blueprint usage should be more concerned. As for those who regard UML as a programming language, the Hyper model is very important to them because he helps us to set the abstract semantics of the language.
is a small part of the UML hyper-model that describes the relationship between features:

5. The UML standard for UML contains diagrams that indicate that certain specific elements are typically used to place them in certain types of graphics, but this is not a mandatory requirement.
The following are the official graphics types in UML:
Types of graphics Chapter Objective Introduce the version of this diagram
Activity Map (Active diagram) 11 Procedural or parallel sex Version UML1.1
Category diagram (class diagram) 3, 5 Categories, attributes, and relationships Version UML1.1
Communication diagram (communication diagram) 12 The interaction between objects; focus on the link relationship On the UML1 version of the collaboration diagram
Component Diagram (component Diaagram) 14 Structure and link relationship of components (connection) Version UML1
Composite structure (composite structure) 13 The composition of the class at the time of execution New in version UML2
Configuration diagram (deployment diagram) 8 Configure the work results on the node Version UML1
Interactive Overview (interaction overview diagram) 16 Mix cycle and activity diagrams both UML2 New
Object Graph (diagram) 6 Configuration of class instances Informal use in UML1
Package diagrams (Package diagram) 7 Hierarchy structure at compile time Informal use in UML1
Sequence diagram (sequence diagram) 4 The interaction between objects; focus on the Order of information Version UML1
Status machine diagram (state machines diagram) 10 Describes how events change state in the life of an object Version UML1
Timing diagram (Timing diagram) 17 The interaction between objects; focus on the timing. UNL2 New
Using case diagrams (use cases diagram) 9 Explain how users interact with the system Version UML1

The types of graphs in UML are categorized as follows:


6. What is legitimate UML if you are a person who uses drafts or blueprints, then one thing is important: don't put too much focus on getting legitimate UML. It's more important to have a good design result for your system.
7, the meaning of UML, although the specification describes in detail the well-defined UML, but it does not mention in the UML super-model of the pure world, what is the meaning of UML.
8, only by the UML is not enough if there is no UML diagram for your purpose, then do not hesitate to use the diagram is not a uml.
9, UML to learn from how no one, even the founder of UML, can not fully understand or use all the things in UML. Most people use only a small part of UML, and only use them to make sense of the line. You have to find the part of UML that you and your co-workers apply to.
If you're just beginning to learn UML, I suggest you focus on the basic types of class diagrams and sequence diagrams first. They are the most common types of graphics, and in my personal opinion, they are also the most useful.
Once you get the hang of them, you can start looking at some of the more advanced category diagram representations, and of course look at other kinds of graphics.

"UML Essentials" notes-Chapter I.

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.