软件工程导论(第4章).ppt
《软件工程导论(第4章).ppt》由会员分享,可在线阅读,更多相关《软件工程导论(第4章).ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4 章:形式化说明技术1.非形式化方法:自然语言描述2.半形式化方法:数据流图或实体联系图3.形式化方法:基于数学技术描述4.1 概述4.1.1 非形式化方法的缺点 自然语言书写的系统规格说明书可能存在:自然语言书写的系统规格说明书可能存在:11)矛盾;)矛盾;2 2)二义性;)二义性;如:如:“操作员标识由操作员姓名和密码组成,密码由 操作员标识由操作员姓名和密码组成,密码由6 6位数 位数字构成,当操作员登陆系统时它被存储在注册文件中。字构成,当操作员登陆系统时它被存储在注册文件中。”3 3)含糊性;)含糊性;44)不完整性;)不完整性;55)抽象层次混乱。)抽象层次混乱。4.1.2 形
2、式化方法的优点(11)数学是理想的建模工具,适合于表示系统)数学是理想的建模工具,适合于表示系统状态和描述系统需求;状态和描述系统需求;(22)用数学表达的需求可在不同开发阶段平滑)用数学表达的需求可在不同开发阶段平滑过渡。过渡。(33)数学提供了高层确认的手段)数学提供了高层确认的手段4.1.3 应用形式化方法的准则(1)选择合适的形式化方法;(2)应该形式化,但不要过分形式化;(3)应该估算成本;(4)应该有形式化方法顾问随时提供咨询;(5)不应该放弃传统的开发方法;(6)应该建立详尽的文档;(7)不应该放弃质量标准;(8)不应该盲目依赖形式化方法;(9)应该测试、测试再测试;(10)应该
3、重用;4.2 有穷状态机法(FSM)4.2.1 概念锁的三个位置:1、2、3;转盘可向左(L)或右(R);锁密码:1L、3R、2L一个有穷状态机包括一个有穷状态机包括55部分:部分:1 1)状态集)状态集J J:保险箱锁定,保险箱锁定,A A,B B,保险箱解锁,报警 保险箱解锁,报警 2 2)输入集)输入集K K:1L,1R,2L,2R,3L,3R 1L,1R,2L,2R,3L,3R 3 3)转换函数 转换函数T T,如表 如表4.1 4.1 4 4)初始态)初始态S S:保险箱锁定 保险箱锁定 5 5)终态集)终态集F F:保险箱解锁,报警 保险箱解锁,报警 更形式化的术语:更形式化的术语
4、:一个有穷状态机可表示一个为 一个有穷状态机可表示一个为5 5元组(元组(J,K,T,S,F J,K,T,S,F)状态转换形式状态转换形式:当前状态【菜单】事件【所选择的项】当前状态【菜单】事件【所选择的项】下个状态 下个状态加入谓词集加入谓词集PP,把系统扩展成一个把系统扩展成一个66元组后元组后:当前状态【菜单】事件【所选择的项】谓词 当前状态【菜单】事件【所选择的项】谓词 下个状态 下个状态 计算机系统中每个菜单驱动的用户界面都是一个有穷状态机的实现。定义状态:(1 1)M(d,e,f)M(d,e,f):电梯:电梯e e正沿 正沿d d方向移动,即将到达第 方向移动,即将到达第f f层楼
5、。层楼。(2 2)S(d,e,f)S(d,e,f):电梯:电梯e e停在 停在f f层楼,将朝 层楼,将朝d d方向移动(未关门)。方向移动(未关门)。(3 3)W(e,f)W(e,f):电梯:电梯e e在 在f f层等待(已关门)。层等待(已关门)。(4 4)DC(e,f)DC(e,f):电梯:电梯e e在楼层 在楼层f f关上门。关上门。(5 5)ST(e,f)ST(e,f):电梯:电梯e e靠近 靠近f f层时触发传感器,电梯控制器决定 层时触发传感器,电梯控制器决定在当前楼层是否停下。在当前楼层是否停下。(6 6)RL RL:电梯按钮或楼层按钮被按下进入打开状态:电梯按钮或楼层按钮被按
6、下进入打开状态4.2.2 例子:电梯的状态转换电梯状态转换规则:S(U,e,f)+DC(e,f)=M(U,e,f+1);S(D,e,f)+DC(e,f)=M(D,e,f-1);S(N,e,f)+DC(e,f)=W(e,f)4.2.3 评价 有穷状态机描述规格说明:有穷状态机描述规格说明:当前状态事件谓词当前状态事件谓词=下个状态下个状态 易于书写、验证、转变成设计或程序代码。易于书写、验证、转变成设计或程序代码。有穷状态机方法比数据流图技术更精确,一样易于理解。但不能处理定时需求。4.3 Petri 网4.3.1 概念Petri网包含4种元素:一组位置P、一组转换T、输入函数I以及输出函数O。
7、图4.5举例说明了Petri网的组成。PetriPetri网包含网包含44种元素:种元素:1 1)一组位置)一组位置P P,上例 上例 P P P1,P2,P3,P4 P1,P2,P3,P4 2 2)一组转换 一组转换T T,上例 上例 T T t1,t2 t1,t2 3 3)输入函数 输入函数I I,上例 上例 I I(t1 t1)=P2,P4=P2,P4 I I(t2 t2)=P2=P2 4 4)输出函数 输出函数O O,上例 上例O O(t1 t1)=P1=P1 O O(t2 t2)=P3,P3=P3,P3更形式化的 更形式化的Petri Petri网结构,是一个 网结构,是一个4 4元
8、组(元组(P P,T T,I I,O O)权标向量(1,2,0,1)注意:当每个输入位置所拥有的权标数大于等于从该位置到转换的线数时,就允许转换。当t1被激发时,P2和P4上各有一个权标被移出,而P1上只能增加一个权标权标向量(2,1,0,0)权标向量(2,0,2,0)更形式化地:标记 M:P0,1,2,Petri网成为一个5元组(P,T,I,O,M)对Petri网的一个重要扩充是加入禁止线:注意:当每个输入线上至少有一个权标,而禁止线上没有权标的时候,相应的转换才是允许的4.3.2 例子1.1.电梯按钮电梯按钮EBf 电梯中楼层 f 的按钮;Fg 楼层g;Ff 楼层 f。2.楼层按钮FBfu
9、 第 f 楼层向上按钮;FBfd 第 f 楼层向下按钮;用Z语言描述的、最简单的形式化规格说明含有下述4个部分:1.1.给定的集合、数据类型及常数。2.2.状态定义。3.3.初始状态。4.4.操作。4.4 Z 语言 4.4.1 简介1.给定的集合一个一个ZZ规格说明从一系列给定的初始化集合开始。所规格说明从一系列给定的初始化集合开始。所谓初始化集合就是不需要详细定义的集合,这种集合谓初始化集合就是不需要详细定义的集合,这种集合用带方括号的形式表示。对于电梯问题,给定的初始用带方括号的形式表示。对于电梯问题,给定的初始化集合称为化集合称为ButtonButton,即所有按钮的集合,因此,即所有按
10、钮的集合,因此,ZZ规规格说明开始于:格说明开始于:ButtonButton2.状态定义一个一个ZZ规格说明由若干个规格说明由若干个“格格(schema)”(schema)”组成,每个组成,每个格含有一组变量说明和一系列限定变量取值范围的谓格含有一组变量说明和一系列限定变量取值范围的谓词。例如,格词。例如,格SS的格式如图的格式如图4.124.12所示。所示。图4.12 Z格S的格式在电梯问题中,Button有4个子集,即floor_buttons(楼层按钮的集合)、elevator_buttons(电梯按钮的集合)、buttons(电梯问题中所有按钮的集合)以及pushed(所有被按的按钮的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论
限制150内