Software Process
This chapter discusses the basic concepts and activities of software processes, introduces common software process models and practical cases of Microsoft's development process.
This chapter describes the goal of software engineering to develop high-quality programs within a defined time and budget. There are two kinds of thinking mode in software development: Task thinking mode and process thinking mode. The software process is a series of software engineering activities that are carried out with the support of soft ware in order to obtain software products. The basic activities of the software process are 6 steps: issue, software Requirements specification, software design, software implementation, software validation, software evolution. The software process model describes the overall framework of the software process, which is an abstract representation of the software process. Waterfall model is a linear process, suitable for the early stage of the development of software requirements are fully determined, obviously this requirement is too idealistic, difficult to adapt to the development of modern software requirements. The rapid prototyping approach overcomes the shortcomings of the waterfall model and reduces the risk of development due to unclear software requirements. The incremental model is designed to adapt to the process of the user's gradual refinement of requirements to reduce rework in the software development process. The spiral model combines the waterfall model and the rapid prototyping model, emphasizing the risk analysis neglected by other models, especially for large and complex software systems. The formal method model is particularly suitable for the development of software systems that require very high security, reliability and confidentiality, and it uses formalized mathematical methods to translate system descriptions into executable programs. The component-based development model fully embodies the idea of software reuse, reduces the development risk and cost, and can quickly deliver the software developed.
Theory, method and practice of software Engineering (chapter II)