软件工程导论第4章-形式化说明技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程导论第4章-形式化说明技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 导论 形式化 说明 技术 课件
- 资源描述:
-
1、 软件工程导论(第5版)普通高校本科计算机专业特色教材精选张海藩 编著第第4章章 形式化说明技术形式化说明技术主要内容4.1 形式化说明技术4.2 有穷状态机4.3 Petri网4.4 Z语言教学重点有穷状态机、Petri网。4.1形式化说明技术概述形式化说明技术概述形式化方法的引入在传统的软件开发过程中,人们普遍采用各种非非形式化形式化的图形工具和文字符号工具,并按照一定的设计原则和有序步骤,同时手工或辅助编写有关设计文档。软件工程的实践表明,用户需求规格说明的质量对于后续的软件开发过程是非常重要的。u系统分析人员依据用户需求,为目标软件系统创建了需求规格说明。u设计和编程人员根据这个需求规
2、格说明进行系统结构和模块设计及编码。u软件测试及验收人员则根据这个需求规格说明验证目标系统。4.1 续续形式化方法的引入20世纪80年代中期以来,一种专用于需求规格说用于需求规格说明明的形式规格说明语言应运而生。形式规格说明语言克服了自然语言和程序设计语言的不足,应用形式化、规范化的数学理论,严格定义软件系统“做什么”的形式语义模型,并支持自动程序转换系统将需求规格说明的语义模型转换为可执行代码。由此产生的软件形式开发方法正日益受到各国软件界的重视。4.1 续续软件需求规格说明方法分类非形式化方法u用自然语言进行描述的方式。半形式化方法u用数据流图、实体-联系图、状态转换图、IPO图等建立模型
3、的方法。形式化方法u利用形式化、规范化的数学推演的方式。4.1 续续非形式化方法的缺点矛盾u一组相互冲突的陈述。二义性u读者可以用不同方式理解的陈述。含糊性u没有给出任何有用信息的笼统的陈述。不完整性u信息的描述过程中遗留了某个方面。抽象层次混乱u在非常抽象的陈述中混进了一些关于细节的低层陈述。4.1 续续形式化方法的主要思想形式化需求分析方法的主要思想,是利用形式化规格说明语言严格地定义用户需求,并采用数学推演的方法证明需求定义的性质。从某种意义上讲,形式化方法是克服需求分析阶段中主要困难(不精确性、不一致性和不完全性)的有效途径。形式化规格说明语言包括:严格的语法定义、严格的语义定义以及一
4、系列的数学推演规则。4.1 续续形式化方法的主要思想规格说明语言的语法语法一般基于集合论、数理逻辑或代数学。规格说明语言的语义语义是其所有语法符号的意义的数学描述。形式化规格说明语言的推演规则规则一般与其数学基础和语义定义方法密切相关。规则必须在规格说明语言的语义系统中可证。因此,可以认为规则是派生的语义定义,它们可以直接应用于软件规格说明的性质证明并简化推演过程。4.1 续续形式化方法的分类形式化方法是应用严格的形式符号和数学方法定义或描述目标软件系统需求规格说明的一种方法。根据对需求规格说明的定义方式分类:面向模型的形式方法。u又称基于状态描述的形式方法。u基本思想:利用域、元组、集合、序
5、列、映射、包等这些已知特性的数学抽象概念来为目标软件系统的状态特征和行为特征构造形式语义模型。语义模型就作为目标软件系统需求规格的形式说明。u主要代表:VDM方法(维也纳开发方法)、Z语言方法等。代数构造形式方法。u目标软件系统的需求规格说明提供一些特殊的构造机制,并以代数构造方式描述目标系统的结构、功能。4.1 续续软件形式开发方法将形式化方法应用于软件开发过程称为软件形式软件形式开发方法开发方法。首先,在需求分析阶段的信息收集和信息分析两项工作中,采用形式化的规格说明语言构造目标软件系统严格的形式需求规格说明即形式语义。然后,以该形式需求规格说明为起点,借助相应的形式开发支持工具辅助实现目
6、标软件系统。目前,除了在软件设计、编码阶段采用形式方法外,还在开展软件系统形式化测试的研究工作。4.1 续续形式化方法的优点对系统的需求规格说明描述精确、定义完整。形式化的需求规格说明有利于系统的设计与实现。软件实现的正确性可以形式验证,确保软件质量。4.1 续续形式化方法的缺点形式化的需求规格说明可读性差。对软件设计人员要求较高,需进行更专业化的培训。只适用于能静态定义的软件系统,它无法定义动态系统行为。形式化的规格说明(形式语义模型)的正确性验证费时费力,目前还不能简化或自动化。形式方法目前还缺乏软件工程环境的支持。4.1 续续应用形式化方法的准则应该选用适合当前项目的形式化说明技术。应该
7、形式化,但不要过分形式化。应该估算成本。应该有形式化方法顾问随时提供咨询。不应该放弃传统的开发方法。应该建立详尽的文档。不应该放弃质量标准。不应该盲目依赖形式化方法。应该进行严格的审查、验证。应该重用。4.1 续续形式化方法近年来的发展形式化方法与图形语言机制相结合。为图形语言机制赋予形式化的语法和语义,从而兼具了图形表示的直观、简洁,以及形式化方法的严谨、精确等优点。用CASE工具支持形式化软件开发。CASE工具不仅可以简化需求分析和需求描述工作,而且还可以利用自动定理证明技术帮助分析人员验证软件规格说明的数学性质。实践证明,这两条技术途径对于克服形式化方法的主要缺陷是行之有效的。因此,它们
8、仍将在形式化方法的未来发展中发挥重要作用。4.2 有穷状态机有穷状态机定义一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中:J是一个有穷的非空状态集;K是一个有穷的非空输入集;T是一个从(J-F)K到J的转换函数;SJ,是一个初始状态;FJ,是终态集。4.2 续续例1一个保险箱上装了一个复合锁,锁有三个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。4.2 续续例1保险箱的状态转换情况4.2 续续例1保险箱的状态转换表4.
9、14.2 续续例1保险箱例子的有穷状态机描述状态集J:保险箱锁定,A,B,保险箱解锁,报警。输入集K:1L,1R,2L,2R,3L,3R。转换函数T:如表4.1所示。初始态S:保险箱锁定。终态集F:保险箱解锁,报警。4.2 续续扩展定义一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中:J是一个有穷的非空状态集;K是一个有穷的非空输入集;P是一个谓词集;T是一个从(J-F)KP到J的转换函数;SJ,是一个初始状态;FJ,是终态集。4.2 续续例2一个菜单的显示和一个状态相对应,键盘输入或用鼠标选择一个图标是使系统进入其他状态的一个事件。转换规则:当前状态菜单+事件所选择的项下个状态
10、。当前状态菜单+事件所选择的项+谓词下个状态。4.2 续续例3:电梯系统自然语言描述 在一幢m层的大厦中需要一套控制n部电梯的产品,要求这n部电梯按照约束条件C1,C2和C3在楼层间移动。C1:每部电梯内有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,到达按钮指定的楼层时指示灯熄灭。C2:除了大厦的最低层和最高层之外,每层楼都有两个按钮分别请求电梯上行和下行。这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。C3:当对电梯没有请求时,它关门并停在当前楼层。4.2 续续例3:电梯系统电梯按钮的状态转换图转换函数:EB(
展开阅读全文