【软件工程】二、需求分析——怎么提需求?,怎么写需求?

article/2025/4/25 9:26:40

一、需求的作用

需求是解决问题的前提。
在这里插入图片描述

其中标注为软件系统工程的一些活动,是作为系统工程工作的一部分被实施的。

Q:什么样的陈述可以被称为需求?
1.这个需求是否有必要?–>必要的(Necessary)
2.会不会产生歧义?–>无歧义(Unambiguous)
3.能不能测试?–>可测试(Testable)
4.能不能跟踪?–>可跟踪(Trackable)
5.能不能测量?–>可测量(Measurable)

二、需求分类

需求分为功能性需求;性能需求;外部接口需求;设计约束需求;质量属性需求。

功能需求是整个需求的主体,即没有功能需求,就没有非功能需求,即性能需求、外部接口需求、设计约束和质量属性。

非功能需求对功能需求而言,可以是一对多的,例如:
在这里插入图片描述

三、需求发现——怎么提需求?

常用的发现初始需求的技术,包括:

3.1自悟(Introspection)

需求人员把自己作为系统的最终用户,审视该系统并提出问题:“如果是我使用这一系统,则我需要……”

3.2 交谈

为了确定系统应该提供的功能,需求人员通过提出问题,用户回答,直接询问用户想要的是一个什么样的系统。
成功条件:交谈通常是一种比自悟更好的技术。
这种途径成功与否依赖于:
需求人员是否具有“正确提出问题”的能力,回答人员是否具有“揭示需求本意”的能力。

存在的风险:在交谈期间需求可能不断增长,或是以前没有认识到的合理需求的一种表现,说是“完美蠕行”(Creeping elegance)病症的体现,以至于很难予以控制,可能导致超出项目成本和进度的限制。
应对措施:项目管理人员和客户管理人员应该定期地对交谈过程的结果进行复审。

3.3 观察

通过观察用户执行其现行的任务和过程,或通过观察他们如何操作与所期望的新系统有关的现有系统,了解系统运行的环境,特别是了解要建的新系统与现存系统、过程以及工作方法之间必须进行的交互。尽管了解的这些信息可以通过交谈获取,但“第一手材料”一般总是能够比较好的“符合现实”的。

存在的风险:
一一客户可能抵触这一观察。其原因是他们认为开发者打扰了他们的正常业务。
一一客户还可能认为开发者在签约之前,就已经熟悉了他们的业务。

3.4 小组会(Group session)

举行客户和开发人员的联席会议,与客户组织的一些代表共同开发需求。其中:

通常是由开发组织的一个代表作为首席需求工程师或软件工程项目经理,主持这一会议。但还可以采用其它形式,这依赖于其应用领域和主持人的能力。主持人的作用主要是掌握会议的进程。

必须仔细地选择该小组的成员,不仅要考虑他们对现存的和未来运行环境的理解程度,还要考虑他们的人品。

3.5提炼(Extraction)

复审技术文档(例如,有关需要的陈述,功能和性能目标的陈述,系统规约接口标准,硬件设计文档以及ConOps文档),并提出相关的信息。

适用条件:提炼方法是针对已经有了部分需求文档的情况。依据产品的本来情况,可能有很多文档需要复审,以确定其中是否包含相关联的信息。在有的情况,也可能只有少数文档需更钉审

以上方法需要综合运用到一个项目中。

四、需求规约

一个需求规约是一个软件项/产品/系统所有需求陈述的正式文档,是一个软件产品/系统的概念模型。
一般来说,SRS应必须具有以下4个性质:
①重要性和稳定性程度(Ranked for importance and stability).例如:基本需求、可选的需求和期望的需求。
②可修改的(Modifiable):在不过多地影响其它需求的前提下,可以容易地修改一个单一需求.
③完整的(Complete):没有被遗漏的需求.
④一致的(Consistent):不存在互斥的需求.

其中,就功能的需求规约来说,还应考虑以下问题:
(1)功能源。
(2)功能共享的数据。
(3)功能与外部界面的交互。
(4)功能所使用的计算资源。

在获取以上初始需求的基础上,可采用ICEE标准830-1998所给出的格式,完成一个完整的需求文档草案的编制工作。

学习笔记来源于中国大学Mooc上北京大学的《软件工程》选修课。


http://chatgpt.dhexx.cn/article/46hCk9jj.shtml

相关文章

软件工程技术--第三章 需求分析

第三章 需求分析 需求分析 ​ 需求分析的任务是要准确地定义新系统的目标,准确回答“系统必须做什么”的问题,并用需求规格说明书规范的形式准确地表达用户的需求。 ​ 虽然在可行性研究阶段,对用户需求有了初步了解,但对需求的了…

【软件工程(二)】软件需求分析

文章目录 软件需求分析引言需求分析之前的活动需求的定义需求理解过程需求分析的必要性需求分析的对象、任务和目标需求分析的原则数据、功能及行为建模需求工程需求获取需求获取流程需求获取的准备需求获取的记录撰写用户需求说明书用户需求说明书与软件需求规格说明书的区别需…

软件工程导论—需求分析

文章目录 1. 需求分析概述1.1. 软件需求的概念1.2. 需求分析的准则1.3. 需求分析的任务和步骤 2. 需求获取的常用方法和步骤3. 分析建模3.1. 结构化分析模型3.1.1. 结构化分析模型概述3.1.2. 实体联系图 E-R图3.1.3. 数据流图 DFD3.1.4. 结构化分析方法 3.2. 面向对象分析模型 …

