软件工程第二讲教案Word格式.docx

上传人:b****1 文档编号:3672479 上传时间:2023-05-02 格式:DOCX 页数:15 大小:46.17KB
下载 相关 举报
软件工程第二讲教案Word格式.docx_第1页
第1页 / 共15页
软件工程第二讲教案Word格式.docx_第2页
第2页 / 共15页
软件工程第二讲教案Word格式.docx_第3页
第3页 / 共15页
软件工程第二讲教案Word格式.docx_第4页
第4页 / 共15页
软件工程第二讲教案Word格式.docx_第5页
第5页 / 共15页
软件工程第二讲教案Word格式.docx_第6页
第6页 / 共15页
软件工程第二讲教案Word格式.docx_第7页
第7页 / 共15页
软件工程第二讲教案Word格式.docx_第8页
第8页 / 共15页
软件工程第二讲教案Word格式.docx_第9页
第9页 / 共15页
软件工程第二讲教案Word格式.docx_第10页
第10页 / 共15页
软件工程第二讲教案Word格式.docx_第11页
第11页 / 共15页
软件工程第二讲教案Word格式.docx_第12页
第12页 / 共15页
软件工程第二讲教案Word格式.docx_第13页
第13页 / 共15页
软件工程第二讲教案Word格式.docx_第14页
第14页 / 共15页
软件工程第二讲教案Word格式.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件工程第二讲教案Word格式.docx

《软件工程第二讲教案Word格式.docx》由会员分享,可在线阅读,更多相关《软件工程第二讲教案Word格式.docx(15页珍藏版)》请在冰点文库上搜索。

软件工程第二讲教案Word格式.docx

2.1可行性研究的任务

通过对被开发系统的可行性研究,能够实现用最小的代价在尽可能短的时间内确定问题是否可以解决。

也就是说可行性研究的目的不是解决问题,而是确定问题是否能获得解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。

可行性研究是要进一次压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程。

在明确了问题定义之后,分析员应该给出系统的逻辑模型,然后从系统逻辑模型出发,寻找可供选择的解法。

由于有多种解法,因此要研究每一种解法的可行性,一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性。

1.经济可行性

经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否高于项目预期的全部利润。

分析系统开发对其他产品或利润所带来的影响。

2.技术可行性

技术可行性是最难决断和最关键的问题。

根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。

技术可行性研究是系统开发过程中难度最大的、最重要的工作。

由于系统分析和定义过程与系统技术可行性评估过程同时进行,这时系统目标、功能和性能的不确定性会给技术可行性论证带来许多困难。

技术可行性研究包括:

(1)风险分析:

在给出的限制范围内,能否设计出系统,并实现必要的功能和性能。

(2)资源分析:

研究开发系统的人员是否存在问题?

可用于建立系统的其他资源,如硬件、软件等是否具备?

(3)技术分析:

相关技术的发展是否支持这个系统。

3.运行可行性

运行可行性能为新系统规定的运行方式是否可行?

如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。

4.法律可行性

法律可行性是指研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。

5.开发方案可行性

提出系统实现的各种方案并进行评价之后,从中选择最优秀的一种方案。

可行性研究的结果可以作为系统规格说明书的一个附件,表2-1所示的可行性研究目录。

当然,可行性研究最根本的任务是对以后的行动路线提出建议:

如果问题没有可行的解,应该建议停止这项软件项目的开发;

如果问题值得解,应该推荐一个较好的解决方案,并且为项目制定一个初步的计划。

表2-1可行性研究目录

1.引言

1.1问题

1.2实现条件

1.3约束条件

2.管理

2.1重要的发现

2.2注释

2.3建议

2.4效果

3.方案选择

3.1选择系统配置

3.2选择方案的标准

4.系统描述

4.1缩写词

4.2各子系统的可行性

5.成本效益分析

6.技术风险评价

7.有关法律问题

8.用户使用可能性

9.其他

2.2可行性研究的步骤

如何进行可行性研究,其步骤是什么,一般地说,可行性研究有如下步骤。

1. 

复查系统规模和目标

通过仔细阅读和分析有关资料,访问有关人员,复查系统的目标和规模,改正模糊的叙述,对目标系统的约束给予清晰地描述。

使分析员正在要解决的问题是用户所提出的问题。

 

2.研究目前正在使用的系统

现有的系统是构造新系统的基础、是信息的重要来源,通过对现有系统的文档资料的阅读、分析和研究,再如实地考虑该系统,总结出现有系统的优点和不足,进而得出新系统的雏形。

这样调查研究,是了解一个陌生应用领域的最快方法,它既可以使新系统脱胎而生,但又不能全盘照抄。

