形式化说明技术
- 一、概述
-
- (一) 非形式化方法的缺点
- (二) 形式化方法的优点
- (三) 应用形式化方法的准则
-
- 1.应该选用适当的表示方法
- 2. 应该形式化,但不要过分形式化
- 3. 应该估算成本
- 4.应该有形式化方法顾问随时提供咨询
- 5.不应该放弃传统的开发方法
- 6. 应该建立详尽的文档
- 二、有穷状态机
-
- (一) 概念
- 三、 Petri
-
- (一) 概念
一、概述
按照形式化的程度,可以把软件工程使用的方法划分成3类:非形式化 、半形式化、形式化。
- 用自然语言描述需求规格说明,是典型的非形式化方法。
- 用数据流图或实体-联系图建立模型,是典型的半形式化方法。
所谓形式化方法,是描述系统性质的基于数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的。
(一) 非形式化方法的缺点
用自然语言书写的系统规格说明书,可能存在矛盾、二义性、含糊性、不完整性及抽象层次混乱等问题。
所谓矛盾是指一组相互冲突的陈述。
二义性是指读者可以用不同方式理解的陈述。
(二) 形式化方法的优点
为了克服非形式化方法的缺点,人们把数学引入软件开发过程,创造了基于数学的形式化方法。
在开发大型软件系统的过程中应用数学,能够带来下述的几个优点:
- 能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具。
数学特别适合于表示状态,也就是表示“做什么”,数学比自然语言更适于描述详细的需求。
在软件开发过程中使用数学的另一个优点是,可以在不同的软件工程活动之间平滑地过渡。
不仅功能规格说明,而且系统设计也可以用数学表达,当然,程序代码也是一种数学符 (虽然是一种相当繁琐、冗长的数学符 )。
数学作为软件开发工具的最后一个优点是,它提供了高层确认的手段。可以使用数学方法证明,设计符合规格说明,程序代码正确地实现了设计结果。
(三) 应用形式化方法的准则
对形式化方法应该“一分为二”,既不要过分夸大它的优点也不要一概排斥。
下面给出应用形式化方法的几条准则:
1.应该选用适当的表示方法
通常,一种规格说明技术只能用自然的方式说明某一类概念,如果用这种技术描述其不适于描述的概念,则不仅工作量大而且描述方式也很复杂。因此,应该仔细选择一种适用于当前项目的形式化说明技术。
2. 应该形式化,但不要过分形式化
目前的形式化技术还不适于描述系统的每个方面。带使用之,有助于防止含糊和误解。
3. 应该估算成本
为了使用形式化方法,通常需要事先进行大量的培训。最好预先估算所需的成本并编入预算。
4.应该有形式化方法顾问随时提供咨询
绝大多数软件工程师对形式化方法中使用的数学和逻辑并不很熟悉,而且没受过使用形式化方法的专业训练,因此,需要专家指导和培训。
5.不应该放弃传统的开发方法
把形式化方法和结构化方法或面向对象方法集成起来是可能的,而且由于取长补短往往能获得很好的效果。
6. 应该建立详尽的文档
建议使用自然语言注释形式化的规格说明书,以帮助用户和维护人员理解系统。
- 不应该放弃质量标准
- 不应该盲目依赖形式化方法
- 应该测试、测试再测试
- 应该重用
即使采用了形式化方法,软件重用仍然是降低软件成本和提高软件质量的惟一合理的方法。而且用形式化方法说明的软件构件具有清晰定义的功能和接口,使得它们有更好的可重用性。
二、有穷状态机
(一) 概念
有穷状态机可以准确描述一个系统,是表达规格说明的一种形式化方法。
通过一个简单例子介绍有穷状态机的基本概念:
一个保险箱上装了一个复合锁,锁有三个位置,分别标记为1、2、3,转盘可向左(L)或向右?转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起 警。如图描绘了保险箱的状态转换情况。
三、 Petri
(一) 概念
并发系统中需要解决的主要问题是定时问题:包括同步问题、竞争条件以及死锁问题。
定时问题常常是因不好的设计或有错误的实现引起的,归根到底又是由不好的规格说明造成的.
Petri 技术可用于确定系统中隐含的定时问题。
Petri 技术在计算机领域应用较多,已经证明,用Petri 可以有效地描述并发活动。
Petri 包含4种元素:
一组位置P、一组转换T、输入函数I及输出函数O。
如图举例说明了Petri 的组成:
一组位置P为{P1,P2,P3,P4}:用圆圈代表;
一组转换T为{t1,t2}:图中用短直线表示转换;
两个用于转换的输入函数,用由位置指向转换的箭头表示,它们是:I(t1)={P2,P4}
I(t2)={P2}
两个用于转换的输出函数,用由转换指向位置的箭头表示,它们是:O(t1)={P1}
O(t2)={P3,P3}
如图4.6,P2上有权标,因此t2也可以被激发。当t2被激发时,P2上将移走一个权标,而P3上新增加两个权标(1,1,2,1)。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!