您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程课本讲解第2章 软件要求定义
第2章软件要求定义第2章软件要求定义2.1可行性研究2.2项目开发计划2.3软件需求分析2.4IDEF方法2.5小结习题第2章软件要求定义2.1可行性研究2.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.1.3系统流程图1.系统流程图的作用系统流程图是描述物理系统的工具。所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。在可行性研究中,可以通过画出系统流程图来了解要开发的项目的大概处理流程、范围和功能等。系统流程图不仅能用于可行性研究,还能用于需求分析阶段。第2章软件要求定义系统流程图可用图形符号来表示系统中的各个元素,例如,人工处理、数据处理、数据库、文件和设备等。它表达了系统中各个元素之间的信息流动的情况。画系统流程图时,首先要搞清业务处理过程以及处理中的各个元素,同时要理解系统的流程图的各个符号的含义,选择相应的符号来代表系统中的各个元素。所画的系统流程图要反映出系统的处理流程。第2章软件要求定义2.系统流程图的符号系统流程图的符号如表2-1所示。第2章软件要求定义表2-1系统流程图的符号符号名称说明处理能改变数据值或数据位置的加工或部件,例如,程序模块、处理机等都是处理输入/输出表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上换页连接指出转到另一页图上或由另一页图转来数据流用来连接其他符号,指明数据流动方向文档通常表示打印输出,也可表示用打印终端输入数据联机存储表示任何种类的联机存储,包括磁盘、软盘和海量存储器件等第2章软件要求定义符号名称说明磁盘磁盘输入/输出,也可表示存储在磁盘上的文件或数据库显示CRT终端或类似的显示部件,可用于输入或输出,也可既输入又输出人工输入人工输入数据的脱机处理,例如,填写表格人工操作人工完成的处理,例如,会计在工资支票上签名辅助操作使用设备进行的脱机操作通信链路通过远程通信线路或链路传送数据第2章软件要求定义3.系统流程图的示例下面以某工厂的库房管理为例,说明系统流程图的使用。某工厂有一个库房,存放该厂生产需要的物品,库房中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便其订货,每天向采购部门送一份采购报告。第2章软件要求定义库房可使用一台微机处理更新库存文件和产生订货报告的任务。物品的发放和接收称为变更记录,由键盘录入到微机中。系统中的库存管理模块对变更记录进行处理,更新存储在磁盘上的库存文件,并把订货信息记录到联机存储中。每天由报告生成模块读一次订货信息,并打印出订货报告。图2.1给出了该系统的系统流程图。第2章软件要求定义图2.1库存管理系统的系统流程图第2章软件要求定义例如:可用系统流程图来分析下述问题。某图书馆闭架借书流程如下:读者须先被验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。图2-2的系统流程图描述了上述系统的概貌。图中的每个符号定义了组成系统的一个部件,而并没有指明每个部件的具体工作过程。图中的箭头指定了系统中信息的流动(逻辑)路径。第2章软件要求定义读者验证索书单图书查询检书卡图书数据库借书借书单取书第2章软件要求定义2.1.4成本—效益分析成本—效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本—效益分析首先是估算将要开发的系统的开发成本,然后与可能取得效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、回收投资期和纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。系统的经济效益等于因使用新的系统而增加的收入加上使用新的系统可以节省的运行费用。运行费用包括操作人员人数、工作时间和消耗的物资等。下面主要介绍有形效益的分析。第2章软件要求定义F=P·(1+n·i)F就是P元在n年后的价值。反之,若n年后能收入F元,那么这些钱现在的价值为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.8288.91110.911第2章软件要求定义2.投资回收期通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。例如,库房管理系统两年后可以节省5.104千元,比最初的投资还多0.104千元。因此,投资回收期是2年。投资回收期仅仅是一项经济指标,为了衡量一个开发项目的价值,还应考虑其他经济指标。第2章软件要求定义3.纯收入衡量项目价值的另一个经济指标是项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。这相当于投资开发一个项目与把钱存入银行中进行比较,看这两种方案的优劣。若纯收入为零,则项目的预期效益和在银行存款一样,但是开发一个项目要冒风险,因此,从经济观点看这个项目,可能是不值得投资开发的。若纯收入小于零,那么这个项目显然不值得投资开发。对上述的库房管理系统,项目纯收入预计为10.911-5=5.911(千元)第2章软件要求定义2.1.5可行性研究的文档可行性研究结束后要提交的文档是可行性研究报告。一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的,项目的名称、背景,本文档用到的专门术语和参考资料。(2)可行性研究前提:说明开发项目的功能、性能和基本要求,达到的目标,各种限制条件,可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程、工作负荷、各项费用支出,所需各类专业技术人员和数量,所需各种设备,现有系统存在什么问题。第2章软件要求定义(4)所建议系统的技术可行性分析:对所建议系统的简要说明,处理流程和数据流程,与现有系统比较的优越性,采用所建议系统对用户的影响,对各种设备、现有软件、开发环境和运行环境的影响,对经费支出的影响,对技术可行性的评价。(①技术实力;已有工作基础③设备条件)(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益,收益/投资比,投资回收周期。(6)社会因素可行性分析:说明法律因素对合同责任、侵犯专利权和侵犯版权等问题的分析,说明用户使用可行性是否满足用户行政管理、工作制度和人员素质的要求。第2章软件要求定义(7)可供其他选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论意见:说明项目是否能开发,还需什么条件才能开发,对项目目标有何变动等。可行性文档基本格式可行性文档示例第2章软件要求定义2.2项目开发计划经过可行性研究后,若一个项目是值得开发的,则接下来应制定项目开发计划。软件项目开发计划是软件工程中的一种管理性文档,主要是对开发的软件项目的费用、时间、进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划,是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。第2章软件要求定义项目开发计划是一个管理性的文档,它的主要内容如下:(1)项目概述:说明项目的各项主要工作;说明软件的功能、性能;为完成项目应具备的条件;用户及合同承包者承担的工作、完成期限及其他条件限制;应交付的程序名称,所使用的语
本文标题:软件工程课本讲解第2章 软件要求定义
链接地址:https://www.777doc.com/doc-213369 .html