软件需求分析建模
软件需求分析
学习任务3
软件需求分析建模主讲:陈荣保
项目开发实践简勇 陈荣保 编著
工业出版社
软件需求分析
需求分析
需求分析是指理解用户需求,就软件功能和性能与客户达成 一致,估计软件风险和评估项目代价,最终形成开发计划的 一个复杂过程。在这个过程中,用户处在主导地位,需求分 析工程师和项目经理要负责整理用户需求,为之后的软件设 计打下基础。需求分析阶段结束后,要求得到《用户需求说 明书》和《需求规格说明书》两份文档。广义上,需求分析 包括需求的获取、分析、规格说明、变更、验证、管理的一 系列需求工程; 狭义上,需求分析是指需求的获取、分析及定义的过程。需 求分析的任务就是软件系统解决“做什么”的问题,就是要 全面地理解用户的各项要求,并准确地表达所接受的用户需 求的过程。
软件需求分析
需求分析
如果投入大量的人力、物力、财力和时间,而开发出的软件 却没人要,那么所有的投入都是徒劳。如果费了很大的精力 开发一个软件,最后却不能满足用户的要求,而要重新开发, 那么这种返工是让人痛心疾首的。例如,用户需要一个响应 时间快的软件,而在软件开发前期忽略了软件的性能要求, 忘了向用户询问这个问题,想当然地认为是开发无响应时间 这一性能要求的软件,如果当你千辛万苦地开发完成向用户 提交时才发现出了问题,是要付出很大的代价的。所以,需 求分析在软件开发过程中具有举足轻重的地位,具有决策性、 方向性、策略性的作用,我们应对需求分析具有足够的重视。 在一个大型软件系统的开发中,需求分析的作用要远远大于 程序设计。
软件需求分析
需求分析建模1.需求获取 2.需求捕获技术 3.需求分析 4. 需求文档的编写
软件需求分析
需求获取
开发软件项目关键的第一步工作是什么?
软件的需求分析 理解用户对软件提出的要求
软件需求分析
需求获取
需求获取可能是软件开发中最困难、最关键、 最易出错及最需要沟通交流的活动。对需求的 获取往往有错误的认识:用户知道需求是什么, 我们所要做的就是和他们交谈,从他们那里得 到需求;只要问用户系统的目标特征,什么是 要完成的,什么样的系统能适合商业需要就可 以了。但是实际上需求获取并不是想象的这样 简单,这条沟通之路布满了荆棘。
软件需求分析
需求获取
首先,需求获取要定义问题范围,而系统的边界往往是很 难明确的,用户不了解技术实现的细节,这样将造成系统 目标的混淆。 其次,是对问题的理解。任何一个系统都会有很多的用户 或者不同类型的用户,每个用户只知道自己需要的系统, 而不知道系统的
整体情况;他们不知道系统作为一个整体 怎么样工作效率更好,也不太清楚哪些工作可以交给软件 完成;他们不清楚需求是什么,或者说如何以一种精确的 方式来描述需求;他们需要开发人员的协助和指导,但是 用户与开发人员之间的交流很容易出现障碍,往往忽略了 那些被认为是“很明显”的信息。 最后,是需求的确认。需求的不稳定性往往随着时间的推 移产生变动,使之难以确认。 为了克服以上的问题,必 须有组织地执行需求的获取活动。
软件需求分析
需求获取
1)确定需求开发过程:确定需求开发过程确定如 何组织需求的收集、分析、细化并核实的步骤,并 将它编写成文档。对重要的步骤要给予一定指导, 这将有助于分析人员的工作,而且也使收集需求活 动的安排和进度计划更容易进行。 2)编写项目视图和范围文档:项目视图和范围文 档应该包括高层的产品业务目标,所有的使用实例 和功能需求都必须遵从能达到的业务需求。项目视 图说明使所有项目参与者对项目的目标能达成共识。
软件需求分析
需求获取
3)用户群分类:产品的用户在很多方面存在着差异,例如: 用户使用产品的频度、他们的应用领域和计算机系统知识、 他们所使用的产品特性、他们所进行的业务过程、他们在 地理上的布局以及他们的访问优先级。根据这些差异,你 可以把这些不同的用户分成小组。用户类不一定都指人, 你可以把其它应用程序或系统接口所用的硬件组件也看成 是附加用户类的成员。以这种方式来看待应用程序接口, 可以帮助你确定产品中那些与外部应用程序或组件有关的 需求。将用户群分类并归纳各自特点为避免出现疏忽某一 用户群需求的情况,要将可能使都有所差异。详细描述出 它们的个性特点及任务状况,将有助于产品设计。
软件需求分析
需求获取
4)选择产品代表:择每类用户的产品代表为每类用户至少 选择一位能真正代表他们需求的人作为那一类用户的代表 并能作出决策。这对于内部信息系统的开发是最易实现的, 因为此时,用户就是身边的职员。而对于商业开发,就得 在主要的客户或测试者中建立起良好的合作关系,并确定 合适的产品代表。他们必须一直参与项目的开发而且有权 作出决策。每一个产品代表者代表了一个特定的用户类, 并在那个用户类和开发者之间充当主要的接口。
软件需求分析
需求获取
5)建立核心队伍:建立起典型用户的核心队伍把同类产品 或你的产品的先前版本用户代表召集起来,从他们那里收 集目前产品的功能需求和非功能需求。这样的核心队伍对 于商业开发尤为有用,因为你拥有一个庞大且多样
的客户 基础。与产品代表的区别在于,核心队伍成员通常没有决 定权。 6)确定使用实例:让用户代表确定使用实例从用户代表处 收集他们使用软件完成所需任务的描述-使用实例,讨论用 户与系统间的交互方式和对话要求。在编写使用实例的文 档时可采用标准模版,在使用实例基础上可得到功能需求。
软件需求分析
需求获取
7)召开应用程序开发联系会议:召开应用程序开发联系会 议应用程序开发联系会议是范围广的、简便的专题讨论会, 也是分析人员与客户代表之间一种很好的合作办法,并能 由此拟出需求文档的底稿。该会议通过紧密而集中的讨论 得以将客户与开发人员间的合作伙伴关系付诸于实践。 8)分析用户工作流程:分析用户工作流程观察用户执行业 务任务的过程。画一张简单的示意图(最好用数据流图) 来描绘出用户什么时候获得什么数据,并怎样使用这些数 据。编制业务过程流程文档将有助于明确产品的使用实例 和功能需求。你甚至可能发现客户并不真地需要一个全新 的软件系统就能达到他们的业务目标。
软件需求分析
需求获取-需求人员谁参加需求?角色 需求分析员 客户与最终 用户 项目组 职责 调查、分析用户的需求、定义产品需求、 撰写《用户需求规格说明书》 提供必要的需求信息;确认最终需求 参与需求评审
软件需求分析
需求获取-功能
功能性需求
软件必须实现的软件功能
非功能性需求
系统的易用性、反应速度、容错性、健壮性等等质量属性
软件需求分析
需求获取-非功能主要质量属性正确性 可靠性 易用性 安全性
详细要求数据输入输出保持正确,界面显示无误。 本系统操作的数据是财务数据,因此必须保证所有数据 的可靠性和正确性 本系统用户界面简单, …… 此处隐藏:1894字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




