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