12第十二章软件项目计划软件工程教案海南大学(共15章).ppt

上传人:laozhun 文档编号:2348669 上传时间:2023-02-14 格式:PPT 页数:53 大小:203KB
返回 下载 相关 举报
12第十二章软件项目计划软件工程教案海南大学(共15章).ppt_第1页
第1页 / 共53页
12第十二章软件项目计划软件工程教案海南大学(共15章).ppt_第2页
第2页 / 共53页
12第十二章软件项目计划软件工程教案海南大学(共15章).ppt_第3页
第3页 / 共53页
12第十二章软件项目计划软件工程教案海南大学(共15章).ppt_第4页
第4页 / 共53页
12第十二章软件项目计划软件工程教案海南大学(共15章).ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《12第十二章软件项目计划软件工程教案海南大学(共15章).ppt》由会员分享,可在线阅读,更多相关《12第十二章软件项目计划软件工程教案海南大学(共15章).ppt(53页珍藏版)》请在三一办公上搜索。

1、软件工程(第二版)齐治昌、谭庆平、宁洪 编著 高等教育出版社,主讲:陈明锐 教授,省级精品课程,第十二章 软件项目计划,问题定义可行性研究软件风险分析项目实施计划,计划时期的工作流程,否,是,问题定义,目的弄清需要解决的问题项目所需的资源和经费任务编写“系统目标与范围的说明”,系统目标与范围的说明示例,系统目标和范围说明书2006年6月1.项目:教材销售系统2.问题:人工发售教材手续繁琐,且易出错。3.项目目标:建立一个高效率、无差错的微机教材销售系统。4.项目范围:利用现有微型计算机,软件开发费用不超过5000元。5.初步想法:建议在系统中增加对缺书的统计与采购功能。6.可行性研究:建议进行

2、大约10天的可行性研究,研究费用不超过1000元。,可行性研究,目的研究项目是否可能实现和值得进行(用最小的代价,在尽可能短的时间内确定)回答 Why to do?研究的内容经济可行性技术可行性运行可行性法律可行性,经济可行性,系统成本主要包括:(1)购置硬件软件的费用;(2)有关设备的工程安装费用;(3)系统开发费用;(4)系统的安装、运行和维护费用;(5)人员培训费用等等。系统效益包括:(1)经济效益;(2)社会效益。,技术可行性,技术可行性是根据客户提出的系统功能、性能以及实现系统的各项约束条件,从技术的角度研究实现该系统的可行性。技术可行性研究应该包括:风险分析、资源分析和技术分析(现

3、有技术能否实现新系统、技术难点、建议采用技术的先进性)。数学建模、原型建造和模拟是基于计算机系统技术分析活动的有效工具。,运行可行性,组织上、人员上、设备上去研究确定并论证新系统的可行性,包括管理工作的规范性、科学性、信息的可靠性、管理水平、人员对新开发系统的设想和要求,现有人员对计算机知识的掌握程度是否足以支持新系统的运行等,法律可行性,研究在系统开发过程中可能涉及的人力资源、各种合同、知识产权纠纷、责任以及各种与法律、法规、政策和社会环境(含政治环境)相抵触的问题。,可行性研究,研究的步骤(1)细化和修改“系统目标和范围”,得出新系统的逻辑模型进一步了解“说明”的含义,着重弄清用户想要解决

4、的问题;带着上述问题访问用户,弄清当前系统的工作过程,并用“系统流程图”加以描述;到处当前系统和新系统的逻辑模型,用数据流图描述;再访用户,修改DFD,并对“说明”做必要的补充与修改。(2)导出新系统的解决方案根据新系统的逻辑模型,设想几种可能的解决方案,以便用户选择,可行性研究,研究的步骤(续)(3)提出推荐的方案本项目的开发价值;推荐这个方案的理由。推荐方案应附有“系统流程图”和简单的“数据流图”,以及比较详细的成本-效益分析,系统流程图,描述系统物理模型包含人员、硬件、软件等子系统在黑盒级上描绘系统内部的主要成分,表达信息在各成分之间流动的情况。系统流程图表达的是信息在系统各部件之间流动

5、的情况,而不是对信息 进行加工处理的控制过程,因此尽管系统流程图使用的某些符号和程序流程图中用的符 号相同,但是它却是物理数据流图而不是程序流程图。,系统流程图的符号,系统流程图例1,开购书证明,学生,收书费,领书单,人工教材销售系统流程图,购书证明,开购书发票,发票,发书,学生,系统流程图例2,计算机教材销售系统流程图,系统流程图例3,某装配厂有一座存放零件的仓库,仓库中现有的各种零件的数量以及每种零件的库 存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时应该及时修改 库存清单主文件,如果那种零件的库存量少于它的库存量临界值,则应该报告给采购部门 以便定货,规定每天向采购部门

