您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第02章软件项目的需求分析(上)
软件工程第02章软件项目的需求分析可行性研究1需求分析的任务2结构化分析与建模4需求规格说明书6MicrosoftOfficeVisio5需求分析的步骤3一、可行性研究1、可行性研究的任务可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说,可行性研究的目的不是解决问题,而是确定问题是否可解,是否值得去解。一般来说,可行性研究应该从以下几个方面进行:(1)技术可行性分析:使用现有技术能否实现系统(2)经济可行性分析:开发投入与经济效益(3)操作可行性分析:系统操作方式在该组织内是否可行,是否存在社会问题(4)法律可行性分析:开发过程中涉及的各种合同、侵权、责任以及其他同法律相抵触的内容存在问题的解决:引入资金、引入人员、合作最后给出问题是否可解,是否值得解决一、可行性研究2、可行性研究的步骤1)复查系统规模和目标:清晰的描述对系统目标的一切限制和约束,确保解决问题的正确性。2)研究目前正在使用的系统:通过对现有系统的文档资料的阅读、分析和研究,总结出现有系统的优点与不足,解决老系统的问题(修改、增加)。3)导出新系统的高层逻辑模型:告诉用户,系统可以做什么,而不是怎么做4)重新定义问题:定义分析问题导出模型再定义问题……5)导出和评价供选择的方案:从逻辑模型出发,导出若干较高层次的解供比较和选择。6)推荐一个方案并说明理由:从技术、经济、操作等方面进行比较,向用户推荐一个方案7)推荐行动方针一、可行性研究8)草拟开发计划•任务分解,确定负责人•进度规划•财务预算•风险分析与对策:市场、技术、政策9)书写文档提交审查进行可行性研究,需要对软件项目的开发进行宏观的把握,一般是由技术、财务、人事等多个部门组成的小组来进行的。一、可行性研究3、系统流程图在进行可行性研究时需要了解和分析现有系统,并以概括的形式表达对现有系统的认识。进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不是对信息进行加工处理的控制过程。1)系统流程图的功能如下:制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。系统分析员可以直接利用系统流程图画出可以实现计算机处理的部分可利用系统流程图来分析业务流程的合理性一、可行性研究2)系统流程图的符号一、可行性研究一、可行性研究3)系统流程图示例[例]用系统流程图来分析下述问题。某图书馆闭架借书流程如下:读者须先验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容一、可行性研究4、可行性研究报告主要内容二、需求分析的任务需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,准确地回答“系统必须做什么?”这个问题。虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了.需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整,准确,清晰,具体的要求。在这个阶段结束时交出的文档中应该包括详细的数据流图,数据字典和一组简明的算法描述。二、需求分析的任务由当前系统建立目标系统模型需求分析需要借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决系统做什么的问题二、需求分析的任务1、确定对系统的综合需求1)系统功能要求应该划分出系统必须完成的所有功能。2)系统性能要求如联机系统的响应时间、系统需要的存储容量以及后援存储、重新启动和安全性等方面的考虑都属于性能要求。3)运行要求这类要求集中表现为对系统运行时所处环境的要求.例如,支持系统运行的系统软件是什么,采用哪种数据库管理系统,需要什么样的外存储器和数据通信接口等。4)将来可能提出的要求应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求.这样做的目的是在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦需要时能比较容易地进行这种扩充和修改。二、需求分析的任务2、分析系统的数据要求任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务.分析系统的数据通常采用建立概念模型的方法。复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系.利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观.为了提高可理解性,常常利用图形工具辅助描绘数据结构.常用的图形工具有层次方框图和Warnier图。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。二、需求分析的任务3、导出系统的逻辑模型综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图,数据字典和主要的处理算法描述这个逻辑模型.4、修正系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划.5、开发原型系统建立原型系统作的策略主要理由如下:(1)由于人类认识能力的局限,不能预先指定所有要求;(2)在用户和系统分析员之间存在固有的通信鸿沟;(3)用户需要一个活的系统模型,以便获得实践经验;(4)在开发过程中重复和反复是必要的和不可避免的;(5)目前有快速建立原型系统的工具可供选用.三、需求分析的步骤1、调查研究分析人员同程序员研究系统数据的流程及调查用户需求或查阅可行性报告、项目开发计划报告,访问现场,获得当前系统的具体模型,以IPO(输入、处理、输出)图或DFD(数据流图)图表示。系统分析员把沿数据流图回溯过程中所划分出来的数据元素记录在数据字典中,把对算法的简明描述记录在IPO图中,并把通过分析而补充的数据流、数据存储和处理,添加到数据流图的适当位置。用户倾听和复查分析员的报告,确认分析员的认识是否正确、有无遗漏,并及时纠正和补充分析员的认识。跟踪数据流图和复查系统的逻辑模型这两个步骤实质上构成一个循环,分析员在分析过程中必须充分重视和使用数据流图、数据字典和算法工具。三、需求分析的步骤2、分析与综合分析员从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求,是否合理。根据功能需求、性能需求、运行环境需求等,删除不合理部分,增加需要部分,组中综合成系统的解决方案,给出目标系统的详细逻辑模型。3、书写文档系统需求规格说明说修正开发计划4、需求分析评审
本文标题:第02章软件项目的需求分析(上)
链接地址:https://www.777doc.com/doc-4366010 .html