当前位置:网站首页>[introduction to software engineering] summary of knowledge points | suitable for examination review | easy to pass the exam
[introduction to software engineering] summary of knowledge points | suitable for examination review | easy to pass the exam
2022-06-10 05:30:00 【MuShan-bit】
Introduction to software engineering
The concept of software engineering
Establish and use sound engineering principles , A series of methods to obtain reliable software that can run effectively on real machines by more economical means .
Three elements of software engineering
- Software engineering methods
- Software tools
- Software engineering process
Common software development models
- Waterfall model
- Rapid prototyping model
- Incremental model
- Spiral model
- Fountain model
Software Crisis
20 century 60 years , Computer research and development , function , During maintenance and management , The appearance of a series of serious problems .
The difference between software and program
Software = Program + file = data structure + Algorithm + file .
The difference between program and software is , Software is designed to perform specific functions , A set of command sequences written in computer language to solve a specific problem , It can be understood as a collection of applications . And applications are an integral part of software , It is a necessary element of software .
Feasibility analysis task
- Technical feasibility analysis
- Economic feasibility analysis
- Social feasibility analysis
Requirements analysis 3 A hierarchical
- Business needs
- The user needs
- functional requirement
E-R chart
Data flow diagram
Software design principles
- modularization
- abstract
- Progressive refinement
- Module independence
- Information concealment
Modularity and modularity
Modules are the basic components of a software system , Mainly explained by data , Execute statements and other program objects
Modularization is the process of dividing complex software into modules with relatively independent functions and easy to handle
Information concealment
Information concealment refers to the “ Process and data ” Information , Other modules need to be hidden
Coupling and cohesion
Criteria for measuring module independence : Coupling and cohesion
The criteria for maintaining module independence : High cohesion and low coupling
Common coupling types and strengths
- Indirect coupling
- Data coupling
- Control coupling
- Feature coupling
- Public environment coupling
- Content coupling
The coupling is gradually enhanced
Detailed design tasks
- Module algorithm design
- The internal data structure design of the module
- Module interface design
- Other relevant designs
- Module test case design
- Prepare detailed design documents
- Detailed design review and implementation scheme
PAD chart 、 flow chart
Note classification
- Preambular notes
- Intermediate notes ( Functional notes )
The purpose of software testing
Find as many errors in the software as possible , Instead of proving the correctness of the software
The concept of acceptance testing
After the software product has completed the function test and system test 、 Software testing activities before product release . It's the last stage of technical testing , Also known as delivery testing .
Basic path testing
Definition : Basic path testing is also called independent path testing , It is based on the program control flow chart , By analyzing the loop complexity of the control structure , Export the collection of basic executable paths , So as to design the corresponding test case method .
According to the result of program design, the control flow chart of program flow chart is derived

Calculate the loop complexity

The number of regions in the flow graph is equal to the ring complexity
Flow chart G Ring complexity of V(G)=E-N+2, among ,E Is the number of edges in a flow graph ,N It's the number of knots .Flow chart G Ring complexity of V(G)=P+1, among ,P Is the number of decision nodes in the flow graph .
Export basic path set , Determine the independent path of the program
Basic test path :- 1-2-6
- 1-2-3-6
- 1-2-3-4-2
- 1-2-3-5-2
Design corresponding test cases
| The basic path | arr | objectValue | return |
|---|---|---|---|
| 1-2-6 | [ ] | 1 | -1 |
| 1-2-3-6 | [1,2,3] | 2 | 1 |
| 1-2-3-4-2 | [1,2,3,4,5] | 2 | 1 |
| 1-2-3-5-2 | [1,2,3,4,5] | 4 | 3 |
Equivalence class division
Equivalence partitioning is a black box testing technique , The input field of the program is divided into several data classes , Export test cases accordingly .
Divide equivalence class
- Effective equivalence class : reasonable , Meaningful input data forms a set
- Invalid equivalence class : unreasonable , Meaningless input data forms a set
The principle of equivalence class division :
- The input condition specifies the range , Define a valid equivalence class and two invalid equivalence classes
- The input condition is Boolean , A valid equivalence class and an invalid equivalence class
- Specify that the input data is a set of values , The program processes each input value separately . Each input value establishes a valid equivalence class , Establish an invalid equivalence class for this set of values
- Stipulate that the input data must comply with the rules , Define a data valid equivalence class ( Conform to the rules ) and Several invalid equivalence classes ( Breaking the rules from different angles ).
- Divided equivalence classes Each element is handled differently in the program , Further divide equivalence classes into smaller equivalence classes
Establish test case principles
- Specify a unique number for each equivalent class
- Design a new test case , Cover as many valid equivalence classes that have not been covered as possible , Until all valid equivalence classes are overridden



