软件工程导论期末复习(四)

2023-05-16

本文用书:《软件工程导论》 第六版 清华大学出版社

1.有穷状态机

2.peri网技术

第四章 形式化说明技术

4.1 概述

1.非形式化方法的缺点

用自然语言书写的系统规格说明书,可能存在矛盾,二义性,含糊性,不完整性及抽象层次混乱等问题。

2.形式化方法的优点

能够简洁准确地描述物理现象、对象或动作的结果,因此是理想的建模工具;

可以在不同的软件工程活动之间平滑地过渡;

它提供了高层确认的手段。

3.应用形式化方法的准则

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

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

应该估算成本。

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

不应该放弃传统的开发方法。 应该建立详尽的文档。

不应该放弃质量标准。

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

应该测试、测试再测试。

应该重用。

4.2 有穷状态机

1.概念:

如果使用更形式化的术语,一个有穷状态机可以表示为一个5元组(J,K,T,S,F),其中:

J是一个有穷的非空状态集;

K是一个有穷的非空输入集;

T是一个从(J-F)×K到J的转换函数;

S∈J,是一个初始状态;

F\subseteqJ,是终态集。

2.例子

  一个保险箱上装了一个复合锁,锁有三个位置,分别标记为1、2、3,转盘可向左(L)或向右(R)转动。这样,在任意时刻转盘都有6种可能的运动,即1L、1R、2L、2R、3L和3R。保险箱的组合密码是1L、3R、2L,转盘的任何其他运动都将引起报警。

图4.1描绘了保险箱的状态转换情况。

 

 保险箱的例子,相应的有穷状态机的各部分如下:

状态集J:{保险箱锁定,A,B,保险箱解锁,报警}。

输入集K:{1L,1R,2L,2R,3L,3R}。

转换函数T:如表4.1所示。

初始态S:保险箱锁定。

终态集F:{保险箱解锁,报警}。

4.3 peri网技术 

1. 用于确定系统中隐含的定时问题的一种有效技术是Petri网,可以有效地描述并发活动。

2.组成:

 

一组位置P为{P1,P2,P3,P4},在图中用圆圈代表位置。

 一组转换T为{t1,t2},在图中用短直线表示转换。  

两个用于转换的输入函数,用由位置指向转换的箭头表示,它们是:I(t1)={P2,P4};I(t2)={P2} 

两个用于转换的输出函数,用由转换指向位置的箭头表示,它们是:O(t1)={P1};O(t2)={P3,P3}

输出函数O(t2)中有两个P3,是因为有两个箭头由t2指向P3

2.权标

Petri网的标记是在Petri网中权标(token)的分配。

例如,在图4.6中有4个权标,其中一个在P1中,两个在P2中,P3中没有,还有一个在P4中。上述标记可以用向量(1,2,0,1)表示。由于P2和P4中有权标,因此t1启动(即被激发)。 通常,当每个输入位置所拥有的权标数大于等于从该位置到转换的线数时,就允许转换。 当t1被激发时,P2和P4上各有一个权标被移出,而P1上则增加一个权标。Petri网中权标总数不是固定的,在这个例子中两个权标被移出,而P1上只能增加一个权标。

 在图4.6中P2上有权标,因此t2也可以被激发。当t2被激发时,P2上将移走一个权标,而P3上新增加两个权标。 Petri网具有非确定性,也就是说,如果数个转换都达到了激发条件,则其中任意一个都可以被激发。 图4.6所示Petri网的标记为(1,2,0,1),t1和t2都可以被激发。假设t1被激发了,则结果如下图4.7所示,标记为(2,1,0,0)。 此时,只有t2可以被激发。如果t2也被激发了,则权标从P2中移出,两个新权标被放在P3上,结果如下图4.8所示,标记为(2,0,2,0)。

 

 

4.4 Z语言(略) 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件工程导论期末复习(四) 的相关文章

