The general process of software development?
Users questions: Will the general process of software development? Such as feasibility analysis, program design, testing ... ...
Experts answer: 1, the definition of the problem definition stage to answer the key question is: "What is the problem to be solved?" Therefore, analysts actual users on the system and use of department heads access to the investigation, briefly To write to their understanding of the issues, and head of the user and use the meeting to seriously discuss the written report, to clarify ambiguities, correct understanding is not the right place, and finally get a mutually satisfactory document, this document should be written in the system nature of the problem analysts, project goals and Scale. Problem definition phase of software life cycle is the shortest stage, generally only a day or even less time. Second, the feasibility study phase, the task is not specific to solve the problem, but the scope of research questions, and explore whether it is worthwhile to address this issue, whether there are feasible solutions. At this stage , Systems analysts should be exported high-level logic model system, and on this basis more accurately and specifically identify and target size of the project. And analysts to more accurately estimate the cost and effectiveness of the proposed system, a careful cost / benefit analysis, this is one of the main tasks of this phase. Feasible The results of the study is the use of department heads to make whether to continue the project an important basis for the decision. Third, requirements analysis task at this stage, the main objective is to determine what functions the system must have. Therefore, the system analyst in the requirements analysis phase and the user must cooperate closely with the full exchange of information to Obtained through the user to confirm the logic model. Usually Seto, according to the dictionary data flow diagram and a brief description of the algorithm that the system logic model. System requirements analysis phase to determine the logical model is the future design and implementation of the target system, so must accurately reflect the user's requirements completely. Fourth, the overall design This stage to answer the key question is: "how to solve this problem?" Should first consider several possible solutions, generally include: 1. Low-cost solution. System only the most necessary work to complete and can not do a bit more extra work. 2. Medium cost leopard solutions, such System is scheduled to complete the task well, easy to use, and may also have the user does not specify some of the functions and features. 3. High cost of "perfect" system. This system has the user may want to have all the features and characteristics. Systems analysts should use the system flow Chart or other instrument described in every possible system, it is estimated the costs and benefits of each program; also should fully weigh the pros and cons of various options based on the recommendation of a good system, and to develop a system to achieve the recommended detailed program. To accomplish these tasks, usually one of the fundamental principles of structural design That process should be modular, so the overall design should also design the software structure, software structure diagram is usually expressed. 5, the detailed design of the detailed design stage of the task is to method specific, detailed program design specifications, including the necessary details, the programmer can write according to their actual procedures Dai Code. Usually process flow diagram, N-S diagram, PAD diagram,) (IPO plan or PDI_. Language to describe the detailed design results. 6, coding and unit testing of this stage is to target system programmer according to the nature and the physical environment, select an appropriate high-level programming language (if necessary with Assembly language), the results of the detailed design of the translation into the selected language with the written procedures, and prepare carefully for each test module. Programmers to write program modules should make it more readable, understandable and good maintainability. 7, comprehensive test of this stage is through the various types of test So that the software intended requirements. The most basic test is integration testing and acceptance testing. Integration testing is based on the design of software architecture, taking the unit test module assembly according to a selected strategy up the program in the assembly process the necessary tests. Acceptance test in accordance with the provisions of requirements specifications , By the user on the target system acceptance. Through analysis of the results of software testing can predict the reliability of the software; the other hand, according to the requirements of software reliability testing and debugging process can decide when to end. The process of taking the test, should formally document the test plan, detailed test