软件工程复习 第二章 需求分析 需求文档的撰写 需求分析三类建模

2.1需求分析的概念

进行需求分析的原因:
1.需求分析的错误和变更导致软件开发失败占比高(eg:a.缺少用户的输入 b.不完整的需求和规格说明书 c.需求和规格说明书的变更)
2.希望对开发进行引导
3.希望开发人员对于用户的要求理解
4.希望用户理解开发人员
5.测试部分可以有理可依

需求分析的定义:确定系统必须具有的功能和性能,系统要求的运行环境,并且预测系统发展的前景。
换句话说需求就是以一种清晰、简洁、一致且无二义性的方式,对一个待开发 系统中各个有意义方面的陈述的一个集合。

需求分析的任务:
1.建立分析模型(准确定义了未来系统的目标,确定了为了满足用户需求需要做什么)
2.编写需求说明(用《需求规格说明书》规范的形式准确表达用户的需求)

2.2需求分析的过程

2.2.1需求确认

流程:需求获取->需求提炼->需求描述->需求验证

2.2.1.1需求获取

软件需求获取指的是软件需求的来源以及软件工程师收集这些软件需求的方法。它也称为需求抓取、需求发现和需求获得。

需求分类:
A.功能性需求:描述系统应该做什么,即系统应该为了用户或者其他系统完成的功能,提供的服务。
B.非功能性需求:必须遵循的标准,外部界面的细节,实现的约束条件,质量属性。

需求的来源:
1.用户目标 2.领域知识 3.投资者 4.运行环境 5.组织环境

需求的获取技术:
1.采访 2.设定情景 3.原型 4.会议 5.观察商业过程或者工作流

2.2.1.2需求提炼

对应用问题及环境的理解和分析,为问题涉及的信息、功能及系统行为建立模型。将用户需求精确化、完全化,最终形成下一步的需求规格说明书。

2.2.1.3需求描述(本质:撰写需求说明书)

1.需求分析工作完成的一个基本标志就是形成一份完整的,规范的需求规格说明书。

2.需求规格说明书的编制是为了使用户和软件开发者双方都对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。

3.需求规格说明的原则:
a.分离功能,描述做什么而不是怎样实现
b.使用面向处理的规格说明语言(系统定义语言)
c.若开发大系统中的一个元素,也需要对整个大系统进行描述
d.必须包括系统运行环境
e.必须是一个认识模型必须是可操作的
f.必须容许不完备性并允许扩充必须局部化和松散耦合扩充必须局部化和松散耦合

2.2.1.4需求验证

需求验证的重要性:如果在后续的开发或当系统投入使用时才发现需求文档中的错误,就会导致更大代价的返工。

需求验证需要对需求文档进行检查:1.有效性检查 2.一致性检查 3.完备性检查 4.可行性检查

2.2.2需求变更

变更管理是将个人、团队和组织从现有状态转移/过渡到期望状态的结构化方 法。它授权雇员接受并理解当前业务环境中的变更。在项目管理中,变更管理是指项目变更被引入和接受后的项目管理过程。

2.2.3需求文档的基本结构

1.引言
需求文档的目的;文档约定;预期的读者与建议;产品范围;参考文献
2.综合描述
产品前景,功能,优先级;用户特征;运行环境;假设与依赖
3.需求描述 (需求文档中最实质的环节)
a.功能需求
b.数据需求:与功能相关的数据定义与数据关系
c.性能需求:响应时间,容量要求,支持的用户数目
d.外部接口:用户界面,软件接口,硬件接口,通信接口
e.设计约束:软件支持环境,报表,数据命名
f.软件质量属性:可维护性,可靠性,可移植性,可用性,安全性
g.其他需求
4.附录
5.索引

2.3需求分析三类建模

需求分析核心:建立需求分析模型
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是我最喜欢的东东之一!在这个关于软件工程的新专栏里,作者将结合理论知识,实践案例,优秀的工具介绍,经典文章导读,告诉您软件工程中最重要的一个过程――需求过程各方各面的知识。通过阅读,您将了解到,需求的知识体系,需求的过程能力,相关的软件工程知识,在实践中如何做好需求分析。文章虽然有很多的例子,但是,文章主要还是偏向于宣传一种思想,一种面向对象的思想,一种实践的思想。 第一篇 1.1. 从猴子说起有这样一个笑话:一个旅客走进硅谷的一家宠物店,浏览展示的宠物。这时,走进一个顾客,对店主说:"我要买一只C猴。"店主点了点头,走到商店一头的兽笼边,抓出一只猴,递给顾客说:"总共5000美元。"顾客付完款,然后带走了他的猴子。这位旅客非常惊讶,走到店主跟前说:"那只猴子也太贵了!"店主说:"那只猴子能用C编程,非常快,代码紧凑高效,所以值那么多钱。"这时,旅客看到了笼子中的另一只猴子,它标价10000美元。于是又问:"那只更贵了!它能做什么?"店主回答:"哦,那是一只C++猴;它会面向对象的编程,会用Visual C++,还懂得一点Java,是非常有用的。"旅客又逛了一会儿,发现了第三只猴子,它独占一个笼子,脖子上的标价是50000美元。旅客倒抽一口气,问道:"那只猴子比其他所有猴子加起来都贵!它究竟能做什么?"店主说:"我们也不知道它究竟能这是我最喜欢的东东之一!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值