No.7软件需求规格说明书及UML

2023-10-31

软件需求规格说明书(SRS)是需求开发活动的产物,编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解,使之成为整个开发工作的基础。

软件需求规格说明书

国家标准BG/T 8567-2006中,提供了SRS的文档模版和编写指南,其中规定SRS应该包括以下内容:

  1. 范围。本部分包括SRS使用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号、发行号;简述SRS适用的系统和软件的用途,描述系统和软件的一般特性;该书系统开发、运行和维护的历史;标识项目的投资方、需方、用户、承建方和支持机构;标识当前和计划的运行现场;列表出其他有关的文档;该书SRS的用途和内容,并描述与其适用有关的保密性和私密性的要求,说明编写SRS所依据的基线。

  2. 引用文件。列出SRS中引用的所有文档的编号、标题、修订版本和日期,还应标识不能通过正常的供货渠道所获得的所有文档的来源。

  3. 需求。是SRS的主体,可以分为以下项目:所需的状态和方式、需求概述、需求规格、软件配置项能力需求、软件配置项外部接口需求、软件配置项内部接口需求、适应性需求、保密性和私密性需求、软件配置项环境需求、计算机资源需求(包括硬件需求、硬件资源利用需求、软件需求和通信需求)、软件质量因素、设计和实现约束、数据、操作、故障处理、算法说明、有关人员需求、有关培训需求、有关后勤需求、包装需求和其他需求,以及需求的优先次序和关键程度。

  4. 合格性规定。

  5. 需求可追踪性。SRS中每个软件配置项的需求到其设计的系统的需求都是双向可追踪的。

  6. 尚未解决的问题。

  7. 注解。包含背景信息、词汇表、原理等。

  8. 附录

需求验证

需求验证也称为需求确认,其活动是为了确定以下几个方面的内容。

  1. SRS正确地描述了预期的、满足项目干系人需求的系统行为和特征。

  2. SRS中的软件需求是从系统需求、业务规格和其他来源中正确推导而来的。

  3. 需求是完整的和高质量的。

  4. 需求的标识在所有地方都是一致的。

  5. 需求为继续进行系统设计、实现和测试提供了足够的基础

在实际工作中,一般通过需求评审和需求测试工作来对需求进行验证。

UML

UML是一种定义良好、易于表达、功能强大普遍使用的建模语言,它融入了软件工程领域的新思想、新方法、新技术,它的作用域不限于支持OOA和OOD,还支持从需求分析开始的软件开发的全过程。

从总体上来看,UML的结构包括构造块、规则、和公共机制三个部分。

  • 构造块。UML有三种基本的构造块,分别是事物、关系和图。事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物集合。

  • 规则。是构造块如何放在一起的规定,包括为构造块命名;给一个名字以特定含义的语境,即范围;运行或模拟动态模型的含义是什么,即执行。

  • 公共机制。是指达到特定目标的公告UML方法,主要包括规格说明、修饰、公告分类和扩展机制。

UML中的事物

UML中的事物也称为建模元素,包括结构事物、行为事物(也称为动作事物)、分组事物和注释事物(也称为注解事物)。这些事物是UML模型中最基本的OO构造块。

  • 结构事物:结构事务在模型中属于最静态的部分,代表概念上或物理上的元素。UML有7种结构事务,分别是类、接口、协作、用例、活动类、构建和节点。

  • 行为事物:行为事物是UML模型中的动态部分,代表时间和空间上的动作。UML有两种主要的行为事物->交互、状态机

  • 分组事务:分组事务是UML模型中组织的部分,UML只有一种分组事务,称为包。包是一种将有组织的元素分组的机制。与构件不同的是,包纯粹是一种概念上的事务,只存在于开发阶段,而构件可以存在于系统运行阶段。

  • 注释事务:是UML模型的解释部分

UML中的关系

UML用关系把实物结合在一起,主要有下列四种关系

  1. 依赖:依赖是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。

  2. 关联:关联是描述一组对象之间连接的结构关系

  3. 泛化:泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象

  4. 实现:实现是类之间的语义关系,其中一个类置顶了由另一个类保证执行的契约。

UML2.0种的图

