软件需求工程-需求工程概述_作为需求工程过程的一部分,描述用例的弱点软件工程-程序员宅基地

技术标签: 复习总结  软件需求工程学习手记  软件工程  软件需求工程  需求工程概述  

一、需求工程的重要性

1.软件项目成败因素分析

软件项目成功因素:

  • 用户的参与
  • 执行层的支持
  • 清晰的需求描述
  • 合适的规划
  • 现实的客户期望
  • 较小的里程碑
  • 有才能的员工
  • 主权
  • 清晰的愿景和目标
  • 努力的工作和稳定的员工

软件项目失败因素:

  • 不完整的需求
  • 缺乏用户的参与
  • 资源不足
  • 不实际的客户期望
  • 缺乏执行层的支持
  • 需求变更频繁
  • 规划不足
  • 提供许多不必要的功能
  • 缺乏IT管理
  • 技术能力缺乏

2.因需求导致的软件项目失败的案例

  • 伦敦股票交易项目TAURUS(原因:未能协调不一致需求);
  • Swanick空中交通抗旨系统(原因:缺乏健壮的需求规格说明而继续进行系统实现)

3.需求与成本案例

  • A. Davis研究发现,在需求阶段检查和修复一个错误所需的费用只有编码阶段的1/5到1/10,而在维护阶段做同样的工作所需付出的代价却是编码阶段的20倍。

4.分析结论
  在软件开发过程中,必须极早、有效地发现和解决与需求相关的问题。

二、什么是软件需求

1.软件需求的各种定义

  • A. Davis:软件需求是从软件外部能发现的,软件所具有的,满足于用户的特点、功能及属性等的集合;
  • I. Sommerville:需求是问题信息和系统行为、特性、设计和实现约束的描述的集合;
  • M. Jackson:需求是客户希望在问题域内产生的效果;

IEEE关于软件需求的定义:

  • 用户角度:用户解决问题或达到目标所需的条件或能力;
  • 软件系统角度:系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力;
  • 规约:反映上面所描述的条件或能力的文档说明。

2.总结

  需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。

三、软件需求的分类

1.分类

  • 目标需求:反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标;
  • 业务需求:主要描述软件系统必须完成的任务、实际业务或工作流程等。软件开发人员通常可从业务需求进一步细化出具体的功能需求和非功能需求;
  • 功能需求:指开发人员必须实现的软件功能或软件系统应具有的外部行为;
  • 性能需求:指实现的软件系统功能应达到的技术指标,如计算效率和精度、可靠性、可维护性和可扩展性等;
  • 约束与限制:指软件开发人员在设计和实现软件系统时的限制,如开发语言、使用的数据库等。

2.软件需求间的层次关系
在这里插入图片描述

四、需求规格说明

  SRS(Software Requirements Specification):需求规格说明是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需求。
  需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/huanglei305/article/details/102658208

智能推荐

r语言进行go富集分析_R语言-GO富集分析的超几何检验和可视化-程序员宅基地

文章浏览阅读2.8k次。Gene Ontology可分为分子功能(Molecular Function),生物过程(biological process)和细胞组成(cellular component)三个部分。蛋白质或者基因可以通过ID对应或者序列注释的方法找到与之对应的GO号,而GO号可对于到Term,即功能类别或者细胞定位。根据挑选出的差异基因,计算这些差异基因同GO 分类中某(几)个特定的分支的超几何分布关系,..._r语言 go分析

【云服务器】阿里云服务器+宝塔Linux零成本搭建全网音乐搜索引擎网站(在线音乐播放器),可在线播放可下载可分享它不香么?_宝塔搭建一个音乐系统-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏7次。 前几天因为博主的个人博客即将到期,因此特意从个人博客搬运出了文章:超详细教程】阿里云+宝塔+Typecho零基础搭建个人博客全套式教程——以免费领取的ECS阿里云服务器为例。然而,昨天因为在阿里云高校计划续费测试中拿到了90分成功续命了之前白嫖的阿里云服务器。因此在今天,博主就来为大家分享一下刚搭建好的音乐播放器的实现步骤与经验总结。目录前期准备实现步骤1.添加站点2.下载GitHub项目到本地3.部署音乐播_宝塔搭建一个音乐系统

