I have been busy recently. Many ideas don't have time to write. I have recently replied to a series of related modeling issues of the CBS magazine. By the way, it is welcome to discuss.
The following is some of my ideas
1 How do you think of modeling?
As a programmer, you may have experienced such a stage. After the demand analysis is completed, it will start establishing a data model, which is to design the table structure, and then simply designed according to functional requirements and table structure. The document is Word and Excel, and then the encoding is started. Many experience in experience in programs can be developed soon, and the basic idea of this method is to use the database to represent the business model, then do you need to model it? We are deeply considered that we are widely used in the relational database that it can describe the business model, obviously the answer is negative. A simple two-dimensional table can only describe the relatively single object, and it is obviously uncomfortable for semantic abundant objects. Based on object-oriented design and CBD (Component Based Design) design method, based on software-based highner gathering, loose coupling principles, based on improving software productivity and maintainability, current software modeling is indispensable during commercial software development Part of part.
Simply, modeling is to enable you a way to solve problems by layers, modeling the functional needs of the system and establish models for the business system, and provide the appropriate design mode based on the scene, and divide the child system according to requirements.
Speaking here, we can't mention UML, UML (Unified Modeling Language, unified modeling language) is a general visual modeling language for description, visualization, constructing, and establishing a software system document. . UML is suitable for a variety of software development methods, various stages of software life cycle, various application areas, and various development tools. Similarly, in various network application projects designed or in the form of a website, UML also shows powerful. Role. UML can describe the static structure and dynamic behavior of the system: the static structure defines the properties and operations of important objects in the system, and the interrelationship between these objects; dynamic behavior defines the time characteristics of the object and the object to communicate with each other. Mechanisms. UML is not a programming language, but we can use the code generator to convert the UML model to a variety of programming language code, or convert the program source code to the UML model using the reverse generator tool. This is the MDA that the OMG organization is pushing. In addition to UML, modeling languages have also added XMI and MOF, and interested in finding their definitions.
We can see, modeling is not encoded, using the same UML model to generate frame code of different languages, and can be generated in reverse generation, updating the UML model in time during the writing code, this for system analysts and project management personnel It is a dream, that is, MDA is to be implemented.
Modeling must make software development to mature.
Modeling tools are recommended to use Rational Rose, Together.
2 Company's modeling status The company is a software outsourcing company that is a global Out Sourcing business, which has always adopted scale and standardized development processes and modeling methods. Since UF software engineering company is CMM3, it is currently promoting the work of CMM5, and the implementation of all CMM KPAs (key process domain) can support such development processes from the company's high-level organizational model. At present, the software development process adopted by UF software project is based on RUP development methods, and combined with a single set of software development experiences for more than ten years of software development, it is in line with its own development process and development standards, demand, analysis and design, implementation, testing and implementation. They have made standard process definitions, and provide relevant templates, patterns, samples, regulations, check orders, etc., and guarantee from the organization level, software modeling is the core process of current user software development. 3 Do you feel the trend of software modeling?
At the same time, we provide a reused application software development platform, which provides a complete set of applications based on J2EE and .NET architectures, based on this platform, the relevant business programs can be quickly developed.
At present, we need to continue to improve the reusability in the process development process, enhance the quality of developers, and conduct continuous technology improvements. For these we will establish a related PAT team, and improve our process according to CMM standard KPA.
At present, Eclipse Modeling Framework, Rational XDE, Borland's Together is a technical architecture with modeling as a core, and the MDA has different degrees of implementation, and XDE and ToGethers are now commercial software, and it is estimated that the future will be estimated. EMF will be integrated into a version of IBM WSAD. There are also two MDA tools, Optiamlj and ArcStyler, is said to be good, the author has not tried it.
As far as the current trend, with the increase in the increase of MDA support and the influence of OMG organizations, the writer feels that the future trend of software modeling is MDA, drive model architecture, you should remember this name.