Classification of maintenance
- Integrity maintenance 50%
- Adaptive maintenance 25%
- Corrective maintenance 21%
- Preventive maintenance 4%
Maintenance side effects
- Coding side effects : Modifying the code may introduce new errors
- Data side effects : Modify the data structure , It is easy to cause incompatibility between design and data
- Document side effects : To data flow , Software architecture , When the module logic is modified , The document should be modified accordingly , Otherwise, errors such as mismatch between document and program functions will occur
The basic characteristics of object-oriented
encapsulation , Inherit , polymorphic
Basic concepts : object 、 class 、 encapsulation 、 Inherit
Use case diagram 、 Class diagram
Class diagram :


Use case diagram :
Draw a villain
This will cause errors such as mismatching between the document and the program functions
The basic characteristics of object-oriented
encapsulation , Inherit , polymorphic
Basic concepts : object 、 class 、 encapsulation 、 Inherit
Use case diagram 、 Class diagram
Class diagram :
[ Outside the chain picture transfer in …(img-Pf5TYrCy-1644338133699)]
[ Outside the chain picture transfer in …(img-mgHos2tW-1644338133700)]
Use case diagram :
Draw a villain

Picture source network
边栏推荐
- Understand ant bizstack cloud native development and governance platform
- 递归函数汉诺塔
- IDC released China Cloud native market analysis. Ant group has become one of the most comprehensive manufacturers
- Sequential search, binary search
- 得物登录组件重构
- 【無標題】
- Chapter VI software testing tools (end of this chapter)
- 自定義Tooltips提示氣泡Js插件
- npm、yarn的安装及配置
- MTK基于GAT工具和SpOffineDebugSuite工具 dump 抓取和解析
猜你喜欢

LeetCode326-3的幂-数学

Web171~180 of ctfshow - SQL injection (1)

Personnaliser le plug - in bulles JS prompt tooltips
![[Linux < day20 >] - An Introduction to database and container technology](/img/d1/23dfe81887181d76f0c9bb3172341d.png)
[Linux < day20 >] - An Introduction to database and container technology

数字化浪潮来临,如何实现业务敏捷交付和科技持续治理?揭秘蚂蚁 BizStack

Chapter VI software testing tools (end of this chapter)

Reconstruction of acquisition login component

一些漂亮的js提示框

蚂蚁集团加入低碳专利承诺,向全球无偿开放专利,促进节能减排

Study notes for typescript
随机推荐
Use nodejs to export the pictures in the md/markdown document to the local and replace the original picture link with the local picture link
生成boot_para.img
Interview question 08.01 Three step problem
Wechat applet custom component - circular progress bar
敏捷项目一页纸测试计划通用模板
An analysis of DuPont analysis: the financial situation of East China Construction Group Co., Ltd
Reconstruction of acquisition login component
MTK基于GAT工具和SpOffineDebugSuite工具 dump 抓取和解析
Talk about the importance of technology and tasks
[001] analysis of long and difficult sentences one day
Record the realization of animation effect on the page of small rocket of BiliBili (station B)
AssertJ 的异常(Exception )断言
How to spread the whole page evenly in word
自定義Tooltips提示氣泡Js插件
Simple socket implementation of chat room system
[general database tools] Shanghai daoning provides developers, analysts and database administrators with a tool for all databases and operating systems - dbvisualizer
Warning: Accessing non-existent property ‘column‘ of module exports inside circular depen
The world's first financial chart database test benchmark project was approved, and ant group opened patent Co Construction
MYSQL第二篇(核心技术)
2022.6.7-----leetcode. eight hundred and seventy-five