With the booming of modern information industry, software development has become a vast project. Just like building a magnificent palace, from the plan, design to construction, every link must strictly control, a little careless, the entire project will fail. According to statistics, only 180,000 information technology projects per year are only $ 250 billion, 25-30% of the projects. It can be seen that the loss caused by miscarriage and the loss of design is huge. The management and methodology of modern software development is more important than ever.
The process of software development is made by methodology and tools (Process = Methodology Tools). As equipped with electronic devices, only tools can be qualified for assembly tasks. However, in order to reduce errors and improve efficiency, people tend to use the pipeline operation, and the pipeline operation is a methodology applied to electronic equipment assembly. At present, the popular methodology of information technology market has RUP (Rational Unified Process), the Zachman Framework, XP (Extreme Programming). In these methodology, the most popular needs RUP. RUP is first created by Rational Software. Since it is closely combined with the current popular Java, J2EE technology and object-oriented design ideas (OOAD), a wide range of applications is obtained in large information technology projects. In this article, we try to make a preliminary discussion on the characteristics of RUP and discuss how it runs through the life cycle of the entire software development.
The most important of RUP has three features: 1) Software development is a stacking process, 2) Software development is driven by USE Case, 3) software development is centered by architectural design.
According to the traditional waterfall development model, software development is generally experienced as follows: Business Requirement Analysis, System Analysis, System Design, Development Implement, Test ( TEST, release (supporting), and system change management (CHANGE Management).
The traditional waterfall development model assumes that the previous process has been completed when performing a new development process, and will not return to the previous process. It seems that it seems a very reasonable, high-efficiency solution, but more than 20 years of practice proves that there is a great illusion in this development model, because software development is a very complex project, there are many factors The efficiency and success or failure of the project. Software development requires many individuals and team participation in different backgrounds. Due to these complexity, there is a possibility of hidden dangers and errors in every stage in the entire life cycle of software development. If the system has been achieved, a major problem is discovered in the test phase, and the rework will cause huge waste of manpower, material, financial and time. In view of the above consideration, RUP emphasizes that software development is a superimposed model (Item Model): Phase): an Inceptical, an ElaBoral, a Transition, Transition. Each stage may experience the various steps starting from the beginning of the business needs analysis above, but the peak period of each step occurs in the corresponding stage. For example, the peak period of development implementation occurs at the construction phase. In fact, such a development methodology is a two-dimensional model. This achievement of this superimposed model provides a large extent, which provides an opportunity to find hidden dangers and mistakes, so it is used by modern large information technology projects. Another major feature of RUP is the use case driver. Use Case is a very important concept in RUP methodology. Simply put, a USE CASE is a feature of the system. For example, in an e-commerce-based medical system, the patient can sit at home through an online browser to agree with the doctor, so "Make Appointment" is a USE CASE of the system. In systematic analysis and system design, USE CASE is used to segment a complex huge system, define a small unit, which is use case, and then develops with each small unit. According to RUP, USE CASE runs through the life cycle of the entire software development. In business demand analysis, customers or users describe the USE CASE. During the system distribution and system design, the designer analyzes USE CASE. During the development implementation, development programmers are implemented, in the test process In the tester, the tester is tested.
The third largest feature of RUP is that it emphasizes that software development is centered on the architecture. Architectural Design is an important part of the system design. During the architect design, the designer must complete the selection of technology and run platforms, the design of the entire project, complete the design of public components, such as Auditing systems, logs (log) System, Error Handling System, Security System, etc. Designers must make feasible solutions to system scalability, security, prostainability, reusability, and running speed (Performance), and running speed Program. In RUP methodology, different roles can know the same project from different sides. RUP defines the "4 1" scenario: Use case scene (Logic View), Process View, implementing a scenario (deployment view) . In the USE CASE scenario, customers and business analysts describe the USE CASE. In the logical scene, the designer analyzes and designs the system, in the process scenario, the designer may have concurrency, speed and distribution of the system Features are described. Realizing the scene reflects the process of developer development implementation. Publishing scenarios are the process of describing system administrators and assemblers implementing system publishing and management. It is worth emphasizing that the design of the system architecture is described in the logical scene.
RUP also defines four models, namely the USE Case Model, Analysis Model, Design Model and Implementation Model. The USE Case model contains the USE Case Diagram and the USE Case document. The USE Case model is the foundation of the three other models. The analysis model is the concept model (Conceptual Model), which is the result obtained by the system analysis. The analysis model contains the class diagram, the sequence diagram, and the activity map. Activity Diagram. The design model is the result of architecture design and system design. After the design model is completed, the development programmer can be programmed. The design model mainly includes a class diagram, a sequence diagram, and a state map (State Chast Diagrams). The analysis model and design model seem to have many similarities, but the meaning of the two has essentially different. The analysis model emphasizes the scope of the problem, but does not give a solution plan, and the analysis model does not involve specific technical and platform. For example, it doesn't care whether to apply EJB or a general Java Beans, the system is installed in WebSphere or in WebLogic. But in contrast, the design model should consider these details and provide all schemes to solve these problems. Of course, the design model is based on the analysis model. One class in the analysis model can be directly mapped into classes in the design model, but this mapping relationship is generally not one, the last model is a model. Implementing the model contains components (Component Diagram), starting from this model, developing programmers can generate Skeleton Source Code, or you can update your design model from the source program. Tools currently applied to systematic analysis and design mainly include Rational Rose and Together Software Center (TOGETHERJ). Java and J2EE development tools have IBM WebSphere Application Developer (WSAD), Borland Jbuilde and WebGain Visualcafe. WSAD and WebSphere Application Server are applied together, making the server-side tired and system publishing becomes very easy. JBuilder and Visualcafe are generally combined with WebLogic Server. WebSphere Server and WebLogic Server occupy 66% of the Application Server market, where WebSphere Server accounts for 37%, which is NO.1 of the same product. In unit tests and integrated tests, we are widely used with tools and frames with JUnit, JunitPerf and Cactus..
In summary, the methodology of software development has become an indispensable part of the modern software engineering process. It is a methodology that is currently widely used in Java / J2EE and object-oriented large projects. He provides infrastructure and guidance for the life cycle of the entire software development. RUP, UML / Rational Rose, Java / J2EE, WSAD, WebSphere Application Server, and Oracle combination of technologies, tools, and platforms are currently used in many companies and government information technology projects. Therefore, RUP's knowledge and experience is also a popular skills that are now known as place needs.
About the author: Dr. Li Xunjun, studying in France Louis - Basto University, a Ph.D. in mathematics.
6 years of senior technology expert work experience in IT big companies in Canada.
ALPHA Inc. Team Leader; Bce Emergic Inc. Architect; IBM J2EE CONSULTANT
He is currently a Senior Consultant, Ontario Ministry of Transportation. Expertise for Application Architecture DESIGN; Project Management; J2EE & IBM Solution.
Teacher Teaching Teacher of the New Teaching Center of the Java REAL Project (IBM Solution).