6、送一次定货报告。,系统流程图例3,该装配厂使用一台小型计算机处理更新库存清单主文件和产生定货报告的任务。零 件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的 库存清单主文件,并且把必要的定货信息写在磁带上。最 后,每天由报告生成程序读一次磁带,并且打印出定货报 告。,例3的系统流程图,成本效益分析,系统成本开发成本运行维护成本系统效益经济效益社会效益,例子,修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改 已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定 货将消除

7、零件短缺问题,估计因此每年可以节省2500元,五年共可节省12500元。但是,不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后 节省的钱。试计算其效益。,例子,假定年利率为12,利用上面计算货币现在价值的公式可以算出修改库存清单系统 后每年预计节省的钱的现在价值如表所示:根据上表计算各项经济指标:纯收入、投资回收期、投资回收率,可行性论证报告,系统概述简述当前系统及其问题新系统功能及新旧系统的比较可行性分析经济、技术、法律上的可行性建立新系统的主客观条件分析结论意见可立即进行or推迟进行or不能或不值得进行,软件风险分析,尽可能的量化不确定性的程度及每个风险

8、导致的损失的程度,为软件开发的实施计划提供参考。1.风险识别2.风险预测3.风险的驾驭和监控,风险识别,可用不同的方法对风险进行分类。从宏观上来看,可将风险分为项目风险、技术风险和商业风险。,风险类型,1、项目风险识别潜在的预算、进度、个人(包括人员和组织)、资源、用户和需求方面的问题,以及它们对软件项目的影响。如项目复杂性、规模和结构等都可构成风险因素。2、技术风险识别潜在的设计、实现、接口、检验和维护方面的问题。此外,规格说明的多义性、技术上的不确定性、技术陈旧、最新技术(不成熟)也是风险因素。技术风险之所以出现是由于问题的解决比所预想的要复杂。3、主要的商业风险有以下5种:(1)建立的软

9、件虽然很优秀但不是真正所想要的(市场风险);(2)建立的软件不适合整个软件产品战略;(3)销售部门不清楚如何推销这种软件;(4)由于课题改变或人员而失去上级管理部门的支持;(5)失去预算或人员的承诺(预算风险)。,常见的风险子类与需要检查的内容,产品规模风险检查与软件总体规模相关的风险;商业影响风险检查与管理或市场的约束相关的风险;与客户相关的风险检查与客户素质及通信能力相关的风险;过程风险检查与软件过程被定义和开发相关的风险;技术风险检查与软件的复杂性及系统所包含技术成熟度相关的风险;开发环境风险检查开发工具的可用性及质量相关的风险;人员结构和经验风险检查与参与工作的人员的总体技术水平及项目

10、经验相关的风险;,项目检查表(人员结构和经验风险),可投入的人员是最优秀的吗?按技能对人员做了合理的组合了吗?投入的人员足够吗?整个项目开始进行期间人员如何投入?有多少人员不是全时投入这个项目的工作?人们对于手头上的工作是否有正确的目标?项目的成员接受过必要的培训吗?项目中的成员是否稳定和连续?,风险预测,又称为风险估计包括两方面的内容:风险发生的可能性风险发生后所产生的后果,风险预测,通常,项目计划人员与管理人员、技术人员一起,进行2项风险估计活动:(1)建立一个尺度或标准来表示一个风险的可能性;尺度可以用布尔值、定性的、或定量的方式定义。一种比较好的方法是使用定量的概率尺度,它具有下列的值

11、:极罕见的、罕见的、普通的、可能的、极可能的。(2)估计风险对项目和产品的影响。,风险预测,风险发生的后果通常使用定性的描述:灾难性的、严重的、轻微的或可忽略的等等造成影响的因素有三种:风险的性质、风险的范围和风险的时间。风险的性质指出在风险出现时可能出现的问题。例如,一个定义得很差的用户硬件的外部接口(技术风险)会妨碍早期的设计和测试,而且很可能在项目后期造成系统组装上的问题。风险的范围则组合了风险的严重性(即它严重到什么程度)与其总的分布(即对项目的影响有多大,对用户的损害又有多大)。风险的时间则考虑风险的影响什么时候开始,要影响多长时间。在多数情况下,项目管理人员可能希望“坏消息”出现得

12、越早越好,但在有些情况下则拖得比较长。,风险与管理的考虑,风险评价,在风险分析过程中进行风险评价的时候,应当建立一个三元组:ri,li,xi 其中,ri是风险,li是风险出现的可能性(概率),而xi是风险的影响。在做风险评价时,应当进一步检验在风险估计时所得到的估计的准确性,尝试对已暴露的风险进行优先排队,并着手考虑控制和(或)消除可能出现风险的方法。,风险评价,在做风险评价时,按以下步骤执行:(1)为项目定义风险参照水准;(2)尝试找出在每个ri,li,xi和每个参照水准之间的关系;(3)预测参照点组以定义一个终止区域,用一条曲线或一些易变动区域来界定;(4)努力预测复合的风险组合将如何形成