【软件工程】软件工程需求分析——结构化分析

halo~我是bay_Tong桐小白 本文内容是桐小白个人对所学知识进行的总结和分享,知识点会不定期进行编辑更新和完善,了解最近更新内容可参看更新日志,欢迎各位大神留言、指点 软件工程需求分析——结构化分析 【更新日志】 结构化分析概述功能建模…

软件工程 学生信息管理系统 结构化的需求分析

文章目录 前言1.实验目的2.实验要求3.需求分析3.1用户需求3.2功能需求分析3.3非功能性需求3.3.1数据精准度需求3.3.2界面需求3.3.3 响应时间需求3.3.4 可靠性需求3.3.5 可扩展性需求3.3.6 系统安全性需求 4.实验内容4.1数据流图4.2数据字典 5.实验小结 前言 《软件工程》课程 …

软件工程--需求分析

软件工程–需求分析 需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。需求分析的任务还不是确定系统怎么样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清…

linux系统监控工具——Conky

实验简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数,而且可自由定制,但对于新手来说可能会比较难于上手。 Conky是一种自由软件,用于X视窗系统的系统监视,可以在…

manjaro美化之conky 系统监控

​​​​​​​ sudo pacman -S conky 下载字体 sudo pacman -S JetBrainsMono nano ~/.conkyrc 复制粘贴下面内容ctrlx y enter 然后启动conky onky.config { -- CONK…

Linux美化 : conky

conky 是Linux桌面美化小工具 conky 也是轻量级的系统监视器 自定义性极强,请发挥想象! 从github上下载了配置,发现不能用 经检测 发现curl访问网站超时,因此对其进行简单修改 配置如下 先安装 sudo apt install curl fortune cowsay -y.conkyrc -- vim: ts=4 sw=4 no…

KALI美化-设置CONKY开机启动

简介 Conky 是一个应用于桌面环境的系统监视软件,可以在桌面上监控系统运行状态、网络状态等一系列参数 https://github.com/brndnmtthws/conky/ 详细配置文档:http://conky.sourceforge.net/docs.html 简洁的用户界面; 高度可配置; 它既可使用内置的部件…

Linux安装使用Conky

安装conky sudo yum install conky安装sensors sudo yum install lm-sensors设置开机自启 在GNOME Tweaks中将conky加入开机自启 复制文件 sudo cp /etc/conky/conky.conf ~/.conkyrc设置配置文件 sudo vim ~/.conkyrc配置文件内容 conky.config {own_window_argb_visu…

linux如何卸载conky,Linux Deepin 15.10.2 下折腾 简单自制的 Conky Conky-manager

前言 Conky是Linux下的桌面美化工具,可以把一些系统信息,以各种酷炫的形式,显示到你的桌面上。很久以前在Ubunut折腾过,最近把工作开发环境切换到了Deepin 15.10.2,打算再从零折腾一次Conky 一、安装 由于新版Deepin商…

linux如何卸载conky,如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager

原标题:如何在Ubuntu 20.04 LTS中安装Conky&Conky Manager 来自:https://www.linuxmi.com/ubuntu-20-04-lt-conky-conky-manager.html 这个简单的教程展示了如何在Ubuntu 20.04 LTS中安装Conky Manager(Conky系统监视器的图形前端)。 Conky是…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们 Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&am…

Linux(Ubuntu系统)-- Conky配置文件记录

Conky文件配置 不禁觉得这匹狼配上conky有点小帅,特此记录一下。。。 Conky配置文件: alignment top_right #设置屏幕位置 background yes #是否嵌入桌面 draw_borders no #是否绘制窗口边框 border_width 1 #窗口边框宽度cpu_avg_samples 2 #defaul…

conky 1.10配置和开机启动

不多说,先上图。 大家把目光放到右边就行了。 1、安装conky debian或ubuntu用户直接apt-get install conky-all就行了。 或者也可以直接从源码编译安装,https://github.com/brndnmtthws/conky,目前最新版是1.10.0。 安装完成后可以试着从终…

Conky--linux自定义桌面监控

Conky可以对linux硬件设备进行实时监控,并且显示在桌面上。 好吧说实话,就是为了装逼 ^_^! 首先,先贴图: 右边就是conky显示的,可以显示进程,内存,显卡温度等等。下载安装在github&#xf…

linux如何卸载conky,如何在Ubuntu 16.04/17.04上安装和使用Conky Manager

Conky是用于Linux,FreeBSD和OpenBSD的高度可配置的系统监视器。 它是免费的和开源的,根据GPL的条款发布。 本教程将向您展示如何在Ubuntu 16.04/17.04上安装Conky以及如何使用Conky Manager。 Conky可以在桌面上显示以下信息。 CPU负载 内存使用情况 硬盘…

kali linux conky配置文件,conky的配置文件

使用的conky配置,备查: 效果: .conkyrc: #set to yes if you want Conky to be forked in the background background yes cpu_avg_samples 2 net_avg_samples 2 out_to_console no # X font when Xft is disabled, you can pick one with program xfontsel #font 7x12 #font 6…

ubuntu美化之conky美化

​​一.安装 conky-manager 首先我们需要安装conky-manager。软件下载地址如下: https://github.com/teejee2008/conky-manager/releases 下载下来发现安装不上,因为conky- manager已经很久没有维护了,所以很多依赖已经废弃了。缺少一个re…