软件工程期末复习(8)需求的表达方法和状态转换图

2024-05-16 04:52

本文主要是介绍软件工程期末复习(8)需求的表达方法和状态转换图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求的表达方法

系统模型

需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统 “做什么” 的问题

  • 通常软件开发项目是要实现目标系统的物理模型。
  • 目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的。
  • 导出目标系统的逻辑模型的过程中,对系统进行建模有着不可替代的作用。 

在需求分析阶段创建模型的作用:

  • 模型帮助分析员理解系统的信息、功能和行为,因此,使得需求分析任务更容易、更系统;
  • 模型是评审的焦点,因此,也成为确定规约的完整性、一致性和精确性的关键;
  • 模型是设计的基础

 系统模型的分类:

  • 行为模型:这个概念包括系统的所有过程层面的内容。
    • 功能模型:描述数据的功能转换。有两种方式。
      • 其一,数据被认为在功能处理元素间流动,如数据流图(DFD)。
      • 其二,领域实体被建模成对象,通过事件触发相应的服务来处理数据元素,如面向对象方法。
    • 动态模型:描述与时间有关的变化。
  • 结构模型(静态模型):描述系统的实体结构。

需求的表达形式

最基本形式--自然语言描述:

因可能存在二义性,所以应在合适情况下选用合适的符号进行精确描述。

静态描述 :

  • 实体-关系图(ER图)
  • 数据抽象
  • 对象模型

动态描述:

  • 判定表
  • 状态迁移图
  • 时序图
  • Petri网

层次技术

Warnier图

系统的动态分析

  • 系统的需求规格说明通常可以用自然语言来叙述,但是用自然语言描述往往会出现歧义性;
  • 为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。

常用的动态分析方法

  • 状态迁移图
  • 时序图
  • Petri网

状态转换图:

  • 状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为
  • 状态:状态是任何可以被观察到的系统行为模式,规定了系统对事件的响应方式
  • 事件:在某个特定时刻发生的事情,它是对引起系统做动作或(和)从一个状态转换到另一个状态的外界事件的抽象

状态转换图的符号

  • 活动表的语法格式如下:          事件名(参数表)/动作表达式
  • 事件表达式的语法如下:          事件说明[守卫条件]/动作表达式
  • 其中事件说明的语法如下:         事件名(参数表)

状态转换图举例

状态转换图和与其等价的状态转换表示例 ⬆️

例如, 当有多个申请占用CPU运行的进程时,  有关CPU分配的进程的状态迁移:

状态转换图的优点 

  • 状态之间的关系能够直观地捕捉到,可以检查所有可能的状态是否都已纳入到图中,是否存在不必要的状态等。
  • 由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具,回答诸如“指定事件序列P、状态A和B,可以因为P从A向B迁移吗?”、“找出经过所有状态的事件序列”之类的问题。 

这篇关于软件工程期末复习(8)需求的表达方法和状态转换图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993934

相关文章

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

在Java中将XLS转换为XLSX的实现方案

《在Java中将XLS转换为XLSX的实现方案》在本文中,我们将探讨传统ExcelXLS格式与现代XLSX格式的结构差异,并为Java开发者提供转换方案,通过了解底层原理、性能优势及实用工具,您将掌握... 目录为什么升级XLS到XLSX值得投入?实际转换过程解析推荐技术方案对比Apache POI实现编程

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

使用Python实现网页表格转换为markdown

《使用Python实现网页表格转换为markdown》在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,本文将使用Python编写一个网页表格转Markdown工具,需... 在日常工作中,我们经常需要从网页上复制表格数据,并将其转换成Markdown格式,以便在文档、邮件或

Python将字符串转换为小写字母的几种常用方法

《Python将字符串转换为小写字母的几种常用方法》:本文主要介绍Python中将字符串大写字母转小写的四种方法:lower()方法简洁高效,手动ASCII转换灵活可控,str.translate... 目录一、使用内置方法 lower()(最简单)二、手动遍历 + ASCII 码转换三、使用 str.tr

Java如何将文件内容转换为MD5哈希值

《Java如何将文件内容转换为MD5哈希值》:本文主要介绍Java如何将文件内容转换为MD5哈希值的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java文件内容转换为MD5哈希值一个完整的Java示例代码代码解释注意事项总结Java文件内容转换为MD5

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Java实现视频格式转换的完整指南

《Java实现视频格式转换的完整指南》在Java中实现视频格式的转换,通常需要借助第三方工具或库,因为视频的编解码操作复杂且性能需求较高,以下是实现视频格式转换的常用方法和步骤,需要的朋友可以参考下... 目录核心思路方法一:通过调用 FFmpeg 命令步骤示例代码说明优点方法二:使用 Jaffree(FF

C语言中的常见进制转换详解(从二进制到十六进制)

《C语言中的常见进制转换详解(从二进制到十六进制)》进制转换是计算机编程中的一个常见任务,特别是在处理低级别的数据操作时,C语言作为一门底层编程语言,在进制转换方面提供了灵活的操作方式,今天,我们将深... 目录1、进制基础2、C语言中的进制转换2.1 从十进制转换为其他进制十进制转二进制十进制转八进制十进