软件工程与计算总结(五)软件需求基础

本帖介绍软件需求涉及的诸多基本概念,通过对这些概念的阐述,剖析软件需求的来源、层次、类别、作用等重要知识~ 

目录

​编辑

一.引言

二.需求工程基础

1.简介

2.活动

3.需求获取

4.需求分析

5.需求规格说明

6.需求验证

7.需求管理

三.需求基础

1.需求

2.需求的层次性

3.结合层次性的需求开发

4.区分需求、问题、规格说明

四.需求分类

1.需求谱系

2.软件需求的分类


一.引言

需求开发阶段的主要任务就是分析问题,研究问题所发生的现世界(即问题域),寻找实现软件系统与现实世界有效互动的办法,并严格描述该互动方法——即建立软件解决方案,又称为软件规格说明~

进行严谨的需求开发是非常重要的,开发软件系统最为困难的部分就是准确说明开发什么~

二.需求工程基础

1.简介

3个主要任务:

  • 需求工程必须说明软件系统将被应用的环境及其目标,说明用来达到这些目标软件的功能,即同时要说明软件“需要做什么”和“为什么需要做”~
  • 需求工程必须将目标和功能反映到软件系统当中,映射为可行的软件,并对软件行为进行准确的规格说明
  • 现实世界时不断变化的世界,因此需求工程还需妥善处理目标和功能随着岁见演化的变动情况

2.活动

主要包括需求开发和需求管理两个方面~

  • 需求开发

  • 需求管理:跟踪后续阶段中的需求实现与需求变更情况,确定需求得到正确的理解并被正确得实现到软件产品当中~

3.需求获取

从人、文档或者环境中获取需求的过程,需要各种方法和技术来“发现”需求

  • 目标分析:根据问题确定目标/通过分享厉害人关系确定目标
  • 用户需求获取:面谈、集体获取方法、头脑风暴、原型

4.需求分析

通过建模来整合各种信息,以使得人们更好地理解问题

  • 边界分析:系统的边界定义了项目的范围
  • 需求建模:将大量的信息以清晰、条理的方式集成到一个模型当中,让需求工程师对问题形成更为深刻的理解

5.需求规格说明

获取的需求要编写成文档,编写文档的主要目的是在系统用户之间交流信息,因此对文档的质量有一定要求~

  • 定制文档模板:团队通常会在其内部为各种需要编写的文档维护一些文档模板
  • 编写文档:选择最准确的表达方式

6.需求验证

保证需求规格说明中定义的需求必须能正确、准确地反映用户的意图

  • 文档内每条需求度正确、准确地反映了用户的意图
  • 文档记录的需求集在整体上具有完整性和一致性
  • 文档的组织方式和需求的书写方式具有可读性和可修改性

(同级评审是最通用有效的需求验证方式)

7.需求管理

在需求开发活动之后,设计、测试、实现等后续的软件系统开发活动都需要围绕需求开展工作~

三.需求基础

1.需求

  • 用户为了解决问题或达到某些目标所需要的条件或者能力
  • 系统或者系统部件为了满足合同、标准、规范或者其他正式文档所规定的要求而需要具备的条件和或者能力
  • 对上述两者中的一个条件或者一种能力的一种文档化表述

2.需求的层次性

期望可能会发生在多个抽象层次上:

  • 业务需求:抽象层次最高的需求,是系统建立的战略出发点,表现为高层次的目标,描述了组织为什么要开发系统
  • 用户需求:执行实际工作的用户对系统完成的具体任务的期望
  • 系统级需求:用户对系统行为的期望

3.结合层次性的需求开发

不同抽象层次的需求之间的联系:

4.区分需求、问题、规格说明

需求:是一种期望,源于现实但又高于现实

问题域:对现实世界运行规律的一种反映,是需求的产生地,也是需求的解决地

规格说明:软件产品的方案描述,以软件产品的运行机制为主要内容(不是需求但实现需求,不是问题域但需要与问题域互动)