包括14种,分别列举如下

  • 类图:类图描述一组类、接口、写作和它们之间的关系。

  • 对象图:对象图描述一组对象及它们之间的关系,在类图中所建立的事务实例的静态快照。

  • 构件图:描述一个封装的类和它的接口、端口、以及由内嵌的构件和连接件构成的内部结构。

  • 组合结构图:组合结构图描述结构化类的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。

  • 用例图:描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。

  • 顺序图:顺序图是一种交互图,交互图展示了一种交互,它由一组对象或者参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图,顺序图是强调消息的时间次序的交互图。

  • 通信图:通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织,顺序图和通信图表达了类似的基本概念,但它们强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构。

  • 定时图:也是一种交互图,强调小时跨域不同对象或者参与者的实际时间,而不仅仅只是关心消息的相对顺序。

  • 状态图:状态图描述一个状态机,它由状态、转移、事件、和活动组成。状态图给出了对象的动态视图。

  • 活动图:活动图讲进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图,并强调对象见的控制流程。

  • 部署图:描述对运行时的处理节点及在其中生存的构件配置。

  • 制品图:描述计算机中一个系统的物理结构。包括文件、数据库、类似的物理比特集合

  • 包图:概述由模型本身分解而成的组织单元,以及它们之间的依赖关系。

  • 交互概念图:是活动图和顺序图的混合物。

UML视图

UML对系统架构的定义是系统的组成结构,包括系统分解的组成部分,以及它们的关联性、交互机制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图

  1. 逻辑视图:逻辑视图也称为设计视图,表示了设计模型中在架构方面具有重要的意义部分,即类、子系统、包和用例实现的子集。

  2. 进程试图:是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构

  3. 实现视图:实现视图对组成基于系统的物理代码的文件和构件进行建模。

  4. 部署视图:把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构

  5. 用例视图:用例视图是最基本的需求分析模型。

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

No.7软件需求规格说明书及UML 的相关文章

  • 在 Visual Studio 2017 中的类图中创建聚合和组合

    我正在考虑在 Visual Studio 中创建类图 我注意到工具箱似乎只允许类之间的关联关系 是否可以在类图中创建更强的关系 即聚合和组合关系 另外 是否可以从代码自动创建类图 好问题 首先 Visual Studio VS 类设计器不是
  • 在序列/类图中将消费/生产事件表示为从微服务到消息队列[Kafka]的UML组件

    我有一个生成一些事件的用例 消费其他微服务生成的事件以及自己生成的事件 如何在序列图 类图中表示 Kafka 系统 运行中的微服务以及生产 消费事件 在 UML 中 我们有一个来自 DB 的特殊图表 我们有 Kafka 和 cron 作业的
  • 如何使用用例关系 - uml

    嘿伙计们 我一直在研究 UML 并且正在尝试设计问题的用例图 假设我的应用程序包含以下内容 两个要求 创建团队 创建玩家 这是这笔交易 用户可以创建一个球队 创建球队后可以为该球队创建球员 非必需 但在这个应用程序中有多个用户 一个用户可以
  • 学习如何分析项目

    我刚刚偶然开始为我公司的一个客户 中小企业 分析一个项目 我是一名 Net 开发人员 5 年 在分析软件方面经验很少 来自学校的 UML 我们刚刚结束了与用户两周的交谈 并得到了一份不错的需求清单 显然 我们已经过滤掉了最重要的需求 并且必
  • 如何在 UML 属性中指定枚举文字作为默认值?

    我目前使用 EMF UML Implementation 进行一些模型转换 在我的模型转换中 我创建了一个具有一些属性的 uml 类 这些属性是我也创建的枚举类型 某些属性应该获得默认值 默认值应该是枚举文字 现在的问题是 如何将枚举文字获
  • 建模/记录功能程序

    我发现 UML 对于记录 OO 系统的各个方面非常有用 特别是用于总体架构的类图和用于说明特定例程的序列图 我想为我的 clojure 应用程序做同样的事情 我目前对模型驱动开发不感兴趣 只是对交流应用程序如何工作感兴趣 UML 是函数式编
  • UML 领域建模

    领域模型和数据模型有什么区别 数据模型是一个design仅描述数据及其关系的模型 该模型包含实体 但它们是根据什么来描述的data他们不负责如何处理这些数据或他们的责任是什么 另一方面 领域模型是用于分析问题领域的概念模型 它用具有关系 数
  • 聚合、组合、关联、直接关联

    我正在复习面向对象编程方面的知识 在类之间的关系主题下 我遇到了一些对我来说有点模糊的关系 我知道依赖项 uses a 和继承 is a 但我对聚合 组合 关联和直接关联有点不熟悉 另外 其中哪一个是 has a 关系 有些可以与关联互换使
  • 用例可以没有参与者吗?

    我正在研究全自动系统的用例图 外部系统只会触发该系统的一个用例 大多数其他用例都是计划任务并由计时器调用 我有一个由计时器调用的用例 它包含并扩展了其他两个用例 当我编写用例描述时 谁将成为 UC 2 和 UC 3 的参与者 用例可以在没有
  • 如何在 UML 类图中表示“事件”?

    这是我的代码片段 public class Notation INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged private N
  • Eclipse:如何安装 UML2 工具

    我想尝试 UML2 Tools for Eclipse 如图所示本教程 http www vogella de articles UML article html 我目前拥有面向 Java EE 开发人员的 Eclipse 3 6 Heli
  • 绘制 UML 时何时使用属性(属性)而不是关联/聚合/组合

    好吧 我有点困惑 当尝试在 UML 图中显示关系时 我应该向类添加属性 还是绘制与类的关联 例如 假设我有一个 DFA 类 其中包含 10 个状态对象 每个状态对象都有一组不同的通往 DFA 中各种状态的路径 我应该绘制从 DFA 到 St
  • IBM Rhapsody 中状态图终止连接器的理解

    在IBM Rhapsody中 如果我使用new创建了一个类的实例 那么我们是否必须通过调用delete来处理内存的释放 或者Termination Connector将在其状态图中通过内存释放来处理其销毁 如果您使用 C 和 OXF 对象执
  • 如何在时序图上表示 if 条件 1 else if 条件 2?

    我想知道 如何在序列图上表示 if cond1 else if cond2 语句 if condition1 Do something else if condition2 Do something else if 我不确定是否有两个独立的
  • 如何表示类的实例与将其作为输入的类之间的关系?

    我有一堂课叫House 这个类的实例是house class House def init self height length self height height self length length def housePlan hou
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra
  • UML 图 - 在我的应用程序中发送电子邮件被视为外部系统

    我的应用程序有一个联系选项 它将打开带有按摩页面的电子邮件应用程序 并且消息接收者设置为应用程序支持电子邮件 我已附上我的意思的图片 我已将其编写为需求 但不确定如何在系统类图和用例图中说明它 我最初在用例图中所做的是 将我的用户 主要参与
  • 双向和单向关联 UML

    虽然我以为我明白了aggregation and composition 我很难理解bi directional and uni directional协会 我读过bi directional协会 两个班级都知道 彼此以及与uni dire
  • 是否有适用于 Java 的 Harel Statechart DSL 工具?

    我正在寻找一种能够理解 DSL 的工具 在其中我可以定义生成 Java 代码的状态图 或者 DSL 中的状态图可以按原样运行 该工具最好用 Java 编写 并且必须根据 Harel 状态图 或等效的 UML 2 状态机 的定义支持超级状态和
  • Qt中用于线程间通信的类设计

    问题陈述 用相机跟踪物体并相应地移动相机的方位角和仰角 Process 相机获取物体的图像 处理相机的每一帧以查找物体 应该被跟踪 并将每帧中生成的信息传递给机械设备 万向节 以平移和倾斜方式移动摄像机 Design 主 Gui 在一个线程

