软件工程 软件需求与软件需求规约 第1篇随笔

2、软件需求与软件需求规约

1. 何为需求?

定义问题的基本要素是 “需求”

一个需求是一个有关”要予构造”的陈述,用以描述待开发产品(或项)功能上的能力、性能参数或者其它性质。

2.IEEE标准830-1998要求单一需求必须具有5个基本性质

  • 必要的(Necessary)。是要求的吗?
  • 无歧义的(Unambiguous)。只能用一种方法解释吗?
  • 可测试的(testable)。可以对它进行测试吗?
  • 可跟踪的(Traceable)。可以从一个开放阶段到另一个阶段对它进行跟踪吗?
  • 可测量的(Measurable)。可以对它进行测量吗?

注意:确定一个需求是否满足以上五个性质是复杂耗时的过程。

3.需求分类

  • 功能:功能需求规约了系统或者系统结构必须执行的功能。
  • 性能:规约了一个系统或者系统构件必须具有的性能特性。
  • 外部接口:规约了系统或系统构件必须与之交互的硬件、软件或数据库元素。它也可能规约其形式、时间或者其它因素。
  • 用户接口
  • 硬件接口
  • 软件接口
  • 通讯接口
  • 设计约束:限制了系统或系统构件的设计方案。 需要考虑下面是个方面:
  • 法制政策
  • 硬件限制
  • 与其他应用接口
  • 并发操作
  • 审计功能
  • 控制功能
  • 高级语言需求
  • 握手协议
  • 应用的关键程度
  • 安全考虑
  • 质量属性:规约了软件产品必须具有的一个性质是否到达质量一个所期望的水平属性 描述 可靠性 软件系统在指定环境中没有失败而正常运行的效概率 存活性 当系统的某一个部分系统不能运行时,该软件继续运行或支持关键功能的可能性 可维护性 发现和改正一个软件故障或对特定的范围进行修改所需求的平均工作 用户友好性 学习和使用一个软件系统的容易程度 安全性 在一个预定的时间内,使软件系统安全的可能性 可移植性 软件系统运行的平台类型

1.定义需求的基本格式;—-需求规约

概念;

一个需求规约是一个软件项/产品/系统所有需求陈述的正式文档,是一个软件产品/系统的概率模型

基本性质:

IEEE标准还规定SRS必须具有以下4个性质:

  • 重要性和稳定性程度
  • 可修改的
  • 完整的
  • 一致的

2.表达需求规约的三种风格

  • 非形式化的规约 即以一种自然语言来表达需求规约
  • 半形式化的规约 即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约
  • 形式化规约 即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持

3.需求规约的作用

  • 需求规约是软件开发组织和用户之间一份实事上的技术合同,是产品功能及其环境的体现
  • 需求规约是一个管理控制点
  • 对于产品/系统的而设计,需求规约是一个正式的、受控的起始点
  • 需求规约是创建产品验收计划和用户指南的基础。

Original: https://www.cnblogs.com/shuisanya/p/16636080.html
Author: 水三丫
Title: 软件工程 软件需求与软件需求规约 第1篇随笔

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581446/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 项目开发流程与开发模式

    企业项目开发流程 商城 1.1 B2C 直销商城 商家与会员直接交易 ( Business To Customer ) 1.2 B2B 批发商城 商家与商家直接交易 1.3 B2B…

    Linux 2023年6月14日
    0126
  • 如何设置 QEMU 输出到控制台并使用 Shell 脚本自动化

    如何设置 QEMU 输出到控制台并使用 Shell 脚本自动化 原文:How to Setup QEMU Output to Console and Automate Using …

    Linux 2023年5月28日
    0116
  • Linux上安装tomcat

    参考https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-cento…

    Linux 2023年6月6日
    0100
  • MIT6.828——Lab3 PartA(麻省理工操作系统实验)

    Lab3 Part A MIT6.828——Lab1 PartA MIT6.828——Lab1 PartB Lab2内存管理准备知识 MIT6.828——Lab2 内核维护有关用户…

    Linux 2023年5月27日
    0112
  • RAID级别

    常用选项 模式: 创建:-C 装配:-A 监控:-F 管理:-f, -r, -a < raiddevice> : /dev/md# < component-dev…

    Linux 2023年6月6日
    092
  • 磁盘管理操作

    磁盘管理操作 虚拟环境centos7.3 fdisk用法:fdisk [选项] 一、磁盘分区 1.在做磁盘分区之前关闭虚拟机添加一块20G的磁盘。 添加之后记得点下面的确定可以应用…

    Linux 2023年6月7日
    0129
  • WEB自动化-08-Cypress 接口测试

    8 接口测试 在服务和服务、系统和系统之间进行通信时,常常会使用到接口。通过接口测试,可以在项目早期更快发现问题。接口有很多类型,而现阶段使用的接口是基于HTTP协议的接口。 8….

    Linux 2023年6月7日
    0124
  • shell中参数的用法 && wait的用法

    转载自https://www.jianshu.com/p/4db526ff6560 参数 说明 $0 当前脚本的文件名(间接运行时还包括绝对路径) $n 传递给脚本或函数的参数。n…

    Linux 2023年5月28日
    094
  • Linux安装nginx

    Linux安装nginx (1)安装c++编译环境装备yum install gcc gcc-c++ (2)安装PCRE库tar -zxvf pcre-8.38.tar.gzcd …

    Linux 2023年6月13日
    078
  • 自动化集成:Pipeline流水语法详解

    前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作; 本篇文章主要描述Pipeline流水线用法。 一…

    Linux 2023年5月27日
    0125
  • js学习笔记——条件 循环

    今天发现之前学的爱前端的课中JS部分函数等不全,果断换了一个课——渡一的《Web前端开发JavaScript高薪课堂》接着学习,不过废话有点多 语法:1、单if,条件成立,执行语句…

    Linux 2023年6月13日
    075
  • php微信自定义分享链接,标题,描述,缩略图配置步骤

    微信公众号开发,自定义分享链接,标题,描述,缩略图接口 1、文件目录结构 2、后台代码: wxshare.php 注意:使用此代码,只需要把wxshare.php文件下面的appi…

    Linux 2023年6月7日
    099
  • 解决USB在虚拟机不显示问题

    电脑重装了下系统,顺带重新装了vmware,发现虚拟机无法识别USB设备,居然连右下角图标和可识别设备都不显示了。 网上找了很多方法,大多是纷繁复杂,且行不行都无法保证。 我发现一…

    Linux 2023年5月27日
    0125
  • Centos7安装Docker

    一、docker运行流程 举个例子你想使用MySQL镜像,那么执行docker pull 下载镜像的时候 首先它会在本地仓库进行运行,如果本地仓库有你想要的MySQL镜像 那么它会…

    Linux 2023年6月6日
    089
  • aspx页面,后端通过Attributes.Add给textbox添加事件时,传参失效问题。

    测试一:————————————&#…

    Linux 2023年6月7日
    0101
  • Linux进程调度器

    完全公平调度器 用黑体标出的是文章的主线,未用黑体标出的内容是对黑体内容的解释或注解。 每次调用调度器时,它会挑选具有最高等待时间的进程,把CPU提供给该进程。如果经常发生这种情况…

    Linux 2023年6月13日
    091
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球