软件工程复习笔记

- 2 mins

概述

软件开发生命周期

可行性和需求分析

数据流图

数据流图基本符号

安光的作业图书管理系统数据流图、E-R图

数据字典

符号 说明
= 定义为
+ 连接
[] 从括弧内列出的若干分量中选择一个
{} 重复括弧内的分量
() 圆弧内的分量可有可无

比如:购书单=学号+姓名+{书号+数量+单价+总价}+书费合计

年级=[1 2 3 4]、学号=10{数字}10

状态转换图

状态图画法

电话系统状态转换图

设计

结构设计的模块独立化

模块:由边界元素限定的相邻程序元素的序列,有一个总体标识符代替它。

模块化:把程序划分为独立明明且可独立访问的模块。

耦合名称 描述
非直接耦合/完全独立 两个模块中的每一个都能独立工作不需要另一个模块的存在
数据耦合 通过参数交换信息,且交换信息仅仅是数据
控制耦合 两模块传递信息中含有控制信息
特征耦合 把整个数据结构作为参数传递而被调用模块只需要其中一部分数据元素
公共环境耦合 允许一组模块同时访问同一全局性的数据结构
内容耦合 一个模块访问另一个模块的内部数据

内聚:表示一个模块内各元素彼此结合的紧密程度。

启发式规则

数据流图映射到结构图的方法:必考

结构图:方块代表模块,直线代表模块间调用关系,尾部空心圆表示传递 数据,实心圆表示传递 控制信息

系统结构图中模块类型

设计过程

####PAD图的画法

PAD图的基本符号

程序流程图

PAD图

软件测试

黑盒测试:把程序看做一个黑色子,并不知道里面是啥。用户测试,不了解内部算法实现逻辑的人直接用。

白盒测试:按照程序内部逻辑测试,检测主要执行通路能否按预定要求正确工作。程序员通过调试发现bug。

白盒测试技术

测试程序

白盒测试技术 描述  
语句覆盖 使被测程序中每个语句至少执行一次 A=2,B=0,X=4
分支覆盖(判定覆盖) 每个判定的每种可能的结果都至少执行1次。 aTbF:A=3,B=0,X=3
aFbT:A=2,B=1,X=2
条件覆盖 判定表达式中每个条件都取到可能的取值 所有条件:
A>1,A<=1;B=0,B!=0;
A=2,A!=2;X>1,X<=1
判定/条件覆盖 判定表达式中每个条件取到可能值且每个判定表达式都取到各种结果  
条件组合判定 使每个判定表达式中条件的各种可能组合出现一次 条件组合测试

各种逻辑覆盖间的关系

黑盒测试技术

软件维护的定义及种类

定义:在软件已经交付使用之后为了改成或满足新的需要而修改软件的过程。

种类:改正性维护、适应性维护、完善性维护、预防性维护

面向对象需求分析

UML图形分类

安光的面向对象绘图

Inger Chao

Inger Chao

A girl willing to learn and progress

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora qq quora wechat