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;