软件工程(二):需求工程

本文深入探讨了软件需求工程的各个方面,包括业务需求、用户需求和系统需求的定义,以及非功能性需求的重要性。介绍了需求获取的多种途径,如访谈、调查和专题讨论,并详细阐述了需求建模的用户故事、用例图和活动图方法。此外,还强调了需求规格说明书在软件开发中的作用,它是沟通用户和开发者的桥梁,明确了系统的功能和性能要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、需求工程

(一)什么是软件需求

是用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,常表达“做什么”

(二)功能性需求

1、业务需求:

高层次目标要求,完完全全的目的

携程旅行的业务需求是卖飞机票

2、用户需求

用户的目标,用户要求系统必须能完成的任务,细致到操作

用户可以通过Internet随时查询图书信息和个人借阅情况,并可以快速查找和浏览需要的电子资料

3、系统需求

设计用户或外部系统与该系统之间的交互

订票系统需要和用户数据库交互

新产品制造的低成本将会让我们有更高的市场份额并满足销售目标

(三)非功能性需求

不直接关联系统功能行为的方方面面,包括速度,可靠性,容错性这些因素

1、非功能需求:速度(用户的响应时间)、存储空间、可用性(帮助页、培训时间)、可靠性(失败发生率)、容错性(失败时数据崩溃的可能性)

2、业务规则:如果采购单金额在10万到50万之间,那么需要总经理审批

3、外部接口:系统接口、用户接口、硬件接口、软件接口、通信接口

4、约束条件:成本、时间等

(四)需求获取与建模

需求获取途径:

面对面访谈、问卷调查、专题讨论会、头脑风暴

需求建模方法:

1、基于场景的方法

(1)用户故事
card:作为一个<角色>,可以做<活动>,以便于实现<价值>
conversation:用户和系统交互的细节
confirmation:如何验收测试保证用户故事被正确解读

Card [优先级:xx 工作量估算:]
作为一个视频制作者,我希望上传视频到网页,以便
于任何其他用户能够在网页上看到这个视频。

Conversation
“上传按钮”会出现在这个网站的每一个网页上
视频不能大于100MB或者长于10分钟
视频的格式包括.flv,.mov,.mp4,.avi和.mpg
能够实时显示上传进度

Confirmation
检查“上传视频”按钮
上传视频的具体操作
检查.flv,.mov,.mp4,.avi和.mpg视频文件是否能上传
检查其它视频文件是否不能上传
检查视频大于100MB时是否会报错
检查视频长于10分钟时是否会报错
检查是否能够实时显示上传进度

(2)用例图
一个用例聚焦一个单一的目标,可能包含多个功能,但用户不关心系统内部的构造,只关注自己使用的服务

完整步骤:识别参与者、识别用例、建立参与者与用例的通讯关联、画出用例图、给出用例的详细描述

用例图:《include》表示无条件执行的包含(调用函数);《extend》是有条件执行(分支)的拓展,它的箭头是反向的

在这里插入图片描述

用例描述:

在这里插入图片描述

(3)活动图
是复杂过程的步骤顺序图,类似于算法流程图;可以设置泳道来将不同的动作分类

在这里插入图片描述

2、基于类的方法

3、基于模式的方法

(五)需求规格说明书(SRS )

是软件工程的产出,精确阐述一个软件系统必须提供的功能和性能,以及它索要考虑的限制条件,为了使用户和软件开发者双方对该软件的初始规定都有一个共同的理解,使之成为整个开发工作的基础

作为软件开发各类人员之间进行理解和交流的手段

应包含功能、外部接口、性能、非功能属性、约束条件

不应包含项目开发计划诸如晨成本进度方法等、产品保证书、软件设计细节

应该根据不同的项目场景设计不同的需求规格说明书

未完待续,感谢阅读~  

未经允许禁止转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值