3.提出新系统的高层逻辑模型

优秀的设计通常总是从现有的实际物理系统出发,获得现有系统的高层逻辑模型。

逻辑模型是数据流图来描述的,此时的数据流图不需要细化。

然后,再来参考现有的逻辑模型。

这样,经过上述几步的反复进行,最后根据开发系统的目标,得到新系统的说明和逻辑模型。

逻辑模型确立之后,可以在此基础上建造开发系统的物理系统,通常物理系统模型是用系统流程图来表示的。

4.重新定义问题

新系统的逻辑模型是分析员对新系统的描述。

为了使用户和分析员有同样的看法,分析员应该和用户一起再次复查问题定义,再次确定工程规模、目标和约束条件,并修改已发现的错误。

可行性研究的前四个步骤构成一个循环:

分析员定义问题,分析这个问题,导出一个试探性的解,再此基础上再次定义问题,再次分析,再次修改……,继续这个过程,直到提出的逻辑模型完全符合系统目标为止。

5.提出和评价供选择的方案

分析员从系统的逻辑模型出发,提出若干较高层次的、较抽象的物理解决供比较和选择。

从技术、经济、操作等方面进行分析比较,并估算开发成本、运行费用和纯收入。

在此基础上对每个可能的系统进行成本/效益分析。

6.推荐一个方案并说明理由

在对上一步提出的各种方案分析比较的基础上,提出向用户推荐的方案,在推荐的方案中应清楚地表明:

(1)本项目的开发价值;

(2)推荐这个方案的理由;

(3)制定实现进度表,这个进度表不需要也不可能很详细,通常只需要估计生存周期每个阶段的工作量。

7.推荐行动方针

根据上面的可行性研究的结果,做出一个关键性的决定,表明是否进行这项开发工程。

分析员还需要较详细地分析开发此项工程的成本效益情况,这可作为使用部门的负责人根据经济实力决定是否投资此项工程的依据。

8.书写计划任务书

把上述材料进行分析汇总,草拟一份描述计划任务的可行性论证报告。

此报告应包括以下内容:

(1)系统概述

对当前系统及其存在问题的简单描述;

新系统的开发目的、目标、业务对象和范围;

新系统和它的各个子系统功能与特性;

新系统与当前系统的比较等。

新系统可以用系统流程图来描述,并附上重要的数据流图和数据字典以及加工说明作为补充。

(2)可行性分析

这是报告的主体。

论述新系统在经济上、技术上、运行上、法律上的可行性,以及对新系统的主客观条件的分析。

(3)拟定开发计划

工程进度表,人员配备情况,资源配备情况,估计出每个阶段的成本、约束条件等。

(4)结论意见

综合上述分析,说明新系统是否可行,结论可分为三类:

可立即进行、推迟进行、不能和不值得进行。

9.提交审查

用户和使用部门的负责人仔细审查上述的文档,也可以召开论证会。

论证会成员有用户、使用部门负责人及有关方面专家,对该方案进行论证,最后由论证会成员签署意见,指明该任务计划书是否通过。

2.3系统流程图

1.系统流程图的基本符号

  在进行可行性研究时,需要了解和分析现有的系统,并以概括的形式描述现有系统;

进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要掌握描绘未来的物理系统概貌的方法。

  

图2-1系统流程图的基本符号可行性研究对现有系统做概括的物理模型描述,如用图形工具表示则更加直观简洁。

系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序,文件,数据库,表格,人工过程等等)。

系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程,系统流程图的基本符号如图2-1所示。

2.系统流程图的作用

(1)制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。

(2)系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。

(3)系统分析员可直接在系统流程图上拟出可以实现计算机处理的部分。

(4)可利用系统流程图来分析业务流程的合理性。

例如:

可用系统流程图来分析下述问题。

某图书馆闭架借书流程如下:

读者须先被验明证件后才能进入查询室。

读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。

找到所需图书并填好索书单后到服务台借书。

如果所借图书还有剩余,管理员将填好的借书单,从库房中取出图书交于读者。

图2-2的系统流程图描述了上述系统的概貌。

图中的每个符号定义了组成系统的一个部件,而并没有指明每个部件的具体工作过程。

图中的箭头指定了系统中信息的流动(逻辑)路径。

图2-2图书馆借书系统流程图

2.4成本效益分析

经济效益通常表现为减少运行费用或增加收入。

但是,投资开发新系统往往要冒一定风险,系统的开发成本可能比预计的高,效益可能比预期的低。

成本/效益分析的目的是要从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部门负责人正确地做出是否投资于这项开发工程的决定。