13、一个参照水准。,风险驾驭和监控,风险驾驭是指利用某些技术,如原型化、软件自动化、软件心理学、可靠性工程学以乃某些项目管理方法等设法避开或转移风险。与每一风险相关的三元组(风险描述,风险可能性、风险影响)是建立风险驾驭(风险消除)步骤的基础。,风险驾驭和监控,假如人员的频繁流动是一项风险ri,基于过去的历史和管理经验,频繁流动可能性的估算值li为0.70(70%相当高),而影响xi的估计值是:项目开发时间增加15,总成本增加12,给出了这些数据之后,建议可使用以下风险驾驭步骤:(1)与现在在职的人员协商,确定人员流动的原因(如,工作条件差,收入低,人才市场竞争等);(2)在项目开始前,把缓解这些

14、原因(避开风险)的工作列入已拟定的驾驭计划中。(3)当项目启动时,做好人员流动会出现的准备。采取一些办法以确保人员一旦离开时项目仍能继续(削弱风险);(4)建立项目组,以使大家都了解有关开发活动的信息;(5)制定文档标准,并建立一种机制以保证文档能够及时产生;(6)对所有工作组织细致的评审(以使更多的人能够按计划进度完成自己的工作);(7)对每一个关键性的技术人员,要培养后备人员。,风险驾驭和监控,风险缓解、监控和管理计划(RMMMP)记叙了风险分析的全部工作,并且作为整个项目计划的一部分为项目管理人员所使用。驾驭风险的措施会增加项目成本,称之为风险成本。,风险驾驭与监控计划概要,1引言1.1

15、 本文档的范围和目的1.2 概述 a.目标 b.风险消除优先级1.3 组织 a.管理 b.职责 c.作业描述1.4 消除过程描述 a.进度安排 b.主要里程碑和评审 c.预算2风险分析2.1 识别 a.风险概述(i)风险源 b.风险分类2.2 风险估计 a.估算风险概率 b.估算风险后果 c.估算规则 d.可能的估算错误源2.3 评价 a.评价所使用方法 b.评价方法的假设和限制 c.评价风险参照 d.评价结果3风险驾驭3.1 劝告3.2 风险消除的选项3.3 风险消除的劝告3.4 风险监控过程4附录4.1 风险位置的估算4.2 风险排除计划,常见的软件系统风险分析,风险分析是指用于估计威胁发

16、生的可能性以及由于系统易于受到攻击的脆弱性而引起的潜在损失的步骤,风险分析的最终目的是帮助选择安全防范并将风险降低到最低程度。随着计算机应用的日益普及,各行各业对计算机的依赖与日俱增,很多部门都已达到离开了计算机就要瘫痪的程度。这种情况使得人们和整个社会对于计算机发生意外时所产生的风险十分敏感,各种媒体关于计算机灾祸及其预防对策的报道日渐增多。现在这种威胁变得越来越明显,越来越严重,可以说计算机风险已经成了现代社会的一块心病。,常见的软件系统风险分析,计算机信息系统在设计前和运行前需进行静态分析,旨在发现系统的潜在安全隐患;其次是对系统进行动态分析,即在系统运行中测试,跟踪并记录其活动,旨在发

17、现系统运行期的安全漏洞;最后是系统运行后的分析,并提供相应的系统脆弱性分析报告。总而言之,计算机信息系统四个阶段的风险分析即:1 系统设计前的风险分析 2 系统运行前的风险分析 3 系统运行期的风险分析 4 系统运行后的风险分析 下面我们可以了解一下系统运行期的风险分析和系统运行后的风险。,常见的软件系统风险分析,从本质上说,任何软件系统都是一种数据处理系统。完整的数据处理系统至少由五个环节组成:数据收集、传输、加工、存储、输出。包括操作这个系统的人和作为系统处理对象的那些数据,甚至还应该包括系统所在的环境。以下介绍常见的风险,通过对这些风险的介绍,可使我们能够对自己使用的系统进行分析,找出所

18、面临的风险,才有可能制定切合实际的防护措施。,常见的软件系统风险分析,1后门/陷阱门 后门是进入系统的另一种方法,通常由系统的设计者有意建立,但有时因偶然故障而存在。陷阱门是后门的另一种形式,这个术语通常指的是在复杂程序的设计检验期间,程序员使用的一种手段,通过它来控制程序的运行和检验程序的正确性。通过后门可以非法进入系统,但后门的发现非常困难。2犯大错误 这里所指的犯大错误是指对计算机系统进行操作的过程中所犯的人为错误、意外事故、疏漏错误或权限错误。犯大错误可能给系统带来难于估量的损失。,常见的软件系统风险分析,3拒绝使用 拒绝使用是指一种全新的计算机错误行为。它包括废弃某系统、使端口处于停

