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 software engineering is a branch of computer software, which mainly studies various technologies in the whole process.
Mainly include:
1, the principle and strategy of software development,
2, Software development method and software process model,
3, software standards and software quality measurement;
4, Software development organization and project management, ...
The software engineering is a branch of computer software, which mainly studies various technologies in the whole process.
Mainly include:
1, the principle and strategy of software development,
2, Software development method and software process model,
3, software standards and software quality measurement;
4, the organization and project management of software development,
5, software copyright.
It is generally applied to the development of large-scale software systems.
Its development team includes: User, project leader, analyst, junior Programmer, data clerk, operator.
Software engineering refers to the use of engineering concepts, principles, techniques and methods to develop, maintain, and test the time to prove that the right management technology and the current can get
The best technical methods combine to guide the development and maintenance of computer software in engineering disciplines.
Software engineering emphasizes the use of life cycle methodologies, structural analysis and structural design techniques, and emerging object-oriented analysis and design techniques.
Survival cycle (sdlc--system development life cycle) refers to the whole period from the point of software development project to the completion mission of software products;
It is divided into eight stages:
1. Question definition: What is the problem? Complete the scale and target report.
2. Feasibility Study: Is it feasible? Is it worth doing? Complete the system's actual model, flow chart, cost/benefit analysis.
3. Demand analysis: What must the system do? System logic model, data flow diagram, database dictionary, algorithm description, requirement specification.
4, the overall design: How to solve this problem? Feasible solution, System flowchart, cost/benefit analysis, recommended system structure, hierarchy chart/structure diagram.
5, detailed design: How to implement this system? Coded specifications.
6, coding and Unit testing: the correct program module. program lists, unit test scenarios, and results.
7. Comprehensive testing: Software that meets the requirements. Comprehensive test scenarios and results, complete and consistent system configuration.
8, Software Maintenance: Durable to meet the user. Complete and accurate maintenance records, requirements of the software.
Requirements Analysis phase: The customer's business activities are analyzed to clarify what the software system should do in the user's business environment. Customer requirements typically include "functional requirements, performance requirements, reliability requirements, security requirements, development costs, development cycles and available resources".
The user's business needs to be discussed by the user and the software personnel, understand the user's requirements, and the mutual understanding of the two clearly written a document---requirements specification.
The requirement specification has three functions: 1, as a contract between the user and the software personnel, provides the basis for mutual understanding between the two parties. 2, reflects the structure of the problem, can be used as a software personnel design and programming basis. 3, as the basis for acceptance, that is, as the basis for the selection of test cases.
The requirement specification should be complete, consistent, accurate and non-semantic, easy to understand and easily modified and maintained.
In the demand phase, the design constraints should also be considered "cost, progress, available hardware and software resources", customer acceptance criteria "customer demand refinement", the preparation of "Preliminary user manual" and review the requirements of the specification.
What is software engineering