基于STM32的web+app的智慧灌溉系统物联网嵌入式软硬件开发单片机毕业源码案例设计-程序员宅基地

文章浏览阅读217次。5.配有基于SpringBoot、Vue、uniapp、Qt的Web端、移动端、PC端,远程控制,远程查看数据。6.云平台具有设备管理、数据管理等完整的功能。4.远程设置光照强度和土壤湿度的阈值。2.湿度太干时自动打开水泵进行浇水。1.实时监测光照强度、土壤湿度。基于STM32的智慧灌溉系统。3.光照太暗时自动开灯补光。5.通信基于MQTT协议。

bat批量复制文件(一键打包更新代码,避免手动一个个复制)-程序员宅基地

文章浏览阅读357次,点赞3次,收藏9次。如果文件夹不存在,也可以复制过去。复制文件夹用copy,复制目录和里面的文件用xcopy命令: xcopy/y /e /s /i /k源文件夹路径 目标文件夹路径@echo offChcp 65001echo -----copy start-----echo -----copy cssxcopy /y /e /s /i /k D:\crd\cms\workspace\cms..._bat批量复制文件

深度学习——BEDSR-Net_bedsr-net a deep shadow removal network from a sin-程序员宅基地

文章浏览阅读1.3k次,点赞3次,收藏9次。CVPR2020原论文:BEDSR-Net: A Deep Shadow Removal Network from a Single Document Image为了便捷记录文件内容,我们通常直接用手机或相机拍摄文件。由于环境光照的影响,拍摄的图像会产生各种阴影。就文件图像阴影的问题,文章提出了深度学习的方法去阴影。如下图:1.主要工作:首先提出了单幅文件图像去阴影的深度学习网络(Background Estimation Document Shadow Removal Network ,BEDSR_bedsr-net a deep shadow removal network from a single document image

《EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices》_erofs 论文-程序员宅基地

这篇文章介绍了一种面向资源稀缺设备的压缩友好的只读文件系统EROFS,能显著减少存储空间使用,减少I/O放大和计算开销,并降低内存分配开销。

随便推点

现代控制理论(4)——李雅普诺夫稳定性理论_李亚普诺夫稳定性-程序员宅基地

文章浏览阅读2.5w次,点赞20次,收藏236次。文章目录_李亚普诺夫稳定性

大电流dcdc降压芯片20a_基于MC34063芯片DC-DC(20-5)降压型变换电路-程序员宅基地

文章浏览阅读1.4k次。目录基于MC34063芯片的DC-DC(20/5)降压型变换电路.................................................................21引言......................................................................................................_dc电源芯片 20a

About Add DataRow-程序员宅基地

文章浏览阅读128次。当从一个表中将记录Copy到另一个结构相同的表中的时候,有两种方式:DataTable.ImportRow()或: DataTable.Rows.Add()正确的使用方法: dt1.ImportRow(dt.Rows[0]);或: dt1.Rows.Add(dt.Rows[0].ItemArray);不要使用:..._add data row

linux中-f的含义,linux 下shell中if的“-e,-d,-f”的含义-程序员宅基地

文章浏览阅读1.5w次,点赞4次,收藏55次。文件表达式-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filename可写,则为真-x filename 如果..._-f

【JS】根据日期和给定的天数,计算日期的前几天或者后几天的日期时间_js计算某个日期多少天后的日期-程序员宅基地

文章浏览阅读301次。【代码】【JS】根据日期和给定的天数,计算日期的前几天或者后几天的日期时间。_js计算某个日期多少天后的日期

WebRTC-Android 源码导读(二):预览实现分析_surfaceviewrenderer-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏5次。在本系列第一篇中,我们分析了 WebRTC-Android 相机采集的实现,本文中我们将分析预览的实现。有过一定相机开发经验的朋友可能会疑惑,预览还有什么好分析的,不是直接 camera.setPreviewDisplay 或者 camera.setPreviewTexture 就能在 SurfaceView/TextureView上预览了吗?实际上预览还有更高级的玩法,尤其是需要加上图像处理功能..._surfaceviewrenderer