软件需求管理(1).ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:400-050-0739(电话支持时间:9:00-19:00)。
?Copyright Xinjun Mao 2005 第7讲 软件需求管理 第7讲 软件需求管理 毛新军 xjmao21@21 /~xjmao 计算机科学与技术系602教研室 0731-(45)73649 讲授内容 项目案例 什么是软件需求 如何进行软件需求分析 软件需求管理 CMM对需求管理的要求 本讲小结 项目案例 案例角色和人物 要对软件需求进行管理(1/2) 按照初步的项目计划,老赵带领项目组的部分成员(需求分析小组)开始进驻用户场地,开展需求调查工作,但在需求分析和后续开发过程中陆续出现了许多与用户需求有关的一系列问题,影响软件项目的实施 整个项目规模比较庞大,需求分析小组不知如何开展工作?从何处下手?对需求分析的复杂性和难度估计不足。 需求分析小组不能有效工作:不知哪些属于用户需求,哪些不是?不知怎样才能获取用户需求?如何把它分析清楚? 不知应该按照怎样的规范书写软件需求规格说明书? 得到的软件需求质量不高:说不清,遗漏,矛度,罗嗦…. 需求评审不严格,导致遗漏了许多需求,获取的用户需求不一致、描述的不清晰和准确 要对软件需求进行管理(2/2) 更为糟糕的是,由于用户没有参加需求评审,使得许多软件需求没有得到用户的认可,最终所开发出的软件不能满足用户的要求,用户拒绝接收软件,并拒绝付款 由于软件需求的不准确性、不一致性和二义性,在软件开发阶段,软件设计人员不得不通过用户再次确认需求 在开发过程中,用户的需求仍然在改变,需求分析小组负责获取改变了的用户需求,然而这些改变了的需求没有得到有效的管理和控制,没能将变化的需求及时反馈给软件开发小组,导致这些需求未能在待开发的软件中得到体现 由于需求未能得到有效管理,在最终项目验收过程中出现了令人不愉快的情况,实际开发的软件没能完全反映用户的需求,导致用户不满意,项目延期 案例提示我们 需求分析是极为重要的 需求分析是困难和复杂的 用户需求经常性的变更是正常的 为了保证软件需求的质量,必须对需求分析的人、过程和产品进行有效管理 需求管理的不善将会导致严重后果 项目项目管理问题 什么是软件需求? 如何进行软件需求分析? 软件需求管理的内容? 如何对软件需求进行管理? 讲授内容 项目案例 什么是软件需求 如何进行软件需求分析 软件需求管理 CMM对需求管理的要求 小结 软件需求 什么是软件需求? 获取软件需求的重要性 获取软件需求的复杂性和面临的问题 解决的方法和手段 什么是软件需求(1/4) 什么是软件需求? 待开发软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求 说明 目标用户 实际操作该软件的用户(图书管理员) 用户方的负责人 用户代表(市场经理),…… 必须是用户所需的 例如,网上图书借阅(想法很好,用户不需要,也不现实) 什么是软件需求(2/4) 关于软件需求的注意事项 软件需求关注用户的期望、要求和需要,不是解决方案 要区分what和How 例如,要采用什么算法,不是用户需求 并不是所有方面的要求都是软件需求 功能、性能、设计约束、时间进度等 例如,重量、软件大小等不是用户需求 并不是所有用户的期望和要求都是软件需求 用户需求必须中肯,有意义 例如,记录图书的厚度等不是用户需求 什么是软件需求(3/4) 软件需求的表现形式 功能需求 性能需求 易用性、质量、性能、安全性,移植性、可重用性等 设计约束 运行环境 开发环境 其它要求:如开发周期 什么是软件需求(4/4) 软件需求例子-图书馆管理系统 功能需求 办理读者借书证, 借阅图书,… 性能需求 查询操作延迟时间不超过1秒钟, … 设计约束 前台运行在windows OS下,… 其它要求 开发时间6个月, … 获取软件需求的重要性 软件开发的基础和前提 只有在明确了软件需求之后才能开展有针对性的软件开发工作 没有需求无法进行设计和编码 制定软件开发计划的基础 只有知道你想做什么,才能知道做这些东西需要多少工作量? 不知道软件需求也就不知道工作量的大小,因而不能制定计划 最终目标软件系统验收的标准 只有知道你想做什么,才能知道你最终是否做好了 没有定义明确的需求,就不知道最终基于什么进行验收 获取软件需求的复杂性(1/2) 系统复杂和庞大 如何将软件需求得到?描述清楚? 片面, 不完全 如何保证得到了所有的软件需求? 模糊, 不准确 如何保证把需求说清楚和准确? 不一致, 歧义 如何保证所描述的需求是不矛盾的? 及时性 当需求变更时,如何让相关人员都知道需求已经变更? 获取软件需求的复杂性(2/2) 软件需求变动带来的问题 波动性 放大性 解决的方法和手段 技术层面 需求分析方法、技术和工具 方法:数据流、面向对象 技术:抽象、建模、多视点、原型、…… 工具:UML,Rose,Word,

文档评论(0)

阿毛
该用户很懒,什么也没介绍

相关文档

相关课程推荐