软件工程(七)

形式化说明技术

按照形式化的程度,软件使用方法:
1.非形式化方法:自然语言描述
2.半形式化方法:数据流图或实体-联系图
3.形式化方法:基于数学技术描述

所谓形式化方法,是描述系统性质的基于数学的技术,也
就是说,如果一种方法有坚实的数学基础,那么它就是
形式化的。

非形式化方法的缺点
自然语言书写的系统规格说明书可能存在:
1)矛盾:一组相互冲突的陈述;
2)二义性:读者可以用不同的方式理解的陈述;
如:“操作员标识由操作员姓名和密码组成,密码由6位数字构成,当操作员登陆系统时它被存储在注册文件中。”
3)含糊性:笼统的陈述;
4)不完整性(系统规格说明中最常遇到问题之一);
5)抽象层次混乱(非常抽象的陈述中混进了一些细节的低层陈述)。

形式化方法的优点
将数学引入软件开发过程,创造了基于数学的形式化方法。
(1)数学是理想的建模工具,适合于表示系统状态和描述系统需求;
(2)用数学表达的需求可在不同开发阶段平滑过渡。
功能规格说明
系统设计
程序代码
均可以用数学表达
(3)提供了高层确认的手段
使用数学方法证明,设计符合规格说明,程序代码正确地实现了设计结果

应用形式化方法的准则
形式化方法的引入存在不同的看法
应用形式化的准则:
(1)选择合适的形式化方法;
(2)需要形式化,但不能过分形式化,不能放弃传统的需求表达方法;
目前的形式化不适合描述系统的各个方面
(3)应该估算成本。(需要前期培训)
(4)应该有形式化方法顾问随时提供咨询
(5)应该建立详尽的文档(使用自然语言注释形式化)
(6)不应盲目依赖形式化
(7)应该测试、测试再测试

有穷状态机法(FSM)
概念
利用有穷状态机可以准确地描述一个系统,因此它是表达规格说明的一种形式化方法。
一个有穷状态机包括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元组后:
当前状态【菜单】+事件【所选择的项】+谓词=>下个状态

评价
有穷状态机描述规格说明:
当前状态+事件+谓词=>下个状态
优点:易于书写、验证、转变成设计或程序代码。

有穷状态机方法优缺点:
有穷状态机方法比数据流图技术更精确,一样易于理解。但不能处理定时需求。

你可能感兴趣的:(软件工程)