- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 软件需求分析基础 主要内容 需求分析的概念和原则 传统的软件需求分析基础 3.1 需求分析的概念和原则 需求分析的基本任务是准确地回答“系统必须做什么?”这一核心问题,即理解和表达用户的需求。 需求分析是发现、求精、建模和规约的过程。这一过程包括:详细精化最初由项目经理(或系统架构师、系统分析员)建立在软件项目计划中确定的软件范围,创建所需数据流、控制流以及操作行为的模型,在此基础上选择解决方案。 问题定义阶段 在需求分析之前,需要描述和定义问题。问题定义阶段必须回答的关键问题是“要解决的问题是什么” 。 通过对系统的实际用户和使用部门负责人的访问调查,最后得出一份双方都满意的文档。 问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间。 可行性研究阶段 这个阶段要回答的关键问题是“对于上一个阶段所确定的问题有行得通的解决办法吗?” 项目经理(系统分析员等)需要进行一次大大压缩和简化了的系统分析和设计的过程。 如果经可行性研究之后,得出该工程项目不值得做的结论时,应该及时中止投资该工程项目,可以避免更大的浪费。 3.1.1 需求分析 需求分析是一种软件工程活动,使得系统分析员能够刻划出软件的功能和性能、指明软件和其他系统元素的接口、并建立软件必须满足的约束。 需求分析是软件设计师进行软件设计的基础,需求分析建造了软件处理的数据模型、功能模型和行为模型。需求分析为软件设计师提供了可被翻译成数据、体系结构、界面和过程设计的模型,最后,需求规约为软件设计师和客户提供了软件建造完后,进行质量评估的依据。 1.软件需求的概念和分类 比较权威的需求的定义来自于IEEE软件工程标准词汇表中的定义: l??解决用户问题或达到目标所需要的条件。 l?系统或系统部件要满足合同、标准、规范或其他正式规定的文档所要具有的条件。 l??反映上面两条的文档说明。 IEEE公布的需求定义分别从用户和软件工程师的角度阐述了什么是需求,需求一方面反映了系统的外部行为,另一方面反映了系统的内部特性,反映的方式是需求文档。 比较通俗的需求定义如下:需求是指明系统必须实现什么的规格说明,它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。 需求的类别 功能需求:指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能; 性能需求:指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面; 可靠性和可用性需求:定量地指定系统的可靠性与可用性; 出错处理需求:说明系统对环境错误应该怎样响应; 接口需求:描述应用系统与其环境通信的格式; 约束:描述了应用系统应遵守的限制条件; 逆向需求:说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除发生误解的那些逆向需求; 将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2.需求分析的任务 需求分析的任务是借助于当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。 所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。 必须全面理解用户的各项要求,但只能接受合理的要求。 要将软件的需求准确地表达出来,形成软件需求说明书。 参考当前系统建立目标系统模型 需求分析任务实现步骤 获得当前系统的物理模型:首先,分析、理解当前系统是如何运行的,并用一个具体的模型来反映自己对当前系统的理解。 抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。 建立目标系统的逻辑模型:分析目标系统与当前系统逻辑上的差别,明确目标系统要“做什么”,从而从当前系统的逻辑模型中,导出目标系统的逻辑模型。 对目标系统逻辑模型进行补充:具体内容如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。 3.需求分析的主要工作 软件需求分析可被划分成5个工作阶段:问题分析;问题评估和方案综合;建模;规约;复审。 例1. 汽车零件的主要供应商需要一个库存控制系统,系统分析员发现与当前的手工系统相关的问题包括:(1)不能快速地获得部件的状况;(2)更新卡片文件需要2至或3天的工作量;(3)由于没有办法查找相关厂商的部件信息,而使得对同一厂商同一货品反复订货,等等。一旦问题被标识出来,系统分析员将确定新系统该产生什么信息,以及将提供什么信息。 例2. 客户希望得到指明什么零件从库存中取出、以及还剩余多少相似零件的日报表。客户指明一旦当该零件离开仓库时仓管员就该记载每个零件的标号。通过对当前问题和希望
您可能关注的文档
最近下载
- GXG 451-2016 信息通信建设工程费用定额 信息通信建设工程概预算编制规程.pdf VIP
- 气管插管配合操作流程.docx VIP
- 血管内超声(IVUS)光学相干断层扫描成像(OCT)培训学习讲解PPT课件.pptx VIP
- Unity 2D游戏开发实战-坦克大战.pptx VIP
- 2025中国中医科学院中医药健康产业研究所 (江西中医药健康产业研究院) 招聘事业编制人员18人考试备考试题及答案解析.docx VIP
- 2025年森林防火道路建设项目可行性研究报告.docx
- 计算机组成原理(第六版,立体化教材)(白中英,戴志涛)课后习题答案.docx VIP
- 血细胞形态学课件.pptx VIP
- 古诗词对句.doc VIP
- 《时频分析技术》课件.ppt VIP
文档评论(0)