随机推荐

  • 云风的新书电子版出来的真快

    云风大侠新书出来没几天 电子版就出来了 电骡上好像很早就有下载的了 不过我认为电子版不会影响销售的 只会聚集更多的人气 我这里也有个链接 ftp pub pub ftp PicDisk net pub Scan 游戏之旅 我的编程感悟 pd
  • 关于2022年9月以太坊合并你需要知道的10件事

    关于2022年9月以太坊合并你需要知道的10件事 1 什么是合并 合并是以太坊区块链将共识机制从工作量证明 pow 转为权益证明 pos 的事件 是以太坊主网与信标链 beacon chain 合并的简称 2 为什么 合并 这么值得关注 在
  • MicroBlaze系列教程(5):AXI_UART16550的使用

    文章目录 toc AXI UART16550简介 MicroBlaze硬件配置 常用函数 使用示例 参考资料 工程下载 本文是Xilinx MicroBlaze系列教程的第5篇文章 AXI UART16550简介 axi uart16550
  • MockMvc

    MockMvc classes SpringbootApplication class 指定入口启动类 webEnvironment SpringBootTest webEnvironment RANDOM PORT采用随机端口启动 不会产
  • MMU的作用及工作过程

    以下内容摘自 步步惊芯 软核处理器内部设计分析 一书的第10章 MMU剖析 MMU的作用及工作过程 MMU Memory Management Unit 是内存管理单元的简称 读者朋友在学习嵌入式的时候应该听说过 CLinux 这是适合没有
  • Android自动化测试框架

    1 Monkeyrunner 优点 操作最为简单 可以录制测试脚本 可视化操作 缺点 主要生成坐标的自动化操作 移植性不强 功能最为局限 2 Rubotium 主要针对某一个APK进行自动化测试 APK可以有源码 也可以没有源码 功能强大
  • ug装配绕轴旋转_UG绘制一个灯泡,这个白炽灯大家都熟悉吧

    灯泡三维建模你会吗 今天来学习一下吧 白炽灯是一种热辐射光源 能量的转换效率很低 只有2 4 的电能转换为眼睛能够感受到的光 虽然现在是普遍选用日光灯 但在10多年前 白炽灯还是使用最广泛的 今天就来用UG画个白炽灯怀念下吧 这个灯泡看看起
  • 计算机网络基础--互联网组成

    目录 互联网的边缘部分 通信方式 C S方式 通信方式 P2P方式 互联网的核心部分 电路交换 分组交换 报文交换 三种交换比较 互联网这个词想必对于大家来说已经不陌生了 那么你能说出互联网是由什么组成的吗 既然要步入互联网行业 那就应该知
  • 基于flowplayer的视频缩略图的视频预览

    大家在平时观看视频的视频网站中 比如优酷 爱奇艺 腾讯视频等 鼠标移动至播放条区域的时候 大家可以看到会弹出小的视频预览图片 这样子就可以给用户很好体验 至少可以知道前后播放的内容 最近公司业务需要 就不得不研究了 本文将从三个方面进行总结
  • 【OpenCV实战】这是我看过最详细的计算机视觉小项目,基于OpenCV进行长时间曝光,学到了~(赶紧收藏)

    前言 在本文中 我们将学习长时间曝光摄影技术 以及如何使用Python和OpenCV 开源计算机视 觉库 对其进行仿真 作者 程序员梨子 文章源码免费获取 为了感谢每一个关注我的小可爱 每篇文章的项目源码都是无偿分享滴 点下面找我获取完整资
  • matlab @函数_用MATLAB绘制正弦函数的图形

    用MATLAB正确地绘制正弦函数的图形 从中你会发现许多技术细节问题 一些抽象的理论问题 你可以在实践中得以启发 close all clear n 64 x 0 2 pi n 2 pi x x 1 n y sin x figure ste
  • Fastjson1.2.24-RCE 漏洞复现(CVE-2017-18349)

    0x01 漏洞简介 fastjson是阿里巴巴的开源JSON解析库 它可以解析JSON格式的字符串 支持将Java Bean序列化为JSON字符串 也可以从JSON字符串反序列化到JavaBean 即fastjson的主要功能就是将Java
  • 若依Vue(若依前后端分离版)--01

    该文章整理于网络 仅用于学习记录 如有侵权 请联系删除 介绍 RuoYi Vue 是一个 Java EE 企业级快速开发平台 基于经典技术组合 Spring Boot Spring Security MyBatis Jwt Vue 内置模块
  • 谷歌云

    本文由Cloud Ace整理发布 Cloud Ace是谷歌云全球战略合作伙伴 拥有 300 多名工程师 也是谷歌最高级别合作伙伴 多次获得 Google Cloud 合作伙伴奖 作为谷歌托管服务商 我们提供谷歌云 谷歌地图 谷歌办公套件 谷
  • git分支回滚

    查看变更日志 git log 本地强制切换到该版本 git reset hard 297fe962d73db278c254ef0f7dce67d888deadef 强制提交同步远程 git push f origin dev mm 2022
  • Mac 11 + Typora + Picgo-core + Gitee 配置自动图片上传

    Typora 是个很方便的编辑器 但是插入图片的时候默认是本地 不方便迁移分享 如果插入的图片能够自动 上云 也就是给图片一个公网可查询的链接 那么 markdown 文档迁移分享就不怕丢失图片了 为了网络等方便 我选 Gitee 其他云仓
  • 数据集市的概念

    目录 一 数据集市简介 1 1 数据集市与数据仓库 二 数据集市的类型 2 1 依赖数据仓库 2 2 独立数据集市 2 3 混合数据集市 三 数据集市的特点 四 实施数据集市的步骤 一 数据集市简介 数据集市就是企业级数据仓库的一个子集 它
  • Linux应用开发基础

    一 安装Pocy交叉编译工具链 将fsl imx x11 glibc x86 64 metatoolchain qt5 cortexa7hf neon toolchain 4 1 15 2 1 0 sh 拷贝到 Ubuntu 虚拟机 修改使
  • 用群晖NAS搭建个人音乐库

    安装教程 勾选启动NTP服务 1 群晖安装Audio Station 2 filestation会生成一个music文件夹 把下载好的音乐丢进music即可 音乐平台听不到的歌也顺带通过下载解决了 这时候你就可以在audio station
  • No.7软件需求规格说明书及UML

    软件需求规格说明书 SRS 是需求开发活动的产物 编制该文档的目的是使项目干系人与开发团队对系统的初始规定有一个共同的理解 使之成为整个开发工作的基础 软件需求规格说明书 国家标准BG T 8567 2006中 提供了SRS的文档模版和编写