Basic knowledge of software engineering 1

Source: Internet
Author: User

The term "Software engineering" was first proposed at the NATO conference, hoping to use engineering principles and methods to overcome the software crisis. Since then, people have carried out the research of software development model, development method, tool and environment, put forward the development models such as waterfall model, evolutionary model, spiral model and fountain model, and developed methods, such as data flow method, object-oriented method, OO, and a batch of case (computer aided Software Engineering, computer-aided software engineering) tools and environments.

I. Software life cycle

Stage Task Participating personnel The main documents produced
Feasibility Analysis and project development plan Determine the development objectives and feasibility of the software User, project leader and system analyst Feasibility Analysis report and project development plan
Demand analysis The function, performance, data and interface of the software system are required to determine the logical model of the system. User, project leader and system analyst Software Requirement Specification
Overview design Design the structure of the software, but also to design the project's application system and the overall data structures and database structure. System Analyst and software designer Overview Design Manual
Detailed design Transform the functional description into a precise, structured process description. Software designers and programmers Detailed design Documentation
Coding Write the control structure of each module into a specific programming language Programmers SOURCE program Manifest
Test Check every part of the software on a test case basis A software designer or system analyst in another department

Software Test Plan

Test Cases

Software Test Report

Maintenance For various reasons, the software is modified. —— ——

Two. Software Process

The roadmap followed in software development is called a "software process."

1. Competency Maturity Model (CMM)

The software Process Capability Maturity Model (Capability Maturity Model of SOFTWARE,CMM), which is designed to provide a way to evaluate the ability of a software recipient ,

It can also help software organizations improve their software processes.

The CMM divides the software process into 5 levels of maturity.

(1) The initial level of chaos, the successful completion of the project is entirely dependent on individual efforts and the role of heroic core characters.

(2) Repeatable levels have the necessary process guidelines to repeat previous successes in similar projects.

(3) The software process has been documented and standardized in both defined level management and engineering.

(4) The management level has developed a detailed measurement of software processes and product quality.

(5) The optimization level strengthens the quantitative analysis, through the feedback enables the process to continue to improve continuously.

2. Competency Maturity Model (CMMI)

CMMI is the synthesis and improvement of several process models, and it is a systematic and consistent process improvement framework that supports multiple engineering disciplines and fields.

The CMMI provides two presentation methods, a phased model that focuses on the maturity of the Organization, and a continuous model that focuses on the capabilities in each process domain.

3. Unified Process (UP)

The unified Process model is a "use case and risk driven, architecture-centric, iterative and incremental" development process supported by UML methods and tools.

Initial phase: Life cycle objectives

Essence stage: Life cycle framework

Component stage: preliminary operation function

Handover phase: Product launch

Basic knowledge of software engineering 1

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.