Wang Hui (Huiwang_290@hotmail.com) In the first few decades of development, software development has developed from the initial assembly language to advanced programming languages, developed from the structured programming language to object-oriented programming languages. Currently, the most widely used object-oriented programming language is no more Java, C and Delphi, and more. At the same time, the software development is also developed by past structured programming to object-oriented software analysis and design, object-oriented software programming. Today, object-oriented ideas and methods have penetrated into various stages of the software development life cycle. The birth and development of unified modeling languages (UML) has pushed the application of object-oriented methods in software development. Master the object-oriented ideology and theory, use the appropriate object-oriented programming language and unified modeling language (UML), we can design and develop software systems with better availability, more scalability, more reasonable and robust. However, in today's economic development, companies should make faster reflection on market changes, and companies require more fast and low cost development and upgrade business support systems. In this case, the productivity of software development is required to be continuously improved. The improvement of productivity must be supported by strong production tools. The most software development related tools on the market is focused on a part of the software development process. If there is software program development, there is IBM WebSphere Studio, which can accelerate the development of Java, J2EE program, Microsoft Visual Studio .NET can accelerate the development of the .NET platform application. In software analysis and design, Rational Rose provides good support. IBM Rational software also has a good tool to support IBM Rational software on the development and change management of software. These tools have greatly helped developers significantly improved production efficiency, but they have been relatively independent of different links. IBM's 5-large-scale Rational software product family in the 5-large number of software developers provides strong software developers, open standards, seamlessly integrated applications developing software development life cycles --rational extended developments ENVIRONMENT, referred to as Rational XDE. The challenge facing software development although software development has experienced many years of development, a series of development techniques and methods have been developed in many years, and these technologies and methods have also made software development faster and convenient. But software Development is still a very complex and difficult task. Let's take a look at what challenges in current software development: technology complexity: computer and software's wide application in all walks of life, promoting the continuous development of software technology In order to meet the different needs of enterprises, there are a variety of technical frameworks and specifications, such as distributed computing architecture, there are different technologies and programming models that do different technologies such as J2EE, .NET, CORBA. Methodology and process of various software development Also lay out, like the Rational Unified Process (RUP), Extreme Programming (XP), etc. We need to choose and customize the corresponding development process based on the actual situation of the project.. The integration between the system is also more complex, and we need to integrate the system that is built on different technologies and architectures. It is necessary to use various integration techniques and tools. Developers' technical capabilities: If you are a development Personnel or project managers, you may often feel the development skills you ordered by developers in your project and cannot meet the needs of project development. The reason for this phenomenon is the diversity and complexity of software development technology. One person is impossible to learn most of the software development techniques in a limited time. In fact, every developer is constantly learning new technical knowledge, but the technology update is so fast, and developers often It also faces a very heavy development pressure, which brings more difficulties to develop more updated technologies.
Business Results and Investment Report: Any software system is serving business, and the software investors will inevitably put forward a series of requirements for software systems, including system reliability, system quality, system to be able to market Variable response, the system must improve the user's work efficiency, and the system must have sufficient flexibility to change the future demand. This requirement is for a final purpose - business process is improved, realizing return on investment . These aspects of investors concerned are huge challenges in software development. Asset Reuse and Integration: There are usually different hardware platforms, different operating systems, and establish a business system over different architectures, and these systems support the operation of enterprise business. This requires a problem that new systems must be effectively integrated with existing systems while building a new system. This will enable the original important assets of the enterprise to be effectively reused, which protects the company's existing investment. The integration between the heterogeneous system is a very complex work. For software developers, the reuse of assets is important. If the results produced by each project can be used for future projects, it will greatly improve the efficiency and quality of software development, thereby improving the core developers' core. Competitiveness.. However, it is necessary to do more time and effort from the reuse of software assets. This will have a contradiction with fast system delivery. The above is the main challenge of today's software development, and these challenges will eventually transform into the pressure of developers .. In fact, developers are currently very striving to face this contradiction, and frequent overtime can prove this. But the work of such efforts does not indicate the requirements of investors and software open companies. In such cases, developers need a tool that can help them greatly improve software development efficiency, greatly improve software quality, which can be easily generated and used reusable software assets. Rational XDE is the purpose of this. What is Rational Xde Rational XDE is a tool platform for software development in the IBM software family. Rational XDE combined with software analysis, design, program development, and automated tests, and an IBM WebSphere Studio Workbench (IBM WebSphere Studio Workbench is an IBM of Eclipse, which has many IBM development in addition to the Eclipse extensible framework. Business features) or Microsoft Visual Studio .NET as the foundation platform. Rational XDE enables you to complete software analysis, design, encoding, and testing of software without opening other development tools. Rational XDE has two versions, one to support the Rational Xde for Java version developed by Java / J2EE software, and the other is the Rational XDE for Net version that supports Microsoft .NET platform software development. This article focuses on the Rational XDE for Java version. Figure 1 Relationship between Rational Xde for Java and WebSphere Studio
Some people may ask between WebSphere Studio and Rational XDE? Through Figure 1 We can see very clearly: the bottom left of Figure 1 represents WebSphere Studio, which is used for Java / J2EE development, testing, and deployment. Integrated Development Environment. WebSphere Studio provides the same user experience as different developers, saving developers for familiar tools. The upper left side of Figure 1 is Rational XDE, which is different from the angle of WEBSPHERE Studio, which is in modeling, runtime analysis, and automation testing. It integrates into the integrated development environment of WebSphere Studio in a plug-in to become a functional part of WebSphere Studio, which is also effective to cooperate with the original features of WebSphere Studio while providing new features. Synchronization. The characteristics of the project. When Rational XDE is inserted into WebSphere Studio, a perspective called "Modeling) is added, which is specifically designed to model the system and implement the system analysis and design. Rational Xde for Java is a very powerful integrated development tool for design, encoding, testing, team communication, and building documents throughout the entire software development lifecycle. Many of Rational Xde for Java improves your way of work, it can help you: more effective jobs not only allow you to use classic design patterns while allowing you to define your own mode, and automatically verify your software architecture , Design and code template, model template, saving your time and energy and help you maintain a reasonable standard. At the same time, you can reuse the code schemes and design patterns you accumulated, and share them with your team. All information types You can model both unified modeling languages (UML), or models defined in non-UML can also be used. This enhances the description ability of the software system. Generating a better code can help you determine the model and code normative by checking UML check support and standard checks for specific programming languages. At the same time, you can automatically or manually synchronize your model and the correspondence between the code. Make sharing project information easier to use work products that will design and develop as a product of Reusable Asset Specification (RAS), you can archive the phased work products as company assets and publish them to local or shared RAS storage In the library. Another way to share your work results is that use Rational Xde Extensibility Apis to output your model to the form of HTML, copy graphics to Word documents or create custom reports and forms, distribute these forms of documents to you The companion. The core function of Rational XDE is the analysis and design in software development, which uses a Unified Modeling Language (UML) as a modeling language. The purpose of this paper is to introduce the reader to speed up the development speed, improve the quality of development quality, and maximize the quality of the promotion mode, using Ratioanl XDE and WebSphere Studio. Therefore, it is not described in detail how software modeling is made using UML. It is only to describe the benefits and necessity of visualize modeling using UML before describing using Ratioanl XDE. Why do we have to visualize how we have arrived in front, software development is still a very complicated and difficult job. Different roles have different people's participants in different people's participants play their respective roles during the construction of the same software system, while also communicating with each other. The participants of different roles are different from the perspective of the system, which requires the system to describe and behave in different aspects. For example, the user cares about what kind of functionality will have, these features can be very good for them.
The system architecture person concerned is what system architecture is like, what kind of technical platform and development model should be used. In order to better describe all aspects of the system, visual modeling is an ideal choice. The benefit of visual modeling is that it can describe all aspects of the system by simple and easy-to-understand graphics. Even those who have not been specially trained can also be very easy to understand. UML is a standard language recognized in the industry. The system can be described very accurate by using UML, and can also solve communication problems between project members. We know that there is very difficult to communicate between people in different technical backgrounds, let a program developer understand the business's business is very difficult, but in order to build a system that meets the needs of the company, developers must understand the needs of the system. Using UML modeling system requirements, expressing the functionality that the system should have by using the use case. Developers can fully understand UML representations so that developers can accurately understand the analysis results of demand personnel. Modeling can also be well decomposed into a relatively simple part, and establish a different part of the association, so that the complexity of the system can be managed. It is conducive to changes and tracking during system development, so that the system maintains good consistency between demand, design, and code. If UML is used throughout the project team, and project members use the same UML tool, which eliminates the trouble brought about by difficult integration than tools. UML Introduction This is only a simple introduction to UML, and the use of the seven maps in UML (with example, class diagrams, sequence diagrams, state diagrams, active diagrams, components and deployment pictures). If you are already familiar with UML, you can skip this part. A functional unit provided by the example is described with example examples. The main purpose of the example map is to help the development team understand the functional needs of the system in a visual manner, including "role" (that is, human interaction with the system) and the basic processes, and the relationship between different use cases. The use case is generally given the use case group-or all the entire use of the entire system, or a set of separate examples of a set of separate features (eg, all user management related use cases). Class diagrams show how different entities (people, things, and data) are related to each other; in other words, it shows the static structure of the system. Class diagrams can be used to display logic classes, and logical classes are usually the types of things discussed by the company. The class diagram can also be used to display the implementation class, and the implementation class is what the programmer usually processes. Implementation class diagrams may display some of the same classes with logical class diagrams. However, implementation class diagrams do not use the same properties to draw because it is likely to have references to things such as Vector and HashMap. The sequence diagram sequence diagram shows the detailed flow of a particular case (even some part of a particular use case). They are almost described, and the call relationship between the different objects in their sequence is displayed, while displaying different calls to different objects at a very detailed level. The sequence diagram There are two dimensions: the vertical dimension displays the sequence of messages / calls in the time of occurrence of the occurrence; the horizontal dimension displays the object instance sent to the message. The state diagram state diagram is modeled to another state and the class in a certain class and the class from one state. Some people may argue that each class has a state, but not each class should have a state diagram. Only which classes have a state of concern (that is, classes with three or more potential states during system activity) should be modeled. Active map activity diagram shows the process control flow between two or more class objects when processing a certain activity. Active map can be used to model a higher level of business processes at the level of the business unit, or modeling low-level internal class operations. Based on my experience, the activity map is best suited to model the higher level process, such as how the company is currently working, or how the business operations look.
This is because the active map is non-technical on the surface than the sequence diagram, and people who have commercial minds tend to understand them faster. Component diagram assembly diagram provides physical views of the system. Its use is the dependency of software in the system to other software components (eg, software libraries). The component map can be displayed at a very high level, thereby only displaying the coarse particle size, or can be displayed at the component packet level. Deployment diagram deployment diagram display system how to physically deploy into a hardware environment. Its use is to display the different components of the system to physically run, and how they will communicate with each other. Since the deployment map is modeled, the system's production personnel can use this picture well. Above we have discussed the challenges and stresses faced by software developers, and also introduces seven core diagrams to perform visual modeling and UML. Let's take a look at how Rational XDE increases efficiency and relieves stress for software developers. We will elaborate from the pressure faced by the following developers: 1. Diversity of development tools 2. Lack of consistency between code and design 3. Learning UML is difficult 4. The software is reused 5. Documentation 6. The development efficiency is low, and the software quality cannot guarantee the diversity of development tools. We first look at what tools will be used during the traditional development process. Demand users use demand-developed tools to generate software requirements, designers use analysis design tools (such as Rational Rose) to generate software design, encoders use development tools such as WebSphere Studio to develop software source code. We can see that due to different tools in software development, we often use a developer in the current project to play more than more than one role, such as a developer must be responsible for the design of a module, This module is encoded. At the same time, this developer may also use demand development tools to browse software requirements. Therefore, a developer needs to learn to use a variety of tools. It is very cost-effective to learn to use a tool. Rational XDE eliminates the troubles of learning a variety of tools. If you are using WebSphere Studio or Eclipse, you can install the Rational XDE plugin on it. When you have an Rational XDE plugin, you will be able to see a "Modeling" menu in your WebSphere Studio or Eclipse. At the same time, you will find that in the perspective selection dialog box, you will have a "modeling" perspective, see Figure 2 Figure 2
With Rational XDE, developers in the project can use the same tool to analyze, design, and encode, save a lot of time to learn other tools. The lack of consistency between code and design ensures that developers will often encounter such problems: my code and design have inconsistent phenomenon. The reason for this problem is that the code and design or a mechanism between the code and the model, which can only be "synchronized by the developer's head", which will omit and errors. In traditional software development methods, design and encoding use different tools, this synchronization is even more difficult. The emergence of Rational XDE has brought the "Spiritan Military Medicine" that solves this problem. Rational XDE provides a feature called "two-way engineering" that enables code and design (model) that can be automatically synchronized. That is to say, when you modify the design, your code will change accordingly. The same truth, when there is a structure change in your code, the corresponding model will automatically change. We use a simple example to illustrate the usage of Rational XDE synchronization. Step 1: Creating a modeling project Our example is the way in which there is another model. You can also write code and then generate models, but this is not encouraged. Only when there is only a code that exists only the code, or wants to use the original non-UML design to be used as a UML design model, it will only be used. Present code, then generate the approach of the corresponding design model. First open the File menu, select New Project, and create a new project dialog box. See Figure 3 Figure 3 Rational XDE New Project Dialog
Select "Modeling" in the left column of the dialog, select "Java Modeling Project" in the right bar. Press Next, enter the name of the project, let's enter "Test" here, then press. At this point you will get a normal Java modeling project, this project creates the contents of the two part-Java projects and Java modeling content. You can view the files, classpaths, referenced by the Java project through the Java perspective. The structure of the project model can be seen by modeling perspective. As Figure 4 XDE creates two packages-JDK_MIN and Java Code Model models for us. JDK_MIN is XDE to provide yourself, because we create a normal Java modeling project, so the default is a mini JDK logic model that you can reference any of these or package elements. In the package Java Code Model you can define your logical elements and build the relationship between each element. Step 2: Creating a model In this example, we are just simply defining two classes and the relationship between them. We define a class called Customer, which has attributes such as name, age, gender, and professional information. Occupational information is a composite property, which includes company names, title, etc., so we will define a class named BusinessInfo. We put these two classes in the package called User. If you use Rational Rose, you will be very easy to complete this step. For some beginners and developers unfamiliar with Rational Rose, there is a detailed operation process. Right click on the USER package, appear as shown in Figure 5, select the class of the "Add UML" menu item, and enter Customer as class name. Then right click on the Customer class, select "Field" under the "Add Java" menu item to add attributes for the Customer class. We add two attributes Name and age, name as the string type, the age is an int type, set two properties to private, and let XDE automatically generate the GET and SET methods for attributes. Step 3: The code and model are synchronized to see Figure 6, we can see the left part of the figure is the model browser (Model Explore) view, we can see the icon of the Customer class in this view, and its properties and GET / SET method. We will also find a component icon called Customer.java under the Customer class icon, which is automatically generated by XDE. There are two synchronous methods in XDE, one is automatic synchronization, and the other is manual synchronization. Automatic synchronization refers to the change of XDE in accordance with a certain time interval synchronization model and code. The manual mode is not synchronized when the model or code is changed, and when you think should be synchronized, XDE will synchronize all changes by pressing the synchronization button. You can select the preferences in the WebSphere Studio's window menu and select the "Code-Model Synchronization" item under Rational XDE in the Preferences window to set the synchronization. Let's take a look at the part of WebSphere Studio, and the right side is divided into two parts. The above shows the class diagram. Here is the Java code of the class. Now let's take a look at the synchronization effect of the code and model. In Figure 6 we see that the Customer class has an attribute called Name. Now changed to Fullname in Customer code to see what kind of thing happens.
Since I use automatic synchronization, after I change Name to Fullname, press the CTR-S button to save, the Customer Name in the class map has become fullname, the corresponding getName and SetName have also become GetFullName and SetFullname. Also if you make any changes in the model, there will be corresponding changes in the code. Figure 4 Modeling perspective
Learning UML is a difficult UML is a very excellent visual modeling language, but UML itself has a very complex element and semantic, which makes it easy to learn UML or a certain difficulty, for work stress, very large developers It is more difficult. Rational XDE's model and code synchronization feature is very good to solve this problem. As you can see from the front of the model and the code synchronization, you can see that when your code changes, the corresponding elements in the model also change. This is very significant for the developer who is not familiar with UML. When you write code, you can immediately see your design and achieve it in work. This allows developers to avoid the difficult learning curve of learning UML, saving time and improving efficiency. The reuse of software reuse has always been one of the important goals of software development pursuit. The software reuse can shorten the software open cycle, improve software quality, and is the most important asset of software development companies. However, the retroduction of software is affected by many factors, such as software design quality, project delivery time, software development process management and norms work products to some extent, the software is reused. The software reuse can be divided into multiple levels: code-level reuse, component-level reuse, reuse, software architecture reuse, and reuse of solutions. For developers, more concerned about code-level reuse, component-level reuse, and reuse of software architectures. The reuse mechanism provided by Rational XDE can realize software reuse of each level. This chapter will introduce you to the mechanism of the software reuse of Rational XDE. Rational XDE software reuse is based on reusable asset specification, so we must first introduce you to reusable asset specification, referred to as RAS. Ras is Rational XDE for software reuse mechanisms and vectors, all reusable assets are in line with RAS. RAS Asset Introduction Reusable Asset Specification (RAS) provides a standard method for packaging and release a series of related files. Collection of these files or work products is called Asset. RAS assets simplify solutions to other users sharing process, because everyone can organize, document, share, storage, and recovery schemes using convenient and consistent methods. RAS assets can be in size, complexity, and purpose. The range of RAS assets is the manufacturer of assets to develop according to customer needs. Let's take an example of a RAS asset, an asset contains a series of reference files that can include code snippets, documents, and more. Assets can also be set to network resource positioning. Another example using RAS assets is an asset that creates some storage design patterns and code templates. These RAS assets contain universal code structure and models. Applications they can quickly create design and code. More complex RAS assets can be designed to include software architectures for creating subsystems to accommodate system requirements change. Such a RAS asset can be used as the basis of the entire application. The value of Reusable Asset Specification RAS assets depends on standardization and consistency, and RAS is the standard of another industry as UML. RAS provides guidance in assets, organization, storage, and documentation RAS assets, and Rational XDE provides tools for creating, document, testing, and packaging RAS assets. The main purpose of creating RAS assets is to reuse, XDE tools allow us to find and archive assets in local and remote repositories to achieve share of assets. Ras Profile as a creator of RAS assets, when you are prompted to provide data for Ras Profile, you should provide the main information about your RAS asset.
This information can help customers find the assets they need. This information can be the author, user, description, and related asset names, which can be used as a compatible condition for query strings. Ras Profile can also make the consistency of the maintenance asset packaging. There are currently two additional profiles, one for creating a web service, and another for creating components. RAS Asset File Structure Rational XDE Create a ZIP archive to save the part of the asset. This file is in .ras as an extension, where there is a list file rasset.xml, and all files stored in the zip file and how to locate them are recorded in the inventory file. Storage and Sharing RAS Asset XDE provides two default repositories for storing and accessing your asset files: local repository and workspace repository. XDE users can share their local repositories, if access permissions can be set. Other repositories can be accessed in a web-based approach. After understanding RAS, let's take a look at what asset reuse in XDE and how to use these methods. The software reuse method currently supported in XDE includes mode and code template. You can read the article "Use the ability to use the mode in Rational XDE to promote the software's reuse - Application mode in XDE" and "The ability to use Rational XDE" to promote software reuse - create a mode in XDE ", these two articles Telling how to create and use the mode and code template in XDE, I hope everyone can use the energy of Rational XDE to maximize the energy of the maximum release mode, and achieve better software reuse and rapid development of the capacity of the code template. Documentization In the software development process, the work product in one of the software is the documentation. There are a lot of documents that should be generated during the software development process. Some documents themselves are part of the software assets. For example, software demand documents, software design documents, software users' instructions documentation, etc., there are also process documents, such as project management Plan, software configuration management plan, change application form, etc. For developers, they care more about software design documents. However, due to the pressure of project progress, developers put more attention to the development of code, and the corresponding design document is only the completion of herb, even if there is no time to write documents, even for a certain part. The code has written a document, but after the version changes, the corresponding design document is often ignored or forgotten. These conditions can result in, the software document is incomplete, the document does not match the code. This brings great obstacles to the reuse and maintenance of the software. Software developers may say: "We also know the importance of design documents, and I hope to write better design documents, but we really don't have much time can spend on the document, what we can do is in the project After delivery, make the document, but because of time, some places may have forgotten, so the quality of the document is not very good. "This should be the voice of most developers. Rational XDE provides the majority of developers to solve this spear method, and we have said that the Rational XDE has the ability to synchronize the model and code, this capability is two-way. With this ability to use this two-way synchronization, the developer will automatically generate the corresponding design model while writing code, the design model is the core part of the design document. On the basis of design model, the model element is added to the model element. Description Information can produce a very specific and complete design document. Moreover, if the code has changed, the corresponding part of your design document will change automatically, so that the consistency of documents and code is guaranteed. Therefore, Rational XDE is not only a good software analysis, design, and building tools, but also a very good document tool. Low development efficiency, software quality does not guarantee current software development is still a very difficult job, the efficiency of software development is still very low, the quality of the software is not easy to be guaranteed.
In this case, we need to help us change the methods and tools of this situation. Improve development efficiency and ensuring software quality include: promoting software reuse and code automation generation. The reuse of software can not only improve the development efficiency, saving costs, but also improves software quality. We know that software is analyzed, design, encoding, and testing until the stability of the software is needed to experience a very long process, which will pay a lot of manpower and time in this process. If our software has good reuse, it can be reused as part of other software systems, and we will save costs of the reuse software part. At the same time, since the reusable software is already stable, there is quality assurance, so it can improve the entire system quality. The automation generation of code will greatly improve software development efficiency, while avoiding some of the characters in the code, and to some extent, the quality of the software is also improved. Ratioanl XDE provides the majority of developers with a good software reuse and automation code generation. You can read "The ability to use Rational XDE to promote software reuse - Application mode" in XDE "and" The ability to use Rationa XDE "to promote software reuse - create a mode in XDE" to learn how to pass XDE The power of the pattern improves software reuse and improve development efficiency to ensure software quality. Ratioanl XDE's two-way project implements the generation of code. Reference resource uses the ability of the mode in Rational XDE to promote software reuse - Application mode in XDE http://www.ibm.com/developerWorks/cn/java/L-XDE-PATTERN1/ Use the ability to use the Rational XDE Promote the software reuse - create a mode in XDE http://www.ibm.com/developerWorks/cn/java/L-XDE-PATTERN2/ Rational Developer Network http://www.rational.Net/ DeveloperWorks Rational Product Garden Http://www.ibm.com/developerWorks/RATIONAL DeveloperWorks China website Java Zone http://www.ibm.com/developerWorks/cn/java About the author's Java development experience, OOAD, UML, Rational product quite Interested. You can contact him through huiwang_290@hotmail.com.