Rose Technology White Paper
table of Contents
Foreword
First, the key to the design
1.1 design three-layer structure
1.2 new challenge
Second, what is modeling?
Third, use Rational Rose to implement modeling
3.1 When is it necessary to model?
3.2 Rational Rose Solutions
3.3 integrated modeling language
3.4 RAIONAL ROSE support for large complex projects
Fourth, Rational Rose Series
V. Integrated modeling language (UML)
UML detail
Preface:
Pixabay, every software developer will not be unfamiliar, but we still have to give it a clear definition: modeling is a specific description of human association between objective world and abstract things. In the past software development, programmers use manual modeling, which cost a lot of time and effort and unable to describe the entire complex system to directly affect the development quality and speed of the application system. Today, we are no longer an inserted.
Rational's world-renowned world in ADA language today, today with object-oriented visual modeling tools, Rational Rose won a praise. As the US Application Development Strategy, Professor Yourdou Assess: "Rational Rose will have a huge impact on object-oriented application development technology; the analysis, modeling, design of large development projects is standardized, ... Rational Company has become OO Case (object-oriented)-bound Microsoft. "
Rational Rose includes integrated modeling languages (UML), OOSE, and OMT. One of the integrated modeling languages (UML) by Rational's three world-class object-oriented technical experts, Ivar Jacobson and Jim Rumbaugh, through the further expansion of early object-oriented research and design methods, for visual modeling software It laid a solid theoretical basis.
Today, Rational Rose, as another flagship product of Rational, introduced China by Pacific Technology Software (China) Co., Ltd. and the US Rational Software, and recommended for the majority of users to China through co-established Rational (China) Co., Ltd.. We hope It can make contributions to China's computer application level!
First, visualization: the key to the design
The rapid development of computer technology has created a new miracle in human history, but with the complexity of modern software projects, the possibility of project failure has increased accordingly. Experts from information systems found that when they face more and more source code, the system model and their internal contacts in my mind are more chaotic and blurred. In the face of the huge and complicated information affairs of modern society, experts are eager to make information easily and easy to understand.
Regardless of the complex project project, the design starts from modeling, and designers describe the structure of the system by creating models and design blueprints. For example, electronic engineering designers use customary markers and schematic for complex systems to initially design, accounting is always planning the company's financial blueprints, while administrative personnel often use the visualization of tissue flow maps to describe the Management department.
It is because it is impossible to comprehensively grasp the entire complex system, so we need to model it. People have limitations to complexity, for programmers, only a few line source code cannot provide a comprehensive understanding of the entire development project, and the model can make designers to grasp the system and their interior. Contact, not to fall into the details of each module.
The meaning of modeling is significant, "divided into it", which is an old and effective concept. I can imagine that when we refine the decomposition of especially complicated and difficult issues, just try to solve one of them, things will easily solve more. The role of the model is to make the complex information association easy to understand, it makes us easy to inspect the laws behind the complex stacking, and effectively enable us to map system requirements to the software structure. 1.1 design three-layer structure
The wide use of the client / server architecture indicates the development trend of system complication, in order to solve this problem, the corresponding three-layer structural solution (Three-Tiered) has become a wide range of applications.
The traditional two-layer structure is not a "fat client" is "fat server", and the fat client structure will handle the transaction principle in the user-end, and the fat server will be integrated into the database, and a large amount of data flow is maintenance and programming belt. It has great difficulties, and the transaction principles included cannot be shared with other applications.
The three-layer structural solution refers to the application model of the user interface layer, the transaction principle layer and the data layer. Compared with the traditional two-layer structure, it has more advantages:
When making modifications to any layer of the application structure, only the minimal impact on the other layers. Inherent plasticity, the three layers can be coexisted in a single machine, and can be separated from each other as needed. The public code database enables transaction rules to share in the system.
1.2 new challenge
New solutions also bring new challenges:
Developers must use new ways to divide and implement application systems. Reusable objects must be recognized and refined. You must decide how to assign objects to components and components to distribute on the network (including Internet). Applications must constantly keep up with changes in business needs. Development groups must be closely fitted to develop applications. Component-based development methods are changing the characteristics of the application project.
As the development of the application system is constantly complex, even if a small application system also includes multiple division systems and multiple components, how to handle complexity is related to whether it is possible to correctly establish a system.
Good software structure and processes help developers correctly solve this problem, a well structure allows the development process to cool and conveniently change with the changes in demand.
Second, what is modeling?
Modeling is a way to solve problems by layers by layer:
Confirm the functional requirements of the application system and model the abstract object mapping requirements, identify and provide design templates for the transaction, and create customary templates and design objects or divide the three-layer models to map into objects. How to distribute the design components on the network
The above work is written to the white version of the document, and the modeling allows for changes, and the designer can effectively handle large engineering and complex structures by establishing an abstract concept. Modeling to establish a vivid connection between customers and programmers of applications.
Third, use Rational Rose to implement modeling
The creation model is a powerful tool for helping designers to achieve any complex projects. In software engineering, it can closely link the model with the actual application. Through the mapping between the model and the code, you can directly develop the environmental structure of the system structure. By establishing a model and code mapping, you can ensure that the model improves the code improved, and through the model and code Automatic connection, modeling tools can ensure good design implementation.
3.1 When is it necessary to model?
It is meaningful to enter modeling work in any stage of application development. It is undeniable that in the initial stage of design, energy should be mainly used to deal with application system use, which programming environment should be used to implement use, and Not considered the details of the program, such as where the button is placed on the screen.
It is also very meaningful in the mid-term introduction of project development, and Rational Rose supports both forward modeling and also supports reverse modeling. Rose enables developers to grasp the direction of program development, accurately complement the tasks required in demand analysis.
3.2 Rational Rose Solutions
Rational Rose products provide a strong solution for large software projects: a powerful browser that views model and find reusable components; customizable target libraries or code generation mechanisms for the coding guide; Support for standard types in the target language support user-defined data types; to ensure the consistency of transformation between models and code; through the OLE connection, the Rational Rose chart can be dynamically connected to Microsoft Word; capable with Rational Visual Test, SQA Suite And SODA document tool seamlessly, complete all auxiliary software engineering in the software life cycle; powerful positive / reverse modeling work; shorten development cycle; reduce maintenance costs
3.3 integrated modeling language
If there is no international standard that is universally recognized, things will fall into chaos. Rational Rose provides exclusive support for industrial standard tags, including integrated modeling languages (UML), which will become object-oriented-oriented modeling languages in the industry. Integrated Modeling Language (UML) is an modeling language designed to adapt to the strict requirements of reuse, structural and expansion capabilities in enterprise complex development.
Integrated Modeling Language (UML) is a further expansion of early facial face-to-object research and design methods, based on world-class object-oriented technical well-known experts, Grady Booch, Ivar Jacobson, and Jim Rumbaugh, OOSE tag, and OMT mark theory research foundation The above is proposed, laid a solid theoretical basis for visual modeling software. Integrated modeling language provides the following support for modeling languages:
Using event model classes and object model components model distribution processing models
Rational Rose products also support OOSE and OMT while supporting UML.
3.4 RAIONAL ROSE support for large complex projects
Rational Rose supports the most common personal / public work platforms common to most software engineers. Software engineers can modify their source code and established models before the programmed software sharing.
In the public platform, the model changes can be shared by the configuration management and version control system (CMVC), in other words, other developers can observe and use these changes.
Rational Rose integrates with primary CMVC tools, including Rational Summit / CM, Microsoft SourceSafe, PVCS, ClearCase, SCCS, and CVS / RCS.
Rational Rose also supports an enterprise-class database while supporting Unisys's universal repository (UREP) and Microsoft repositories.
Rational Rose also supports the reusable class component sections while supporting the framework structure, allowing the reusable base classes to be placed in a public control unit, or other working groups can be used.
Fourth, Rational Rose Series
The Rational Rose visualization development tools are seamlessly integrated with multiple development environment. The development languages currently support include: Visual Basic, Java, Powerbuilder, C , Ada, SmallTalk, Fort, etc.
Rational Rose's product supports relational database logic models, including: Oracle 7, Sybase, SQL Server, Watcom SQL, and ANSI SQL, results available for database modeling tools to generate logical models and conceptual models, such as: logicworks erwin PowerSoft's S-Designor.
Rational Rose Series can support:
Industrial-grade function analysis repository and personal work platform CORBA-2 / IDL forward engineering users Free Select Booch'93, OMT and UML tag extended interfaces Allow Rational Rose act as both OLE servers to act as OLE controllers. Rose scripts are a scripting language with VBA and compatible with Rose APIs, allowing you to create GUI, functional units, and fully customized reports, and control other applications. Supported platforms Windows 95, NT, Alpha NT, SGI, Solaris, AIX, Digital UNIX, and HP-UX 5, Integrated Modeling Language (UML)
Unified Modeling Language is a successful development of world-class experts in Rational Software, Ivar Jacobson, and Jim Rumbauh. During the development process, some other academic leadership methods, software vendors and many users are helped and support. Based on the Booch marker method, OMT marker method and OOSE / Jacobson marker method are widely used, UML will advance the object-oriented analysis design technology forward.
UML provides the following support for the application modeling language:
Use event model
Use the event model has become the preferred analysis technology in the industrial field. Using the event determines the business rules and tasks in the business operation, especially how these tasks are supported by an application system. Using event technology meets the functional requirements of the system, users can map these requirements into the object model. Use the object technology to set up a bridge between system analysts, users, and application developers.
Class and object model classes and object models
The business object determines the structure of the application, and users can reuse commercial objects in the application field, or they can directly identify and extract their business objects from the field of use. UML supports both base classes and object models, also supports advanced classes and object models. By integrated modeling language, users can use class models to determine business objects and application structures, which can establish objects. As an instance of classes, the class is actively interacting and provides an event and application behavior. The object model determines the behavior required for a wide variety of classes to ensure proper support for the use of events and business rules. The class model determines the structural details of the business object and the application object, and the class has laid the foundation of code generation and database definition generation. The definition of the class and its interrelationship are concentrated in the package to determine the structure of the application. The program may be a complete set, and its relationship between each other determines the independence of the application and the variability of the program structure.
Component model
The component model is the actual unit of the source code, that is, the executable unit that makes up the application. Class is assigned to the component to provide reusable application structural components. These components will lay the foundation for the application structure of plug-and-play. Repeated use in the integrated modeling language to support in the previous compilation phase and post-compilation phase. The previous support has a reusable class or architecture, and there is a component assembly in the later period.
Distributed processing model
Processing model can analog Demonstration application how to be mapped into a distributed processing structure. Various network topology can simulate, including customer / servers, three-layer structure, Internet / Intranet, and how these nodes are connected to each other, how are applications distributed in the network .
UML detail
(Originally, there is no, some part is still very exciting)