- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4形式化说明技术
软件工程 第4章 形式化说明技术 4.1 概述 4.2 有穷状态机 4.3 Petri网 4.4 Z语言 4.5 小结 4.1 概述 什么是形式化方式 非形式化方法的缺点 形式化方法的优点 应用形式化方法的准则 什么是形式化方式 计算机描述方式分类: 非形式化方法:自然语言描述需求规格说明 半形式化方法:用数据流图或实体-联系图建立模型 形式化方法:描述系统性质的、基于数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的。 非形式化方法的缺点 自然语言描述需求规格说明: 矛盾:指一组相互冲突的陈述。 二义性:读者可以用不同方式理解的陈述。 不完整性:缺乏对细节的描述 含糊性。笼统的陈述,没有给出有用的信息。 抽象层次混乱:在非常抽象的陈述中混进了一些关于细节的低层次陈述。 使得读者很难了解系统的整体功能结构。 形式化方法的优点 基于数学的形式化方法: 数学能够简洁准确地描述物理现象、对象或动作的结果,比自然语言更适于描述详细的需求。避免二义性,而且可以验证,以发现矛盾和不完整性 可以在不同的软件工程活动之间平滑地过渡 提供了高层确认的手段 应用形式化方法的准则 形式化方法有这么多优点, 是否应该完全采用这种方法?为什么? 什么情况下采用形式化方法? 应用形式化方法的准则 (1) 应该选用适当的表示方法。 (2) 应该形式化,但避免过分形式化。 (3) 应该估算成本。 (4) 应该有形式化方法顾问随时提供咨询。 (5) 不应该放弃传统的开发方法。 (6) 应该建立详尽的文档。 (7) 不应该放弃质量标准。 (8) 不应该盲目依赖形式化方法。 4.2 有穷状态机 什么是有穷状态机? 一种用简单格式来描述规格说明的方法: 当前状态 + 事件 + 谓词 ? 下一状态 保险箱的例子: 保险箱上装了复合锁,锁有三个位置:1、2、3,转盘可左(L)或右(R)转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。 保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。 图4.1 保险箱的状态转换图 例2:菜单驱动的用户界面: 状态:每一个菜单的显示 事件:键盘输入、或用鼠标选择一个图标是使系统进入其他状态的一个事件。 状态的转换都具有下面的形式: 当前状态〔菜单〕+事件〔所选择的项〕?下个状态。 有穷状态机优点:易于书写、易于验证,而且可以比较容易地把它转变成设计或程序代码。 4.3 Petri网 Petri网是一种系统的数学和图形的描述与分析工具。 可以有效描述并发活动,适合对具有并发、异步、分布、不确定性随机性的信息处理系统建模,以得到系统结构和动态行为方面的信息。 Petri网的组成 Petri网包含4种元素: 位置P:表示系统状态 转换T:表示系统事件 输入函数I:表示对转移的输入 输出函数O:表示对转移的输出 4.4 Z语言 含有下述4个部分: 给定的集合、数据类型及常数。 状态定义。 初始状态。 操作。 4.5 小结 基于数学的形式化规格说明技术,目前还没有在软件产业界广泛应用。 与欠形式化的方法比较起来,它有实质性的优点: 形式化的规格说明可以用数学方法研究、验证(例如,一个正确的程序可以被证明满足其规格说明,两个规格说明可以被证明是等价的,规格说明中存在的某些形式的不完整性和不一致性可以被自动地检测出来)。 此外,形式化的规格说明消除了二义性,而且它鼓励软件开发者,在软件工程过程的早期阶段使用更严格的方法,从而可以减少差错。 形式化方法也有缺点: 主要关注于系统的功能和数据,而问题的时序、控制和行为等方面的需求却更难于表示。 此外,形式化方法比欠形式化方法更难学习,不仅在培训阶段要花大量的投资,而且对某些软件工程师来说,它代表了一种“文化冲击”。 把形式化方法和欠形式化方法有机地结合起来,使它们取长补短,应该能获得更理想的效果。 * 形式化方法并不能保证软件的正确性,它们只不过是有助于开发出高质量软件的一种手段。 取长补短往往能获得很好的效果 难实行,需要进行大量的培训 用形式化方法仔细说明系统中易出错的或关键的部分, 状态集J:{保险箱锁定,A,B,保险箱解锁,报警}。 输入集K:{1L,1R,2L,2R,3L,3R}。 转换函数T:如Page78 表4.1所示。 初始态S:保险箱锁定。 终态集F:{保险箱解锁,报警}。 * * *
您可能关注的文档
最近下载
- 2025青海公司所属华电(格尔木)能源有限公司面向华电系统内外招聘180人笔试参考题库附答案解析.docx VIP
- 意大利语基础单词与日常用语修订稿.docx VIP
- 2025南方电网文山供电局招聘短期项目制用工(35人)笔试模拟试题及答案解析.docx VIP
- 中文版新视线意大利语中级练习手册.docx VIP
- 山东科学技术版劳动实践指导手册一年级全册教学设计教案.pdf
- 山东科学技术版劳动实践指导手册二年级全册教学设计教案.doc
- 2025至2030年中国淫羊藿提取物行业市场竞争态势及发展前景研判报告.docx
- chiavi del Quaderno degli esercizi新视线意大利语初级练习册答案.pdf VIP
- 主、被动防护网施工组织设计方案.docx VIP
- 山东科技出版社劳动实践指导手册二年级第1课清洁与卫生小件衣物清洗洗内衣 教案.doc VIP
文档评论(0)