




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SOFTWAREENGINEERING 第4章形式化说明技术 SOFTWAREENGINEERING 形式化方法 所谓形式化方法 是描述系统性质的 是基于数学的技术 也就是说 如果一种方法有坚实的数学基础 那么它就是形式化的 SOFTWAREENGINEERING 4 1概述 4 1 1非形式化方法的缺点用自然语言书写的系统规格说明书 可能存在矛盾 二义性 含糊性 不完整性及抽象层次混乱等问题 4 1 2形式化方法的优点简洁准确描述物理现象 对象或动作的结果适合于表示状态 表示 做什么 数学规格说明可以用数学方法验证 SOFTWAREENGINEERING 4 1 3应用形式化方法的准则 1应该选用适当的表示方法 每种形式化语言都有各自的特点 2应该形式化 但不要过分形式化3应该估算成本4应该有形式化方法顾问随时提供咨询5不应该放弃传统的开发方法6应该建立详尽的文档7不应该放弃质量标准8不应该盲目依赖形式化方法9应该测试 测试再测试10应该重用 SOFTWAREENGINEERING 4 2有穷状态机 4 2 1概念一个有穷状态机包括5部分 J是一个有穷的非空状态集 K是一个有穷的非空输入集T是一个从 J F K到J的转换函数S J 是一个初始状态F J 是终态集 SOFTWAREENGINEERING 图4 1保险箱的状态转换图 SOFTWAREENGINEERING SOFTWAREENGINEERING 保险箱的有穷状态机 状态集J 保险箱锁定 A B 保险箱解锁 报警 输入集K 1L 1R 2L 2R 3L 3R 转换函数T 如表4 1初始态S 保险箱锁定终态集F 保险箱解锁 报警 SOFTWAREENGINEERING 4 2 2例子 在一幢M层楼的大厦里 用电梯内的和每个楼层的按钮来控制N部电梯的运动 当按下电梯按钮请求电梯在指定楼层停下时 按钮指示灯亮 当电梯到达指定楼层时 指示灯灭 除了大厦的最底层和最高层外 每层楼都有两个按钮分别指示电梯上行和下行 当这两个按钮之一被按下时相应的指示灯亮 当电梯到达此楼层时灯熄灭 电梯向要求的方向移动 当电梯无升降动作时 关门并停在当前楼层 SOFTWAREENGINEERING 电梯按钮的状态转换图 EB e f 表示按下电梯e内的按钮 并请求到f层去 有两个状态 EBON e f 电梯按钮 e f 打开 EBOFF e f 电梯按钮 e f 关闭两个事件 EBP e f 电梯按钮 e f 被按下 EAF e f 电梯e到达f层 SOFTWAREENGINEERING 形式化转换规则 V e f 电梯e停在f层EBOFF e f EBP e f notV e f EBON e f EBON e f EAF e f EBOFF e f SOFTWAREENGINEERING 楼层按钮的状态转换图 FB d f 表示f层请求电梯向d方向运动的按钮 有两个状态 FBON d f 楼层按钮 d f 打开 FBOFF d f 楼层按钮 d f 关闭两个事件 FBP d f 楼层按钮 d f 被按下 EAF 1 n f 电梯1或 或n到达f层 SOFTWAREENGINEERING 形式化转换规则 S d e f 电梯e停在f层并且移动方向由d确定为向上 d U 或向下 d D 或待定 d N FBOFF d f FBP d f notS d 1 n f FBON d f FBON d f EAF 1 n f S d 1 n f FBOFF d f 其中d UorD SOFTWAREENGINEERING 电梯的状态转换 电梯的3个状态 M d e f 电梯e沿着d方向移动 即将到达的是第f层S d e f 电梯e停在f层 将朝d方向移动 尚未关门 W e f 电梯e在f层等待 已关门 电梯的3个事件 DC e f 电梯e在楼层f关上门ST e f 电梯e靠近f层时触发传感器 电梯控制器决定在当前楼层电梯是否停下RL 电梯按钮或楼层按钮被按下进入打开状态 SOFTWAREENGINEERING 图4 4电梯的状态转换图 SOFTWAREENGINEERING 形式化转换规则 S U e f DC e f M U e f 1 S D e f DC e f M D e f 1 S N e f DC e f W e f SOFTWAREENGINEERING 4 3Petri网 4 3 1概念 描述并发活动 处理定时需求 四元组C P T I O P P1 Pn 是一个有穷位置集 n 0T t1 tm 是一个有穷转换集 m 0I T P 为输入函数 是由转换到位置无序单位组的映射O T P 为输出函数 是由转换到位置无序单位组的映射一个无序单位组或多重组是允许一个元素有多个实例的广义集 SOFTWAREENGINEERING 图4 5Petri网的组成 图4 6带标记的Petri网 SOFTWAREENGINEERING 图4 7图4 6的Petri网在转换t1被激发后的情况 图4 8图4 7的Petri网在转换t2被激发后的情况 SOFTWAREENGINEERING 图4 10Petri网表示的电梯按钮 SOFTWAREENGINEERING 4 3 2例子 1 电梯按钮 图4 10Petri网表示的电梯按钮 SOFTWAREENGINEERING 图4 11Petri网表示楼层按钮 2 楼层按钮 SOFTWAREENGINEERING 4 4Z语言 4 4 1简介1 给定的集合2 状态定义 图4 12Z格S的格式 SOFTWAREENGINEERING 图4 13Z格Button State SOFTWAREENGINEERING 3 初始状态4 操作 图4 14操作Push Button的Z规格说明 SOFTWAREENGINEERING 图4 15操作Floor Arrival的Z规格说明 SOFTWAREENGINEERING 将事物的状态和行为用数学符号形式化表达的语言 为编写计算机程序和验证计算机程序的正确性提供依据 是软件工程中编码之前的规格说明语言 Z语言是一种以一阶谓词演算为主要理论基础的规约语言 是一种功能性语言 形式化描述语言Z指的是著名数学家Zermelo 它是目前使用最广泛的一种形式化描述语言 在软件产业的一些大型项目中已经获得成功的应用 Z以带等词的一阶谓词逻辑ZF Zermelo Fraenkel 蔡梅罗 弗兰科尔 公理集合论为主要数学基础 在Z中有两种语言 数学语言和模式 Schema 语言 数学语言用来描述系统的各种特征 对象及其之间的关系 模式语言是一种半图形化的语言 它用来构造 组织形式化说明的描述 整理 封装信息块并对其命名以便可以重用这些信息块 通常 形式化说明的可读性都不太好 但由于Z采用半图形化的模式语言 能用一种比较直观 有条理的方式来表达形式化说明 这就改善了可读性 Z语言是由牛津大学程序设计研究小组开发的一种形式语言 之后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初期流动活动方案
- 助力九月开学季活动方案
- 公司摄影比赛策划方案
- 公司糖酒会策划方案
- 公司新年文艺活动方案
- 公司检查活动方案
- 公司组织与管理策划方案
- 公司经营团建活动方案
- 公司社团手工活动方案
- 公司搞游园活动方案
- 《新印象 CINEMA 4D电商设计基础与实战 全视频微课版 》读书笔记思维导图
- WS/T 227-2002临床检验操作规程编写要求
- GB/T 18907-2002透射电子显微镜选区电子衍射分析方法
- GB 21454-2008多联式空调(热泵)机组能效限定值及能源效率等级
- 建设工程竣工验收消防设计质量检查报告(填写范本)
- 锚杆锚固质量无损检测
- 数码迷彩工艺
- 动火许可证(模板)
- 论脑心同治理论与实践解析课件
- 防汛应急预案桌面演练
- 代领毕业证委托书模板(通用6篇)
评论
0/150
提交评论