View about UML

xiaoxiao2021-03-06  21

This is some long, it takes some time, I picked some wonderful photos: http://www.umlchina.com/Best/g35/u1153383.htm

Newjing: I will join this forum today, I found that everyone is very busy, I also write some feelings to share with you.

UML can be fired, which is both I expected (嘿, small past professional direction modeling) is also unexpected. But I have a lot of people who are sought after by the UML or not, but there are also a lot of cow b's GG. When I recruit system analyst, I have a resume to marching the GG of UML, I asked him, what Is UML, he tells me - the drawing tool, I just call him home. Regardless of the learning UML is to improve the ability to analyze it or find a job, you have to understand, UML is just a language, just a communication tool, a language collection, Metamodel unified, unified, true Guide us to conduct demand analysis and system design, but it is not external self-engineering literacy and engineering experience. In the recruitment example, the topic I have given a simple elevator model, one person can draw a very complex and detailed Class Diagram Diagram, Sequence Diagram, etc., the other is not good for the details of Diagram, but on the other hand, The latter considers that the top floor and the underlying layer of the elevator are different from the intermediate layer, can not be described in the same class, if I should hire, I will not be a very beautiful UML picture but let the elevator to get into the GG on the ground Bar.

For many graphical descriptions in UML, many people may feel very headache, I don't know where to start learning. As an earlier contact with UML, I hope to provide you with a little suggestion. For primary start, UML Distille is definitely preferred books, while going to Rational's Forum, there will be a lot of cases of case analysis and questioning. If you understand the UML in-depth, it involves semantic hierarchical, such as synchronized, what is the meaning of asynchronized, how to consider synchronization when modeling, is not too similar, if you are interested, it is recommended to read some forms Language formal methods, a little understanding of Z language, CSP, etc., it will be very useful.

In addition, UML can be used to model it, but absolutely not God, although the version is constantly upgrading, from simple graphics to Joching OCL to join a variety of Pattern, there is still a lot of semantic defects. Everyone knows that if a language is incomplete, it will cause ambiguity for precise system design. If it is completely dependent on UML, it will bring a lot of problems. In fact, this is also a mathematical language such as Z / VDM / CSP and so on. s reason. But UML is used for our universal project, which is indeed greatly improved relative to the past Word documentation and Visio.

My opinions must have a loss, hope to discuss with you.

Smilemac: In the programming, it has become a popular article. Everything is unclear, but dares to talk to the operating system design. The main system does not understand anything else, but dare to say any operating system. How to do it, watching "XXX21" and software engineering fashion magazine (To be honest, now the level of many books is really unable to compliment) people who dare to be Self-consisting of XX experts.

"I asked him, what is UML, he told me - the drawing tool, I just call him to go home, etc." Oh, this recruitment efficiency is very high. " NEWJING: Small thinks, there is a certain reason for the core workpiece of UML as a development. A software development process is a process of understanding the needs of the needs, and the process of implementing the system from the head. The development process is the fact that when the division of labor (even if it is not divided into work, one person is developed for a long time to develop), for example, whether the demand analysis truly seizes the core needs of the user, the design is consistent with demand analysis. The program implements whether the design is consistent, whether the style of the various developers is consistent, whether the interface is unified, whether the test work is carried out in accordance with the requirements, and so on. So, we must have a means to maintain the continuation and unity of our entire project idea, and the emergence of UML has solved this problem to a certain extent.

But whether UML can play this role in any project, I am voting against votes. It may be because I have the past is how to use formal method to supplement UML (huh, ridiculous past has been attacking UML mixed papers, now relying on UML mixed food), I think many innate shortcomings of UML still can't make up, this is also FM Alternative reasons. For example, UML lacks fundamentally semantic support, it is easy to prove that a Formal Model can develop tools to perform Type Checking, Model Checking, but now is the best Rational Rose / ILogix, and only simple lectures, so for accuracy The system, UML is difficult to guarantee accuracy in detailed design phase. Of course, UML has been working hard in improving accuracy, and the addition of OCL plays a certain role (but still adding simple logic judgment class natural language). But even if there is currently this situation, how many people really understand and accurately apply UML, the UML design map of IBM engineers is terrible, a Class draws two arrows, always expressing clearly whether Concurrent or sequential .

I still insist that UML is more suitable for the expression of analyzing and design ideas and demonstrations, software engineering ideas, rather than performing precise design. The more abstract direction, the greater the role of UML. Even Booch does not also say that he wants to study the rest of the UML in Software Architect. So I have always thought that David Garlan is much better than BooCh cattle in theory research :)

Welcome your big brother to advise!

