Summary of relevant knowledge of software engineering

Source: Internet
Author: User

Software Engineering

Basic concepts of software engineering

1. Definition of software:

Software (software) is another part of the computer system that is interdependent with hardware (hardware), which includes programs, related data, and documentation of their descriptions.

2. Features of the software:

U software is a kind of logical entity, which is abstract;

U software has no obvious production process;

U software in the operation, use, there is no wear, aging problems;

The development and operation of U software has different degree of dependence on computer system, which leads to the problem of software portability.

U software is high in complexity and expensive in cost;

U software development involves many social factors.

3. Software crisis

Software crisis refers to a series of serious problems encountered in the development and maintenance of computer software.

Main performance:

U software demand growth is not satisfied;

You can not control the cost and schedule of software development;

U software quality is difficult to guarantee;

U software cannot be maintained or maintained at very low levels;

The cost of U-software is increasing;

The increase in software development productivity will not keep up with the growth of hardware and applications.

4. Software Engineering

Software engineering is an engineering subject which uses engineering and scientific principles and methods to develop and maintain computer related technologies and management methods. Software engineering includes two parts: Software development technology and software engineering management. Three elements of software engineering: methods, tools, processes.

5. Software Engineering Process

Software Engineering Process

The software engineering process is a group of interrelated resources and activities that transform input into output.

Software life cycle

The process of software product from proposing, implementing, using maintenance to stopping using is called software lifecycle.

The software lifecycle includes feasibility studies and requirements analysis, design, implementation, testing, delivery, and maintenance phases.

6. The goal of software engineering

To pay lower development costs, achieve the required software functions, achieve better software performance, develop software than transplant, require lower maintenance costs, and be able to complete development on time and timely delivery.

7. Principles of Software Engineering

Abstraction, information concealment, modularity, localization, certainty, consistency, completeness, and verifiable

The method of structural analysis

(i) Requirements analysis and requirements analysis methods

I. Demand analysis

Software requirement refers to the expectation of the user on the function, behavior, performance and design constraints of the target software system. The task of requirements analysis is to discover requirements, refinement, modeling, and defining requirements. Requirements analysis creates the required data model, functional model, and control model.

The requirements analysis phase of the work is divided into the following areas:

L demand Acquisition;

L demand Analysis;

L Prepare requirement Analysis manual;

L needs review.

Ii. Methods of demand analysis

Structural analysis method and object-oriented analysis method.

(ii) Structural analysis methods

The structural analysis method is a functional analysis method, which is designed to help users understand the requirements of the software.

1 The common tools of structural analysis method

Data Flow DIAGRAM,DFD is a tool to describe the process of data processing, a graphical representation of the logical model of demand understanding, which directly supports the functional model of the system. Data flow diagram depicts the movement of data stream from input to output from the point of view of transmission and processing. The main graphical elements in the data flow diagram are illustrated below:

Graphics

Description

Processing (conversion), input data processed to produce output.

Data flow, data flow along the direction of the arrow, typically next to the name of the data stream.

A file that represents a variety of data stored in a process.

The source/endpoint of the data, the interface that represents the system and the environment, and is an entity outside the system.

2) Data dictionary

A data dictionary is an organized list of all system-related data elements. The role is to explain the exact interpretation of the named graphic elements that appear in the data flow diagram. Usually the data dictionary contains the name of the information, alias, where to use/how to use it, content description, supplemental information.


Software Testing

1. The purpose of software testing

The process that is executed in order to discover errors. The main purpose is to develop high-quality software that fully meets the needs of the user.

2. Guidelines for Software Testing

All tests should be traced back to demand;

Strictly implement the test plan, eliminate the randomness of the test;

Pay attention to the cluster phenomenon in the test;

Related Article

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.