成本/效益分析首先要估算待开发系统的开发成本,然后与可能取得的效益进行比较与权衡。

效益分有形的和无形的,其中有形的效益可用货币的时间价值、投资的回收期、纯收入等指标进行度量。

无形的效益主要是从性质上和心理上进行衡量,很难进行量的比较。

但是无形的效益有特殊的潜在价值,在某些情况下将会转化成有形的效益。

2.4.1成本估计

为了使开发项目能够在规定的时间内完成,而且不超过预算,成本估算和管理控制是关键。

成本估计是软件费用管理的核心,也是软件工程管理中最困难、最易出错的问题之一。

1974年,Wolverton就把成本估计方法分为5种,在Bolehm的著作中,进一步把它们分为7种,如表2-2所示。

在这里把主要的成本估计方法总结和归并为“自顶向下估计”、“由底向上估计”和“算法模型估计”三类,下文将依次介绍并举例加以说明。

表2-2成本估计使用的方法

R.W.Wolverton

B.W.Boehm

自顶向下估计

自底向上估计

标准值估计法

比率估计法

相似与差异估计法

算法模型估计

专家判断

类别估计

Parkinson法

削价取胜法

1、自顶向下估计

这种方法根据被开发项目的整体特性,首先估算出总的开发成本,然后在项目内部进行成本分配。

因这类估计通常仅由少数上层技术与管理人员参加,所以属于“专家判断”的性质。

这些专家依靠以往的经验,把将要开发的软件与过去开发过的软件进行比较,以估计新的开发所需要的工作量和成本。

自顶向下估计的缺点是,对开发中容易低估某些局部的问题或特殊困难,甚至没有考虑到。

如果所开发的软件缺乏可以借鉴的经验,在估计时就可能出现较大的误差。

当参加估计的专家人数较多时,可采用特尔斐(Delphi)法来汇集他们的意见。

特尔斐法的传统作法是:

把系统定义文件或规格说明发给各位专家,各自单独进行成本估计,填入如图2-3所示成本估计表。

然后由协调人综合专家意见,摘要通知大家,并开始新的一轮估计。

这种估计要反复多次,直到专家们的意见接近一致为止。

项目名:

***日期:

1/1/2001

以下是第1轮的估计值:

您的估计值平均估计值人-月

020406080100

您对下轮的估计值是35人-月

您的理由是:

 

 

图2-3特尔斐成本估计表

2、自底向上估计

与自顶向下估计相反,由底向上估计不是从整体开始,而是从一个个任务单元开始。

其具体作法是,现将开发任务分解为许多子任务,子任务又分成子任务,直到每一任务单元的内容都足够明确为止。

然后把各个任务单元的成本估计出来,汇合成项目的总成本。

由于任务单元的成本可交给各该任务的开发人员去估计,得出的结果常比较实际。

自底向上估计缺点是,由于具体工作人员往往只注意到自己范围内的工作,对综合测试、质量管理和项目管理等涉及全局的花费可能估计不足,甚至完全忽视。

因此,就会有可能使成本估计偏低。

3、算法模型估计

算法模型就是资源模型,是成本估计的又一有效工具。

由于任何资源模型都是根据历史数据导出的,所以比较客观,计算结果的重复性也好,即不论什么时候使用模型,都能得出同样的结果。

模型估计的关键,是要选好适用的模型。

模型估计法常与自顶向下估计或由底向上估计结合使用。

2.4.2费用估计

费用估算大约开始于20世纪50年代,但直至70年代以后,才引起人们的普遍重视。

由于影响软件成本的因素太多,如人、技术、环境等因素,目前软件成本估算仍是一门很不成熟的技术,国内外已有的技术只能作为借鉴。

因此应该使用几种不同的估计技术以便相互校验。

下面介绍几种成本估计技术。

1.代码行技术

代码行技术是比较简单的定量估算方法,它将开发软件功能的成本和实现这个功能需要用的源代码行数联系起来。

根据经验和历史数据估计实现一个功能需要的源程序行数。

当有以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。

一旦估计出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本。

每行代码的平均成本主要取决于软件的复杂程度和工资水平。

2.任务分解技术

这种方法首先把软件开发工程分解为若干个相对独立的任务。

再分别估计每个单独的开发任务的成本,最后加起来得出软件开发工程的总成本。

估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。

最常用的办法是按开发阶段划分任务。

如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分成更小的任务。

应该针对每个开发工程的具体特点,并且参照以往的经验尽可能准确地估计每个阶段实际需要使用的人力,包括书写文档需要的人力。

图2-4给出了各阶段在生存周期中所占百分比。

