Object-oriented method review Chen Xiaoqun (this article reprinted from the Software Engineering Expert Network www.21cmm.com, does not mean GIGIX perspective) End of the 1980s method. Among them, Booch, COAD / YOURDON, OMT, and JACOBSON methods have been widely recognized in the object-oriented software development world. It is particularly worth mentioning that unified model language UML (Unified Modeling Language), which combines the advantages of Booch, OMT, and Jacobson methods, unified symbolic systems, and absorbs many times from other methods and engineering practices. The concept and technology of the actual inspection. UML Method has been proposed until last year to version 1.1, and has been submitted to the Object Management Group OMG, and the application is a standard for object-oriented methods. Object-oriented methods support three basic activities: identifying the relationship between objects and classes, describing objects, and classes, and behavior of the function definition objects of each class. In order to find objects and classes, developers want to find nouns and noun phrases in the system requirements and system analysis, including perceived things (car, pressure, sensor); role (mother, teacher, politician); incident (landing , Interruption, request); mutual effects (lending, meeting, intersection); personnel; place; organization; equipment; and location. By browsing the script of using the system, it is an important technique for object-oriented analysis and design procedures. When important objects are discovered, through a set of inter-associated models represent the relationship between classes and objects, these models represent software architecture from four different sides: static logic, dynamic logic, static physics And dynamic physics. Static logic model description instantiation (class member relationship), association, aggregation (overall / part), and generalization (inheritance). This is called an object model. The general relationship represents inheritance relationship between attributes and methods. The graphic symbol system defining the object model is usually exported from an entity relationship diagram for data modeling. The design is very important for the design, such as the base (one-to-one, one-to-many, multi-to-many), also in the object model. Booch method dynamic logical model describes the mutual effects between objects. The mutual acting passes through a group of synergistic objects, the ordered sequence of the object, and participates in the visibility definition of the object to define the behavior of the system run. The object interaction diagram in the Booch method is used to describe important mutual effects, showing messages that are sorted by time between objects and objects. The visibility map is used to describe the visibility of the objects in mutual action. The object's visibility defines how an object is in a scope of the method of sending messages thereto. For example, it can be a parameter, a partial variable, a new object, or a portion of the object that is currently performing a method. Static physical model describes the layout of the code through the module. Dynamic Physical Model Description Software Process and Thread Architecture. The process of the Booch method includes the following steps: identify classes and objects at a given abstract hierarchy. Identify the semantics of these objects and classes. Identify the relationship between these classes and objects. Implementation and objects These four activities are not just A simple step sequence, but an iteration and an increasing development process for the logic and physical views of the system. The identification of classes and objects includes identifying the key abstraction and dynamic behavior of problem space. Developers can find critical abstractions by researching the terms of the problem domain. Semantic identification is mainly to establish the meaning of classes and objects identified by the previous stage. Developers determine the behavior of classes (ie, methods) and the mutual effects between classes and objects (ie behavioral specification description).
This phase uses a model of the state of the object to describe the state of the object, using a timing diagram (timing constraint in the system) and the object map (the mutual action between the object). Describe the static and dynamic relationship models in the relational identification phase. These relationships include use, instantiation, inheritance, association, and aggregation. The visibility between classes and objects is also determined at this time. In the implementation phase of the class and objects, consider how to use selected programming language, how to organize classes and objects into modules. In object-oriented design methods, BOOCH emphasizes the difference between class and object-based system logical views and system physical views based on modules and processes. He also distinguishes the static and dynamic model of the system. However, his approach is biased towards the static description of the system, which supports less dynamic description. The power of the Booch method is its rich symbolic system, including:. Class map (class structure - static view). Object map (object structure - static view). State transfer graph (class structure - dynamic view). Time map (object) Structure - Dynamic View). Module Diagram (Module Architecture). Process Diagram (Process Architecture) For class and object modeling symbolic systems use annotations and different icons (such as different arrows) express detailed information. Booch recommends that the design of the design can be used with a subset of the symbol system, and then continuously add details. There is also a text form for each symbol system, consisting of a description template for each primary structure. The symbol system is defined by a large number of icons, but its syntax and semantics are not strictly defined. Rumbaugh's OMT method Rumbaugh's OMT method is described in three viewing systems, which provides three models, object models, dynamic models, and functional models. Object model describes the static structure of the object and the relationship between them. The main concepts include:. Class. Properties. Operation. Inheritance. Association (ie, relationship). Aggregation Dynamic Model Description System These main concepts are:. State and super state. Event. Behavior. Activity function model describes the conversion of internal data values in the system, its main concepts are: machining. Data storage. Data flow. Control flow. Role (source / pool) This method divides the development process into four phases: 1 analysis based on problem and Description of user needs, build models of real world. The products in the analysis stage are:. Problem Description. Object model = object map Data Dictionary. Dynamic model = status map Global event flow map. Function model = data flow map constraint 2 system design combination problem domain knowledge and target system Architecture (solving domain), decompose target system into a subsystem. 3 object design is based on the analysis model and the implementation details added to the architecture in the solution field, and complete the system design. The main products include: refineted object model. Refined dynamic model. Refined functional model 4 Realize the design to convert the design to a specific programming language or hardware while maintaining traceability, flexibility, and scalability. COAD / YOURDON Method COAD / YOURDON method strictly distinguishes object-oriented OOA and object-oriented design OOD. This method uses five levels and activities to define and recording system behavior, input, and output. These five levels of activities include: found classes and objects. Describe how to find classes and objects. From the application field, identify classes and objects, form the basis of the entire application, and then the responsibility of the system is analyzed. Identification structure. This phase is divided into two steps.
First, identify the general-special structure, the structure captures the hierarchy of the identified class; second, identify the overall-part structure, which is used to indicate how an object is part of another object, and how many objects Assembled into larger objects. Define the topic. The subject consists of a set of classes and objects, which is used to divide the class and object models into larger units, which is convenient for understanding. Define properties. This includes an instance connection between an instance (object) defined. Define service. This includes a message connection between the objects. In the object-oriented analysis phase, the result after five levels is a five-level problem domain model, including topics, classes, and objects, structures, attributes, and services, are represented by classes and object maps. The order of five levels is not important. Object-oriented design models need to be further distinguished from four parts:. Problem section (PDC). The results of object-oriented analysis are placed directly into the portion. Human-machine interaction part (HIC). This part of the activities include scripts that are classified, describing human-computer interaction, design command hierarchies, design detailed interactions, generate the prototype of the user interface, and define the HIC class. The activities of this section (TMC) include identifying tasks (processes), tasks provided by the task, the priority of the task, the process is event-driven or clock driver, and how the task is communicated with other processes and the outside world. Data Management section (DMC). This part relies on storage technology, is the file system, or is still a database management system or an object-oriented database management system. Jacobson Method Jacobson method is different from the above three methods, which involves four stages of the entire software lifecycle, including demand analysis, design, implementation, and testing. Demand analysis and design are closely related. The activities of the demand analysis phase include defining potential characters (roles refer to people and soft, hardware environments of the system and the system, "identifying objects and relationships in the problem domain, based on demand specification descriptions and roles, Uses Case, Detailed use of USE Case. The design phase consists of two main activities, discovers design objects from a demand analysis model, as well as design models for realizing environmental adjustment. The first activity includes discovering design objects from the description of the USE CASE and describes the properties, behaviors, and associations of the object. Here you still have to assign the behavior of the USE CASE to the object. In activities and relationships of the identification domain objects and relationships in the demand analysis phase, developers recognize classes, attributes, and relationships. Relationships include inheritance, familiarity (association), composition (aggregation) and communication associations. Define the activity of the USE CASE and identify the activities of the design object, and the two activities work together to complete the behavior. The Jacobson method also divides objects into semantic objects (domain objects), interface objects (such as user interface objects) and control objects (processing between processing interface objects, and domain objects). One key concept in this method is USE Case. Use case refers to behavioral-related transactions sequences that will be executed by the user in the system dialog. Therefore, each USE CASE is a way of using the system. When the user gives an input, execute an instance of a USE CASE and triggers an transaction that belongs to this USE CASE. Based on this system view, Jacobson associates the USE Case model with other five system models:. Domain object model. The USE Case model is represented according to the field. Analysis model. The USE Case model is constructed by analysis. Design model. The USE Case model is embodied by design. Implement model. This model implements the USE Case model based on the specific design.