软件工程,画图
1.实体联系图ER图
2.状态转换图
状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。
- 状态一个状态代表系统的一种行为模式。在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
- 事件事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。例如,内部时钟表明某个规定的时间段已经过去,用户移动鼠标、点击鼠标等都是事件。简而言之,事件就是引起系统做动作或(和)转换状态的控制信息。
- 3、符号在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。
数据流图
用例图
类图
数据模型-类图• 在面向对象的处理中,类图处于核心地位,它提供了用于定义和使用对象的主要规则,同时,类图是正向工程(将模型转化为代码)的主要资源,是逆向工程(将代码转化为模型)的生成物。因此,类图是任何面向对象系统的核心,随之也成了最常用的UML图。• 类图是描述类、接口以及它们之间关系的图,是一种静态模型,显示了系统中各个类的静态结构。• 类图可以包含类、接口、依赖关系、泛化关系、关联关系和实现关系等模型元素。另外,在类图中也可以包含注释、约束、包或子系统。
找实体类
控制类
例题:
顺序图
顺序图包含4个元素:
• 对象(Object)
• 生命线(Lifeline)
• 消息(Message)
• 激活(Activation)
活动图
例子
协作图(通信图)
通信图(协作图)是顺序图之外另一个表示交互的方法,与顺序图一样,通信图也展示对象间的交互关系。
▪ 和顺序图描述随时间交互的各种消息不同,通信图侧重于描述哪些对象间有消息传递,而不像顺序图那样侧重于在某种特定的情形下对象间传递消息的时序性。
▪ 顺序图强调的是交互的时间顺序,而通信图强调的是交互的情况和参与交互对象的整体组织。
▪ 顺序图按照时间顺序布图,而通信图按照空间组织布图。
▪ 对象:参与者或者类对象
▪ 协作关系:连接对象的横线,其上可标注带箭头的消息。
▪ 消息:协作动作或者消息,有方向
▪ 消息应该按照协作顺序编号。
软件结构图,来个例子
大概就是确定每一层的子系统,子系统的子系统
软件结构图大概长这样:
盒图
程序的控制流图CFG
软件测试
白盒测试
检查范围 对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。
语句覆盖(每条路径)
分支覆盖(设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。分支覆盖又称为判定覆盖。)
条件覆盖(设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。)
条件组合覆盖(设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。)
节点覆盖(对图中的每个节点,至少要有一条测试路径访问该节点显然,节点覆盖=语句覆盖)
边覆盖(对图中每一个可到达的长度小于(无边图)等于1 的路径,中至少存在一条测试路径覆盖。显然,边覆盖包含节点覆盖,且边覆盖也可以实现分支覆盖)
路径覆盖(就是设计足够的测试用例,覆盖程序中所有可能的路径)
基本路径覆盖(将覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次)
环路的复杂性
黑盒测试
等价类划分
一些原则
【
原则五我有点疑惑,为什么不能是非字符型
步骤
边界值分析
选取边界,等于,刚刚大于刚刚小于的情况
*单侧边界
(第一种是单侧边界为闭区间的情况,选择边界点、边界点加一个步长的点和边界点减一个步长设计测试用例,+1-1
第二种是单侧边界为开区间的情况,选择边界点、边界点范围内方向移动一个步长的点计测试用例。)
大致就是,如果边界点取到了就取边界外的一点,如果边界点没有取到就取区间里面的一个点。
边界点两个,上内离
二元函数:
三元函数
例题
状态测试
原则
- 每种状态至少访问一次
- 测试看起来是最常见和最普遍的状态转换
- 测试状态之间最不常用的分支
- 测试所有错误状态及其返回值
- 测试状态的随机转换
步骤
先建立状态转换图再设计测试用例
软件项目管理
功能点(Function Point, FP)法
EI:External Input(外 部输入)
EO:External Output (外部输出)
EQ:External Query (外部查询)
ILF:Internal Logical File (内部逻辑文件)
EIF:External Interface File (外部逻辑文件
UFC的计算方法
▪外部输入EI数×加权因子(简单=3,平均=4,复杂=6)
▪外部输出EO数×加权因子(简单=4,平均=5,复杂=7)
▪外部查询EQ数×加权因子(简单=3,平均=4,复杂=6)
▪内部逻辑文件ILF数×加权因子(简单=7,平均=10,复杂=15)
▪外部接口EIF数×加权因子(简单=5,平均=7,复杂=10)
UFC = 上述计算值的总和(加权和
三点期望值法
估计期望值=(最大值+4×最可能值+最小值) / 6
软件工程,画图
1.实体联系图ER图
2.状态转换图
状态转换图(简称状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。
- 状态一个状态代表系统的一种行为模式。在状态图中定义的状态主要有:初态(即初始状态)、终态(即最终状态)和中间状态。在一张状态图中只能有一个初态,而终态则可以有0至多个。
- 事件事件是在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象。例如,内部时钟表明某个规定的时间段已经过去,用户移动鼠标、点击鼠标等都是事件。简而言之,事件就是引起系统做动作或(和)转换状态的控制信息。
- 3、符号在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。中间状态用圆角矩形表示,可以用两条水平横线把它分成上、中、下3个部分。上面部分为状态的名称,这部分是必须有的;中间部分为状态变量的名字和值,这部分是可选的;下面部分是活动表,这部分也是可选的。
数据流图
用例图
类图
数据模型-类图• 在面向对象的处理中,类图处于核心地位,它提供了用于定义和使用对象的主要规则,同时,类图是正向工程(将模型转化为代码)的主要资源,是逆向工程(将代码转化为模型)的生成物。因此,类图是任何面向对象系统的核心,随之也成了最常用的UML图。• 类图是描述类、接口以及它们之间关系的图,是一种静态模型,显示了系统中各个类的静态结构。• 类图可以包含类、接口、依赖关系、泛化关系、关联关系和实现关系等模型元素。另外,在类图中也可以包含注释、约束、包或子系统。
找实体类
控制类
例题:
顺序图
顺序图包含4个元素:
• 对象(Object)
• 生命线(Lifeline)
• 消息(Message)
• 激活(Activation)
活动图
例子
协作图(通信图)
通信图(协作图)是顺序图之外另一个表示交互的方法,与顺序图一样,通信图也展示对象间的交互关系。
▪ 和顺序图描述随时间交互的各种消息不同,通信图侧重于描述哪些对象间有消息传递,而不像顺序图那样侧重于在某种特定的情形下对象间传递消息的时序性。
▪ 顺序图强调的是交互的时间顺序,而通信图强调的是交互的情况和参与交互对象的整体组织。
▪ 顺序图按照时间顺序布图,而通信图按照空间组织布图。
▪ 对象:参与者或者类对象
▪ 协作关系:连接对象的横线,其上可标注带箭头的消息。
▪ 消息:协作动作或者消息,有方向
▪ 消息应该按照协作顺序编号。
软件结构图,来个例子
大概就是确定每一层的子系统,子系统的子系统
软件结构图大概长这样:
盒图
程序的控制流图CFG
软件测试
白盒测试
检查范围 对程序模块的所有独立的执行路径至少测试一次;对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;在循环的边界和运行界限内执行循环体;测试内部数据结构的有效性等。
语句覆盖(每条路径)
分支覆盖(设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。分支覆盖又称为判定覆盖。)
条件覆盖(设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。)
条件组合覆盖(设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。)
节点覆盖(对图中的每个节点,至少要有一条测试路径访问该节点显然,节点覆盖=语句覆盖)
边覆盖(对图中每一个可到达的长度小于(无边图)等于1 的路径,中至少存在一条测试路径覆盖。显然,边覆盖包含节点覆盖,且边覆盖也可以实现分支覆盖)
路径覆盖(就是设计足够的测试用例,覆盖程序中所有可能的路径)
基本路径覆盖(将覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次)
环路的复杂性
黑盒测试
等价类划分
一些原则
【
原则五我有点疑惑,为什么不能是非字符型
步骤
边界值分析
选取边界,等于,刚刚大于刚刚小于的情况
*单侧边界
(第一种是单侧边界为闭区间的情况,选择边界点、边界点加一个步长的点和边界点减一个步长设计测试用例,+1-1
第二种是单侧边界为开区间的情况,选择边界点、边界点范围内方向移动一个步长的点计测试用例。)
大致就是,如果边界点取到了就取边界外的一点,如果边界点没有取到就取区间里面的一个点。
边界点两个,上内离
二元函数:
三元函数
例题
状态测试
原则
- 每种状态至少访问一次
- 测试看起来是最常见和最普遍的状态转换
- 测试状态之间最不常用的分支
- 测试所有错误状态及其返回值
- 测试状态的随机转换
步骤
先建立状态转换图再设计测试用例
软件项目管理
功能点(Function Point, FP)法
EI:External Input(外 部输入)
EO:External Output (外部输出)
EQ:External Query (外部查询)
ILF:Internal Logical File (内部逻辑文件)
EIF:External Interface File (外部逻辑文件
UFC的计算方法
▪外部输入EI数×加权因子(简单=3,平均=4,复杂=6)
▪外部输出EO数×加权因子(简单=4,平均=5,复杂=7)
▪外部查询EQ数×加权因子(简单=3,平均=4,复杂=6)
▪内部逻辑文件ILF数×加权因子(简单=7,平均=10,复杂=15)
▪外部接口EIF数×加权因子(简单=5,平均=7,复杂=10)
UFC = 上述计算值的总和(加权和
三点期望值法
估计期望值=(最大值+4×最可能值+最小值) / 6
wbs分解和任务网络图
任务网络图
定义: 任务网络图是项目所有任务(活动)及其之间逻辑关系(依赖关系) 的一个图解表示,并从左到右来表示项目的时间顺序。
wbs分解和任务网络图
任务网络图
定义: 任务网络图是项目所有任务(活动)及其之间逻辑关系(依赖关系) 的一个图解表示,并从左到右来表示项目的时间顺序。