四.需求分类

1.需求谱系

2.软件需求的分类

  • 功能需求:不考虑物理约束的情况下,用户希望系统能够执行的活动,这些活动可以帮助用户完成任务(最重要的需求
  • 性能需求:定义了系统必须多好和多快地完成专门的功能(速度、容量)
  • 质量属性:用户的期望(通常情况下是隐式的)(安全性、可移植性)
  • 对外接口:系统和软件中其他系统之间需要建立的接口(输入、输出)
  • 约束:系统构造时需要遵守的规定(运行环境、商业规则)
  • 数据需求:功能需求的补充(各个功能实用的数据信息、实用频率)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/150917.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA在线电子病历编辑器源码 B/S架构

电子病历在线制作、管理和使用的一体化电子病历解决方案,通过一体化的设计,提供对住院病人的电子病历书写、保存、修改、打印等功能。电子病历系统将临床医护需要的诊疗资料以符合临床思维的方法展示。建立以病人为中心,以临床诊疗信息为主线…

FPGA project :HDMI

实验目标:驱动HdMI显示十色等宽彩条。 本实验的重点是: 1掌握TMDS通信协议。 2rgb565转rgb888。 3编写HDMI驱动程序。 4学会看流程图编写代码。 值得注意的事情 1注意数据与解析数据的信号(比如传入的数据中0或者1的个数)&…

OpenCV实现人脸检测(Haar特征)

学习目标 原理 实现 import cv2 as cv print(cv.__file__) 路径:E:\Anaconda3\envs\test_py3.6\Lib\site-packages\cv2\data 代码实现 import cv2 as cv import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [SimHei] #1&#x…

语义分割,实例分割,全景分割梳理

语义分割(semantic segmentation) 实例分割(instance segmentation) 全景分割(Panoptic Segmentation) 下面基于《Panoptic Segmentation 》这篇论文进行这几个概念的梳理 论文链接:https:/…

【算法刷题】【反转链表】给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

题目 解决: import java.util.*;/** public class ListNode {* int val;* ListNode next null;* public ListNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改&#x…

gin路由相关方法

c.Request.URL.Path 拿到请求的路径 package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")//路由重定向,请求转发,ANY ,NoRoute,路由组func main() { r : gin.Default() // -------…

DVWA-内容安全策略绕过

内容安全策略绕过 ​ 内容安全策略(Content Security Policy,简称CSP)是一种以可信白名单作机制,来限制网站是否可以包含某些来源内容,缓解广泛的内容注入漏洞,是一种用于增强网页的安全性的安全策略机制。…

React18学习

17、React_JSX的注意事项 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>JSX的注意</title><script src"./script/react.development.js"></script><script src"…

数据结构-优先级队列(堆)

文章目录 目录 文章目录 前言 一 . 堆 二 . 堆的创建(以大根堆为例) 堆的向下调整(重难点) 堆的创建 堆的删除 向上调整 堆的插入 三 . 优先级队列 总结 前言 大家好,今天给大家讲解一下堆这个数据结构和它的实现 - 优先级队列 一 . 堆 堆&#xff08;Heap&#xff0…

林沛满-Wireshark的提示

本文整理自&#xff1a;《Wireshark网络分析的艺术 第1版》 作者&#xff1a;林沛满 著 出版时间&#xff1a;2016-02 最近有不少同事开始学习 Wireshark&#xff0c;他们遇到的第一个困难就是理解不了主界面上的提示信息&#xff0c;于是跑来问我。问的人多了&#xff0c;我也…

VMProtect使用教程(VC++MFC中使用)

VMProtect使用教程(VCMFC中使用) VMProtect是一种商业级别的代码保护工具&#xff0c;可以用于保护VC MFC程序。以下是使用VMProtect保护VC MFC程序的步骤&#xff1a; 1. 下载并安装VMProtect,C包含库及目录。 2. 在VC MFC项目中添加VMProtectSDK.h头文件&#xff0c;并在需…

小谈设计模式(18)—适配器模式

小谈设计模式&#xff08;18&#xff09;—适配器模式 专栏介绍专栏地址专栏介绍 适配器模式角色分析目标接口&#xff08;Target&#xff09;源接口&#xff08;Adaptee&#xff09;适配器&#xff08;Adapter&#xff09; 核心思想应用场景Java程序实现输出结果程序分析123 优…

R语言通过接口获取网上数据平台的免费数据

大家好&#xff0c;我是带我去滑雪&#xff01; 作为一名统计学专业的学生&#xff0c;时常和数据打交道&#xff0c;我深知数据的重要性。数据是实证研究的重要基础&#xff0c;每当在完成一篇科研论文中的实证研究部分时&#xff0c;我都能深刻体会实证研究最复杂、最耗时的工…

零基础,想做一名网络安全工程师,我可以去哪里学,或者有什么建议?

这应该是全网最全的网络安全扫盲帖了&#xff01;发CSDN也有一段时间了&#xff0c;经常会有朋友在后台问我各种问题&#xff0c;比如“应该如何选方向”、“网络安全前景如何”、“怎么选适合的安全岗位”等等。于是今天借这个问题来给大家好好说说&#xff0c;如果你是零基础…

软件定制开发的细节|网站搭建|APP小程序定制

软件定制开发的细节|网站搭建|APP小程序定制 在定制开发的过程中&#xff0c;一些小的细节往往能够影响到最终的产品质量和用户体验。下面我将为大家介绍一些软件定制开发的细节。 第一&#xff0c;明确需求。在定制开发之前&#xff0c;我们需要明确客户的需求和目标。只有明确…

微信、支付宝、百度、抖音开放平台第三方代小程序开发总结

大家好&#xff0c;我是小悟 小伙伴们都开启小长假了吧&#xff0c;值此中秋国庆双节之际&#xff0c;小悟祝所有的小伙伴们节日快乐。 支付宝社区很用心&#xff0c;还特意给寄了袋月饼&#xff0c;愿中秋节的圆月带给你身体健康&#xff0c;幸福团圆&#xff0c;国庆节的旗帜…

【生成模型】解决生成模型面对长尾类型物体时的问题 RE-IMAGEN: RETRIEVAL-AUGMENTED TEXT-TO-IMAGE GENERATOR

介绍 尽管最先进的模型可以生成常见实体的高质量图像&#xff0c;但它们通常难以生成不常见实体的图像&#xff0c;例如“Chortai&#xff08;狗&#xff09;”或“Picarones&#xff08;食物&#xff09;”。为了解决这个问题&#xff0c;我们提出了检索增强文本到图像生成器…

漏刻有时数据可视化大屏引导页设计2(偏移卡片、动态数字翻牌、countUp.min.js)

引入外部文件 <title>漏刻有时引导页</title><script src="js/jquery-3.3.1.min.js"></script><script src="js/countUp.min.js"></script><link rel="stylesheet" href="css/common.css">…

乌班图20.04简易部署k8s+kuboard第三方面板

1. 问题&#xff1a; 使用官方只能说步骤挺全。 &#x1f604;出错&#xff1f;出错不管&#xff0c;无论是系统问题&#xff0c;版本兼容问题&#xff0c;网络插件问题&#xff0c;还是防火墙问题&#xff0c;我只能说特异性问题分析检索起来很难很难。 新人很难搞懂&#x…

玩转ChatGPT:DALL·E 3生成图像

一、写在前面 好久不更新咯&#xff0c;因为没有什么有意思的东西分享的。 今天更新&#xff0c;是因为GPT整合了自家的图像生成工具&#xff0c;名字叫作DALLE 3。 DALLE 3是OpenAI推出的一种生成图像的模型&#xff0c;它基于GPT-3架构进行训练&#xff0c;但是它的主要目…