图2-4各阶段在生存周期中所占百分比 

任务分解技术步骤如下:

S1:

确定任务,即每个功能都必须经过需求分析、设计、编码和测试工作。

S2:

确定每项任务的工作量,估算需要的人月数。

S3:

找出与各项任务的对应的劳务费数据,即每个单位工作量成本(元/人月)。

因为各阶段的劳务费不同,需求分析和初步设计阶段需要较多的高级技术人员;

而详细设计、编码和早期测试则要求较多初级技术人员,而他们的工资是不同的。

S4:

计算各个功能和个阶段的成本和工作量,然后计算总成本和总工作量。

2.4.3几种度量效益的方法

1.货币的时间价值

成本估算的目的是为了对项目投资。

但投资在前,取得效益在后。

因此要考虑货币的时间价值。

通常用利率表示货币的时间价值。

设年利率为i,现已存入P元,则n年后可得钱数为

F=P(1+i)n

这就是P元钱在n年后的价值。

反之,若n年后能收入F元,那么这些钱现在的价值是

P=F/(1+i)n

例如,在工程设计中用CAD系统来取代大部分人工设计工作,每年可节省9.6万元。

若软件生存期为5年,则5年可节省48万元。

开发这个CAD系统共投资20万元。

就不能简单地把20万元同48万元相比较。

因为前者是现在投资的钱,而后者是5年以后节省的钱。

需要把5年内每年预计节省的钱折合成现在的价值才能进行比较。

设年利率是5%,利用上面计算货币现在价值的公式,可以算出引入CAD系统后,每年预计节省的钱的价值。

(参见表2-3)

表2-3货币的时间价值

年份将来值(万)(1+i)n现在值(万)累计的现在值(万)

19.61.059。

14299.1429

29.61.10258.707517.8513

39.61.15768.292826.1432

49.61.21557.897934.0411

59.61.27637.521941.5630

2.投资回收期

投资回收期是衡量一个开发工程价值的经济指标。

投资回收期就是积累的经济效益等于最初的投资所需要的时间。

投资回收期越短,就能越快获得利润。

因此,这项工程也就越值得投资。

例如,引入CAD系统两年以后,可以节省17.85万元,比最初投资还少2.15万元,但第三年可以节省8.29万元,则

2.15/8.29=0.259

因此,投资回收期是2.259年。

3.纯收入

工程的纯收入是衡量工程价值的另一项经济指标。

纯收入就是在整个生存周期之内系统的累计经济效益(折合成现在值)与投资之差。

例如,引入CAD系统之后,5年内工程的纯收入预计是41.563-20=21.563(万元)。

这相当于比较投资一个待开发的软件项目后预期可取得的效益和把钱存在银行里或贷款给其他企业所取得的效益。

如果纯收入为零,则工程的预期效益与在银行存款一样。

但开发一个软件项目有风险,从经济观点看,这个工程可能是不值得投资的。

如果纯收入小于零,那么显然这项工程不值得投资。

只有当纯收入大于零,才能考虑投资。

小结

在问题定义之后,进行可行性的研究。

通过可行性研究可以知道问题有无可行的解,进而避免人力、物力和财力上的浪费。

可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。

也就是说可行性研究的目的是确定问题是否值得去解,而不是解决问题,可行性研究是要进一次压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程。

本章主要介绍了可行性研究的任务、步骤和系统流程图,对于成本/效益分析也作了介绍。

习题

1. 

可行性研究的任务?

2. 

简述经济可行性和社会可行性?

3. 

简述可行性研究的步骤?

4. 

在进行可行性研究时,向用户推荐的方案中应清楚地表明什么?

5. 

可行性研究报告的主要内容有哪些?

6. 

说明一下系统流程图的作用?

7. 

简述自顶向下估计和自底向上估计的缺点。

8. 

简述费用估计中任务分解技术步骤。

9. 

成本-效益分析可用哪些指标进行度量?

10. 

可行性研究的目的是什么?

有哪些可行性需要研究?

11. 

设计一个软件的开发成本为5万元,寿命为3年。

未来3年的每年收益预计为22000元,24000元,26620元。

银行年利率为10%。

试对此项目进行成本效益分析,以决定其经济可行性。

12. 

某商场有一个存放商品的仓库,仓库中现有的各种商品的数量及每种商品的库存量临界值等数据记录在库存清单主文件中。

当仓库中商品数量有变化时,应及时修改库存清单主文件,如果那种商品的库存量少于它的库存量临界值,则应报告给采购部定货,规定每天向采购部送一次定货报告。

画出清单系统的系统流程图。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2