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

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

目录

​编辑

一.引言

二.需求工程基础

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.软件需求的分类

  • 功能需求:不考虑物理约束的情况下,用户希望系统能够执行的活动,这些活动可以帮助用户完成任务(最重要的需求
  • 性能需求:定义了系统必须多好和多快地完成专门的功能(速度、容量)
  • 质量属性:用户的期望(通常情况下是隐式的)(安全性、可移植性)
  • 对外接口:系统和软件中其他系统之间需要建立的接口(输入、输出)
  • 约束:系统构造时需要遵守的规定(运行环境、商业规则)
  • 数据需求:功能需求的补充(各个功能实用的数据信息、实用频率)
相关推荐
烧冻鸡翅QAQ21 小时前
考研408——机组OS
考研
雾江流1 天前
快指点击器 1.1.9 | 支持多点操作、自动化脚本,操作记录等功能,快速解放双手
运维·自动化·软件工程
lapiii3581 天前
14天极限复习软考-day5 软件工程 、UML
软件工程·uml
rengang661 天前
AI辅助需求分析:AI大模型将自然语言需求转化为技术规格
人工智能·需求分析·ai编程·1024程序员节·ai智能体编程
雾江流2 天前
LocalDream 2.1.2 |在手机设备上运行SD模型,支持文本到图像生成和图像重绘,无任何限制
软件工程
岑梓铭3 天前
《考研408数据结构》第六章(5.1+5.2+5.3树、二叉树、线索二叉树)复习笔记
数据结构·笔记·考研·408·1024程序员节
雾江流3 天前
vidhub v1.3.13 |聚合主流网盘,自动刮削整理影视资源,有网盘会员的可入,或者使用不限速网盘
软件工程
锁匙isthekey3 天前
金蝶K3老单 工艺路线维护特殊字符(使用模块返回值的方法)
需求分析
数学小牛马3 天前
现代软件工程课程 个人博客作业2-结对编程项目总结
软件工程·结对编程