软件需求分析建模课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件需求分析建模课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 建模 课件
- 资源描述:
-
1、软件需求分析建模软件需求分析建模需求分析n 需求分析是指理解用户需求,就软件功能和性能与客户达成一致,估计软件风险和评估项目代价,最终形成开发计划的一个复杂过程。在这个过程中,用户处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段结束后,要求得到用户需求说明书和需求规格说明书两份文档。广义上,需求分析包括需求的获取、分析、规格说明、变更、验证、管理的一系列需求工程;n狭义上,需求分析是指需求的获取、分析及定义的过程。需求分析的任务就是软件系统解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求的过程。需求分析n如果投入
2、大量的人力、物力、财力和时间,而开发出的软件却没人要,那么所有的投入都是徒劳。如果费了很大的精力开发一个软件,最后却不能满足用户的要求,而要重新开发,那么这种返工是让人痛心疾首的。例如,用户需要一个响应时间快的软件,而在软件开发前期忽略了软件的性能要求,忘了向用户询问这个问题,想当然地认为是开发无响应时间这一性能要求的软件,如果当你千辛万苦地开发完成向用户提交时才发现出了问题,是要付出很大的代价的。所以,需求分析在软件开发过程中具有举足轻重的地位,具有决策性、方向性、策略性的作用,我们应对需求分析具有足够的重视。在一个大型软件系统的开发中,需求分析的作用要远远大于程序设计。需求分析建模1.需求
3、获取 3.需求分析 4.需求文档的编写 2.需求捕获技术需求获取 n开发软件项目关键的第一步工作是什么?开发软件项目关键的第一步工作是什么?n软件的需求分析软件的需求分析n理解用户对软件提出的要求理解用户对软件提出的要求 需求获取 n需求获取可能是软件开发中最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈,从他们那里得到需求;只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了。但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。需求获取 n首先,需求获取要定义问题范围,而系统的边界
4、往往是很难明确的,用户不了解技术实现的细节,这样将造成系统目标的混淆。n其次,是对问题的理解。任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况;他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚哪些工作可以交给软件完成;他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求;他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,往往忽略了那些被认为是“很明显”的信息。n最后,是需求的确认。需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织地执行需求的获取活动。需求获取 n1)确
5、定需求开发过程:确定需求开发过程确定如何组织需求的收集、分析、细化并核实的步骤,并将它编写成文档。对重要的步骤要给予一定指导,这将有助于分析人员的工作,而且也使收集需求活动的安排和进度计划更容易进行。n2)编写项目视图和范围文档:项目视图和范围文档应该包括高层的产品业务目标,所有的使用实例和功能需求都必须遵从能达到的业务需求。项目视图说明使所有项目参与者对项目的目标能达成共识。需求获取 n3)用户群分类:产品的用户在很多方面存在着差异,例如:用户使用产品的频度、他们的应用领域和计算机系统知识、他们所使用的产品特性、他们所进行的业务过程、他们在地理上的布局以及他们的访问优先级。根据这些差异,你可
6、以把这些不同的用户分成小组。用户类不一定都指人,你可以把其它应用程序或系统接口所用的硬件组件也看成是附加用户类的成员。以这种方式来看待应用程序接口,可以帮助你确定产品中那些与外部应用程序或组件有关的需求。将用户群分类并归纳各自特点为避免出现疏忽某一用户群需求的情况,要将可能使都有所差异。详细描述出它们的个性特点及任务状况,将有助于产品设计。需求获取 n4)选择产品代表:择每类用户的产品代表为每类用户至少选择一位能真正代表他们需求的人作为那一类用户的代表并能作出决策。这对于内部信息系统的开发是最易实现的,因为此时,用户就是身边的职员。而对于商业开发,就得在主要的客户或测试者中建立起良好的合作关系
7、,并确定合适的产品代表。他们必须一直参与项目的开发而且有权作出决策。每一个产品代表者代表了一个特定的用户类,并在那个用户类和开发者之间充当主要的接口。需求获取 n5)建立核心队伍:建立起典型用户的核心队伍把同类产品或你的产品的先前版本用户代表召集起来,从他们那里收集目前产品的功能需求和非功能需求。这样的核心队伍对于商业开发尤为有用,因为你拥有一个庞大且多样的客户基础。与产品代表的区别在于,核心队伍成员通常没有决定权。n6)确定使用实例:让用户代表确定使用实例从用户代表处收集他们使用软件完成所需任务的描述-使用实例,讨论用户与系统间的交互方式和对话要求。在编写使用实例的文档时可采用标准模版,在使
8、用实例基础上可得到功能需求。需求获取 n7)召开应用程序开发联系会议:召开应用程序开发联系会议应用程序开发联系会议是范围广的、简便的专题讨论会,也是分析人员与客户代表之间一种很好的合作办法,并能由此拟出需求文档的底稿。该会议通过紧密而集中的讨论得以将客户与开发人员间的合作伙伴关系付诸于实践。n8)分析用户工作流程:分析用户工作流程观察用户执行业务任务的过程。画一张简单的示意图(最好用数据流图)来描绘出用户什么时候获得什么数据,并怎样使用这些数据。编制业务过程流程文档将有助于明确产品的使用实例和功能需求。你甚至可能发现客户并不真地需要一个全新的软件系统就能达到他们的业务目标。需求获取需求人员角色
9、角色职责职责需求分析员调查、分析用户的需求、定义产品需求、撰写用户需求规格说明书客户与最终用户提供必要的需求信息;确认最终需求项目组参与需求评审谁参加需求?需求获取功能n功能性需求功能性需求n软件必须实现的软件功能 n非功能性需求非功能性需求n系统的易用性、反应速度、容错性、健壮性等等质量属性 需求获取非功能主要质量属性主要质量属性详细要求详细要求正确性数据输入输出保持正确,界面显示无误。可靠性本系统操作的数据是财务数据,因此必须保证所有数据的可靠性和正确性易用性本系统用户界面简单,用户在经过培训以后,就能很快上手使用。安全性所有操作人员都要通过用户名和密码登陆系统,特别是B/S端用户还必须通
展开阅读全文