(1.3)--第3章 软件需求分析软件工程过程.ppt
《(1.3)--第3章 软件需求分析软件工程过程.ppt》由会员分享,可在线阅读,更多相关《(1.3)--第3章 软件需求分析软件工程过程.ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章:软件需求分析需求分析为什么重要?1.大型系统的失败,最后均归结为不正确的需求分析 Apple Lisa,全球第一台采用图形用户界面(GUI)和鼠标的个人电脑。因为定价远远超过市场用户的承受能力,造成Apple Lisa 的销量远低于苹果的预期。注意,产品质量和客户需求是直接挂钩的需求分析为什么重要?2.软件需求规格书是一个里程碑/基线软件需求规格书,既是软件生命周期中的第一个里程碑,又是客户、软件开发人员和软件测试人员共同工作的基线。需求分析为什么重要?3.需求分析占软件开发时间和开发工作量较大4.需求获取中的错误,会发散式的传播需求分析为什么困难?需求分析至今仍是公认为的软件开发中最
2、为困难、亟待解决的一个问题。1.用户需求具有动态性2.用户需求具有模糊性3.对需求达成一致的艰难性用户之间的需求很难达成一致开发者和用户之间需求达成一致也是困难的4.分析人员与用户的沟通问题 5.管理体制、机构设置处在变革中 需求分析做什么?什么是需求?需求的定义是分层次的1.用户需求用户需求是顶层需求,由用户提出来的,直接反应用户的需要2.产品需求经过分析、提炼获取用户的真实需求,并且表达为产品的解决方案3.软件需求软件需求是对产品需求的细化,考虑技术因素,用什么样的技术等来满足产品需求需求分析怎么做?1.收集用户需求,挖掘真实需求2.提出解决方案形成产品需求3.细化产品需求,确定软件系统要
3、求4.建立目标系统的逻辑模型5.撰写需求规格说明书6.制定初步的系统测试计划7.编写初步的用户手册8.完善开发计划9.验证需求-需求的评审需求分析怎么做?(续)1.收集用户需求,挖掘真实需求需求分析怎么做?(续)1.收集用户需求,挖掘真实需求要分析用户的真实需求。可以从三个角度入手:目标用户:目标用户不同,诉求也不一样;使用场景:使用场景不同,解决方案也会有所不同;想要解决的问题:挖掘用户背后想要解决的问题是什么?需求分析怎么做?(续)1.收集用户需求,挖掘真实需求该环节具体实施时,包含以下两个步骤:收集需求:对用户需求进行收集整理;收集用户需求有很多方法:问卷调查/市场调查:发电子邮件、问卷
4、调查即把需要调查的内容制成表格交给用户填写。该方法对需要调查大量人员的意见时,十分有效。访谈/个别访问:正式的和非正式的访谈关键用户。头脑风暴:座谈、会议方式收集需求,打破常规、畅所欲言。竞品分析:通过分析其他同类产品的功能获得需求。构造原型:通过原型来收集反馈,收集确认需求。需求分析怎么做?(续)1.收集用户需求,挖掘真实需求分析需求:对需求进行分析,挖掘用户真实需求。收集了需求,就要分析用户的真实需求,这是最难的部分。通常用户需求背后的真实需求有三个层次:表层需求:用户对解决问题的期望 深层需求:用户的深层次动机、诉求及产生的原因 底层需求:人性本能的需求需求分析怎么做?(续)2.提出解决
5、方案形成产品需求该环节具体实施时,包含以下两个步骤:需求评估需求收集分析完了后,还需要进一步评估,以决定做还是不做,优先级如何?需求评估考虑的因素有:可行性:技术能否实现 成本:人力成本、时间成本。优选成本较低的解决方案 商业风险和收益:有没有商业上的风险,收益是否合理 紧急性与重要性:是不是用户迫切的需求。如果确定可行,还需要评估其优先级。紧急重要-重要不紧急-紧急不重要-不紧急不重要需求分析怎么做?(续)2.提出解决方案形成产品需求需求设计在分析和评估完需求后,还需要提出解决方案,也就是对需求进行设计,做出来有效的产品需求。需求设计常用的设计工具:草图、原型设计工具、界面设计工具。需求分析
6、怎么做?(续)3.细化产品需求,确定软件系统需求具体从以下方面给出软件系统的具体要求:功能要求性能要求如期望的响应时间,存储容量的限制等。需求分析怎么做?(续)3.细化产品需求,确定软件系统需求具体从以下方面给出软件系统的具体要求:运行环境软件运行时所需要的硬件的机型、外设;软件的操作系统、开发与维护工具和数据库管理系统等要求。接口要求应用软件可能还与机构内部的其他应用软件集成,因此,需要明确与外部应用软件数据交换的内容、格式与接口,以实现数据及功能的有机结合。另外还有系统的可靠性、安全性、可移植性和可维护性等方面的需求。需求分析怎么做?4.建立目标系统的逻辑模型所谓模型就是为了理解事物而对事
7、物做出的一种抽象,是对事物的一种无歧义的书面描述。通常模型有一组图形符号和组织这些符号的规则组成。软件系统的逻辑模型与需求分析阶段采用的方法有关。比如结构化需求分析方法,产生的逻辑模型分为:数据模型、功能模型和行为模型。需求分析怎么做?5.撰写需求规格说明书软件需求规格说明书描述系统的数据、功能、行为、性能需求、设计约束、验收标准,以及其他与系统需求相关的信息。需求规格说明书是需求分析阶段最重要的标志性成果物。需求分析怎么做?6.制定初步的系统测试计划需求确认的一种方法,从测试人员处确认需求。该环节包括以下步骤:通过需求规格说明书了解需求的实现背景,分析需求合理性;是对需求文档测试的过程,从测
8、试人员的视角重新审视需求分析规格书。可以通过业务知识来分析需求的合理性,而不是单单通过系统是怎样实现的来判断需求是否合理。测试需求分析-确定测试的范围和优先级首先要确定好需求所涉及的全部测试点,然后通过分析,分析出测试范围的优先级。需求分析怎么做?6.制定初步的系统测试计划测试设计-细化测试点并确定测试方法;确定了测试范围和优先级后,就可以列出如图所示的测试点,写出对应的测试方法,或测试策略。需求分析怎么做?7.编写初步的用户手册确认需求的一种方法,从用户处确认需求。用户手册包括用户界面描述以及有关目标系统使用方法的初步构想。从用户视角重新审视需求分析规格说明书,考量其易用性、完备性等。需求分
9、析怎么做?8.完善开发计划在需求分析阶段对开发的系统有了更进一步的了解,因此需求对问题定义阶段的开发计划要进行适当修正并加以完善。需求分析怎么做?9.验证需求-需求的评审由专家、需求分析人员、开发人员、用户组成评审组,对需求分析所得的结果进行评审。完整性 完整性验证用于检查发现用户确实需要的,但没有写入需求文档中一些功能、约束等,以使最终确定下来的需求文档能够更加完整的体现用户的需求意愿;正确性 需求分析规格说明书、系统测试计划及初步的用户手册是否存在错误;需求分析怎么做?9.验证需求-需求的评审一致性 一致性验证用于检查发现在需求文档中可能存在的需求冲突。必要性 验证提出的功能性或者非功能性
10、需求是否是实现用户需求所必须的。可验证性 通过编写初步的系统测试计划,确定系统功能性、非功能性需求是否可以验证。优先级的划分重新评估功能的优先级。紧急重要-重要不紧急-紧急不重要-不紧急不重要需求的跟踪 正向跟踪:确保系统中的每一个需求元素都可以跟踪到生存周期后续阶段的输出成果物中;反向跟踪:在生存周期每个阶段的输出成果物都反向追溯到提出的需求。跟踪矩阵减少需求遗留,方便复审、测试及向客户演示产品需求的跟踪(续)需求需求编号编号描述描述概要概要设计设计文档文档编号编号对应设计(功对应设计(功能、结构、数能、结构、数据库)据库)对应的实现(程对应的实现(程序、类、继承类)序、类、继承类)单元单元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1.3-第3章 软件需求分析软件工程过程 1.3 软件 需求 分析 软件工程 过程
限制150内