软件工程总结1

Personally, I think the software development process to achieve specific to each step of the work to complete what is very flexible. The core of the analysis, design, coding, debugging and maintaining these part of the work is the preparation of the document. The role of document have the following three aspects: First, it can help organize your thoughts. It can organize to accomplish objectives, system structure and function of each module, and then write down the different categories. So in the development process, there is basis to the need to go back to modify the design, but also permits can test. The second is to facilitate the conversation exchange. Third, it can serve as a reference for future maintenance. Do not expect your source code, for more complex procedures, the simple source code will kill off almost all your time.

So, it is necessary to open the software engineering course. This course will not only enable us to master the theory of software engineering, as well as from different instances so that theory and practice to get a good combination. Here is my summary of their own after the lectures. I know there are a lot of things do not understand, only through continuous learning in order to undo.

◆ the software crisis: refers to a series of problems encountered in the

process of software development and maintenance. The cause of the software crisis: the software itself cause (large-scale, complex, life 3-5 years); The method of software development and maintenance is not correct.

◆ Software engineering: It is the branch of computer science that seeks

principles to guide the development of large, complex software systems.

◆ the three elements of Software Engineering methodology: methods, tools,

process. (Software have a program, document, and data members)

◆ The difference of the traditional methodology and the object-oriented

methodology: Traditional methodology: process-oriented, use the waterfall model, software development is divided into several stages, emphasize that each stage of the integrity and order.

Object-oriented: start from the objective reality of things; use the way of natural thinking of the human to develop software.

Advantages of object-oriented methodology is as follows: maintainability; the same as the human's the way of thinking; stability; reusability good; easier to develop large-scale software.

◆ the software life cycle: the whole process of from design, put into

use to be eliminated.

◆ software development model: is the whole process of software

development, activities and tasks of the structural framework.

◆ Waterfall model: (planning, requirements analysis, software design,

top-down, step by step design, front output rear inputs)。

◆ Features: order, dependence, lack of flexibility .

◆ Scope: the project of specific user needs.

◆ Rapid Prototyping model: first create a primary procedure, based on

user demand continues to improve.

◆ Features: fast to meet with the user; development of high efficiency; slow and costly.

◆ Scope: demand is difficult or unclear items, user requirements.

◆ Incremental model : to complete the development of a subset of the

system, according to the same steps to increase functionality.

◆ Features: can be submitted within a short time some of the features of the product; users to adapt quickly; need experienced personnel.

◆ Scope: time-tight, short-term users need to use some features of experience.

◆ Spiral model:

◆ Features: Reduce the testing, maintenance and development; to software quality as a development goal.

◆ Scope: a large-scale software projects.

◆ Fountain model: a typical of model object-oriented software

development, with emphasis on the overlap between the different stages.

◆ Agile methods: Agile development is a people-centered, iterative,

incremental development methodology. In agile development, software project build was cut into several subprojects, each subproject results are tested, with the integration and operation characteristics. In other words, it is to a large project into multiple interrelated, but small projects can be run independently, and were completed. In this process, the software has been in a usable condition.

◆ ER diagram have three core constructs:

◆ An entity: depicted as a rectangle, represents a collection of real-world objects that have common properties and behaviors.

◆ A relationship: depicted as an edge between two entities, with diamond in the middle of the edge specifying the type of relationship.

◆ An attribute: an annotation on an entity that describes data or properties associated with the entity.

◆ The four phases of demand analysis: requirements elicitation, analysis

and modeling, documentation, certification requirements.

◆ the task of requirements analysis: precise define the goal of future

systems, determine the system must do in order to meet the needs of users. With "requirements specifications" standardized format to express accurately the needs of users.

◆ The ways to get requirements: Interviews; Stream-oriented top-down

refinement; Simple application requirements specification techniques; Quickly build software model.

◆ Requirements definition: A complete listing of everything the customer

wants to achieve; Describing the entities in the environment where the system will be installed.

◆ Requirements specification: restates the requirements as a

specification of how the proposed system shall behave.

◆ Structured analysis: data flow-oriented top-down stepwise refinement

analysis.

◆ Structural analysis of three models: (1) Data model---- ER

diagram;(2)Functional model ---- data flow diagram (DFD);(3)Behavioral model ---- the state transition diagram (STD). ◆ Software design phase:

◆ Outline design (overall design): determine the software architecture (modular) and the relationship between the components.

◆ Detailed design: determine the module's internal algorithms and data structures, program modules generate the process described in the detailed documentation.

◆ Software design principles: modularity, abstraction, stepwise

refinement, information hiding and localized.

◆ Modular: the program is divided into several modules, to complete a number of functions in independent, then form them a collective, to be completed by a specific function, to meet the requirements of the problem.

◆ Cohesion: refers to a module in the function of each element within each combination of the degree of tightness.

◆ Information hiding: the information contained in a module does not require such information for the module, it is not accessible.

相关推荐