《可行性报告-可行性研究与需求分析45页.ppt》由会员分享,可在线阅读,更多相关《可行性报告-可行性研究与需求分析45页.ppt(45页珍藏版)》请在第一文库网上搜索。
1、可行性研究与需求分析 XXX软件生命周期软件过程软件过程:为了获得高质量软件为了获得高质量软件产品所需要完成的一系列任务的框架,产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。它规定了完成各项任务的工作步骤。按照在软件生命周期全过程中应完成按照在软件生命周期全过程中应完成的任务的性质,在概念上可以把软件的任务的性质,在概念上可以把软件生命周期划分成八个阶段:生命周期划分成八个阶段: p 问题定义p 可行性研究可行性研究p 需求分析需求分析p 概要设计p 详细设计p 编码和单元测试p 综合测试p 维护目录1234可行性研究步骤可行性研究的文档可行性分类理论基础软件的可行性研究
2、理论基础理论基础1p 当接受一个软件开发任务时,就表明进入软件生命周期的第一个阶段,即当接受一个软件开发任务时,就表明进入软件生命周期的第一个阶段,即首先进入首先进入可行性的研究可行性的研究。通过可行性研究可以确定问题有无可行性的解。通过可行性研究可以确定问题有无可行性的解决办法,从而避免人力、物力和财力上的浪费。通常来说,可行性研究所决办法,从而避免人力、物力和财力上的浪费。通常来说,可行性研究所需的成本占预期工程总成本的需的成本占预期工程总成本的5%10%。p 通过对被开发系统的可行性研究,能够实现用最小的代价在尽可能短的时通过对被开发系统的可行性研究,能够实现用最小的代价在尽可能短的时间
3、内确定问题是否可以解决。间内确定问题是否可以解决。也就是说可行性研究的目的不是解决问题,也就是说可行性研究的目的不是解决问题,而是确定问题是否能获得解,研究在当前而是确定问题是否能获得解,研究在当前的具体条件下,开发新系统是否的具体条件下,开发新系统是否具备必要的资源和其它条件。具备必要的资源和其它条件。可行性研究是要进一次压缩简化了的系统分可行性研究是要进一次压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程。析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程。可行性分类2p 经济可行性p 技术可行性p 运行可行性p 法律可行性p 开发方案可行性
4、在明确了问题定义之后,分析员应该给出系统的逻辑模型,然后从系统逻辑模型出发,寻找可供选择的解法。u1.经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否高于项目预期的全部利润。分析系统开发对其他产品或利润所带来的影响。2可行性分类u2.技术可行性是最难决断和最关键的问题。根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。技术可行性研究是系统开发过程中难度最大的、最重要的工作。由于系统分析和定义过程与系统技术可行性评估过程同时进行,这时系统目标、功能和性能的不确定性会给技术可行性论证带来许多困难。技术可行性研究包括:u 风险分析:在
5、给出的限制范围内,能否设计出系统,并实现必要的功能和性能。u 资源分析:研究开发系统的人员是否存在问题?可用于建立系统的其他资源,如硬件、软件等是否具备?u 技术分析:相关技术的发展是否支持这个系统。u3.运行可行性能为新系统规定的运行方式是否可行。如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。u4.法律可行性是指研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。u5.开发方案可行性:提出系统实现的各种方案并进行评价之后,从中选择最优秀的一种方案。 可行性研究的结果是可行性研究报告,它可以作为系统规格
6、说明书的一个附件。步骤步骤1当然,可行性研究最根本的任务是对以后的行动路线提出建议:如果问题没有可行的解,应该建议停止这项软件项目的开发;如果问题值得解,应该推荐一个较好的解决方案,并且为项目制定一个初步的计划。如何进行可行性研究,一般地说,可行性研究有如下步骤。3可行性研究步骤1.复查系统规模和目标u 通过仔细阅读和分析有关资料,访问有关人员,复查系统的目标和规模,改正模糊的叙述,对目标系统的约束给予清晰地描述。使分析员正在要解决的问题是用户所提出的问题。 步骤步骤22.研究目前正在使用的系统u 现有的系统是构造新系统的基础、是信息的重要来源,通过对现有系统的文档资料的阅读、分析和研究,再如
7、实地考虑该系统,总结出现有系统的优点和不足,进而得出新系统的雏形。这样调查研究,是了解一个陌生应用领域的最快方法,它既可以使新系统脱胎而生,但又不能全盘照抄。步骤步骤33可行性研究步骤3.提出新系统的高层逻辑模型u 优秀的设计通常总是从现有的实际物理系统出发,获得现有系统的高层逻辑模型。逻辑模型是数据流图来描述的,此时的数据流图不需要细化。然后,再来参考现有的逻辑模型。这样,经过上述几步的反复进行,最后根据开发系统的目标,得到新系统的说明和逻辑模型。逻辑模型确立之后,可以在此基础上建造开发系统的物理系统,通常物理系统模型是用系统流程图来表示的。 步骤步骤44.重新定义问题u 新系统的逻辑模型是
8、分析员对新系统的描述。为了使用户和分析员有同样的看法,分析员应该和用户一起再次复查问题定义,再次确定工程规模、目标和约束条件,并修改已发现的错误。u 可行性研究的前四个步骤构成一个循环:分析员定义问题,分析这个问题,导出一个试探性的解,再此基础上再次定义问题,再次分析,再次修改,继续这个过程,直到提出的逻辑模型完全符合系统目标为止。步骤步骤53可行性研究步骤5.提出和评价供选择的方案u 分析员从系统的逻辑模型出发,提出若干较高层次的、较抽象的物理解决供比较和选择。从技术、经济、操作等方面进行分析比较,并估算开发成本、运行费用和纯收入。在此基础上对每个可能的系统进行成本/效益分析。 步骤步骤66
9、.推荐一个方案并说明理由u在对上一步提出的各种方案分析比较的基础上,提出向用户推荐的方案,在推荐的方案中应清楚地表明:u (1)本项目的开发价值;u (2)推荐这个方案的理由;u (3)制定实现进度表,这个进度表不需要也不可能很详细,通常只需要估计生存周期每个阶段的工作量。步骤步骤73可行性研究步骤7.书写计划任务书u 把上述材料进行分析汇总,草拟一份描述计划任务的可行性论证报告。此报告应包括以下内容:(1)系统概述:对当前系统及其存在问题的简单描述;新系统的开发目的、目标、业务对象和范围;新系统和它的各个子系统功能与特性;新系统与当前系统的比较等。新系统可以用系统流程图来描述,并附上重要的数
10、据流图和数据字典以及加工说明作为补充。(2)可行性分析:这是报告的主体。论述新系统在经济上、技术上、运行上、法律上的可行性,以及对新系统的主客观条件的分析。(3)拟定开发计划:工程进度表,人员配备情况,资源配备情况,估计出每个阶段的成本、约束条件等。(4)结论意见:综合上述分析,说明新系统是否可行,结论可分为三类:可立即进行、推迟进行、不能和不值得进行。 步骤步骤88.提交审查u用户和使用部门的负责人仔细审查上述的文档,也可以召开论证会。论证会成员有用户、使用部门负责人及有关方面专家,对该方案进行论证,最后由论证会成员签署意见,指明该任务计划书是否通过。4可行性研究的文档u 1. 引言:说明编
11、写本文档的目的,项目的名称、背景,本文档用到的专门术语和参考资料。u 2. 可行性研究前提:说明开发项目的功能、性能和基本要求,达到的目标,各种限制条件,可行性研究方法和决定可行性的主要因素。u 3. 对现有系统的分析:说明现有系统的处理流程和数据流程,工作负荷,各项费用支出,所需各类专业技术人员和数量,所需各种设备,现有系统存在什么问题。u 4. 所建议系统的技术可行性分析:对所建议系统的简要说明,处理流程和数据流程,与现有系统比较的优越性,采用所建议系统对用户的影响,对各种设备、现有软件、开发环境和运行环境的影响,对经费支出的影响,对技术可行性的评价。可行性研究结束后要提交的文档是可行性研
12、究报告。一个可行性研究报告的主要内容如下:4可行性研究的文档u 5. 所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益,收益投资比,投资回收周期。u 6. 社会因素可行性分析:说明法律因素对合同责任、侵犯专利权和侵犯版权等问题的分析,说明用户使用可行性是否满足用户行政管理、工作制度和人员素质的要求。u 7. 其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。u 8. 结论意见:说明项目是否能开发,还需什么条件才能开发,对项目目标有何变动等。可行性研究结束后要提交的文档是可行性研究报告。一个可行性研究报告的主要内容如下:目录12345分析建模与规格说明实体关系图数
13、据流图与用户通信技术理论基础6状态转换图7数据字典8结论与应用软件的需求分析理论基础理论基础1p 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。p 对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码对软件需求的深入理解是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来工作做得如何出色,不能真正满足用户需求的程序只会给用户带来失望,给开发者带来烦恼。烦恼。p需求分析需求分析是发现、求精、建模、规格说明和复审的过程
14、。是发现、求精、建模、规格说明和复审的过程。p 为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。说,需求分析的第一步是尽可能准确地了解用户当前的情况和需要解决的问题。1理论基础理论基础u为了更好地理解问题,人们常常采用建立模型的方法。u所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。u通常,模型由一组图形符号和组织这些符号的规则组成。u除了用分析模型表示软件需求之外,还要写出准确的软件需求
15、规格说明。u模型既是软件设计的基础,也是编写软件规格说明的基础。模型模型软件需求规格说明软件需求规格说明1理论基础理论基础在分析软件需求和编写软件规格说明的过程中,软件开发者和软件用户都起着关键的、必不可少的作用。用户与开发者之间需要通信、沟通的内容非常多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。与用户通信的技术与用户通信的技术2p软件需求分析总是从两方或多方之间的通信开始。p用户面临的问题需要用基于计算机的方案来解决;开发者应该对用户的需求作出反应,给用户提供帮助。p这样就产生了相互通信的需求。但是,正如前面已经讲过的,从开始通信到真正相互理解的道路通常是充满坎坷的。p
16、良好的通信技术有助于加快理解的过程。与用户通信的技术与用户通信的技术访谈访谈2p 在正式的访谈正式的访谈中,系统分析员将提出一些事先准备好的具体问题,例如,询问客户公司销售的商品种类、雇用的销售人员数目以及信息反馈时间应该多快等。p 在非正式的访谈非正式的访谈中,将提出一些可以自由回答的开放性问题,以鼓励被访问的人员表达自己的想法,例如,询问用户为什么对目前正在使用的系统感到不满意。访谈(或称为会谈)是最早开始运用的获取用户需求的技术,也是迄今为止仍然广泛使用的主要的需求分析技术。访谈有两种基本形式:正式的、非正式的与用户通信的技术与用户通信的技术应用规格说明技术应用规格说明技术2尽管存在许多不同的简易应用规格说明方法,但是它们遵循的基本准则是相基本准则是相同的。同的。p在中立地点举行由开发者和用户双方出席的会议。p制定准备会议和参加会议的规则。p提出一个议事日程,这个日程应该足够正式以便能够涵盖所有要点,同时这个日程又应该足够非正式,以便鼓励自由思维。p由一个“协调人”来主持会议,他既可以是用户也可以是开发者还可以是从外面请来的人。p使用一种“定义机制”(例如,工作表、图表等)。p目