Software Engineering (Software Engineering preliminary study)

1: What is the software: is another part of a computer system hardware and interdependent, including (1) program (2) data (3) a complete set of related documents

2: What is the procedure: realize the function and performance design is required to perform a sequence of instructions

3: normal program data is to manipulate the data structure information

4: Document and application development, maintenance and use of graphic material related, I understand it can be a normative guidance program development, more specifications to develop software

 

Why learn software engineering:

       Before we learn the code is messy no tricks, we are relying on their way to learning to program, to do the project, it is neither standardized nor professional, doing so not out of something like a foundation, crooked houses Therefore, we have to learn software engineering, to learn how to learn the code specifications, standardized to learn the code, behind the front of the video and let us study documents are standardized start.

Software features:

(1) a kind of logical entities and not physical entities, abstract of

(2) there is no obvious manufacturing process, the development process of generating software is the software

(3) software is no aging and machine wear

(4) software development depends on the hardware, by hardware limitations

(5) is not automated and semi-automated, without departing from the artificial

(6) the cost of expensive software increased year by year, the hardware on the contrary

 

classification:

1: According to Function

  1. operating system
  2. Database Management Systems
  3. Device Drivers
  4. Communication Handler

 

2: divide according to the software works

  1. Real-time processing software
  2. Sharing software
  3. Interaction is software
  4. Batch software

3: divided according to the scope of the service object

  1. Project Software: commissioned by the customer, one or more software development organizations, developed under contract to customer needs-based software constraints required in some areas, not-for-profit
  2. Software Products: face the market, software development organizations develop, market, as many customer service

 

4: used by frequency division

  1. First use
  2. Frequently used: the formation of a project, all the time in use

 

5: divided according to the impact of failure

  1. High reliability software: for example, aerospace, military field, the more important departments of the State
  2. Generally reliable software

 

Three elements of Software Engineering

(1) Method: provided technical "how to" software for software developers

(2) Tool: provides automatic or semi-automatic software supporting environment, a method of a collection of tools for software development environment can facilitate the development of methods well tool, the tool can be improved good way (as may be appreciated that a mutual process )

(3) Process:

* The method used in order

* Require delivery of documentation

* In order to ensure the required quality and adapt to change management

* Software development milestone various stages of completion

 

The basic goal of software engineering

  1. Low cost (with a minimum price in exchange for the highest interests
  2. Achieve the required function
  3. Get good software performance
  4. Development software is easy to transplant
  5. A lower maintenance costs
  6. Development work can be completed on time, on-time delivery

 

Principles of software engineering:

  1. Decomposition (decomposing the problem into sub-problems, reduce the complexity of the problem)
  2. Independence (Independence module, changing a module without affecting other modules)
  3. Consistency (eg: interface must be consistency)
  4. Uncertainty (each module must have clear criteria)

 

Software engineering process:

  1. Software Specifications: provisions reality software functions and running
  2. Software Development: generate software to meet the specifications of
  3. Software validation: the software can confirm the completion of customer requirements

 

Features:

(1) understandability

(2) visibility

(3) supportability

(4) Acceptability

(5) Reliability

(6) robustness (also security, anti-virus capability)

(7) Maintainability

(7) speed

 

Lifetime software (the software is run from the development until the software when it is not called the survival period, gave birth - birth - growth - maturity - decline of survival process)

 

 

Software design phases:

One. making plans:

  1. To determine the overall goal of developing a software system
  2. Aspect of given functions, performance, reliability, and interface requirements
  3. The completion of the study of the feasibility of the software tasks

The possibility of cost studies (technical feasibility, economic feasibility, operational feasibility, legal feasibility) had estimated resource development, what equipment, what support environment, as well as costs and so on ... need software can only be estimated It is probably because the software is unstable to fly

 

 

This time on the need for technical personnel debut).   

Demand analysis phase few words, the use of charts

  1. Recognizing the needs of software developers proposed to analyze and give detailed definition
  2. Write software requirements specification

 

* Requirements Analysis of tasks:

  1. In-depth description of the function and performance of the software
  2. Determine the software design constraints and system software with other elements of the interface details
  3. The effectiveness of other requirements definition software

(Needs analysis is the current system of export logical model logical model of the target system, the target system to solve the problem of "what" of the aid)

 

 

Common methods of analysis:

Structured Analysis (SA) for the data stream

The method of Jackson (JSD) oriented data structure

Structured data system development method (DSSD)

Object-oriented analysis (OOA)

 

Document preparation requirements analysis phase

* Software requirements specification

* Data requirements explained that

* Preliminary User's Manual

* Revise and improve the software development and determine the implementation plan

(At the time of start writing needs analysis "User's Guide")

 

Data Analysis Flowchart:

 

The principles of needs analysis software:

Information lingyu * need to be able to express and understand issues

* To be able to issue in a hierarchical manner decomposition and continue to refine

Decomposition was divided into two, horizontal and vertical decomposing the decomposition process not too fast, not too thin

 

Requirements Analysis:

Most are driven by data, the data field has three attributes:

  1. data flow
  2. Data content
  3. data structure

 

 

four. software test:

We designed the software color, must require software testing, testing two types

  1. Find the respective unit test modules in the functional and structural problems, and corrected
  2. Test assembly, also called the integration testing, the test module is good, assembled in a certain order, forming system, a special mechanism or test group

 

Operation and maintenance

(Software after the test, began maintained)

Maintenance costs are also a lot of maintenance phase required.

(1) corrective maintenance:

(2) adaptive maintenance: Under different circumstances need to maintain run

(3) improve maintenance: According to new customer requests for maintenance

 

 

 

 

 

 

Guess you like

Origin blog.csdn.net/M_hcCSDN/article/details/86911993