04章形式化说明技术.pptx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21世纪软件工程专业规划教材软件工程导论(第6版)( Software Engineering )第4章 形式化说明技术清华大学出版社张海藩,牟永敏编著第4章:形式化说明技术1.非形式化方法:自然语言描述2.半形式化方法:数据流图或实体-联系图3.形式化方法:基于数学技术描述4.1 概述4.1.1 非形式化方法的缺点 自然语言书写的系统规格说明书可能存在:1)矛盾;指一组相互冲突的陈述 2)二义性;读者可以用不同方式理解的陈述 如:“操作员标识由操作员姓名和密码组成,密码由6位数字构成,当操作员登陆系统时它被存储在注册文件中。”3)含糊性;系统规格说明书是很庞大的文档, 难以杜绝含糊性措辞 4)不完整性; 5)抽象层次混乱。在非常抽象的陈述中混进了一些关于细节的低层次陈述4.1.2 形式化方法的优点(1)数学是理想的建模工具,适合于表示系统状态和描述系统需求;?数学最有用的一个性质是,它能够简洁准确地描述物理现象、对象或动作的结果?在理想情况下,分析员可以写出系统的数学规格说明,它准确到几乎没有二义性,而且可以用数学方法来验证,以发现存在的矛盾和不完整性,在这样的规格说明中完全没有含糊性(2)用数学表达的需求可在不同开发阶段平滑过渡。 不仅功能规格说明,而且系统设计也可以用数学表达4.1.3 应用形式化方法的准则(1)选择合适的形式化方法;一种规格说明技术只能用自然的方式说明某一类概念(2)需要形式化,但不能过渡形式化,不能放弃传统的需求表达方法;目前的形式化技术还不适于描述系统的每个方面用形式化方法仔细说明系统中易出错的或关键的部分(3)应该有形式化方法的专家提供指导。绝大多数软件工程师对形式化方法中使用的数学和逻辑并不很熟悉,而且没受过使用形式化方法的专业训练需要专家指导和培训4.1.3 应用形式化方法的准则不应该放弃传统的开发方法形式化方法和结构化方法或面向对象方法集成起来可能取长补短应该建立详尽的文档使用自然语言注释形式化的规格说明书,以帮助用户和维护人员理解系统不应该放弃质量标准形式化方法仅仅有助于开发出高质量软件的一种手段,系统开发过程中仍然必须一如既往地实施其他质量保证活动不应该盲目依赖形式化方法形式化方法并不能保证开发出的软件绝对正确, ,必须用其他方法(例如,评审、测试)来验证软件正确性4.1.3 应用形式化方法的准则应该测试、测试再测试形式化方法不仅不能保证软件系统绝对正确,也不能证明系统性能或其他质量指标符合需要,因此,软件测试的重要性并没有降低。应该重用软件重用仍然是降低软件成本和提高软件质量的惟一合理的方法形式化方法说明的软件构件具有清晰定义的功能和接口,使得它们有更好的可重用性4.2 有穷状态机 [保险箱实例] 一个保险箱上装了一个复合锁,锁有三个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。图4.1描绘了保险箱的状态转换情况。4.2 有穷状态机法(FSM)4.2.1 概念锁的三个位置:1、2、3; 转盘可向左(L)或右(R); 锁密码:1L、3R、2L一个有穷状态机包括5部分: 1)状态集J:{保险箱锁定,A,B,保险箱解锁,报警} 2)输入集K:{1L,1R,2L,2R,3L,3R} 3)转换函数T,如表4.1 4)初始状态S:保险箱锁定 5)终态集F:{保险箱解锁,报警} 更形式化的术语: 一个有穷状态机可表示一个为5元组(J,K,T,S,F) 计算机系统中每个菜单驱动的用户界面都是一个有穷状态机的实现。状态转换形式: 当前状态【菜单】+事件【所选择的项】=>下个状态加入谓词集P,把系统扩展成一个6元组后: 当前状态【菜单】+事件【所选择的项】+谓词=>下个状态4.2.2 例子 [电梯] 在一幢m层的大厦中需要一套控制n部电梯的产品,要求这n部电梯按照约束条件C1,C2和C3在楼层间移动。C1:每部电梯内有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,到达按钮指定的楼层时指示灯熄灭。C2:除了大厦的最低层和最高层之外,每层楼都有两个按钮分别请求电梯上行和下行。这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。C3:当对电梯没有请求时,它关门并停在当前楼层。4.2.2 例子:电梯的状态转换定义状态:(1)M(d,e,f):电梯e正沿d方向移动,即将到达第f层楼。(2)S(d,e,f):电梯e停在f层楼,将朝d方向移动(未关门)。(3)W(e,f):电梯e在f层等待(已关门)。(4)DC(e,f):电梯e在楼层f关上门。(5)ST(e,

文档评论(0)

maxmin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档