"Elephant Thinking in UML"

Source: Internet
Author: User
Tags abstract
Recently, the book "Elephant" has been read, from last November to the present, for a full five months.
On the one hand, because of the work of this period of time, life things are more, very little time to read the whole block;

On the other hand is also reading this book, while reading the side of the expansion, the last recorded 13 notes.

Elephant Thinking in UML learning Note (a)-why UML is required.

"Elephant Thinking in UML" Learning Notes (ii)--Modeling Basics

Elephant thinking in UML Learning notes (iii) Participants, use cases of--UML core elements

Elephant thinking in UML learning notes (iv) Boundary class and entity class of--UML core elements

Elephant thinking in UML learning notes (v) relationships, components, and nodes of--UML core elements

"Elephant Thinking in UML" learning Note (vi) static view of--UML core view: Use case diagram, class diagram

"Elephant Thinking in UML" learning Note (vii) Dynamic view of--UML core view: Activity diagram, timing diagram

"Elephant Thinking in UML" study notes (eight)--preparation before project start

"Elephant Thinking in UML" learning Note (ix)-demand acquisition

"Elephant Thinking in UML" study notes (10)--demand analysis

"Elephant Thinking in UML" study notes (11)--System analysis

"Elephant Thinking in UML" study notes (12)--System design

"Elephant Thinking in UML" study notes (13)--Thinking in refining
After reading the last feeling as if he had opened the two veins, a lot of previous work problems enlightened.
A system from zero to one, before knowing what to do, and now finally understand some of the reasons why and the benefits of using UML.
Although some of the contents of the book are not fully agreed to, but the whole idea of the book has given me great inspiration.

In general, aside from specific tools and concepts, I think this book gives me the following revelations:
1.UML is a language
Language is the main way to communicate, including words and grammar.
The UML word is a variety of elements, views and models, syntax is the method of modeling
The most basic function of a language is to be able to express and convey information clearly.
The most basic thing about UML is to clearly express the system that needs to be done by the model.

the 2.UML uses an object-oriented approach
Object-Oriented is a method of cognitive world, in object-oriented method, everything with name is object.
Objects and objects are independent of each other, and only one particular instance of them is connected to each other in a particular scenario
Each object is a whole, indivisible internally, and externally accessible only through boundaries and other objects
Objects that participate in each scene will exhibit one aspect of their nature, which can be abstracted.

3. The essence of modeling is to abstract the real world into models
The same thing produces different results in the eyes of people of different world views, and this worldview is modeled with an abstract perspective.
Once the abstract angle is determined, a goal is determined.
A goal determined by an abstract angle needs to be done by a static thing plus a specific scenario produced under a specific condition, i.e. a static thing (object) + a specific condition (rule) + a specific action (driver of the participant) = a specific scene (event)
Modeling is the fact that people + things + objects + rules, the real world abstract into a model

4. Start of Project
The start of the project starts with the "Boss" vision, and in the boss's eyes, why develop the system
Then there is the stakeholder analysis, who cares about the system. Would relate to his interests.
Again is the investment, willing to spend how much money, allow how much time.
Finally, there are risks, such as less customer involvement, no measurement, technical risk, major objections, and previous cancellations.

5. Customer Interview Skills
In general, the system analyst is a computer expert, accustomed to from the computer point of view, the customer is a business expert, accustomed to the people around the business is familiar with the field.
So the system analyst needs to change his position, understand what the business is, and figure out why the business is.
First of all, there should be a detailed stakeholder analysis of the report, gradually from contact to in-depth understanding of the customer;
Secondly, do not rush into the details of the business, but first on some of the big box to communicate, take this habit and understand the other side of the way of communication;
Thirdly, the time of the two sides is limited, so every meeting need to race against the clock, the fastest time to clear up the problem;
Finally, the system analyst will have to bear the record of each meeting outcome, and need formal feedback and confirmation, so that later and the customer in the need to change the basis.

6. Demand Acquisition
When conducting demand research for each business, it is first to clarify the boundaries of the business, and the division of each boundary indicates the starting point of the demand analysis.
Get business use cases by finding business leads, interviewing business leads, or interacting with the system from the perspective of the business lead
Build in addition to business models by expressing them with appropriate views based on business use cases
There are two common views of business Modeling: Activity diagrams and time series diagrams
Activity diagram activity is the main content, the content is the business lead or business workers do what; time series diagram, the message is the main content, the content of the expression is the business lead or business workers passing between what

7. Demand Analysis
Demand analysis first to find the key concepts, the key concept is to support the customer's entire business structure of the main line, in the UML method, is composed of some key business use cases
According to each key concept, combing out the relevant concept use cases, obtaining the conceptual model
Each conceptual model represents a function that is linked by a software architecture between each conceptual model.
Starting from the concept model, we find each large business component by finding the main line of business, then decompose the domain model into small component, then find the dependencies between the small components according to the conceptual model.
So we get the business structure of the project.

8. System Analysis and Design
The system model is obtained by abstracting each business model into a model describing the system.
Business use cases are abstracted as the basic methods of system use cases: mapping, abstraction, merging, splitting, deduction, etc.
The result of system analysis is to obtain the system of each analysis class, these analysis classes can basically be divided into entities, boundaries, control three categories, and the development of MVC exactly corresponding
The results of the analysis class are considered to implement the language and the implementation way, that is, the system design, the result is that the development can be directly used in the class, package and interface

9. Theory and Practice
"Elephant" This book although the author gave a lot of vivid examples, draw a lot of pictures, but overall is still very boring
For the book theory, the degree of abstraction is relatively high, professional vocabulary is also more, so it is really difficult to look down
However, UML, as the industry standard of the present visual modeling language, itself originates from the method of object-oriented analysis and design.
The purpose is to express the dynamic and static information in software design more clearly and simply.
So if it turns out that the actual project will often feel enlightened, but forcibly to understand from the concept will often make themselves more ignorant
In addition, I think the greatest achievement of UML learning is to have such a way of thinking, how to analyze and design a system
But really in the very praise of "agile development" now, I think that UML is often not as good as a high-real axure more able to convey clear software design information

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.