The software development method is a process of organizing software production using a well-defined set of techniques and symbolic representations. Software development requires a rigorous working method. There are many methods of software development. Different development methods are applicable to different software projects. Which method is used depends on the software.
The structured method consists of structured analysis, structured design, and structured programming. It is a data flow-oriented development method.
Structured analysis is based on the principle of decomposition and abstraction. According to the data processing flow in the system, the data flow diagram is used to establish the functional model of the system, thus completing the demand analysis work.
According to the module independence criterion and the software structure optimization criterion, the data flow diagram is converted into the software architecture, and the software structure diagram is used to establish the physical model of the system to realize the schematic design of the system.
Three basic control structures are used to construct a program. Any program can be constructed by ordering, selecting, and repeating three basic control structures.
The general guiding ideology of the structured approach is top-down, layer-by-layer decomposition. Its basic principle is the decomposition and abstraction of functions. Suitable for problems in the field of data processing, not suitable for solving large-scale, particularly complex projects, and difficult to adapt to changes in demand.
The Jackson method is a development method for data structures. The JSP (Jackson Structure Programming) method is driven by a data structure and is suitable for small-scale projects. The JSP method first describes the input/output data structure of the problem, analyzes its correspondence, and then introduces the corresponding program structure to describe the software process of the problem.
The JSD method is an extension of the JSP method and is a complete system development method. First, establish a real-world model, and then determine the functional requirements of the system. The description of the requirements emphasizes the timing between operations. It is driven by events and is a process-based development method, so it is suitable for systems with particularly strong timing, including data processing systems and some real-time control systems.
The prototype method is more suitable for situations where the user’s needs are unclear and the requirements are constantly changing. This method is better when the system size is not too large or too complicated.
The object-oriented method is the object as the most basic element, it is also the core of analyzing problems and solving problems. Object-oriented methods include object-oriented analysis, object-oriented design, and object-oriented implementation.
UML is an object-oriented standard modeling language. It unifies the modeling process and representation of various methods through unified semantic and symbolic representation. It has become the industry standard for object-oriented modeling.
Extreme Programming (XP): XP is a lightweight (agile), efficient, low-risk, flexible, predictable, and scientific approach to software development. It consists of four parts: values, principles, practices, and behaviors. They are interdependent, connected, and act through the entire life cycle.
A. Quick feedback
B. Simplicity assumptions
C. Gradual revisions
D. Promotion of changes
E. Quality work
A. Planning games (rapid planning, perfecting with changing details)
B. Small releases (system design to be delivered as early as possible)
C. Metaphor (finding the right metaphor to convey information)
D. Simple design (Only handle current requirements, keep design simple)
E. Test first (write test code first, then write a program)
F. Refactor (review requirements and design, re-describe them explicitly to meet new and existing needs)
G. Pair programming,
H. Collective code ownership
I. Continued integration (can provide customers with a runnable version on a daily or even hourly basis)
J. 40 hours per week
K. On-site customer and coding standards.
Crystal Law believes that each different project requires a different set of strategies, conventions, and methodologies.
The parallel method uses an iterative method in which the iteration of every 30 days is called a “sprint” and the product is implemented according to the priority level of the demand.
ASD has six basic principles. There is a mission as a guide; features are seen as a key point in customer value; waiting in the process is important, so the same key changes as “redo” and “do” are not considered corrections. It is seen as a survey of the actual situation of software development. The determined delivery time forces developers to seriously consider the critical needs of each production version. Risks are also included.