第4章-形式化说明技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第4章-形式化说明技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 形式化 说明 技术 课件
- 资源描述:
-
1、第第4章章 形式化说明技术形式化说明技术前言前言4.1 概述概述4.2 有穷状态机有穷状态机4.3 Petri网网4.4 Z语言语言4.5 小结小结 形式化说明技术形式化说明技术=形式化方法形式化方法,概念等同。,概念等同。软件生命周期软件生命周期包括哪几个阶段?包括哪几个阶段?可行性研究需求分析总体设计详细设计编码和单元测试软件维护需求需求规格说明书总体设计总体设计规格说明书详细设计详细设计规格说明书系统系统规格说明书描述“系统系统规格说明书”的方法,有哪些?综合测试描述描述“系统系统规格说明书规格说明书”的的3种方法种方法按照按照形式化的程度形式化的程度非形式化方法非形式化方法形式化方法形
2、式化方法半形式化方法半形式化方法例如:自然语言,是例如:自然语言,是典型的典型的非形非形式化方法式化方法例如:数据流图例如:数据流图(ch2)、实体、实体-联系联系图图(ch3),是,是典型的典型的半形式化方法半形式化方法例如:例如:有穷状态机有穷状态机、 Petri网网、 Z语语言言,是,是典型的典型的形式化方法形式化方法给出定义给出定义非形式化方法非形式化方法形式化方法形式化方法半形式化方法半形式化方法形式化方法课本定义形式化方法课本定义非数学方法半数学方法数学方法二义性 准确性 给出给出3种方法种方法的通俗定义的通俗定义用非数学方法描述系统规格说明书的方法用数学方法描述系统规格说明书的方
3、法用半数学方法描述系统规格说明书的方法形式化方法形式化方法课本的定义课本的定义所谓所谓形式化方法形式化方法,是描述系统性质的基于数学的技,是描述系统性质的基于数学的技术术(如:集合论、函数、数理逻辑)(如:集合论、函数、数理逻辑),也就是说,如果一种方法,也就是说,如果一种方法有有坚实的数学基础坚实的数学基础,那么它就是,那么它就是形式化形式化的。的。实质上与上面的通俗定义是一样的。实质上与上面的通俗定义是一样的。第第4章章 形式化说明技术形式化说明技术前言前言4.1 概述概述4.2 有穷状态机有穷状态机4.3 Petri网网4.4 Z语言语言4.5 小结小结用用自然语言自然语言(典型的非形式
4、化方法)(典型的非形式化方法)书写的书写的系统规系统规格说明书格说明书,可能存在,可能存在矛盾矛盾、二义性二义性、含糊性含糊性、不完不完整性整性及及抽象层次混乱抽象层次混乱等问题。等问题。4.1 概述概述 4.1.1 非形式化方法的缺点非形式化方法的缺点矛盾矛盾是指一组相互冲突的陈述。是指一组相互冲突的陈述。矛盾矛盾是指一组相互冲突的陈述。是指一组相互冲突的陈述。(不同系统分析员定义范围不同)(不同系统分析员定义范围不同)二义性二义性是指读者可以用不同方式理解的陈述。是指读者可以用不同方式理解的陈述。含糊性含糊性,例如:这样的需求:,例如:这样的需求:“系统界面应该是对系统界面应该是对用户友好
5、的。用户友好的。”实际上,这样笼统的陈述并没有给实际上,这样笼统的陈述并没有给出任何有用的信息。出任何有用的信息。不完整性不完整性可能是在系统规格说明中最常遇到的问题可能是在系统规格说明中最常遇到的问题之一。之一。(如规格中没有考虑登录失败的转向的页面,即考虑问题不全面)(如规格中没有考虑登录失败的转向的页面,即考虑问题不全面)抽象层次混乱抽象层次混乱是指在非常抽象的陈述中混进了一些是指在非常抽象的陈述中混进了一些关于细节的低层次陈述。关于细节的低层次陈述。(总体设计中混入了详细设计,分不清他们)(总体设计中混入了详细设计,分不清他们)4.1.2 形式化方法的优点形式化方法的优点人在理解用人在
6、理解用自然语言自然语言描述的描述的系统规格说明系统规格说明时,容易时,容易产生产生二义性二义性。为了。为了克服非形式化方法的缺点克服非形式化方法的缺点,人们,人们把把数学数学引入软件开发过程,创造了引入软件开发过程,创造了基于数学的基于数学的形式形式化方法化方法。运用运用形式化方法形式化方法描述描述系统规格说明系统规格说明具有如下具有如下优点优点:(1)因数学的因数学的严谨性严谨性和和准确性准确性可克服可克服二义性,二义性,能能够够简洁准确地描述简洁准确地描述系统规格说明;系统规格说明;(2)可以在不可以在不同的软件生命周期的各阶段之间同的软件生命周期的各阶段之间平滑地过渡(平滑地过渡(3)提
7、供了提供了高层确认手段高层确认手段,如可以证明设计是否符合规,如可以证明设计是否符合规格说明。格说明。4.1.2 形式化方法的优点形式化方法的优点4.1.3 应用形式化方法的准则应用形式化方法的准则人们对形式化方法的人们对形式化方法的看法并不一致看法并不一致。形式化方法对。形式化方法对某些软件工程某些软件工程师很有吸引力,其拥护者甚至师很有吸引力,其拥护者甚至宣称宣称这这种方法可以引发软件开发方法的革命;种方法可以引发软件开发方法的革命;另一些人另一些人则则对把数学引入软件开发过程对把数学引入软件开发过程持怀疑甚至反对的态度持怀疑甚至反对的态度。编者认为编者认为,对形式化方法也,对形式化方法也
8、应该应该“一分为二一分为二”,既,既不要过分不要过分夸大它的优点夸大它的优点也也不要一概排斥不要一概排斥。为了为了更好更好地地发挥发挥这种方法的这种方法的长处长处,下面,下面给出给出应用形式化方法应用形式化方法的几条的几条准则准则,供读者在,供读者在实际实际工作中工作中使用使用。4.1.3 应用形式化方法的准则应用形式化方法的准则(1) 应该选用适当的表示方法。应该选用适当的表示方法。(系统性质不同,(系统性质不同,FSM、Petri网)网)(2) 应该形式化,但不要过分形式化。应该形式化,但不要过分形式化。(关键(关键 界面)界面)(3) 应该估算成本。应该估算成本。(培训)(培训)(4)
9、应该有形式化方法顾问随时提供咨询。应该有形式化方法顾问随时提供咨询。 (开发人员不开发人员不熟悉形式化方法中使用的数学和逻辑,且没有受过专业的训练熟悉形式化方法中使用的数学和逻辑,且没有受过专业的训练) (5) 不应该放弃传统的开发方法。不应该放弃传统的开发方法。(集成(集成 取长补短)取长补短)(6) 应该建立详尽的文档。应该建立详尽的文档。(帮助开发人员和客户理解系统)(帮助开发人员和客户理解系统)(7) 不应该放弃质量标准。不应该放弃质量标准。 (应用形式化方法有助于开发出高质量的软应用形式化方法有助于开发出高质量的软件,但不能保证软件的正确性,即描述不符客户需求,无法验证正确性件,但不
10、能保证软件的正确性,即描述不符客户需求,无法验证正确性)(8) 不应该盲目依赖形式化方法。不应该盲目依赖形式化方法。(无法验证需求是否满足客户要求)(无法验证需求是否满足客户要求)(9) 应该测试、测试再测试。应该测试、测试再测试。 (同上)(同上) (10) 应该重用。应该重用。(降低成本(降低成本 提高质量提高质量 提高开发速度)提高开发速度)4.2 有穷状态机有穷状态机4.1.3 应用形式化方法的准则应用形式化方法的准则第第4章章 形式化说明技术形式化说明技术前言前言4.1 概述概述4.2 有穷状态机有穷状态机4.3 Petri网网4.4 Z语言语言4.5 小结小结下面通过一个简单下面通
11、过一个简单例子例子介绍介绍有穷状态机有穷状态机的的基本概念基本概念。一个一个保险箱保险箱上装了一个上装了一个复合锁复合锁,锁有,锁有三个位置三个位置,分,分别标记为别标记为1、2、3,转盘转盘可向左可向左(L)或向右或向右(R)转动。转动。这样,在这样,在任意时刻任意时刻转盘都有转盘都有6种种可能的可能的运动运动,即,即1L、1R、2L、2R、3L和和3R。保险箱的。保险箱的组合密码组合密码是是1L、3R、2L,转盘的任何其他运动都将引起,转盘的任何其他运动都将引起报警报警。图图4.1描绘了保险箱的描绘了保险箱的状态转换状态转换情况。情况。4.2 有穷状态机有穷状态机(4.2.1 FSM、4.
12、2.2 EFSM) 4.2.1 概念概念图图4.1 保险箱的状态转换图保险箱的状态转换图状态状态事件事件/输入输入图图4.1是一个是一个有穷状态机有穷状态机的的状态转换图状态转换图。状态转换。状态转换并不一定要用并不一定要用图形方式图形方式描述,表描述,表4.1的的表格形式表格形式也也可以表达同样的信息。可以表达同样的信息。转换函数:当前状态转换函数:当前状态+事件事件/输入输入 下个状态下个状态从上面这个简单例子可以看出,一个从上面这个简单例子可以看出,一个有穷状态机有穷状态机包包括下述括下述5个部分个部分:状态集状态集J、输入集输入集K、由当前状态由当前状态和当前输入确定下一个状态和当前输
13、入确定下一个状态(次态次态)的转换函数的转换函数T、初始态初始态S和和终态集终态集F。对于。对于保险箱保险箱的例子,相应的的例子,相应的有穷状态机的各部分如下。有穷状态机的各部分如下。状态集状态集J:保险箱锁定,:保险箱锁定,A,B,保险箱解锁,报,保险箱解锁,报警。警。输入集输入集K:1L,1R,2L,2R,3L,3R。转换函数转换函数T:如表:如表4.1所示。所示。(当前状态(当前状态+事件事件/输入输入 下个状态)下个状态)初始态初始态S:保险箱锁定。:保险箱锁定。终态集终态集F:保险箱解锁,报警。:保险箱解锁,报警。如果使用如果使用更形式化的术语更形式化的术语,一个,一个有穷状态机有穷
14、状态机可以表可以表示为一个示为一个5元组元组(J,K,T,S,F),其中:,其中:J是一个有穷的是一个有穷的非空状态集非空状态集;K是一个有穷的是一个有穷的非空输入集非空输入集;T是一个从是一个从(J-F)K到到J的的转换函数转换函数;SJ,是一个,是一个初始状态初始状态;F J,是,是终态集终态集。 有穷状态机有穷状态机应用得非常应用得非常广泛广泛。该方法主要用于在。该方法主要用于在系系统规格说明书统规格说明书中中描述系统的状态转换描述系统的状态转换。例如例如:上面:上面所讲的保险箱的例子,所讲的保险箱的例子,即即用用FSM描述了保险箱系统描述了保险箱系统的状态转换。的状态转换。但是但是,对
15、于一些复杂的系统,对于一些复杂的系统,FSM难以描述清楚难以描述清楚系系统规格说明书统规格说明书中的中的状态转换状态转换。例:例:当前状态:当前状态:某登录页面某登录页面+事件:事件:点登录按钮点登录按钮 下一状态:下一状态:登录后的主页登录后的主页 为了为了满足满足复杂系统的规格说明复杂系统的规格说明中的中的状态转换的描述状态转换的描述,需要对需要对有穷状态机有穷状态机做一个很有用的做一个很有用的扩展扩展,即在前述,即在前述的的5元组元组中加入中加入第第6个组件个组件谓词集谓词集P,从而把有,从而把有穷状态机扩展为一个穷状态机扩展为一个6元组元组,即,即EFSM。转换函数转换函数T现在是一个
16、从现在是一个从(J-F)KP到到J的函数。现在的的函数。现在的转换转换规则规则形式如下:形式如下:当前状态当前状态+事件事件+谓词谓词 下个状态。下个状态。(上述即是(上述即是EFSM定义)定义)为了具体说明怎样用为了具体说明怎样用EFSM表达系统的规格说明,表达系统的规格说明,现在用这种技术给出大家熟悉的现在用这种技术给出大家熟悉的电梯系统电梯系统的规格说的规格说明。首先给出用明。首先给出用自然语言自然语言描述的对电梯系统的描述的对电梯系统的需求需求:在一幢在一幢m层层的大厦中需要一套控制的大厦中需要一套控制n部电梯部电梯的产品,的产品,要求这要求这n部电梯按照部电梯按照需求需求R1,R2和
17、和R3在楼层间移在楼层间移动。动。R1:每部电梯内每部电梯内有有m个按钮,个按钮,每个按钮每个按钮代表代表一个楼一个楼层层。当。当按下一个按钮按下一个按钮时该按钮时该按钮指示灯亮指示灯亮,同时电梯,同时电梯驶向相应的楼层,驶向相应的楼层,到达到达按钮指定的楼层时指示灯按钮指定的楼层时指示灯熄熄灭灭。4.2.2 例子例子EFSM的状态转换函数:当前状态+事件+谓词=下一个状态R2:除除了大厦的了大厦的最低层最低层和和最高层最高层之外,之外,每层楼每层楼都都有有两个按钮两个按钮分别请求分别请求电梯上行电梯上行和和下行下行。这两个按钮。这两个按钮之一被之一被按按下时相应的指示下时相应的指示灯亮灯亮,
18、当,当电梯到达电梯到达此此楼层楼层时时灯熄灭灯熄灭,电梯向要求的方向移动。,电梯向要求的方向移动。R3:当对电梯:当对电梯没有请求没有请求时,它时,它关门关门并并停在当前楼停在当前楼层层。现在使用一个现在使用一个扩展的有穷状态机扩展的有穷状态机对本产品进行规格对本产品进行规格说明。这个问题中有说明。这个问题中有两个按钮集两个按钮集。n部电梯部电梯中的中的每每一部都有一部都有m个按钮个按钮,一个按钮一个按钮对应对应一个楼层一个楼层。因为。因为这这mn个按钮都在电梯中,所以称它们为个按钮都在电梯中,所以称它们为电梯按电梯按钮钮。此外,。此外,每层楼每层楼有有两个按钮两个按钮,一个,一个请求向上请求
19、向上,另,另一个一个请求向下请求向下,这些按钮称为,这些按钮称为楼层按钮楼层按钮。EFSM的状态转换函数:当前状态+事件+谓词=下一个状态电梯按钮电梯按钮的的状态转换图状态转换图如如图图4.2所示,即所示,即需求需求R1。令令(e,f)表示表示电梯电梯e内的内的按钮按钮f,在某一时刻,在某一时刻电梯按钮电梯按钮(e,f)有两个状态:有两个状态:发光发光(打开打开)和和不发光不发光(关闭关闭)。设这。设这2个状态表示如下:个状态表示如下:EBON(e,f):电梯按钮:电梯按钮(e,f)打开打开EBOFF(e,f):电梯按钮:电梯按钮(e,f)关闭关闭如果如果电梯按钮电梯按钮(e,f)发光发光且电
20、梯且电梯到达到达f层层,该,该按钮按钮将将熄熄灭灭。相反相反如果如果按钮熄灭按钮熄灭,则,则按下按下它时,它时,按钮按钮将将发光发光。上述描述上述描述中中包含包含了了两个事件两个事件,它们分别是:,它们分别是:EBP(e,f):电梯按钮:电梯按钮(e,f)被按下被按下EAF(e,f):电梯:电梯e到达到达f层层EFSM的状态转换函数:当前状态+事件+谓词=下一个状态图图4.2 电梯按钮的状态转换图电梯按钮的状态转换图图图4.3楼层按钮的状态转换图楼层按钮的状态转换图EFSM的状态转换函数:当前状态+事件+谓词=下一个状态blackboard为了定义为了定义与这些与这些事件事件和和状态状态相联系
21、的相联系的状态转换规则状态转换规则,需要需要一个一个谓词谓词V(e,f),它的含义如下:,它的含义如下:V(e,f):电梯:电梯e停在停在f层层如果如果电梯按钮电梯按钮(e,f)处于处于关闭状态关闭状态当前状态当前状态,而,而且且电梯按钮电梯按钮(e,f)被按下被按下事件事件,而且,而且电梯电梯e不在不在f层层谓词谓词,则该,则该电梯按钮打开发光电梯按钮打开发光下个状态下个状态。状态转换规则状态转换规则的的形式化描述形式化描述如下:如下:EBOFF(e,f)+EBP(e,f)+not V(e,f) EBON(e,f)反之反之,如果,如果电梯到达电梯到达f层层,而且,而且电梯按钮是打开的电梯按钮
22、是打开的,于是它就会于是它就会熄灭熄灭。这条。这条转换规则转换规则可以形式化地可以形式化地表示表示为为:EBON(e,f)+EAF(e,f) EBOFF(e,f)EFSM的状态转换函数:当前状态+事件+谓词=下一个状态接下来考虑接下来考虑楼层按钮楼层按钮,即,即需求需求R2。令。令FB(d,f)表示表示f层请求电梯向层请求电梯向d方向运动的方向运动的按钮按钮,楼层按钮楼层按钮FB(d,f)的的状态转换图状态转换图如图如图4.3所示。所示。楼层按钮的状态楼层按钮的状态如下:如下:FBON(d,f):楼层按钮:楼层按钮(d,f)打开打开FBOFF(d,f):楼层按钮:楼层按钮(d,f)关闭关闭如果
23、如果楼层按钮楼层按钮已经已经打开打开,而且,而且一部电梯到达一部电梯到达f层层,则则按钮关闭按钮关闭。反之反之,如果,如果楼层按钮楼层按钮原来是原来是关闭关闭的,的,被按下被按下后该后该按钮将打开按钮将打开。这段叙述中包含了以下。这段叙述中包含了以下两两个事件个事件。EFSM的状态转换函数:当前状态+事件+谓词=下一个状态FBP(d,f):楼层按钮:楼层按钮(d,f)被按下被按下EAF(1n,f):电梯:电梯1或或或或n到达到达f层层其中其中1n表示表示或为或为1或为或为2或为或为n。为了定义为了定义与这些与这些事件事件和和状态状态相联系的相联系的状态转换规则状态转换规则,同样也需要一个同样也
24、需要一个谓词谓词,它是,它是S(d,e,f),它的定义如下。,它的定义如下。S(d,e,f):电梯:电梯e停在停在f层并且移动方向由层并且移动方向由d确定为向确定为向上上(d=U)或向下或向下(d=D)或待定或待定(d=N)。EFSM的状态转换函数:当前状态+事件+谓词=下一个状态使用谓词使用谓词S(d,e,f),形式化转换规则形式化转换规则为:为:FBOFF(d,f)+FBP(d,f)+not S(d,1n,f) FBON(d,f)FBON(d,f)+EAF(1n,f)+S(d,1n,f) FBOFF(d,f)其中,其中,d=Uor D。也就是说,如果也就是说,如果在在f层层请求电梯向请求电
25、梯向d方向方向运动的运动的楼层楼层按钮按钮处于处于关闭状态关闭状态,现在,现在该按钮被按下该按钮被按下,并且并且当时当时没有正停在没有正停在f层层准备向准备向d方向移动的电梯方向移动的电梯,则,则该楼层该楼层按钮打开按钮打开。反之反之,如果,如果楼层按钮楼层按钮已经已经打开打开,且,且至少至少有一部电梯到达有一部电梯到达f层层,该部电梯将朝该部电梯将朝d方向运动方向运动,则,则按钮按钮将将关闭关闭。EFSM的状态转换函数:当前状态+事件+谓词=下一个状态有穷状态机有穷状态机方法方法采用采用了一种了一种简单的格式简单的格式来来描述规格描述规格说明说明:当前状态当前状态+事件事件+谓词谓词 下个状
展开阅读全文