您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第2章-软件要求定义
第2章软件要求定义2.1可行性研究2.2项目开发计划2.3软件需求分析2.4IDEF方法第2章软件要求定义返回主目录第2章软件要求定义第2章软件要求定义2.12.1.1可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把它们清楚地列举出来。然后,分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要研究它的可行性。可从以下三方面分析研究每种解决方法的可行性。第2章软件要求定义1.技术可行性对要开发项目的功能、性能和限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技术可行性研究的内容。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平和已有的工作基础。技术可行性常常是最难解决的方法,因为项目的目标、功能和性能比较模糊。(1)开发的风险:在给出的限制范围内,能否设计出系统并实现必须的功能和性能?(2)资源的有效性:可用于开发的人员是否存在问题?可用于建立系统的其他资源是否具备?第2章软件要求定义(3)技术:相关技术的发展是否支持这个系统?开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。2.进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上是否合算,应考虑一个“底线”,经济可行性研究范围较广,包括成本—效益分析,长期公司经营策略,开发所需的成本和资源,潜在的市场前景。第2章软件要求定义3.社会可行性研究要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组绢内是否行得通,现有管理制度、人员素质和操作方式是否可行,这些即为社会可行性研究的内容。社会可行性所涉及的范围也比较广,它包括合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。第2章软件要求定义2.1.2可行性研究的具体步骤(1)确定项目规模和目标。分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。(2)研究正在运行的系统。正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,因而需要开发一个新的计算机系统来代替现有系统。现有的系统是信息的重要来源。人们需要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否关不管使用费用等。第2章软件要求定义应该收集、研究和分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现在系统的高层系统流程图(见2.1.3节),与有关人员一起审查该系统流程图是否正确。系统流程图反映了现有系统的基本功能和处理流程。(3)建立新系统的高层逻辑模型。根据对现有系统的分析研究,逐渐明确新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典(见8.3、8.4节)来描述数据在系统中的流动和处理情况。注意,现在还不是软件需求分析阶段,不是完整、详细的描述,只是概括地描述高层的数据处理和流动。第2章软件要求定义(4)导出和评价各种方案。分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导现若干较高层次的物理解法。根据技术可行性、经济可行性和社会可行性对各种方案进行评估,去掉行不的解法,就得到了可行的解法。(5)推荐可行的方案。根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案是可行的原因和理由。该项目是否值得开发的主要因素是从经济上看是否合算,这就要求分析员对推荐的可行方案进行成本—效益分析。第2章软件要求定义(6)编写可行性研究报告。将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。第2章软件要求定义2.1.31.系统流程图是描述物理系统的工具。所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。在可行性研究中,可以通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能等。系统流程图不仅能用于可行性研究,还能用于需求分析阶段。系统流程图可用图形符号来表示系统中的各个元素,例如,人工处理、数据处理、数据库、文件和设备等。它表达了系统中各个元素之间的信息流动的情况。第2章软件要求定义画系统流程图时,首先要搞清业务处理过程以及处理中的各个元素,同时要理解系统的流程图的各个符号的含义,选择相应的符号来代表系统中的各个元素。所画的系统流程图要反映出系统的处理流程。在进行可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型,可以用系统流程图来描述所建议系统的物理模型。2.系统流程图的符号如表2-1第2章软件要求定义第2章软件要求定义第2章软件要求定义3.下面以某工厂的库房管理为例,说明系统流程图的使用。某工厂有一个库房,存放该厂生产需要的物品,库房中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便其订货,每天向采购部门送一份采购报告。库房可使用一台微机处理更新库存文件和产生订货报告的任务。物品的发放和接受称为变更记录,由键盘录入到微机中。系统中的库存管理模块对变更记录进行处理,更新存储在磁盘上的库存文件,并把订货信息记录到联机存储中。每天由报告生成模块读一次订货信息,并打印出订货报告。图2.1给出了该系统的系统流程图。第2章软件要求定义图2.1库存管理系统的系统流程图库存管理模块输入变更记录报告生成模块订货信息订货报告库存第2章软件要求定义2.1.4成本—效益分析成本—效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本一效益分析首先是估算将要开发的系统的开发成本,然后与可能取得效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期和纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间和消耗的物资等。下面主要介绍有形效益的分析。第2章软件要求定义1.成本估算的目的是对项目投资。经过成本估算后,得到项目开发时需要的费用,该费用就是项目的投资(成本估算的方法见15.2.4节)。项目开发后,应取得相应的效益,有多少效益才合算?这就是考虑货币的时间价值。通常用利率表示货币的时间价值。设利率为i,现存放P元,n年后可得钱数为F,若不计复利,则F=P·(1+n·i)F就是P元在n年后的价值。反之,若n年后能收入F元,那第2章软件要求定义P=F/(1+n·i)例如,库房管理系统,它每天能产生一份订货报告。假定开发该系统共需5千元,系统建成后及时订货,消除物品短缺问题,估计每年能节约2.5千元,5年共节省12.5千元。假定年利率为5%,利用上面计算货币现在价值的公式,可以算出建立库房管理系统皇,每年预计节省的费用的现在价值,如表2-2所示。第2章软件要求定义表2–2将来的收入折算成现在值年将来值/千元(1+n.0.05)现在值/千元累计的现在值/千元123452.52.52.52.52.51.051.11.151.21.252.3812.2732.1742.0832.02.3814.6546.8289.36111.361第2章软件要求定义2.通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值昨开发。例如,库房管理系统两年后可以节省5.104千元,比最初的投资还多0.104千元。因此,投资回收期是2年。投资回收期仅仅是一项经济指标,为了衡量一个开发项目的价值,还应考虑其他经济指标。3.衡量项目价值的另一个经济指标是项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。第2章软件要求定义这相当于投资开发一个项目与把钱存入银行中进行比较,看这两种方案的优劣。若纯收入为零,则项目的预期效益和在银行存款一样,但是开发一个项目要冒风险,因此,从经济观点看这个项目,可能是不值得投资开发的。若纯收入小于零,那么这个项目显然不值得投资开发。对上述的库房管理系统,项目纯收入预计为11.361-5=6.361(千元)第2章软件要求定义2.1.5可行性研究结束后要提交的文档是可行性研究报告。一个(1)引言:说明编写本文档的目的,项目的名称、背景,本文档用到的专门术语和参考资料。(2)可行性研究前提:说明开发项目的功能、性能和基本要求,达到的目标,各种限制条件,可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程、工作负荷,各项费用支出,所需各类专业技术人员和数量,所需各种设备,现有系统存在什么问题。第2章软件要求定义(4)所建设系统的技术可行性分析:对所建设系统的简要说明,处理流程和数据流程,与现有系统比较的优越性,采用所建议系统对用户的影响,对各种设备、现有软件、开发环境和运行环境的影响,对经费支出的影响,对技术可行性的评价。(5)所建议系统的经济可行性分析:说明所建设系统的各种支出,各种效益,收益/投资比,投资回收周期。(6)社会因素可行性分析:说明法律因素对合同责任、侵犯专利权和侵犯版权等问题的分析,说明用户使用可行性是否满足用户行政管理、工作制度和人员素制裁的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论意见:说明项目是否能开发,还需什么条件才能开发,对项目目标有何变动等。第2章软件要求定义2.2经过可行性研究后,若一个项目是值得开发的,则接下来应制定项目开发计划。软件项目开发计划是软件工程中的一种管理性文档。主要是对开发的软件项目的费用、时间、进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划,是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。项目开发计划是一个管理性的文档,它的主要内容如下:(1)项目概述:说明项目的各项主要工作;说明软件的功能、性能;为完成项目应具备的条件;用户及合同承包者承担的工作、完成期限及其他条件限制;应交付的程序名称,所使用的语言及存储形式;应交付的文档。第2章软件要求定义(2)实施计划:说明任务的划分,各项任务的责任人;说明项目开进度,按阶段应完成的任务,用图表说明每项任务的开始时间和完成时间;说明项目的预算,各阶段的费用支出预算。(3)人员组织及分工:说明开发该项目所需人员的类型、组成结构和数量等。(4)交付期限:说明项目最后完工交付的日期。第2章软件要求定义2.3软件需求分析2.3.1需求分析的特点在进行可行性研究和项目开发计划以后,如果确认开发一个新的软件系统是必要的而且是可能的,那么就可进入需求分析阶段。需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相庆的形式功能规约(需求规格说明)的过程。需求分析虽处于软件开发过程的开始阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。在计算机发展的早期,所求解问题的规模国,需求分析被忽视。第2章软件要求定义随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中所处的地位愈加突出,从而也愈加困难,它的难点主(1)问题的复杂性。这是由用户需求所涉及的因素繁多引起的,如运行环境和系统功能等。(2)交流障碍。需求分析涉及人员较多,如软件系统用
本文标题:第2章-软件要求定义
链接地址:https://www.777doc.com/doc-4544272 .html