Summary:Class Diagram(Class digoal) is probably the most commonly used one.UMLGraph. The basic syntax of a class chart is not complex. You may be able to master it for a maximum of two or three days. However, it may take several years to truly use a class chart. Class diagrams are an important tool for training the ideas of Object-Oriented Analysis (OOA: object-oriented analysis) and object-oriented design (OOD: object-oriented design, it is an important tool for business structure modeling. This chapter will have a lot of practical exercises, and your OOA thinking will be greatly tested and improved.
This article has a total length of more than 10 thousand characters and dozens of illustrations. Due to the length constraints, this article is divided into the first and second articles.
This article is from Chapter 3rd of the new book "use UML-demand analysis experts.
Author: Zhang chuanbo
Www.umlonline.org
Outline:
Part 1:
3.1 process-oriented and object-oriented
3.2 Basic knowledge of class charts
Relationship between 3.3 classes
3.4 relationship between drill classes
Part II:
The "recursion" Relationship of the 3.5 class and the "Triangle" Relationship
3.6 Examination Management System-comprehensive training of class charts
3.7 object graph
3.8 summary and exercises
3.1 process-oriented and object-oriented
The content of this section involves programming knowledge. If you have relevant experience, read this section carefully. This section aims to clarify some misunderstandings about process-oriented and object-oriented development. If you have no programming experience or are not interested in it, you can ignore this section and read the next section directly. Ignoring this section does not affect your understanding of the next section.
In the early 1990s s, when I was in high school, I first came into contact with computers and learned the first course. Programming Language Basic. At that time, I didn't know what is process-oriented or what is object-oriented. I only knew how to constantly learn basi. C Language Of Algorithm To enjoy programming. The basic language that I learned at that time seems to be a very old process-oriented language.
Later I learned C language, and soon my friend told me that I should learn C ++. I asked: What is the difference between C and C ++? So my friend told me that C is a process-oriented language, and C ++ is an object-oriented language. c ++ is the most different from C ++ in class ), C does not ......
This is my first impression of process-oriented and object-oriented. Later, I learned some object-oriented knowledge. It seems that many things are converted into classes, and classes have features and operations, that is, object-oriented. However, after work, I found that this was not the case at all. It would be hard to say anything about object-oriented. Next, let's talk about my understanding of process-oriented and object-oriented, and hope to help you.
Many years ago Program Only one row Code Later, there were problems such as difficult code organization, poor reading, and repeated code. So I "invented" the method and put a piece of code into the method to implement certain functions for other places to call. The "invention" of the method is a major improvement in the programming history. In fact, the method is encapsulated to a certain extent. As long as the caller gives the input that meets the requirements, the method will return the appropriate output, the caller does not need to care about the specific implementation of the method, and the method can be called in the method. With the development of structured programming, the art of programming is further promoted.
Both method and structured programming are a way to improve programming technology to better solve complicated and difficult problems. However, it was found that the problem became more and more complex, and structured programming began to fail, so someone proposed object-oriented programming. Object-oriented coding is a class-based programming method. Each class has a specific role. The class has attributes and methods, and each statement only exists in attributes or methods. To solve a problem with an object-oriented approach, we need to design one or more classes that can solve the problem and solve the problem through mutual operations and collaboration between classes. Class is a further encapsulation of code, which is a big step ahead of code Encapsulation by methods. The emergence of classes requires the idea of programming to go further.
There are some misunderstandings about process-oriented and object-oriented programming:
1) Object-oriented is more advanced than process-oriented, with no need to focus on basic Structured Programming and programming skills.
The development history of coding mentioned above is simply described as follows:
Code in one line
Code organized by methods
Structured code
Object-oriented Code (Code organized by classes)
It seems that the latter can replace the previous one, especially in the object-oriented programming stage. It seems that everyone can call themselves object-oriented, and there are not many people who can write good code. In fact, the basic coding skills are very important, and structured programming is also very important. If these basics are not good, object-oriented users can only shout. I used to recruit programmers in my previous company. Basic programming skills are required.
2) object-oriented programming is to put code into classes.
My first thought on object-oriented programming was basically like this. Later I used vbprogramming and still failed to really understand object-oriented programming, it was not until later that I used the real object-oriented language C # and learned the UML and design patterns that I began to truly understand. How to design, refine, and plan is a matter of skill and skill. Object-oriented is not easy at all.
3) directly transform the business concept into a class, and assign appropriate attributes and operations to solve the problem.
The modeling at the requirement stage is very different from that at the design stage. Requirement Modeling is the refinement of the business and needs. Excellent requirement modeling is a good start for design modeling, however, excellent design modeling requires more design considerations. It is not simply to convert the business model directly to a change design model to solve the problem.
This book does not specifically introduce how to object-oriented programming, but how to perform object-orientedRequirement AnalysisWe will use the idea of object-oriented programming for demand analysis. People with development experience who are engaged in demand analysis work are easily able to analyze problems from the perspective of "technical implementation" due to the influence of process-oriented and object-oriented programming thinking habits. This requires a transformation process. I strongly recommend that you forget your development experience first. The following content of this book will show you how to meet the requirements of object-oriented analysis through one specific case and practice. When you complete this transformation, you will find that the programming ideology and the thinking for analyzing needs have something in common, but not quite the same, the rigorous, comprehensive, and in-depth analysis methods you develop during programming will benefit you from the demand analysis work.
3.2 Basic knowledge of class charts
Class DiagramWhat is the purpose?
The following is the original requirement document provided by a project customer. Please read it carefully to see if it will confuse you?
"This project is inPhase IAddCable,Communication EngineeringManagement andDetailed Construction dataSo that the entire system can better manageProjectSlaveWinningStartCompletion AcceptanceAnd analyzes the data of the construction process. In this systemOverhead power line engineeringSet as oneOrganization project, That is,ProjectEach organization project is divided into severalProject DivisionEach branch project is divided into severalSub-projectEach project is divided into several identicalUnit Engineering."
The underlined text in this section may be some key business concepts of the system.
If you are not dizzy, please answer the following questions:
1) Can you describe what the system does in one sentence?
2) What are the business concepts in this section? What does each business concept mean?
3) What is the relationship between these business concepts?
The text above is filled with a lot of terms and concepts (underlined words). If you are not a professional, it may be difficult to understand the text above. At the beginning of a project, we often have no idea about the business. The most urgent problem we need to solve is to understand these business concepts and their relationships.
EachSoftwareThe system involves many people, business concepts, and items. There may be many relationships between these items and many things happen. Class Diagrams help us identify these people, business concepts, items, and things, and clarify their relationships.
What is a class?
Have you understood the usage of class charts? We will not go into the dizzy business description for the moment. Let's first look at what is a class?
The various business concepts and characters mentioned in the requirements can all be considered as classes after being abstracted. To better experience what a class is, please refer to the following exercise.
Exercise: How do you classify readers of this book?
It is strongly recommended that you write down the answer before proceeding.
Men and women?
People are nothing more than men and women, so the readers of this book are either men or women. Is the classification appropriate?
What are the differences between men and women when reading this book? What are the benefits of dividing book readers into men and women?
Is this appropriate if it is not divided into men and women, but the elderly and young people?
Students and employees?
When reading a book, students and the incumbent should be different. After all, the basics of the two are not the same. If you are the author of this book, who do you think is the target reader of this book? When writing a book, will you take care of students or working people more? We classify readers not for classification, but for better sales by analyzing the readers.
A class can be called a class. Class has many refining perspectives. We need to select appropriate perspectives based on the system objectives and business scenarios to summarize things.
What is a class chart?
There is only one class diagram, which may be the simplest class diagram. Please refer:
Figure 3.1 class diagram with only one class
A class is a rectangle box with the class name at the top, attribute in the middle, and operation at the bottom ). When a class is displayed, only the class name or attribute, or the class name and operation can be displayed.
Let's take a look at this property: + property 1: Int.
The preceding "+" indicates that this attribute is of the Public type.Requirement AnalysisYou do not need to specify whether the attribute is public or private. You can create all attributes as public.
The Int after the colon indicates that the type of the attribute is int (integer). It is usually not necessary to identify the type of the attribute in the initial stage of requirement analysis.
As for operations, you generally do not need to identify them when using class charts for business modeling.
A class chart usually has more than one class. When there are multiple classes, we also need to express the relationship between classes. Next we will introduce the relationship between classes.
How to identify classes?
The following describes how to use a class chart to obtain a requirement:
1) Identify the class.
2) identify the main attributes of the class.
3) depicts the relationship between classes.
4) analyze, abstract, and organize various types of data.
Let's use the following exercises to experience steps 1 and 2.
Exercise: you need to doTrainingManagement System, please use a class chart to identify who is in the classroom? What are the key attributes of these people?
It is strongly recommended that you continue reading the following content after completing the tasks independently.
There are two types of students in the classroom:
Figure 3.2 students and lecturers 1
Note: This graph is a simple method of graph class, which only expresses the class name.
These two classes have the following key attributes:
Figure 3.3 students and lecturers 2
Note: The class diagram above also expresses the class name and class attributes. The property is neither public nor private nor the type of the property to be marked. During business modeling, the attributes of the class chart can be viewed as all public, without the need to mark the attribute type.
This practice scenario is: you need to build a training management system, so when you identify classes and their attributes, you must start from this perspective. If you get a class of men and women, it may be meaningless.
If you identify the height and weight attributes, whether they belong to students or teachers, the training management system may have no value. Think about the attributes of the class you recognize and help you determine whether the class is suitable. Each class should have key attributes that can characterize its core characteristics. General attributes with no special significance do not need to be marked in.
The basic syntax of a class chart is very simple, but it is not that simple to identify classes accurately. In actual work, we needDemand ResearchAll the business objects and characters learned in, draw out their relationships, and finally get a proper business model. Next we will begin to learn the relationship between classes.
Relationship between 3.3 classes
When expressing the relationship between classes, you only need to draw a name for the class, and the attributes and methods can be omitted for display.
"Straight Line" Relationship
A and B are related to each other, but they are not sure about the relationship. We can draw a picture like this:
Figure 3.4 "Straight Line" Relationship
This "Straight Line" relationship is actually an association relationship, and "association" isUMLStandard Chinese terms, but in order to make it easier for everyone to understand and remember, I will use some old saying.
DoSoftwareRequirement AnalysisIf you think there is a link between the two business concepts, but you cannot determine what the two concepts are, draw a line to connect them. With your understanding of the business, this line will be further embodied. You can add more elements to this line.
Figure 3.5 one-to-one relationship
In this figure, classes C and D are connected in a straight line, but each of them has a number 1, indicating that a C corresponds to a D.
Figure 3.6 One-to-multiple relationship
This figure indicates that an e corresponds to 0 to multiple F, and * Indicates 0 to multiple.
Figure 3.7 one-to-zero relationship
This figure indicates that a G corresponds to 0 to 3 m, "0 .. 3 "indicates 0 to 3," 1 .. 4 "indicates 1 to 4," x .. Y indicates X to Y (X, Y indicates any natural number, and x <Y). Note that there are two vertices (".. ") instead of a point (". ").
Figure 3.8 role relationship
This figure shows the relationship between I and j. In this relationship, I is the boss and J is the subordinate. We can mark the two ends of the online bar in this relationship. What roles are they in.
You may notice why there is a "+" before "superiors" and "subordinates? "+" Indicates that the role type is public, and "-" indicates private.Software DesignThis is required only when you use this function.Software requirementsDuring analysis, you do not need to ignore these symbols. You can simply draw them as "+.
What does this line mean if it turns into an arrow? See:
Figure 3.9 "navigation" Relationship
This figure indicates that a can find B, and the arrow represents the direction, from A to B.
When writing code, if a member variable in Class A saves a reference to Class B, that is, Class A can find Class B, it can be shown as 3.9. This explains the meaning of the arrow from the perspective of software design. What does the arrow mean for Software Requirement Analysis? The following is an example:
Figure 3.10 relationship between the application form and the person on leave
The leave form lists who requested the leave, so we can find the leave form. During business analysis, it is often found that business concept A can find B. In this case, lines with arrows can be used.
Line relationships are the most common relationships. The simplest line relationship is to draw a line between two classes. We can also further refine this line: at both ends of this line, we can mark numbers and names. numbers represent the relationship between several pairs, and names represent in this relationship, the two classes at both ends of a straight line are roles, and this line can also be a straight line with arrows. Straight Lines, several-to-several relationships, roles, and arrows can be used together, as long as the business relationship can be accurately reflected.
The linear relationship is just an old saying. The standard of UML Chinese terminology is the association relationship. In addition, sometimes, because there are too many classesClass DiagramIt is easier to read. You need to draw a line into a line, such:
Figure 3.11 "line" Relationship
"Include" Link
A department has multiple employees, which can be expressed in a class diagram as follows:
Figure 3.12 "include" Relationship
There are two types of representation: hollow diamond and solid diamond. The two diamond types indicate that the values are strongly different. The Hollow diamond type indicates that the values are weak and the solid diamond type indicates that the values are strong. You can remember this: The Hollow diamond is hollow and weak, which is "weak". The solid diamond is solid and looks stronger. This is a "strong" inclusion.
"Weak" means that if the Department does not exist, employees can continue to exist. "strong" means that if the Department does not exist, employees no longer exist. Another important difference between the two is: if the relationship is "weak", the son can have multiple fathers (of course, only one father can also ); if the relationship is "strong", the son can only have one father.
When analyzing software requirements, I often draw all the contained relationships into "weak inclusion". If some relationships are found to be "strongly contained, I converted it into a solid diamond.
Please pay attention to the direction of the content. If you are new to learning, you can easily reverse the direction.
The "*" number on the employee side indicates zero to multiple users. If it is "1 .. "100" indicates 1 to 100 people. If there is no specific number on the department side, it indicates "1". Then, an employee can only belong to one department. What should I do if an employee belongs to multiple departments?
Figure 3.13 multi-to-Multi relationship between departments and employees
"*" On the department side indicates that an employee can belong to multiple departments. Note that in the "strong inclusion" relationship, an employee can belong to only one department.
The "weak inclusion" and "strong inclusion" statements are just an old saying that makes it easier for everyone to remember and understand. The standard UML terminology of hollow diamond is aggregation ), A solid diamond is a combination (composition ). In the past, I was dizzy when I used to look at UML data and encountered aggregation and combination, because the explanations were too complicated. Even now I have met these two words, I need to pause for a moment to think about them. If you are a friend who has just learned to include a link, you only need to remember the saying "weak include" and "strong include.
"Inheritance" Relationship
My previous company had a dailyTrainingThe internal staff of the company as lecturers to share their knowledge and experience. Employees can be students or teachers on the stage. The following figure shows the students and teachers:
Figure 3.14 students and teachers
What are the commonalities between students and lecturers?
Are students and lecturers not employees? all employees have the following attributes:
Figure 3.15 employees
Note: This figure only lists the attributes of three employees.
Employees, students, and lecturers can indicate the following relationships:
Figure 3.16 relationship between employees, students, and teachers
Students and lecturers "inherit" employees. They have attributes of employees and their own unique attributes. Another saying is: students and lecturers are employees.
The basic description of "inheritance" is as follows:
Figure 3.17 "inheritance" Relationship
This means that a inherits B, and a has B's characteristics, but also has its own characteristics. Be sure not to make mistakes in the inheritance direction.
"Inheritance" is also an old saying. The standard of UML Chinese terms is generalization. This figure can be read as follows: A is generalized to B. Generalization is difficult to understand. You can understand this word as abstraction or abstraction.
In actual software requirement analysis, we often have two perspectives of understanding things. We use the relationship between employees, students, and teachers as examples to illustrate.
Angle 1: At the training site, we saw students and teachers. Later, you discovered that the teachers were originally from internal staff! So you can start with students and teachers and find that students and teachers are actually employees!
Angle 2: As a leader of the company, the company hopes to form a learning and progress ethos and promote the company's progress. Therefore, the leaders hope employees can share their knowledge and experience with each other. From this perspective, leaders first think of employees, and then further discover that employees can be students or teachers.
In the generalized relationship, for example, in Figure 1.17, we may first find a and then export B. Then we can say that a is generalized to B, or we may first find B, and then export, in this case, a inherits B. Generalization (inheritance) is an important means for us to refine our business. We will have more examples and exercises later.
Dependency
If a smoke ghost is like a smoke and cannot live without smoke, it can be expressed as follows using a class chart:
Figure 3.18 relationship between smoke and cigarette
The dotted arrow is the dependency relationship. The dotted arrow is similar to the solid arrow of the navigation relationship. Do not confuse it. The two represent completely different meanings.
If Class A depends on Class B, the class diagram is as follows:
Figure 3.19 dependency
For the so-called dependency relationship, the degree of dependency is quite short. Not necessarily, a cannot "survive" without B. In the specific business logic, for a thing, a needs B's assistance to complete, which is also a dependency.
This section contains a lot of content, and you may have a little indigestion. In fact, the content described above is often used in demand analysis, and the most commonly used is linear relationship.
At the beginning of this article, you will use exercises to help you understand and consolidate this knowledge. It is strongly recommended that you finish thinking independently after reading the questions, and then continue to read the reference answers.
3.4 relationship between drill classes
Exercise 1, 2, and 3 are simple small exercises, and Exercise 4 is more difficult. These exercises not only allow you to consolidate the knowledge learned in the previous section, but also include some basic knowledge that you have not introduced before. They also allow you to experience what object-oriented analysis is and learn how to use it.Class DiagramTips for analyzing requirements. Are you ready to accept the challenge?
Exercise 1: the relationship between you and your other half
Are you married? If you are married, use a class chart to describe the relationship between you and your other half?
If you are single, do you have a boyfriend or girlfriend? If so, can you use the class to draw a picture of the relationship between the two of you?
If you are not the other half, and you have reached the appropriate age for love, You Should Virtualize a person in your mind and draw relationships between you and your virtual person in the category.
If you are not in love or age, you do not need to complete this exercise. You can directly look at the reference answers below.
If you are married, your relationship should be:
Figure 1.20 relationship between you and your other half 1
If you are a boy, your role in this relationship is husband. If you are a girl, you are a wife. A husband can only correspond to one wife. Shouldn't you draw one to many?
The figure can also be drawn as follows:
Figure 1.21 relationship between you and your other half 2
The "husband-wife relationship" in the figure above the straight line indicates the name of the relationship. You can name the relationship, but this is not necessary.Requirement AnalysisThis kind of requirement is rare at work.
If you are not married, but you have multiple boyfriends or girlfriends at the same time, your relationship can be expressed as follows:
Figure 1.22 relationship between you and your other half 3
"1 .. * "indicates one or more boyfriends. It is a bad relationship, we strongly recommend that you change the relationship between one-to-many to one-to-one, and you may be one-to-many by others one day.
If you have no other half, you can draw it like this:
Figure 1.23 relationship between you and your other half 3
Your other half exists as a "virtual lover.
If you love your other half, you depend on your other half. Without her, you cannot live, and she is your necessities, you can draw it like this:
Figure 1.24 relationship between you and your other half 4
You can draw this image with your other half and explain it to her (him). Your other half will be very happy.
There is no fixed standard answer to the relationship between you and your other half using a class chart. What you draw may be different from the above reference answer, as long as your logic is correct, this figure is suitable.
The following describes the image reading check method to help you check whether the class picture is suitable.
You can read images from left to right and from right to left to see if there is anything unreasonable. Take 1.22 As an example. Read from left to right: one corresponds to one or more of your other half. Read from right to left: one of your other half corresponds to one of you, instead of reading it as one of your other half. Note that when reading from the "multiple" side to the other side, what is the corresponding number of items, no matter which side you start reading, it is "1 ......" .
Exercise 2: relationship between the company and its employees
I learned about the relationship between departments and employees. What is the relationship between the company and its employees? Please use the class picture.
Figure 1.25 relationship between companies and employees
This figure indicates that the company "contains" Multiple employees, and the company also has a "*" number, which means that an employee can be employed by multiple companies. In fact, many companies prohibit employees from being employed by another company or working part-time jobs at the same time, so that the company cannot draw a "*" number.
The content here is weak content. Can we draw strong content? If the company does not exist, does the employee still exist? If a company does not have any employees, it does not mean that the original employees have disappeared and they still exist. This problem is quite tangled. Whether it is weak or strong-contained, the standards of each person may be different. I do not recommend that you be too entangled in weak or strong-contained content, in most cases, I only use weak content for requirement analysis. Strong content can only be used in obvious cases.
Exercise 3: Relationship between bananas, apples, and Pears
Have you ever eaten bananas, apples, and pears? What is the relationship between these three items? Please use the class picture.
You may think this exercise is a bit "nonsense". What is the relationship between the three fruits? They are nothing more than delicious!
Figure 1.26 relationship between bananas, apples, and Pears
This figure shows that bananas, apples, and pears are all fruits. In professional terms, bananas, apples, and pears are generally considered fruits. Unlike teachers and students mentioned above, employees do exist, while fruits are generally called fruits, the fruit we see is a specific fruit. After generalization, a class may be an abstract thing, which is invisible and a concept extracted from our head.
Bananas, apples, and pears are generalized to fruits. Fruits can then be generalized to food and food can be further generalized. Is it necessary to continue generalization? To what extent is generalization appropriate? In general, if there are two or more business concepts, A, B, C, and so on, we find that they have some common features, we can consider generalization of them into another thing, this helps us to discover the essence of food. But if there is only one A, there is no need to generalize a. For example, bananas, apples, and Pears have been generalized to fruits, fruit does not need to be generalized to food. Of course, this is only a general rule. The specific level of generalization depends on the specific business analysis needs, and it depends on your own.
Exercise 4: organizational structure of the company
This exercise is a bit complicated. Use a class chart to describe the organizational structure of your company. If your company is relatively large and you do not know the entire company's organizational structure very well, please use a class diagram to describe its organizational structure for the part you are familiar. If you are a student, describe the organizational structure of your university, school, or department.
We can use an organizational structure diagram to describe the organizational structure. Why do we use a class diagram to express it? It is very convenient to draw an organizational structure. Instead, it is a bit awkward to use a class chart to express the organizational structure. Should it be of greater benefit? Please complete this exercise with these questions.
A company is only a small and medium-sized company. It is composed of one department and its organizational structure may be as follows:
Figure 1.27 organizational structure 1
The company has an administrative personnel department, a R & D department, a service department, a sales department, and a Finance Department. This figure shows how many departments the company has, so it can be done by drawing one more include. In this way, it does not seem to show the advantages of a class chart at all.
What about the method below?
Figure 1.28 organizational structure 2
Note that the four words in the abstract section in the figure are italics, which indicates that this class is an abstract class. abstract classes indicate that this class is a concept extracted and does not exist, what actually exists is to inherit specific departments of abstract departments.
The bananas, apples, and pears mentioned above are generalized to fruits. Fruits are actually an abstract concept. The fruits in the previous figure can be drawn as abstract classes.
This organizational structure diagram has revealed to some extent the essence of the company's organizational structure. A company is composed of departments, but the specific departments of each company may be different. Such an expression effect cannot be expressed using a common organizational structure diagram, and class diagrams can give full play to the advantages of abstraction and refinement.
The following figure further reveals the nature of the company's organizational structure:
Figure 1.29 organizational structure 3
A company consists of multiple departments, but to form a complete company, these departments should be divided into three types:
Marketing Department: Responsible for marketing and product marketing.
Production Department: directly produce the product department of the company.
Support Departments: departments that do not directly produce the company's products, but support product production or support the company's operation are essential.
In this figure, the marketing departments include the Planning Department and the Sales Department. The production departments include the R & D department, the Implementation Department, and the IT department. The support departments include: IT department, quality department, Finance Department, and administrative personnel department, the IT department is both a production department and a support department.
Some specific departments are explained below:
The Implementation Department is responsibleSoftwareThe system is installed on the customer's site to ensure that the Department that runs the system goes online.
The IT department is mainly responsible for two functions. On the one hand, it must ensure the company's internal office software and hardware environment, and on the other hand, it will undertake some external network engineering to make profits directly for the company. The first aspect is support, while the second is production.
The quality department is responsible for testing and process assurance. This Department supports R & D department and Implementation Department, so it is also a Support Department.
Dividing a department into marketing, production, and support is just an abstract method. Each person may have different standards and may have different abstract methods in different situations. The above is only an example. You must never regard it as a fixed standard.
In general, the organizational structure of the above three companies, represented by class diagrams, is not targeted at large companies, A large company may have different division methods, such as subsidiaries, subsidiaries, and business units. The organizational structure is extremely complex. It is quite difficult to use a class chart to accurately express it and reveal its nature. We hope that the above three examples will give you a preliminary understanding of the advantages of business extraction using class diagrams.
The above four exercises cover the relationships between classes you learned in the previous section. In my experience, linear (association) relationships and inclusion relationships are the most commonly used, while general (inheritance) relationships are also widely used, but not many dependency relationships are used. In terms of the difficulty of use, generalization (inheritance) relationships are the most challenging and test your ability to discover the essence of things.
Is a class chart very interesting? The following sections will be more interesting, but at the same time the difficulty will be further increased. If you like the challenge, you will not be able to retreat!
Author: Zhang chuanbo
Www.umlonline.org/school/
--- This is the end of the previous article. Please refer to the next article ---
next article: http://www.cnblogs.com/umlonline/archive/2011/10/17/2215866.html