Source: http://go1.163.com/~zmofun/software/howTouserose.htm
***** ROSE introduction (1. Object-oriented modeling) ***** The concept of object-oriented modeling is to understand the object-oriented CASE tool (, wait, what is Case? - CASE is Computer Aide-d Software Engineering, that is, using a computer to help people create software to automate software generation processes. We do software, but use software to paint objective things and contact. After the correct understanding of the objective world is formed, if the software can be mapped to the software ingredient, the software must be the correct description and mapping of objective things, which is correct. If there is a problem in this process, whether it is in the human brain's understanding (this is not a demand analysis?) Or the mapping phase of the software component (this is not a software design?), Will fail. Object-oriented ideas provide strong and intuitive support for this model (唔? - Objective World has a sub-program? But the objective world has "student" objects, and there is also a "course" object. Object-oriented Is the description of the objective world is more intuitive, better understanding? - Of course!). In a long time, people have been trying to create an object-oriented visualization language and approach, enabling modeling people to more intuitive and strictly describe the objective world, and produce some genres, such as YourDan and COAD OOA, OOD, BOOCH method , Rumbaugh's OMT, Jacobson's OOSE method, etc. History has developed to today, Booch, Rumbaugh and Jacobson work together to absorb all kinds of genres and other related fields, and finally create a more mature and comprehensive object-oriented modeling language --uml (said words in the world, Long-term, long-lasting must be inheate). And integrate UML into Rational's Case Tool Rose. Rose tries to model most of the process (except tests) of the UML language support software development. In Rose, as long as you describe the individual components of the software with UML (which is to establish an object-oriented model for software), Rose generates most source code for you (this is not a lot of time. Can you play more quake! - More importantly, you can make full use of OO's advantages, such as model stability, reuse, etc., which will greatly reduce the cost of software maintenance and upgrades. Don't forget, maintenance and upgrade costs often account for 7%, eighty!). Next article I will introduce you to the modeling idea of UML. ***** Rose introduction (II. UML modeling ideology) ***** See everyone is so interested in rose and uml, beans are really excited! Next I want to introduce you to UML modeling ideas. Just my two friends - Old Di (1) and Xiaoling (0) are also learning Rose and UML, let's learn together .let's go! Small Spirit: God, what are you taking? Old: Xiaoli, I just got Rose 4.0 and UML 1.1 from the Chihua BBS, I was close to practice! Xiao Ling: Hey, this is really sesame, it is in the needle - Quality! I also got it from that. (Xiao Ling and the old handshake handshake.
Xiao Ling: There is too much concept in UML, it's really big! There is so many flowers green graphs, I am now a dog bites the hedgehog - there is no lower level. Old, can you help me? Old Di (big, his head): Indeed, I also have the same feeling. However, where did I start talking? Xiaolong: Hey ... It is best to start from demand analysis. Old: Ok. Xiaoli, if you got a project, I want to build an OO modeling method to build, what should I do in the first step? Xiaolong: I have seen YOUDAN and COAD OOA, OOD book, I want to analyze the object of the problem first? I started from the characteristics of the problem and their own experience. What objects are analyzed in the analysis issues, how is their relationship, and So ON. But this always gives people a "mysterious and mysterious" feeling, all experience and feelings. And take these pictures to the user, they are the monk of the two - I can't touch my mind. Old: Hold! This is the use of USE Case. Xiaoling (excited): Right, tell me this USE CASE is something. I don't know how to translate. Old: I don't know how to translate, so I can't turn it. Originally, there is a foreigner, or it is car, hey. Use Case first was first proposed by Jacobson, one of the Rational Sanji, who is proposed in his OOSE method, because it is very useful, it is now inherited to UML. OO thinking has been criticized by some people, the reason is that users are concerned with the system's function. He cannot learn your OO model, so although OO modeling reduces the divide design and encoding gap, But the distance from the user is far away. Xiaoling: criticism is very prosperous! Old: Yes. I think the traditional OO model is not as good as the functional analysis of users! However, with use case, the situation is greatly changed. A USE CASE is a consistent functional unit embodied to the outside world, and the system externally or other system (that is, Actor!) Uses the system's functionality to exchange a series of messages with the USE CASE. Xiaoling: Hey ... this is nothing wrong with this and functional analysis? Old: Don't worry. Note that USE CASE is done by an object in the system, interacting, rather than functional analysis, is implemented by a caller between subfamily, which makes up for ooofer and the lyrics between the OO modeling and the user. Xiao Ling: It is purely to make users forced out. Old: The user is God! However, the role of Use case is not only to communicate with users, do demand analysis, and it can also guide the selection of test cases, and the user interface design and even write the user manual. Xiaoling: Yeah! So big is so big! Old: In addition to the USE Case analysis, the first step to do also includes the analysis of the problem domain object you mentioned, in fact, is a class analysis. Use case analysis and class analysis can support each other, supplement. Old Dise: User Case and preliminary analysis After doing, we can use the Actors and classes to describe the instance of Use Case. This creates interaction interactions intection diagram. Xiao Ling: Old, brother, how can you translate this time? Old: Trying to (mainly Chinese input and English input to change too much trouble, oh). Interpretation of two - sequential diagrams Sequence Diagram and collaborative map Colaboration Diagram.
They describe the dynamic behavior of the system, which is the interaction between the objects. Xiaoling (crying, face): There is no difference between the two pictures! Anyway, I can't see it. Old: SEQUENCE DIAGRAM and Colabo Bagram are diagrams describing system dynamic behavior. The two are not two in semantics, but SEQUENCEDIAGRAM emphasizes time, and time as an axis explicitly exists, SEQUENCE DIAGRAM is used to describe real-time behavior. ColabrationDiagram is described in the case where the object and its associations are described in the system, highlighting the context of dynamic behavior, and the time is implicitly described (with 1, 2, etc.). Both are the description of different perspectives of the same system dynamic behavior, can deepen the understanding of the dynamic behavior of the system. Xiaoling: It turns out. So, can I draw multiple interactions? Old: Yes! The principle is to say how many acts have, and how many interactions are to describe how objects within the system work together to complete the functions required by ACTORS. Xiaolong: My mom! How many picture pictures do you want to draw? Old: However, don't need to draw so much. Just need to put the most important and most difficult Use Case instances, oh, right, and use case, the instance of use case is called Scenario, which is clear. Xiaoling: Siiiiii ... How to pronounce this word? Old: / si'na: riou /. Xiaoling: / Si'NA: RIOU /, / Si'NA: RIOU /, / Si'NA: RIOU /. What should I do if I don't draw a picture? Old: We only need to make a state in each class. State Diagram is already possible. The state diagram of the class describes what changes occur when the object of this class occurs during the external event, which acts occur. The external events include other objects sent, various asynchronous events, etc. generated, including send messages to other objects, generating asynchronous events, and more. In this way, integrate the status map and interaction map, you can have a more comprehensive understanding of the dynamic behavior of the system. Xiaoling: The analysis is basically possible, and now you will talk about it. Old: We have already begun to talk about it! Xiaoling: Hey? Old: OO modeling is that it is not necessary to draw one to the gap between analytical and design, and the design only needs to further carry out the expansion and refinement of various ingredients based on the restrictions of the system. Old: After the detailed design is complete, we can model the implementation of the system. In UML, this is done with Implement Implement Diagram. Implementing Figure Partial Diagram Component Diagram and two types of Figure DeploymentDiaGram. Xiaoling: This part of the software components that are popular in time, like Java Applet, ActiveX Parts, what is the relationship? Old: This concept is in the method of booch, but it is called module Module. Like a subroutine, a task, etc. is Module. I guess UML in order to adapt to the development of software components, using Component to expand the concept of Module, make UML and software components's ideological combination of ideas. Xiaoling: What is the relationship between component map and implementation? Old: Partial diagram depicts the composition and structure of software implementation. It divides the implementation of the software into one part and organizes components into a package. Analysis When designing a logical package used to organize classes can be mapped to the implemented component pack, and the class can be mapped to the part.
Xiaoling: Yes, when learning Rose, there is always the difference between the package in the package and the package in the Component View in the COMPONENT VIEW. Old: In UML, Package is just a way to organize the composition that is relatively close to the relationship. The package in Rose's LogicalView is used to organize classes. It is called Class Catalog in Booch's method, and the package in the Component View is used to organize parts, and the two basically have no relationship, but the logical package map To the part package, this is to say that the class in this logic package is implemented by the components in this implementation package. Xiaolong: ActiveX and Java have a file called a CAB file cabinet, which packs several constroles or applets, is there some icon implementation package? Old: I think yes. Xiaoling: That way? Old Dise: The image describes the environment that the software system will run, including various computing resources, devices, and connections between these devices. The figures also describe the distribution of various processes of the software system in these resources and devices. Xiaolong: This is the fashionable of the network and distributed calculation! Old: Hey, we engage in computer, it is a lifetime, and make a lifetime flower. Xiaoling (stretched a lazy waist): Ah ... UML is still quite full, in addition to testing, it is packaged! Old: Testing can use the Rational black box test tool SQA, white box test tool PURIFY! Xiao Ling: Get, you are less to advertise for Rational! Old Dise: But tell the truth, the thing is really good. Xiaoling: Old, thank you, thank you so much, really let me open! Old: It's welcome. Xiaoli: I have to go home. Next we will rose Rose. Old: BYE-BYE! ***** Rose introduction (three. Rose's use) ***** These days, Xiao Ling and old donad are carefully studying Rose and UML. On this day, I came to Xiaoling's family to visit a guest and see Xiao Ling is playing Rose. Old: Xiaoling, how is ROSE? Xiaoling: Hey, old, brother, you are coming. Please sit. (Xiao Ling gives the old man, letting the tea) Xiaolong: Old, I found that if the basic concept of UML is, plus some examples, rose is not difficult to learn. Old: Well, let's take a dip. You come to introduce me your results! Xiaoling (clear clear scorpion): OK! Let's take a look at ROSE's interface. (Old and Xiaoli Sitting to the computer) Small: Rose's interface is basically divided into three windows: Browse Window Browser WINDOW, Graphics Window Diagram Window, and Document Window Document Diagram. They come together to create and operate models. The browsing window is mainly to create a variety of model elements and travers and roam in the model. The graphics window is primarily used to draw and display various diagrams in the model, and the document window is used to write and display the description of the model element. Old: Yes. I think it is important to figure out what the model we build and the relationship between the model we have seen. The various patterns in the UML are just from different angles. The same model element can appear in multiple pictures. Xiaoling: This is like the same image, the poet is in the form of poetry, and the painter uses the form of painting. It is the same as the form of music.
Old: Rose, the browsing window, graphics window, and document window are different expressions of the same model, and they organize and express the elements of the model with different methods, so that we can better construct and understand the model. Xiaoling: Well, when we get a project, what should you consider? Old: of course is to examine user needs, cook some USE CASE! Xiaoling: Before analyzing the use case, you must first analyze the actor. It is an external system that analyzes our system and an external system that will interact with our system. Because it is a need for their needs, we determine what kind of function should our system. Old: How do you create an actor in Rose? Xiaoling: In general, creating model elements should be done in the browse window. That is to select the Use Case View, Logical View, Component View, or DeploymentView folder in the browsing window, click Right-click, select the New menu, create the desired model element. Old: I can't build a actor in the USE CASE figure? Xiaoling: Yes. But I am more acactom first build the model element in the browsing window, then drag them into the corresponding figure. This makes it more reflecting the picture of the model's visualization. Old: I think that method can be. Xiaoling: After an actor, we can analyze the features of the system they claim for each Actor, which is USE Case. After creating Use case, we need to drag the actor and use case to the USE CASE diagram and use the arrow to indicate the interaction between them. Old: After the use of the use case picture? Xiaoli: After the USE case analysis, we should consider the event flow of the use case's instance Senario, which usually describes the interactive map (including sequential diagram and collaboration). In these figures, we describe SENAR-IO with messages between objects and objects, thus finding which objects must have, and which messages should be in response to these objects. Old: This is more operability than the way the object is found in the COAD method. Xiaoling: After we finish these Senario analysis, we discovered many objects. Next, we will define the corresponding classes for these objects. Old: These classes are defined and displayed in the Logical View! Xiaoling: Yes, we define these classes in the Logical View, then organize them into packages. Create a class diagram, the relationship between the package, and classes is drawn on the map, and the system's static model is established. These classes will be the most stable elements in the system. Old: Go ON. Small: We can create a picture for each class (you can only create one) status map. Old: How to do? Xiao Ling: Select a class in the browsing window, select the state diagram on the right-click menu, you can create the status diagram of this class. The state diagram describes the state change in the influence of this class's influence of external events. Old: We keep refined and modify these elements until we can easily implement them. Xiaoling: In the implementation phase, we define some implementation packages in Rose's Component View. The definition of these packages should consider the structure of the logical package and the environment. In implementing packages we define some module modules, modules can be divided into subsystems, subroutines, tasks, etc. Then, we shoot the logical package to the implementation package, map the class to the module. This hangs the logical structure and implementation structure of the system.