Software design of object-oriented technology

Source: Internet
Author: User

Object-oriented technology (object-oriented technology). Object-oriented technology emphasizes in the process of software development for the objective world or the things in the problem domain, the use of human in the process of understanding the objective world, the common use of thinking methods, intuitive and natural description of the objective world of related things. The basic features of object-oriented technology include abstraction, encapsulation, inheritance and polymorphism.

Object Modeling Technology (OMT)

Object Modeling Technology constructs the information collected during analysis in three types of models, namely, object model, functional model and dynamic model.

Object model: The most critical model that describes the static structure of the system, including the classes and objects that make up the system, and the relationships between them

In object modeling techniques, the relationship between classes and classes is called Association

Associations are divided into aggregates, qualifiers, roles

Dynamic model: Focus on the control logic of the system, including two graphs, one is the state diagram, the other is the event tracking graph

State diagram: A network of States and events that focuses on describing the dynamic behavior of each type of object

In a state diagram, a state is a generalization of a property feature in a moment. State migration indicates when this class of objects responds to which events occur within the system.

Event Tracking graph: focuses on explaining a specific "scenario" that occurs during system execution

Functional model: What output data can be obtained from the input data by calculation, regardless of the timing of the data participating in the calculation. The functional model consists of multiple data flow diagrams, which indicate the entire dataflow situation, from external input, through manipulation and internal storage, to guide the external output.

Analysis process based on three models

Functional model Definition "what to do"

Dynamic model definition "when to do"

The object model defines "who to do"

Object-oriented analysis (OOA)

5 levels of constructing OOA conceptual model

Classes and objects, properties, services, structures and themes

Class and object layer: How to build a basic block

Attribute layer: An object's properties and instance joins

Service layer: The service of the object, plus the composition of the message communication between the object instances

Structural layer: Describes the general--special structure or generalization--specialization structure, generalization--special structure shows the inheritance of class

Topic layers: Categorize objects into topics, and use a theme to frame them

Principles used to construct the OOA model: abstraction, encapsulation, inheritance, classification, aggregation, association, message communication

Object-oriented design (OOD)

1, high-rise design

The overall model of constructing application software

Identify the concepts needed to do problem-solving work in a computer environment

Continue to use the 5 levels mentioned in the analysis phase during the design phase, which are used to build 4 components of the system in 5 levels

Problem domain part: Refers to the object that performs basic application function

Human-Computer Interaction section: Specifies the interface technology for a particular implementation of the system

Task Management Section: Specifies the part of the operating system that must be established when the system is created

Data Management Section: Defines the objects that interface with the database technology being used

2, class design

Test strategy under Object-oriented environment

1, Unit Test (class test): The smallest testable cell-encapsulated class or object, rather than the program module, in an object-oriented environment

2, Assembly test

Lead-based testing: It assembles a set of classes needed to respond to a system's data or events. Each lead will be tested and assembled separately

Application-based testing: It looks at the system structure and first tests the stand-alone classes that use only a few server classes. Then test those related classes that use a separate class.

3, confirm the test: Focus on the user's requirements and the user can recognize the system output.

Types of class tests

Definition-based testing: treats the class as a black box, confirming that the class implementation is in accordance with its definition

Program-based testing: Consider the implementation of the class to determine if the code was written correctly

Assembly test:

Class assembly: When testing a new class, you need to test the classes involved in the definition before considering the assembly of these classes

Overall assembly: Assemble all the parts that make up the complete piece of software. Test the selected test case should aim at the target of the software being developed.

Software design of object-oriented technology

Related Article

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.