Introduction to object-oriented software engineering (oose)

Source: Internet
Author: User

The object-oriented method is a systematic method that applies the object-oriented idea to the software development process and guides the development activities, it is based on object concepts (objects, classes, and inheritance. Since the middle of 1980s, people have paid attention to the research of object-oriented analysis and design, and gradually formed an object-oriented methodology. Typical methods include P. coad and E. yourdon's Object-Oriented Analysis (OOA) and object-oriented design (OOD), G. booch's object-oriented development method, J. the Object Modeling Technology (OMT) proposed by Rumbaugh and others, and the object oriented software engineering (oose) of Jacob bson. In the middle of 1990s. booch, J. launched by Rumbaugh, Jacob bson and others, and launched a Unified Modeling Language (UML) based on the booch, OMT, and OOSE methods. In 1997, it was launched by the International Object Management Organization (OMG) determined as a standard modeling language.

The emergence of object-oriented methods quickly attracted the favor of the computer software industry and became the mainstream development method in 1990s. The reasons can be analyzed from the following aspects:

(1) from the perspective of cognitive science, object-oriented methods are in line with people's understanding of the objective world.

For a long time, the process of analyzing, designing, and implementing a software system is different from the process of recognizing a system. For example, structured analysis and design methods and information engineering methods are used. Object-Oriented Analysis and Design adopt the same graphical representation. analysis, design, and implementation are based on objects. Therefore, there is a seamless connection between various stages of object-oriented development. When user requirements change, the relationships between entities remain unchanged because entities in the objective world. Therefore, the general structure of object-oriented systems is relatively stable, most of the changes are caused by object attributes, operations, and message communication between objects. In short, the object-oriented method conforms to people's understanding of the objective world, and the developed system is relatively stable.

(2) software systems developed with object-oriented methods are easy to maintain, and their architecture is easy to understand, expand, and modify.

The software system for object-oriented method development is composed of object classes. The encapsulation of objects reflects the characteristics of abstraction and information hiding. Objects use properties and operations as interfaces (interfaces). Users can only access objects (request their services) through interfaces. The specific implementation details of objects are invisible to the outside world. These features make the architecture of the software system modular, which is easy to understand, expand, and modify. After the object interface is determined, the modification of implementation details does not affect other objects and is easy to maintain. At the same time, it is also easy to assign to different developers for implementation, according to the interface can be easily assembled into a system.

(3) The Inheritance Mechanism in Object-Oriented Methods strongly supports software reuse.

In different application systems in the same application field, many identical or similar entities are involved. These entities have many identical attributes and operations in different application systems, there are also some properties and operations unique to different application systems. When developing a new software system, some classes in the existing system can be reused to inherit and supplement the classes of the new system. In the same application system, some classes also have some common attributes and operations, and each of them has its own selfish attributes and operations. This can also be inherited to reuse public attributes and operations.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.