The comparison between the structured method and the object-oriented method
Name Zhouzi Master No. 14061031
In the process of software development, the structured method and the object-oriented method have been put forward, which brings different ideas for solving different software development problems. The following is an understanding and comparison of structured methods and object-oriented methods.
The basic point of the structured method is to decompose the operational problems in the real world, to solve the problem space of process design, to emphasize the top-down, the gradual refinement and the modularization design. The structured method considers the problem to be solved as a system, which can be used to analyze and solve the problem by means of system science. The structured approach follows the basic principles of:
- Abstract principles:
Abstract principle is the basic principle that all systems scientific methods must follow, it focuses on grasping the essential content of the system and ignoring the content which is irrelevant to the current goal of the system. It is a basic cognitive process and way of thinking.
- Decomposition principle
The principle of decomposition is the most basic principle in the structured method. It is one of the four principles of the first general post-local, it adopts top-down layered approach when constructing the information system model.
function decomposition is a recursive definition, that is, the structure of the No. 0 layer can only see its immediate next layer (assuming the 1th layer) of the structure, as for the 1th layer of the structure of their own implementation, are not the No. 0 layer should be considered. And for the 1th layer structure, it only manages the 1th layer of the module, for the next layer of the module, but also do not manage. This kind of thinking allows us to focus on one area at a time, the area may be at the top or the bottom, but no matter what layer it is, it is the iterative thinking, the nth layer only considers its relationship to the n+1 layer, and does not consider the n+2 and the n+3 layer. While the next layer of modules may be related to relationships, also pits are or relationships, they collaborate with each other to complete the function of the previous layer. Therefore, the model of "input-output-system-storage medium" can be used to express the function, the subsystem and the whole system.
- Modular Principles
Modularization is a concrete application of the most basic decomposition principle of the structured method. It needs to appear in the structured design phase, the goal is to break down the system into several modules with specific functions, thus accomplishing the functions specified by the system.
Structured methods include basic structural methods, complex structured methods IDEF systems, and the Jackson method. The structural approach is characterized by 1. The ability to implement a complex process with multiple individual small processes ; 2. The whole decomposition process can be completed by the data flow diagram; 3. The uniqueness of the result, the same problem, the results of the decomposition of different people basically the same, that is, the structure of the method, basically has a standard answer; 4. More suitable for beginners to learn, because it is a continuous process.
The overall process of structured design is as follows:
Traditional software development
Master plan
Target Task
Feasibility analysis
Technical feasibility
Economic viability
Management Feasibility
Development environment Feasibility
Demand analysis
Process
Problem identification
Analysis and synthesis
Prepare documentation for the requirements analysis phase
Requirements Analysis Review
Method
Data flow oriented (structured analysis method as)
Data structure-oriented (Jackson method JSD, structured Data system development method DSSD)
Prototyping method
Design
Overview design
Develop specifications
Module design
Processing mode Design
Data structure Design
Reliability Design
Detailed design
Type
Design Content
Program encoding
Program Language selection
Programming style
Program Complexity Metrics
Program efficiency
Program Testing
Use case Testing
Testing process
Program debugging
Operation and Maintenance
Adaptive Maintenance
Preventative Maintenance
Corrective Maintenance
Integrity Maintenance
Object-oriented development method is also called Fast rich Hung Xinghua, the objective event is composed of various objects, each object has its own internal state and movement law, and the interaction and relation between different objects constitute a variety of different systems.
Compared with the structure, the disguised object method is not a hierarchical structure, in the structure, the next layer since the next layer, the lower layer, as long as the underlying changes, the upper level must follow the change, there is no good isolation changes, the child object-oriented very good Geng Zhuang changed, the outside world only need to use the structure of the object, Without having to worry about how this excuse is implemented.
The object-oriented model follows several principles:
- Abstract
Abstraction is the most basic way to deal with the complexities of the real world, and in an object-oriented approach, it emphasizes the essential characteristics of an object and other objects that want to differentiate. Determining a reasonable abstract set for a given domain is one of the key problems of object-oriented modeling.
- Packaging
Encapsulation is the division of abstract excursions. A process abstraction consists of a structure and a behavior that encapsulates the original interface used to separate the abstraction and its execution. Encapsulation also becomes information hiding, which separates the external features of an object from the execution details inside and hides the latter from other objects.
- Modular
Modularity has been divided into a series of clustered and coupled modules that determine the correct set of modules for a given problem is almost as difficult as determining the correct abstract set. Usually each module should be simple enough to be fully understood
- Level
Abstract sets usually form a hierarchy, which is the collation and sorting of abstractions. In the complex real world there are two very important levels, one is the type level and the other is the structural level. Determining the level of abstraction is based on the inheritance of objects, which helps to discover the relationship between abstractions in the inheritance of objects, and to understand the nature of the problem.
Object-oriented development undergoes the following process:
Object Oriented development
Object-Oriented Analysis
Steps
Identify the problem domain
Identify objects and classes
Identify the relationships between objects
Defining properties
Defining services
Five levels
Classes and objects
Property
Service
Structure
Theme
Three major models
Object model
Dynamic model
Functional model
Object-oriented design
High-rise design
Problem domain section
Human interaction Section
Data Management Section
Task Management Section
Class design
Design for unaltered reuse
Evolutionary reuse Design
Design of waste development
Object-Oriented Programming
Object-oriented testing
Kinds
Test based on definition
Program-based Testing
Stage
Unit Test (class test)
Assembly test
Confirm Test
The advantages of the structured approach are as follows
From the system as a whole, to ensure the integrity of the system and the consistency of the goal.
The structure method emphasizes function abstraction and modularization, and adopts the method of block processing, which can decompose a more complicated problem into several easy-to-solve parts, thus reducing the difficulty of problem processing.
Strictly differentiate the stage of the system development, the work result of each phase is the basis of the next stage, which is convenient for the management and control of the system development.
Document standardization, according to engineering standards to establish standardized documentation, easy to maintain the software in the future.
The disadvantages of a structured approach are
Poor reusability, structural analysis and design clearly define the structure of the system, the system to the external interface certification changes, the system may cause large changes in structure, it is difficult to expand the new functional interface.
Poor maintainability of software. Due to the modification of software, resulting in maintenance difficulties, resulting in maintenance costs and high costs.
Developed software is difficult to meet user needs.
The advantages of the object-oriented approach are as follows;
Programming is easy. Because object-oriented is closer to reality, you can trigger from realistic things and make appropriate abstractions.
Reusability is good.
Consistent with the way humans are accustomed to thinking, it makes it easy for both users and maintenance personnel to understand.
Object-oriented can make engineering more modular and realize lower coupling high cohesion thought.
Conform to people's understanding of the law of things, systematic development of gradual, repeated changes to ensure a better user satisfaction.
The object-oriented approach also has some drawbacks
High development process Management requirements
The object-oriented method shields the execution details of the object by means of information hiding and risk yellow, and the cost of fault-free error is great.
Developers easily replace the prototype system analysis, lack of standardized documentation, not conducive to future maintenance.
Through the above summary, we can learn that the structured development method is applicable to the development of large scale and high structural system, and the non-washing that object developed for the processing process is clear, simple system, involving narrow small system, not suitable for large, complex systems, there are a large number of operations, logic strong processing system.
Structured methods and object-oriented methods