Software development method refers to: In the project investment scale and time limit, design, achieve the user needs of high-quality software, according to the characteristics of software development, put forward a variety of software development strategies. In the field of computer software, many new methods and technologies originate from the programming language, which is of great significance to the development of new methods and new technologies with vitality, which greatly promotes the development of computer software technology.
Both the structured method and the object-oriented approach are common software development methods in computing technology, and the two development methods are very popular nowadays, which depends on the proficiency of the analyst and the type of the project. At present, the perfect development method is not exist, the real practical system development method is often a combination of a variety of development methods. How to integrate the application, according to the size of the development system, the complexity of the system, the characteristics of the system development methods, as well as the computer software can be used to consider a number of factors after a comprehensive decision.
I. Structured approach
Structured method is the earliest and most traditional method of software development, and it is the most popular and mature one in the information system so far, it introduces engineering thought and structured thought, so that the development and programming of large-scale software have been greatly improved.
1 , basic ideas
The basic idea of structured method can be summed up as follows: top-down, gradual refinement, modularization technology.
(1) from top to bottom by layer decomposition, refers to in the program design, first consider the big aspects of the problem, after determining the main direction, then Youbiaojili depth to the specific details of the problem, from easy to difficult, layered problem-solving. This is a process from blurring to clarity, from generalization to concrete.
(2) The gradual refinement is in the face of complex problems, the first design some sub-goals as a transition, to gradually refine. For example, in the preparation of information for students, students should be divided into junior college, undergraduate, graduate students. When the undergraduate students fill in the information, but also their professional, class, school number, name, place of origin and other further division, and so on, and so on, gradually complete the information.
(3) Abstraction and modularity of functions. Because it takes the method of chunking problem, it can decompose a more complicated problem into several easy-to-solve parts, which reduces the difficulty of problem processing. Because the structured method is clear, clear, and effectively decompose the complex problems, making the program clear and concise, simplifying the programmer's complicated work, while reading can also be one go, giving people a clear feeling.
2 , Core issues
Model problem is the core problem of structured method, the establishment of model abbreviation modeling is to better understand the real world we want to simulate, modeling is usually started from the system requirements analysis, in the structured method is to use the SA method to build the system's environmental model, and then use the SD method to determine the system behavior and function model, SD The main task is to establish the system's behavior and function model on the basis of the system environment model, and to complete the description of the internal behavior of the system. The main tools to implement the system behavior and function model are: Data dictionary, flow chart, state transition diagram and entity one contact model. Finally, the SP method is used to design the system and to determine the user's realistic model.
3 , features
(1) User-oriented, users to participate in the analysis of the system from beginning to finish;
(2) Emphasizing the importance of investigative work;
(3) Decomposition of various data in the management business;
(4) The system thought of hierarchical decomposition was adopted;
(5) Using graphical tools to analyze and construct new schemes.
4 , Limitations
(1) The understanding and description of the problem domain in the demand analysis of the structured method is not the basic unit of the problem domain, but breaks the boundary between the various things, and analyzes the data flow as the center in the global scope, so the analysis result can't directly reflect the problem domain. At the same time, when the system is more complex, it is difficult to verify the correctness of the analysis. Therefore, the structural analysis method is easy to conceal some of the problem domain understanding deviation, and the subsequent development phase of the convergence is also more difficult;
(2) The design document in the structured method is difficult to correspond to the analysis document because the representations of the two systems are inconsistent. The result of structured method (DFD) and structured design result module structure (MSD) is two different representations, from the analysis to the design of the "transformation" there is no reliable conversion rules, but with human randomness, easy to understand errors and buried hidden trouble, Makes the design document and the problem domain's original appearance very far;
(3) The structural method has weak adaptability to the change of demand, the structure of software system is very sensitive to the change of function, the change of function will cause a lot of modification of the data flow which is connected with it, and the design software is difficult to reuse, which slows down the development process.
Ii. Object-oriented approach
Object-oriented (object-oriented, oo) method is the general term of a kind of method which is guided by object-oriented thought to develop system. This kind of method takes the object as the center, takes the class and the inheritance as the construction mechanism to abstract the real world, and constructs the corresponding software system.
1 , basic ideas
The 3 common rules of the "taxonomy theory" concerning human cognition in the real world are:
(1) Distinguishing objects and their attributes;
(2) Distinguish the whole object and its components;
(3) A class that forms and distinguishes different objects.
And the object-oriented idea is based on the above 3 commonly used construction method and built up.
In practical application, it adopts the 3 laws of object and its attribute, whole and part, class, member and the difference between them to analyze and design the system, follow the basic principle of taxonomy theory, accord with the scientific thinking way that the cognition comes from practice and serves the practice.
In Oo methods, objects and classes are the most basic concepts. The object is the basic unit of the system runtime, is a concrete instance of the class, is a dynamic concept, and the class is an abstract description of objects with the same properties and operations (or methods, services), is the object's generation template, is a static concept.
A class can be formally defined as:
Class=<id,inh,att,ope,itf>
which
id--class Name:
The inheritance set of the inh--class;
att--attribute set;
ope--operation set;
The itf--interface message set.
2 , Core issues
Object-oriented approach is the same as the structured method, the core problem is also the model problem, the object-oriented model is mainly composed of OOA model Ood model, in which OOA mainly belongs to the content of the abstract form of the subject, and is concerned with the model problem of constructing the real world. To solve the real-world modeling problem, we need to decompose the complex system, the most common decomposition method is stratification, Ood mainly belongs to the discipline design form aspect content, according to the design need, only to OOA in the problem domain to establish the abstraction level to carry on the necessary supplement and the adjustment, at the same time, Ood also must the human-computer interaction, Task management and data management 3 parts of the content to abstract, and finally establish a complete OOD model. There is no conversion problem with OOA and Ood.
3 , features
(1) Emphasizing the integrity and overall of the system development;
(2) Focusing on the process of data conversion rather than the data itself;
(3) long development cycle of the system;
(4) encapsulation. The concept of objects breaks through the separation of traditional data from operations. Objects act as independent entities, enclosing free data and operations to make their state and behavior localized.
(5) Inheritance. Inheritance is object-oriented and the most powerful mechanism. Class inheritance can compensate the problem of data or operation redundancy caused by encapsulated object, and realize software resource sharing, evolution and augmented expansion through inheritance support reuse.
(6) Polymorphism. Sending the same message to different classes or objects can cause different operations, making software development and design more convenient and coding more flexible.
(7) Ease of maintenance. Object-oriented abstract encapsulation makes object information hidden locally. When the object is modified, or the object itself produces an error, the resulting effect is confined to the inside of the object without affecting the other objects or even the whole system environment, which greatly facilitates the software design, construction and operation of the process of detection of errors, modifications.
4 , Limitations
(1) The determination of object in object-oriented method is sometimes difficult to determine because of the objective boundary ambiguity, so it is difficult to guarantee the correctness of software description;
(2) The problems of object-oriented in describing the problem domain. In the problem domain model, the object-oriented method directly expresses the problem domain phenomenon as the object, and the type of the phenomenon is directly expressed as a class. Most OOA methods support multi-view models, that is, the same problem domain phenomenon, which can be expressed by different principals as the same object or type. However, the descriptor of the system often encounters such perplexity in the application of object-oriented method, the descriptor tries to agree with the problem domain phenomenon through object-oriented expression, but the result of the object or class is not very suitable for the expression of the object's observation. That is to say, in the object-oriented model, different system descriptors can express the phenomenon as objects (or classes) when observing the phenomena of the same problem domain, but they cannot express the different cognition of the problem domain phenomenon, except through the processing of the underlying structure (such as operation, Protocol, etc.).
Iii. Summary
From the above analysis and design process can be seen, the structural approach is to model the function of the system, based on functional decomposition design system structure, from the internal function to simulate the objective world. Object-oriented approach is modeled from the point of view of behavior, based on the behavior analysis method to identify the object and the relationship between them, from the internal structure of the simulation of the objective world, it uses a new concept, new methods, new representations, to help software developers to deepen the understanding of the system, software development brings great benefits. But in practical application, the large-scale software system developed is usually a hybrid system, which needs to deal with real-time information and database support, and also involves a large number of transactional operation requests, in this case, the use of object-oriented method in the local processing can be combined with a structured approach.
No matter what method is used to develop the software, the user should be the software to meet the user's current needs. In the short term, users will not find the benefits that developers use in advanced methodologies, but developers themselves benefit greatly from the development burden. But as time goes on, the user is the most profitable, because the long-term quality of the software (including low maintenance costs and long life cycles) is fundamental to the user's benefits.
Reference documents
1, Miuhuai Buckle, Gaoxiaore, Li Gang. Comparison and combination of structured method, object-oriented method and formal method
2, Zhangli, Qiu. Comparative analysis of structured method and object-oriented method
3, Horondan. The comparison between the structured method and the object-oriented method in software engineering
4. Shinghong. A comparative study of structured methodology and object-oriented methodology in software development
5, Wang Hanhao, Sega, Shang. Software development Method--the comparison between the structured method and the object-oriented method
Analysis and comparison of structured method and object-oriented method