网站大量收购闲置独家精品文档,联系QQ:2885784924

4_形式化说明技术课件.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4_形式化说明技术课件

教学目标 了解形式化说明技术,了解有穷状态机的概念,了解Petri网的概念。 教学重点 形式化说明技术的积极意义。 教学难点 有穷状态机、Petri网的概念。;第4章 形式化说明技术;4.1 概述;用自然语言书写的系统规格说明书,可能存在矛盾、二义性、含糊性、不完整性及抽象层次混乱等问题。 所谓矛盾是指一组相互冲突的陈述。 二义性是指读者可以用不同方式理解的陈述。 ;为了克服非形式化方法的缺点,人们把数学引入软件开发过程,创造了基于数学的形式化方法。 在开发大型软件系统的过程中应用数学,能够带来下述的几个优点: 能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具。 数学特别适合于表示状态,也就是表示“做什么”,数学比自然语言更适于描述详细的需求。;在软件开发过程中使用数学的另一个优点是,可以在不同的软件工程活动之间平滑地过渡。 不仅功能规格说明,而且系统设计也可以用数学表达,当然,程序代码也是一种数学符号(虽然是一种相当繁琐、冗长的数学符号)。 数学作为软件开发工具的最后一个优点是,它提供了高层确认的手段。可以使用数学方法证明,设计符合规格说明,程序代码正确地实现了设计结果。;是否广泛应用? 由于软件系统的复杂性,用少数几个数学公式来描述它,是根本不可能的。 另外,由于沟通不够的问题、开发者的随意性问题,要设想出使用一个大型复杂系统的每一个可能的情景,通常是做不到的。;对形式化方法应该“一分为二”,既不要过分夸大它的优点也不要一概排斥。 下面给出应用形式化方法的几条准则: (1)应该选用适当的表示方法 通常,一种规格说明技术只能用自然的方式说明某一类概念,如果用这种技术描述其不适于描述的概念,则不仅工作量大而且描述方式也很复杂。因此,应该仔细选择一种适用于当前项目的形式化说明技术。;(2) 应该形式化,但不要过分形式化 目前的形式化技术还不适于描述系统的每个方面。带使用之,有助于防止含糊和误解。 (3) 应该估算成本 为了使用形式化方法,通常需要事先进行大量的培训。最好预先估算所需的成本并编入预算。 (4) 应该有形式化方法顾问随时提供咨询 绝大多数软件工程师对形式化方法中使用的数学和逻辑并不很熟悉,而且没受过使用形式化方法的专业训练,因此,需要专家指导和培训。;(5) 不应该放弃传统的开发方法 把形式化方法和结构化方法或面向对象方法集成起来是可能的,而且由于取长补短往往能获得很好的效果。 (6) 应该建立详尽的文档 建议使用自然语言注释形式化的规格说明书,以帮助用户和维护人员理解系统。; 不应该放弃质量标准 不应该盲目依赖形式化方法 应该测试、测试再测试 应该重用 即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的惟一合理的方法。而且用形式化方法说明的软件构件具有清晰定义的功能和接口,使得它们有更好的可重用性。;第4章 形式化说明技术;4.2 有穷状态机;;4.2.1 概念;一个有穷状态机包括下述5个部分:;一有穷状态机可表示为一个5元组(J,K,T,S,F): J是一个有穷的非空状态集; K是一个有穷的非空输入集; T是一个从(J-F)×K到J的转换函数;(非F到J) S∈J,是一个初始状态; ; 有穷状态机的概念在计算机系统中应用得非常广泛。例如:菜单驱动的用户界面。 一个菜单的显示和一个状态相对应,键盘输入或用鼠标选择一个图标是使系统进入其他状态的一个事件。状态的每个转换都具有下面的形式: 当前状态[菜单]+事件[所选择的项]→下个状态。; 对一个系统进行规格说明,通常都需要对有穷状态机做一个很有用的扩展: 即在前述的5元组中加入第6个组件——谓词集P,从而把有穷状态机扩展为一个6元组,其中每个谓词都是系统全局状态Y的函数。转换函数T现在是一个从(J-F)×K×P到J的函数。现在的转换规则形式如下: 当前状态[菜单]+事件[所选择的项]+谓词→下个状态。;用自然语言描述的电梯系统的需求: 在一幢m层的大厦中需要一套控制n部电梯的产品,要求这n部电梯按照约束条件C1,C2和C3在楼层间移动。;C1:每部电梯内有m个按钮,每个按钮代表一个楼层。当按下一个按钮时该按钮指示灯亮,同时电梯驶向相应的楼层,到达按钮指定的楼层时指示灯熄灭。 C2:除了大厦的最低层和最高层之外,每层楼都有两个按钮分别请求电梯上行和下行。这两个按钮之一被按下时相应的指示灯亮,当电梯到达此楼层时灯熄灭,电梯向要求的方向移动。 C3:当对电梯没有请求时,它关门并停在当前楼层。; 这个问题中有两个按钮集。 n部电梯中的每一部都有m个按钮,一个按钮对应一个楼层,称它们为电梯按钮。 每层楼有两个按钮,一个请求向上,另一个请求向下,这

文档评论(0)

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

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

1亿VIP精品文档

相关文档