Billiondelly: Martin Fowler is questioned with the future of UML, and the UML may have two usage in the future: 1), as in the past, as a bridge, expressive thinking, simple and clear method. 2) Accurate semantic definitions become new "programming" language! Newjing Since the original work is "How to use Formal Methods Supplement UML", will not "not feasible"? This is the case, but I didn't look carefully, I don't know if I can reach 2) requirements in the future. Is UML possible to become a fully formal language? Of course, it is not possible after it can be achieved, but it is not possible to turn to FUML, but as long as it can maintain UML original simple and easy-to-use, intuitive advantages while ensuring the semantics, how can it be?

Newjing: I didn't think I didn't think of the dynamic model with static views. Modeling methods have many kinds, but Usecase Driven is also good, Data Driven is also based on static class. A big difference I want to model and encode is that (overall) What is the function of how to do anything and (local) how to achieve any function. The elevator is a very complex model, and there are many people to study an elevator model throughout the doctoral stage. There are countless variations, such as synchronization, algorithms. . . When I gave me a table, I gave me a question, IF u is an elevator engineer, how would you test a lift? I said that my brain said a bunch, the examiner also asked And? And? and more? For example, I didn't take into account the impact of acceleration on the cable when the elevator started.

I agree with your point of view, UML does not provide the mechanism of weighing dynamic models. In fact, there are two diagrams in UMLs that have exact semantics, one is the other of the ER evolution Class Diagram, Statechart (unfortunately the name of Michael Jones is not as widely known as Booch). UML, graphics all unified (?), But there is no unified. I can build a unified semantics in this kind of spelling. I am very suspicious. That is, because Class Diagram is simple and clear, so now UML's Case tool claiming code production is also able to process some static things. As mentioned below, he thinks that UML may evolve into a new programming language. I don't believe that from Model to Code, it is refinement, and now there is no conviction research results, and countless People don't believe in refinement, and people have less participation. The Refinement effect in the current modeling language is better, but also B language, but only uses some small programs, more is to do Automation. Now Microsoft has a group in studying FM, maybe their participation can get some new stuff.

Smilemac: In addition, the model is not related to the code, and the discussion does not need to be written, but the code can be the most accurate reflection of the design ideas, thousands of words, it is better to understand the code.

Rode: About static and dynamics, actually involving a modeling of modeling. That is, the elevator modeling is used to model the control software of the elevator, which is two distinct problems. To model the elevator, the purpose is to abstract the operation of the elevator, and the effects of the various outside worlds are used as boundary conditions or input parameters, and the corresponding constraints are established for this model. On this basis, we begin to discuss the model of the elevator, for example : Synchronization, communication, etc. (I have a very deep problem for me, I don't dare to talk deep); this is a lot of problems require dynamic models to describe, or use equations to describe. However, it is different for modeling for the control software of the elevator. First of all: The modeling of elevator software is based on the elevator model of the above, that is, the elevator model is the theoretical basis for elevator control software. In software modeling, there is an additional element that needs to be added, which is the human (using the software) and other systems communicating with the software. At this time, the user, the external system is existing as the modeling element. Then, in this, our dynamic model is mainly embodied in terms of interaction of users and elevators. The model of the operating mechanism of the elevator is described, is actually existing as an algorithm (or a piece of code exists, which is the content described in the elevator model). Software modeling, from a high perspective, his elements are actually: Subsystem, class (or interface), components and nodes model and dynamic interaction of system functionality (can be considered dynamic) model). BBMUD: UML, unified modeling language, from the name you can know, this is just a means of illustration of the model, is not the modeling process itself. If there is a relationship between them, it is UML to describe the modeling process. Intermediate and final results.

Newjing: Oh, the brother said some truth.

What is systematic analysis? What is the difference between design? This question, I want to say two words. It is difficult to divide the boundaries between the analysis and design, and this Boundry has an interior and demand and design, which is related to the needs and needs of the demand, and the individual habits are not related to the process regulations of different companies. This issue is also present in the modeling of FM.

I have a relatively fuzzy principle to distinguish, and the user (non-software personnel) can describe the clear functional level as the boundaries. For example, in the past, a building's lighting system has been designed, and the light in the house is adjusted according to the natural light intensity of the window, then there is a need for natural light inductors. For this Sensor, I will use it as a stereotype in the demand description, and there is an interior. In the design phase, how to operate inside (this is a typical asynchorized sensor).

Traditional methods and uml can be converted to each other, I agree to your opinion, definitely, because it is nothing more than language and language conversion. For example, the mathematical language tells the "one-one map", four words let everyone understand, but the natural language may explain half a day. But whether it can describe the UML model with traditional methods, it is difficult to say. The semantics of the two languages ​​are unable to find a match, need to extend the part of Semantics to match.

Market salesperson participates in systematic analysis, I don't have it, I don't agree. If the system analysis is done by market staff, then there must be an analysis process that converted to software system before design, that is, after two Tao analysis. Of course, this depends on the definition of system analysis.

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

New Post(0)