19、顿状态、在屏幕上显示杂乱数据、改变文件名称、删除关键程序文件等等,使系统不能使用。4辐射 辐射是电磁信号泄漏,是计算机安全方面的弱点,计算机系统的电缆线中和附加装置泄漏的信号,对于具有良好技术,操作先进的设备的人来说,在若干距离上,适度的泄漏能成为可读的数据。5盗用 盗用通常是指内部的事情,是内部工作人员盗窃本单位钱财或物资的行为。它是最常见的计算机犯罪行为中的一种,也是最古老的犯罪行为中的一种。数据盗窃可在数据输入之前或在数据输入期间,改变对数据的处理,是较为容易的手段。,常见的软件系统风险分析,6无法使用 由于计算机系统的应用越来越广泛,如计算机由于各种因素如计算机病毒等导致计算机不能使用

20、,会对计算机的应用带来可能是巨大的损失。7火灾和自然灾害火灾和自然灾害是造成重大财产损失的原因。即使火灾不直接损坏计算机系统,由其产生的热和烟也能损坏该系统。火灾是当前对计算机系统最严重的威胁之一。8伪造 伪造是指非法建立文件或记录,企图把它们作为有效的、正式生产的文件或记录。,常见的软件系统风险分析,9硬件故障 硬件出现故障会影响计算机系统的使用,如果硬件故障是访问控制设备,或为修复机器要求除去某些设备,那么硬件的故障会危及保密性。如硬盘损坏会丢失所有信息。10假冒 假冒是指使用别人的访问代码获得接近计算机、分析数据、使用程序或仅仅使用计算机的权利。有很多先进的技术可使假冒更难实现,但并不能

21、完全杜绝假冒现象。11不准确的或过时的信息 大量的风险分析忽略了被保护的信息的质量问题,而良好的信息是计算机系统的重要组成部分,所以必须清除过时的和不准确的信息,以保证计算机系统的质量。,常见的软件系统风险分析,12故意对数据或程序进行破坏 故意破坏数据很可能是无法查出的,而且对计算机系统的破坏性很大。13逻辑炸弹 逻辑炸弹是指修改计算机程序,使它在某种特殊条件下按某种不同的方式运行。在正常条件下很难检验出这种炸弹,但如果该特殊条件出现,程序就会按不同于预期的方式运行。,常见的软件系统风险分析,14错误传递 如果你希望把信息传递给甲,而你的信息却传递给了乙时会出现问题,影响系统的保密性,随着错

22、误传递的增多,系统的保密性将大幅度下降,而且系统的功能将出现问题。15乘机而入 电子乘机而入者,使用别人请求联机的终端或从连接在同一电缆上的另一个秘密的终端获得访问,也可能趁被授权用户结束对话之后但还没有退出联机之前获得访问。16程序编制错误 程序员在编程时容易自然地产生错误,而随着程序的扩大,错误会更多,通过调试可排除一些错误,但不可能排除所有的错误,这就给软件故障留下隐患。这些错误通常不是恶意的产物。,常见的软件系统风险分析,17破坏活动 破坏活动通常来自物理破坏或逻辑破坏,物理破坏较简单,只要罪犯能足够地接近计算机。逻辑破坏则指改变系统内部或外部的标记,或利用软件改变存储文件的内容。18

23、废物利用 废物利用是指对一些已废弃不用的信息进行研究,获得有用信息的过程。如在微机上,可从已抹掉了信息的软盘或硬盘上恢复出原有信息,使系统的保密性受到损害。19超级处理 超级处理是指未经授权地利用某些实用程序去修改、破坏、复制、使用或拒绝接受计算机数据。它对计算机系统的威胁相当大。,常见的软件系统风险分析,20偷窃行为 偷窃包括偷窃计算机设备和偷窃计算机信息,而后者往往更容易,且造成的损失也严重得多,因为对信息的偷窃,针对性更强。21计算机病毒 计算机病毒一直被认为是对计算机系统破坏性最强的原因之一。它将一直是计算机安全研究的重要课题之一。以上只列出了一部分风险的内容,还有一些风险此处没有一一列出,如意外停电,重要的关键岗位人员不能上岗等等。,软件计划,项目实施计划质量保证计划软件测试计划文档编制计划用户培训计划综合支持计划软件分发计划,项目实施计划,系统概述 包括项目目标,主要功能,系统特点,以及 关于开发工作的安排 系统资源 包括开发和运行该软件系统所需要的各种资源,如硬件、软件、人员和组织机构等 费用预算 分阶段的人员费用、机时费用及其它费用 进度安排 各阶段起止时间、完成文档及验收方式 要交付的产品清单,作业,P2751.2.7.8.,

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号