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