软件工程复习自用---第四章

形式化说明技术

概述

非形式化方法的缺点

形式化方法的优点

应用形式化方法的准则

1.应该选用适当的表示方法。

2.应该形式化,但不要过分形式化。

3.应该估算成本。

4.应该有形式化方法顾问随时提供咨询。

5.不应该放弃传统的开发方法。

6.应该建立详尽的文档。

7.不应该放弃质量标准。

8.不应该盲目依赖形式化方法。

9.应该测试、测试再测试。

10.应该重用。

有穷自动机

一个有穷状态机包括下述5个部分:状态集J、输入集K、由当前状态和当前输入确定下一个状态(次态)的转换函数T、初始态S和终态集F

Petri网

Petri网由来: 并发系统中遇到的一个主要问题是定时问题。这个问题可以表现为多种形式,如同步问题、竞争条件以及死锁问题。

用于确定系统中隐含的定时问题的一种有效技术是Petri网,这种技术的一个很大的优点是它也可以用于设计中。

Petri网是由Carl Adam Petri发明的。在性能评价、操作系统和软件工程等领域,Petri网应用得都比较广泛。特别是已经证明,用Petri网可以有效地描述并发活动。

这里的启动要结合上边的输入函数I(t1) = {P2,P4}

Z语言

用Z语言描述的、最简单的形式化规格说明含有下述4个部分:给定的集合、数据类型及常数, 状态定义,初始状态,操作。

评价

Z也许是应用得最广泛的形式化语言

(1) 可以比较容易地发现用Z写的规格说明的错误,特别是在自己审查规格说明,及根据形式化的规格说明来审查设计与代码时,情况更是如此。

(2) 用Z写规格说明时,要求作者十分精确地使用Z说明符

(3) Z是一种形式化语言,在需要时开发者可以严格地验证规格说明的正确性。

(4) 虽然完全学会Z语言相当困难,但是,经验表明,只学过中学数学的软件开发人员仍然可以只用比较短的时间就学会编写Z规格说明,当然,这些人还没有能力证明规格说明的结果是否正确。

(5) 使用Z语言可以降低软件开发费用。

(6) 虽然用户无法理解用Z写的规格说明,但是,可以依据Z规格说明用自然语言重写规格说明。经验证明,这样得到的自然语言规格说明,比直接用自然语言写出的非形式化规格说明更清楚、更正确。

相关推荐
嘿黑嘿呦3 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
旧曲重听13 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
承渊政道3 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
apcipot_rain3 天前
计科八股20260616(1)——堆存中位数、链表判环、黑白测试、敏捷开发与瀑布模型、配置管理、持续集成、池化
数据结构·算法·软件工程
lisw054 天前
【计算机科学技术】路由器(route):概念、历史、内容与战略!
机器学习·智能路由器·软件工程
培培说证4 天前
大数据、人工智能、计算机、软件工程,到底怎么选?
大数据·人工智能·软件工程
文艺倾年5 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
郝学胜-神的一滴5 天前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
小程故事多_805 天前
AI软件工程范式革命,终结五十年的“手工伪工程”时代
人工智能·软件工程
精益数智小屋5 天前
项目管理看板如何拆解任务进度?项目管理看板解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程