Plan
Of the problem to be solved by a general definition, including the understanding of user requirements and reality, from a technical, economic and social factors, such as three aspects of research and demonstration of the feasibility of software projects, preparation of feasibility studies to explore solutions to the problem and the availability of resources (such as computer hardware, system software, human, etc.) the cost-effectiveness can be obtained to estimate the progress and development. Completion of development tasks to develop implementation plans.
Analysis
Software requirements analysis is to answer the question of what to do. It is a user needs去粗取精,去伪存真, properly understood, and then it works with software development languages (functional form of the Statute, namely specification requirements) to express the process. The basic task of this stage is to identify the user to solve the problem, the logic of the establishment of software models, requirements specification document prepared and approved the final user. Needs analysis of the main methods of structured analysis, data flow diagram and data dictionary and other methods. This stage of the work is based on the demand requirements specification, design the corresponding software system architecture, and the whole system breaks down into several sub-systems or modules, the definition of subsystems or modules of the interface between the relations of the specific design of the subsystem the definition of a summary of the preparation of software design and detailed design specification, database or data structure design specification, assembly and testing of plans.
Design
Software design can be divided into a summary of the design and detailed design of two stages. In fact the main task of software design is the software module is broken down into a functional means to achieve the data and programs that process the executable program modules. Can be a function, process, subroutine, a description of the procedures with an independent program and data can also be combinations of biodegradable and can change the functional unit. Module, and then proceed to the modular design. Summary of design is the structural design, its main goal is to give software module structure, software structure, said. Detailed design of the most important task is to design modules of the program flow, algorithm and data structure, a secondary task is to design database structure or a common method of programming.
Coding
Software coding refers to the software design into computer program is acceptable, that is written in a programming language that the "source list." Full understanding of software development languages, tools, features and programming style, contribute to the choice of development tools, as well as to ensure the quality of software product development.
Current software development in addition to special occasions, the twentieth century has been rarely used in the 80's high-level language has been replaced by the development of object-oriented language. And the development of object-oriented language and development environment are combined into one, greatly enhanced the speed of development.
Test
The purpose of software testing is a smaller price and found the error as much as possible. To achieve this goal the key to designing a good test case (test data and expected output of the composition of the test cases). How can we design a good test case, the key lies in understanding of testing methods. Different test methods have different methods of test case design. Two test methods commonly used white-box testing is the source code, the procedure is based on the logic of the internal structure of software to discover programming errors, structural errors and data errors. Structural errors, including logic, data flow, initialization and other errors. The key use case is designed to use less of the cases covered by as much as possible the logic of the results of its internal procedures. White box and black box method is based on software or software to describe behavior and found that the software interfaces, functions and structure of the error. Interface errors which include internal / external interfaces, resource management, integration and system errors. Black-box use case law is also the key to the design with less coverage of the use case the output and input interface module. Black-box method.
Maintenance
Maintenance is to have completed the software development (analysis, design, coding and testing) work and after delivery of software products conducted by a number of software engineering activities. Software running under the circumstances, with appropriate modifications to the software to meet the new requirements, as well as the operation to correct the errors found. Report writing software, report software changes.
A medium-sized software development phase, if it takes a year to two years time, it put into use after the working hours of its operation or may last five to ten years. The maintenance phase it is running during the past five years to ten years. During this time, it almost needs to address the development phase of the various problems encountered, but also to solve some maintenance problems peculiar to itself. Do a good job in software maintenance work, not only to remove obstacles, so that software can work, but also can be extended so that it features, improves performance, in order to bring significant economic benefits. Unfortunately, for software maintenance is often far less emphasis on the importance of software development. In fact, compared to software development, software maintenance workload and cost to be much larger.
In the actual development process, software development is not carried out from the first step to the final step, but at any stage, the next stage in the former are generally a step or steps of the back. In the course of testing may be required in the issue of a revised design, the user may need to modify some brochures and other needs.







