The framework of software engineering (software Engineering) can be summarized as: objectives, processes and principles.
(1) Software engineering Objective: production of products with correctness, availability and cost-appropriate. Correctness refers to the degree to which a software product achieves its intended function. Availability refers to the extent to which the software infrastructure, implementation, and documentation are available to the user. Overhead is the degree to which the entire cost of software development and operation meets the user's requirements. The realization of these goals, both theoretically and in practice, has many problems to be solved, and they form the constraints of process, process model and engineering method selection.
(2) Software engineering Process: the steps required to produce a product that ultimately meets the requirements and meets the engineering objectives. The software engineering process mainly includes the development process, the operation process and the maintenance process. They cover the requirements, design, implementation, validation, and maintenance activities. Requirements activities include problem analysis and demand analysis. The problem analysis obtains the requirement definition, also called the software Requirement specification. Requirements analysis generates a functional specification. Design activities generally include a summary design and detailed design. The outline design establishes the entire software system structure, including the subsystem, the module as well as the related level explanation, each module's interface definition. Detailed design produces module descriptions that are available to programmers, including data structure descriptions and processing descriptions in each module. The implementation activity transforms the design results into executable program code. Confirm the activities throughout the development process, to achieve the completion of the confirmation, to ensure that the final product to meet user requirements. Maintenance activities include the use of the process of expansion, modification and improvement. Along with the above process, there are management process, support process, training process and so on.
(3) The principle of software engineering refers to the principles that must be followed in the process of software development around engineering design, engineering support and engineering management.
The question is very complicated, and I beg to say a few words under presumptuous.
The goal of software engineering is to develop software products with minimum cost, highest quality and shortest development time. The various software engineering methods currently in vogue are not achieving this goal. The weight method represented by Rup is used to plan and prepare too much time, and the actual energy used in development is very small, believing that as long as the enterprise guarantees the implementation of the software process, other things are well done, this method of extreme repression of human nature will not achieve very good results. Light weight method is better, after all, most of the attention is on development, we all like, but only rely on a few people, can not deal with large projects. Of course, everyone is improving their shortcomings and absorbing each other's merits.
Understanding of Software Engineering