第2章 可行性研究及需求分析-1.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第2章 可行性研究及需求分析-1.pptx》由会员分享,可在线阅读,更多相关《第2章 可行性研究及需求分析-1.pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章 可行性研究及需求分析2.1可行性研究 2.1.1 项目立项概述 任何一个完整的软件工程项目都是从项目立项开始的。项目立项包括项目发起、项目论证、项目审核和项目立项四个过程。在发起一个项目时,项目发起人或单位为寻求他人的支持,要以书面材料的形式递交给项目的支持者和领导,使其明白项目的必要性和可行性。项目论证过程,也就是可行性研究过程。可行性研究就是指在项目进行开发之前,根据项目发起文件和实际情况,对该项目是否能在特定的资源、时间等制约条件下完成做出评估,并且确定它是否值得去开发。项目经过可行性研究并且认为可行后,还需要报告主管领导或单位,以获得项目的进一步审核,并得到他们的支持。项目通过
2、可行性研究和主管部门的批准后,将其列入项目计划的过程,叫做项目立项。经过项目发起、项目论证、项目审核和项目立项四个过程后,一个软件工程项目就正式启动了。2.1可行性研究 2.1.2可行性研究的内容 可行性研究需要从多个方面进行评估,主要包括:战略可行性操作可行性计划可行性技术可行性社会可行性市场可行性经济可行性风险可行性2.1可行性研究 2.1.3可行性研究的步骤进行可行性研究的步骤不是固化的,而是根据项目的性质、特点以及开发团队的能力有所区别。一个典型的可行性研究的步骤可以归结为以下几步,其示意图如图所示。2.2需求分析 2.2.1 需求分析的任务 为什么需要需求分析 为了开发出真正满足用户
3、需要的软件产品,明确地了解用户需求是关键。虽然在可行性研究中,已经对用户需求有了初步的了解,但是很多细节还没有考虑到。可行性研究的目的是评估系统是否值得去开发,问题是否能够解决,而不是对需求进行定义。如果说可行性分析是要决定“做还是不做”,那么需求分析就是要回答“系统必须做什么”这个问题。需求分析是一个非常重要的过程,它完成的好坏直接影响了后续软件开发的质量。2.2需求分析 1.确定系统的运行环境要求 系统运行时的硬件环境要求,如对计算机的CPU、内存、存储器、输入/输出方式、通信接口和外围设备等的要求;软件环境要求,如操作系统、数据库管理系统和编程语言等的要求。2.2需求分析 2.确定系统的
4、功能性需求和非功能性需求需求可以分为两大类,功能性需求和非功能性需求,前者定义了系统做什么,后者定义了系统工作时的特性。功能需求是软件系统的最基本的需求表述,包括对系统应该提供的服务,如何对输入做出反应,以及系统在特定条件下的行为描述。在某些情况下,功能需求还必须明确系统不应该做什么,这取决于开发的软件类型、软件未来的用户、以及开发的系统类型。所以,功能性的系统需求,需要详细地描述系统功能特征、输入和输出接口、异常处理方法等。非功能性需求包括对系统提出的性能需求、可靠性和可用性需求、系统安全以及系统对开发过程、时间、资源等方面的约束和标准等。性能需求指定系统必须满足的定时约束或容量约束,一般包
5、括速度(响应时间)、信息量速率(吞吐量、处理时间)和存储容量等方面的需求。2.2需求分析 3.进行有效的需求分析一般情况下,用户并不熟悉计算机的相关知识,而软件开发人员对相关的业务领域也不甚了解,用户与开发人员之间对同一问题理解的差异和习惯用语的不同往往会为需求分析带来很大的困难。所以,开发人员和用户之间充分和有效的沟通在需求分析的过程中至关重要。有效的需求分析通常都具有一定的难度,这一方面是由于交流障碍所引起的,另一方面是由于用户通常对需求的陈述不完备、不准确和不全面,并且还可能在不断的变化。所以开发人员不仅需要在用户的帮助下抽象现有的需求,还需要挖掘隐藏的需求。此外,把各项需求抽象为目标系
6、统的高层逻辑模型对日后的开发工作也至关重要。合理的高层逻辑模型是系统设计的前提。2.2需求分析 4.在需求分析的过程中应该遵守一些原则首先,需求分析是一个过程,它应该贯穿于系统的整个生命周期中,而不是仅仅属于软件生命周期早期的一项工作。其次,需求分析应该是一个迭代的过程。由于市场环境的易变性以及用户本身对于新系统要求的模糊性,需求往往很难一步到位。通常情况下,需求是随着项目的深入而不断变化的。所以需求分析的过程还应该是一个迭代的过程。此外,为了方便评审和后续的设计,需求的表述应该具体、清晰,并且是可测量的、可实现的。最好能够对需求进行适当的量化。比如:系统的响应时间应该低于0.5秒;系统在同一
7、时刻最多能支持30000个用户。2.2需求分析 5.需求分析的两个任务。首先,是需求分析的建模阶段,即在充分了解需求的基础上,要建立起系统的分析模型。其次,是需求分析的描述阶段,就是把需求文档化,用软件需求规格说明书的方式把需求表达出来。2.2需求分析 6.软件需求规格说明书 软件需求规格说明书是需求分析阶段的输出,它全面、清晰地描述了用户需求,因此是开发人员进行后续软件设计的重要依据。软件需求规格说明书应该具有清晰性、无二义性、一致性和准确性等特点。同时,它还需通过严格的需求验证、反复修改的过程才能最终确定。2.2需求分析 2.2.2需求分析的步骤为了准确获取需求,需求分析必须遵循一系列的步
8、骤。只有采取了合理的需求分析的步骤,开发人员才能更有效地获取需求。一般来说,需求分析分为需求获取、分析建模、需求描述和需求验证4步。以下将分步进行介绍。2.2需求分析 1)需求获取 需求获取就是收集并明确用户需求的过程。系统开发方人员通过调查研究,要理解当前系统的工作模型、用户对新系统的设想与要求。在需求获取的初期,用户提出的需求一般模糊而且凌乱,这就需要开发人员能够选取较好的需求分析的方法,提炼出逻辑性强的需求。而且不同用户的需求有可能发生冲突,对于发生冲突的需求必须仔细考虑并做出选择。获取需求的方法有多种,比如问卷调查、访谈、实地操作、建立原型等。2.2需求分析 2)分析建模获取到需求后,
9、下一步就应该对开发的系统建立分析模型了。模型就是为了理解事物而对事物做出的一种抽象,通常由一组符号和组织这些符号的规则组成。对待开发系统建立各种角度的模型有助于人们更好地理解问题。通常,从不同角度描述或理解软件系统,就需要不同的模型。常用的建模方法有数据流图、实体关系图、状态转换图、控制流图、用例图、类图、对象图等。2.2需求分析 3)需求描述 需求描述就是指编制需求分析阶段的文档。一般情况下,对于复杂的软件系统,需求阶段会产生3个文档:系统定义文档(用户需求报告)、系统需求文档(系统需求规格说明书)、软件需求文档(软件需求规格说明书)。而对于简单的软件系统而言,需求阶段只需要输出软件需求文档
10、就可以了。软件需求规格说明书主要描述软件部分的需求,简称SRS(Software Requirement Specification),它站在开发者的角度,对开发系统的业务模型、功能模型、数据模型、行为模型等内容进行描述。经过严格的评审后,它将作为概要设计和详细设计的基线。2.2需求分析 文档与软件规模的对应关系2.2需求分析 4)需求验证 需求分析的第四步是验证以上需求分析的成果。需求分析阶段的工作成果是后续软件开发的重要基础,为了提高软件开发的质量,降低软件开发的成本,必须对需求的正确性进行严格的验证,确保需求的一致性、完整性、现实性、有效性。确保设计与实现过程中的需求可回溯性,并进行需求
11、变更管理。2.2需求分析 2.2.3 需求管理 为了更好的进行需求分析并记录需求结果,需要进行需求管理。需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。可用于:获取、组织和记录系统需求使客户和项目团队在系统变更需求上达成并保持一致 有效需求管理的关键在于维护需求的明确阐述、每种需求类型所适用的属性,以及与其他需求和其他项目工件之间的可追踪性。2.2需求分析 2.2.4 需求分析的常用方法 需求分析的方法有多种,下面只简单介绍功能分解方法、结构化分析方法、信息建模方法和面向对象的分析方法。(1)功能分解方法功能分解方法是将一个系统看成是由若干功能模块组成的,每个功能又可分解为若
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 可行性研究及需求分析-1 可行性研究 需求 分析
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内