随机推荐

  • kolla-ansible快速入门

    kolla ansible快速入门 kolla ansible是一个结构相对简单的项目 xff0c 它通过一个shell脚本 xff0c 根据用户的参数 xff0c 选择不同的playbook和不同的参数调用ansible playbook
  • noVNC连接多台远程主机

    noVNC是一个HTML5 VNC客户端 xff0c 采用HTML5 websockets Canvas和JavaScript实现 xff0c noVNC被普遍应用于各大云计算 虚拟机控制面板中 xff0c 比如OpenStack Dash
  • 如何进入ThinkServer RQ940服务器的UEFI HII SAS RAID阵列配置界面

    操作步骤 内容导航 一 进入SAS RAID阵列配置界面 二 硬盘选择操作 三 确认操作 一 进入SAS RAID阵列配置界面 启动服务器 xff0c 在出现ThinkServer logo的时候按F2或者Delete键进入BIOS配置界面
  • 联想服务器在UEFI HII界面中配置阵列的基本操作

    重要提示 xff1a 配置阵列时请谨慎操作 xff0c 并仔细阅读各种提示 xff0c 以防误操作导致数据损失 内容导航 一 进入阵列卡配置界面并查看硬盘状态 二 创建RAID0 1 5 6阵列 三 创建RAID10阵列 四 创建分卷的RA
  • 戴尔dell poweredge r730服务器系统安装配置详解教程

    这篇文章主要介绍了戴尔dell poweredge r730服务器系统安装配置详解教程 需要的朋友可以参考下 第一次给服务器安装的是ubantu系统 xff1b 首先我们开机进入小型BIOS设置一下RAID 或者进入服务器管理系统 xff0
  • Huawei交换机配置Telnet登录

    Huawei交换机配置Telnet登录 一 交换机开启Telnet服务 lt Huawei gt system view 进入系统视图 Huawei telnet server xff1f 查看有enable还是disable选项 xff0
  • Huawei设备配置系统时间

    系统时钟是设备上的系统时间戳 由于地域的不同 xff0c 用户可以根据当地规定设置系统时钟 用户必须正确设置系统时钟以确保其与其他设备保持同步 华为设备出厂时默认采用了协调世界时 UTC xff0c 但是没有配置时区所有在配置设备系统时钟前
  • A start job is running for Raise network interface(5min 13s )问题解决方法

    我在笔记本电脑上安装了Ubuntu 16 04 xff0c 当我有局域网连接时 xff0c 启动ubuntu是很快的 xff0c 当LAN电缆断开时 xff0c 需要大约5分钟才能获得登录屏幕 xff0c 这个实在是无法忍受 我的推测 xf
  • Linux常用浏览器

    1 火狐浏览器是一个安全高效的浏览器 xff0c 它具有速度快 隐私保护 丰富的插件资源 不同设备之间同步数据 分页浏览 个性化定制等特性 2 谷歌浏览器 谷歌浏览器是一个由Google公司开发的网页浏览器 xff0c 具有稳定 快速 安全
  • Ubuntu18.04 解压zip文件乱码的解决方法

    在Ubuntu的系统下解压zip文件的时候居然出现了乱码 xff0c 通过查找网上的资料 xff0c 解决的办法有两种 一 通过unzip行命令解压 xff0c 指定字符集 xff0c 由于zip格式中并没有指定编码格式 xff0c Win
  • /etc/resolv.conf文件详解

    etc resolv conf它是DNS客户机配置文件 xff0c 用于设置DNS服务器的IP地址及DNS域名 xff0c 还包含了主机的域名搜索顺序 该文件是由域名解析器 xff08 resolver xff0c 一个根据主机名解析IP地
  • CCF 201812-4 数据中心 Java

    一 题目 问题描述 试题编号 xff1a 201812 4试题名称 xff1a 数据中心时间限制 xff1a 1 0s内存限制 xff1a 512 0MB问题描述 xff1a 样例输入 4 5 1 1 2 3 1 3 4 1 4 5 2 3
  • QT 显示文件目录

    include lt QDir gt include lt iostream gt int main int argc char argv QCoreApplication app argc argv QDir dir dir setPat
  • 面向对象设计——系统动态模型设计(1,交互模型)

    在这张图中 xff0c 系统对象静态设计前边我们在分析中已经学习了 xff0c 这个阶段需要做的就是细化优化 这里我们主要学习系统设计 xff0c 这篇博客我们学习系统动态建模中交互模型建模 首先需要我们学习的是对象之间的通信 xff0c
  • 面向对象设计——系统动态模型设计(2,状态模型)

    这篇总结状态模型建模 xff1a 状态图和活动图 先看看状态图和活动图小结 xff1a 下边我们看一下 xff0c 状态图的事务 xff08 活动图的在前边的博客中已经给出 xff0c 活动图另一个大用处就是细化说明用例 xff09 xff
  • 【sql语句基础】——查(select)(单表查询)

    目录 查 select 单表查询基本语法表代码样例select注意事项 where子句排序order by子句合计 统计函数 count求和sum平均值avg最大值最小值max和min 分组group by过滤having 分页查询limi
  • 软件工程导论期末复习(一)

    本文用书 xff1a 软件工程导论 第六版 清华大学出版社 第一章 软件工程学概述 一 软件危机 1 什么是软件危机 xff1f 指在计算机软件开发和维护过程中所遇到的一系列严重问题 2 软件危机的典型表现 xff1a xff08 不怎么重
  • 软件工程导论期末复习(二)

    本文用书 xff1a 软件工程导论 第六版 清华大学出版社 1 可行性研究的目的是什么 xff1f 2 应从哪些方面研究可行性 xff1f 3 如何画系统流程图 xff1f 4 如何画数据流图 xff1f 5 了解数据字典及成本效益分析 第
  • 软件工程导论期末复习(三)

    本文用书 xff1a 软件工程导论 第六版 清华大学出版社 1 需求分析的基本任务是什么 xff1f 2 分析建模 2 1什么是模型 xff1f 模型 xff1a 就是为了理解事物而对事物做出的一种抽象 xff0c 是对事物的一种无歧义的书
  • 软件工程导论期末复习(四)

    本文用书 xff1a 软件工程导论 第六版 清华大学出版社 1 有穷状态机 2 peri网技术 第四章 形式化说明技术 4 1 概述 1 非形式化方法的缺点 用自然语言书写的系统规格说明书 可能存在矛盾 二义性 含糊性 不完整性及抽象层次混