To successfully develop a project, you need the correct processes, tools, and symbols (annotations ). In this article, the author explains how UML provides you with symbols and how the Rational Unified Process provides you with the correct process, and how Rational Rose provides you with tools for project success.
What is visual modeling?
Visual Modeling is a way of thinking about how to organize models based on actual ideas. Models are useful for understanding issues, communicating with project-related people (customers, industry experts, analysts, designers, etc.), imitating enterprise processes, preparing documents, designing programs, and databases. Modeling promotes a better understanding of the requirements, clearer design, and easier maintenance of the system.
Through consideration of non-essential details, the model becomes an abstract action that describes complex problems or structures. This makes the problem easier to understand. Abstract is a basic capability that allows us to handle complex problems. For thousands of years, engineers, artists, and craftsmen have been building models to extract their design solutions before implementing a project. The development of software systems is no exception. To create a complex system, developers must abstract different system views and use precise symbols to create models to verify whether these models meet system requirements, and gradually add detailed information to transform these models into implementation (implementation ).
We create a model for a complex system because we cannot understand the entire system. Human beings have limited ability to understand complexity. This concept can be seen in the world's buildings. If you want to build a hut in the back yard, you can start building it immediately. If you want to build a new house, you may need a blueprint. If you want to build a skyscraper, you absolutely need a blueprint. This is also true in the world of software. BySource codeThe forms designed in line or visual basic take the leadProgramThe global view of the development project provided by the developer is negligible. The constructor model allows the designer to focus on the global situation of how components interact in the project, without getting stuck in the details of each component.
Highly competitive and constantly changing business environments lead to increasing complexity, which brings unique challenges to system developers. The model helps us organize, visualize, understand, and build complex things. At present and in the future, they will help us solve various challenges encountered in software development.
Triangle of success
I often use the successful triangle shown in figure 1 to explain the components required for a successful project. You need all three aspects-symbols, processes, and tools. You can learn a symbol, but if you do not know how to use it (process), you may fail. You may have powerful processes, but if you cannot communicate these processes (symbols), you may also fail. Finally, if you cannot record your workCompositionYou may also fail.
Figure 1. Successful triangle
Role of the symbol
A symbol plays an important part in any model-it is the "adhesive" that connects processes ". The symbol has three roles:
· As a language service for communication decisions, it cannot be obvious or cannotCodeReasoning in itself.
· The semantics it provides is rich enough to capture all important strategic and tactical decisions.
· It provides a specific form for people to think about and operate on tools.
The Unified Modeling Language (UML) provides sound symbols that have evolved from the scope of analysis to the scope of design. Certain symbolic elements (such as classes, links, aggregates, and inheritance) are introduced in analysis. Other symbolic elements (such as the identifier and attribute of the reserved implementations) are introduced in the design.
History of UML
In 1990s, many different methodologies and their symbolic sets were introduced into the market. Among them, the three most popular ones are OMT (Rumbaugh), booch, and OOSE (jacbson ). Each method has its own value and focus. OMT is powerful in analysis, but weak in design. Booch 1991 is powerful in design but weak in analysis. Jacob son is strong in behavior analysis, but weak in other aspects.
Over time, booch wrote his second book. In addition to other content, booch also adopted a large number of good analysis technologies promoted by Rumbaugh and Jacob bson. Rumbaugh published a seriesArticle, Forming the OMT-2 we know, it uses a lot of good booch design technology. These three technologies are aggregated, but they still have their own unique symbols. Because symbols mean different things for different people, the use of different symbols has brought chaos to the market. For example, filled circle is a diversity sign in OMT, but a collection sign in booch. You may have heard the term "War of methods" to describe this time-is the class cloud or rectangular? Which one is better?
When the symbols all adopt the Unified Modeling Language (UML), the "method war" is over. "UML is a language used to describe, visualize, and document the work of an object-oriented system in development. It represents the unification of booch, OMT, and object symbols, as well as a large number of other methodologies (Figure 2) in optimal terms. By unifying the symbols used by these object-oriented methods, the unified modeling language provides the foundation for the de facto standards in the field of Object-Oriented Analysis and Design Based on extensive user experience ."
Figure 2. Composition of UML
UML tries to standardize the analysis and design work: Semantic Models, syntactic notation, and diagrams ). Its first public draft (version 0.8) was introduced in October 1995. Both the public and Ivar Jacob's feedback are included in the following two versions (version July 1996 in 0.9 and version October 1996 in 0.91. In November July 1, 1997, version .0 was provided to the Object Management Working Group (OMG) for standardization. Some additional enhancements were integrated into UML 1.1, which was submitted to OMG In September 1997. In November 1997, UML was adopted by OMG as a standard modeling language. The current version of UML is UML 1.4 and is progressing towards UML 2.0. You can view the OMG web site www.omg.org to find more information about UML.
Process role
A successfully developed project meets or exceeds the customer's expectations. It is developed in a timely and economical manner and is flexible for changes and adaptation. The development lifecycle must promote creation and innovation, and the development process must be controlled and measured to ensure that the project is truly completed. "Creativity is fundamental to all well-built object-oriented architecture skills, but allowing developers to create unlimited projects will always end. Similarly, discipline is necessary when the development team is organized to work together, but too much discipline will generate bureaucracy, which will destroy all kinds of innovation attempts ". Well organized iterations and increased lifecycles provide necessary control without affecting creativity.
What is iterative and increased development?
In the iteration and lifecycle (figure 3), the development process is a series of iterations, which form the final system. Each iteration includes one or more of the following process components: Business modeling, requirements, analysis, design, implementation, testing, and deployment. At the beginning of the lifecycle, developers cannot assume that all requirements are known; the inevitable changes in all stages are expected.
This type of lifecycle is a process to mitigate risks. In the early stages of life cycle evaluation, technical risks are prioritized, and technical risks are adjusted in each stage of development. Risks are appended to each stage, so that the successful completion of each stage reduces the risks attached to it. The version is scheduled to ensure that the highest risk is first handled. Using this method to establish a system is exposed and mitigated early in the lifecycle. The result of this life cycle method is less risk and less investment.
Figure 3. iterative and added development
Rational Unified Process
You can use rational uniied process to control iteration and lifecycle. It is an extension set of guidelines to address technical and organizational issues that focus on software development for demand analysis and design.
Rational Unified Process is built in these two directions:
· Time-divides the lifecycle into stages and iterations
· Process components-products that are well defined for specific work sets of activities.
If a project is to be successful, both aspects must be taken seriously.
Projects built along the time dimension include the following time-based phases:
· Initial -- version of the specified project
· Detailed details-plan necessary activities and required resources; Specify features and design architecture
· Build-build products with a series of additional iterations
· Transition-provide products (manufacturing, delivery and training) to user groups)
Building a project along the process components involves the following activities:
· Business modeling-recognition of desired system capabilities and user needs
· Requirement-a description of a system scene with a set of functional or non-functional requirements
· Analysis and Design-how the system is described in the implementation phase
· Implementation -- the result will be the code product of the executable system
· Test-verification of the entire system
· Deployment-system delivery and customer training
Figure 4. How to Apply Process Composition steps to a time-based stage
Development Process
In typical cases, each activity in the process components dimension is applied to each stage in the time-based dimension. However, the degree to which a specific process component is applied depends on the development stage. For example, you may decide to proofread the concept prototype at the initial stage, so you do more things than just capturing the requirement (to improve the prototype, you may need to perform analysis, design, implementation, and testing transactions ). Most of the components of the analysis process are detailed at the stage. However, it is wise to complete the first few iterations of the system at this stage. Typically, these initial iterations are used to validate the analysis decisions made for the system architecture.
Therefore, what you do is not just to analyze the problem. In the development construction phase, the system is completed by a group of iterations. In any type of development structure, as the system is built, there are usually some situations, so you still need to do some analysis.
Charts should be the guide to the project's lifecycle. The main point is that when writing code, if you still try to find out what kind of system you want to build, you may be in trouble. You should note that the test is applied throughout the iteration-you cannot wait until all the code is complete before checking whether they can work together.
This document uses the simplified version of rational uniied process, which focuses on the use of UML to capture and record decisions made in the initial and detailed stages of development.
Rational Rose tool
Any software development method is best supported by some tool. When I first started OO modeling, my tools were paper and pencil, and I wanted more tools. There are many tools available in the market-from the simplest drawing tools to sophisticated object modeling tools. This document uses Rational Rose.
The Rational Rose product family is designed to provide software developers with complete visual modeling of solid and efficient solutions for developing clients/servers, distributed enterprises, and real-time system environments that meet actual business needs. tool set. The Rational Rose product shares all common standards, so that non-programmers who want to establish business process models and programmers who want to establish application logic models can understand each other. The Rational Rose tool evaluation version can be obtained through the rational software company website www.rational.com.
Summary
Visual Modeling is a way to organize models to think about problems. Models are useful for understanding, communicating, establishing enterprise models, preparing documents, designing programs, and databases. Modeling promotes a better understanding of requirements, better design, and easier maintenance of the system. A symbol plays an important part in any model-it is a "adhesive" that binds processes together ". The unified modeling language provides a variety of symbols, from analysis to design.
A successfully developed project meets or surpasses the customer's expectations. It is developed in a timely and cost-effective manner and is flexible for changes and adaptation. Development lifecycle must promote creation and innovation. Good management iteration and lifecycle increase provide necessary control without affecting creativity. In the iteration and increase of the development lifecycle, the development consists of a series of iterations, which will develop into the final system. Each iteration contains one or more of the following process components: Business modeling, requirements, analysis, design, implementation, testing, and deployment.
You can use rational uniied process to control iteration and lifecycle. It is an expanded set of guidelines to address technical and organizational issues that focus on demand analysis and design of software development.
The Rational Rose product family is designed to provide software developers with complete visual modeling of solid and efficient solutions for developing clients/servers, distributed enterprises, and real-time system environments that meet actual business needs. tool set.