- 1、本文档共79页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第4章形式化说明技术
4.1概述
4.2有穷状态机
4.3Petri网
4.4Z语言
4.5小结
习题
1.形式化方法定义
描述系统性质的基于数学的技术,也就是说,如果一种
方法有坚实的数学基础,那么它就是形式化的。
2.分类
按照形式化的程度分成非形式化、半形式化和形式化3类。
非形式化方法:用自然语言描述需求规格说明。
半形式化方法:用数据流图或实体-联系图建立模型。
4.1概述
4.1.1非形式化方法的缺点
用自然语言书写的系统规格说明书,可能存在
矛盾、二义性、含糊性、不完整性及抽象层次混乱
等问题。
矛盾:是指一组相互冲突的陈述。
二义性:是指读者可以用不同方式理解的陈述。
含糊性:系统规格说明书是很庞大的文档,因此,几乎不
可避免地会出现含糊性。
不完整性:可能是在系统规格说明中最常遇到的问题之一。
抽象层次混乱:是指在非常抽象的陈述中混进了一些关于
细节的低层次陈述。这样的规格说明书使得读者很难了解
系统的整体功能结构。
4.1.2形式化方法的优点
形式化方法:为了克服非形式化方法的缺点,人们把数
学引入软件开发过程,创造了基于数学的形式化方法。
在开发大型软件系统的过程中应用数学,能够带来下
述的几个优点:
1.数学能够简洁准确地描述物理现象、对象或动作的结
果,因此是理想的建模工具。
2.数学特别适合于表示状态,也就是表示“做什么”。
软件需求的问题描述:
需求规格说明书主要描述应用系统在运行前和运行后的
状态,因此,数学比自然语言更适于描述详细的需求。
数学规格说明的优点:
分析员可以写出系统的数学规格说明,它准确到几乎
没有二义性,而且可以用数学方法来验证,以发现存在的
矛盾和不完整性,在这样的规格说明中完全没有含糊性。
•形式化分析的问题:
•1.软件系统的复杂性是出了名的,希望用少数几个数学
公式来描述它,是根本不可能的。
•2.即使应用了形式化方法,完整性也是难于保证的:
•(1)由于沟通不够,可能遗漏了客户的一些需求;
•(2)规格说明的撰写者可能有意省略了系统的某些特
征,以便设计者在选择实现方法时有一定自由度;
•(3)要设想出使用一个大型复杂系统的每一个可能的
情景,通常是做不到的
形式化方法的应用
(1)形式化方法对某些软件工程师很有吸引力,其拥护者
甚至宣称这种方法可以引发软件开发方法的革命;
(2)另一些人则对把数学引入软件开发过程持怀疑甚至反
对的态度。
(3)对形式化方法也应该“一分为二”,既不要过分夸大
它的优点也不要一概排斥。
4.1.3应用形式化方法的准则
下面给出应用形式化方法的几条准则:
(1)应该选用适当的表示方法。
通常,一种规格说明技术只能用自然的方式说明
某一类概念,如果用这种技术描述其不适于描述的
概念,则不仅工作量大而且描述方式也很复杂。因
此,应该仔细选择一种适用于当前项目的形式化说
明技术。
(2)应该形式化,但不要过分形式化。
目前的形式化技术还不适于描述系统的每个方面。
形式化规格说明技术要求非常准确地描述事物,有助于
防止含糊和误解。
通常用形式化方法仔细说明系统中易出错的或关键的部
分,则只用适中的工作量就能获得较大回报。
(3)应该估算成本。
为了使用形式化方法,通常需要事先进行大量的培训。
最好预先估算所需的成本并编入预算。
(4)应该有形式化方法顾问随时提供咨询。
绝大多数软件工程师对形式化方法中使用的数学和逻辑
并不很熟悉,而且没受过使用形式化方法的专业训练,因
此,需要专家指导和培训。
(5)不应该放弃传统的开发方法。
把形式化方法和结构化方法或面向对象方法集成起
来是可能的,而且由于取长补短往往能获得很好的效果。
(6)应该建立详尽的文档。
建议使用自然语言注释形式化的规格说明书,以帮
助用户和维护人员理解系统。
(7)不应该放弃质量标准。
形式化方法并不能保证软件的正确性,它们只不过是有
助
文档评论(0)