收藏 分销(赏)

高等教育软件工程.pptx

上传人:快乐****生活 文档编号:8548938 上传时间:2025-02-17 格式:PPTX 页数:39 大小:268.57KB 下载积分:12 金币
下载 相关 举报
高等教育软件工程.pptx_第1页
第1页 / 共39页
高等教育软件工程.pptx_第2页
第2页 / 共39页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Software Engineering_Chapter,2,#,北京大学远程教育课程,本章主题,2.1,软件可行性分析,2.2,软件开发计划,2.3,软件的成本估算,2.4,安排开发进度,软件计划是软件开发过程中的第一个阶段。这个阶段的任务是,对即将开发的软件系统实施可行性分析,也就是从工程、经济、技术的角度,论证系统的可行性。一旦立项通过,就为软件开发制定详细的软件计划。,2.1,软件可行性分析,2.1.1,对可行性分析的认识,2.1.2,可行性分析的内容,2.1.3,可行性分析的步骤,2.1.4,可行性分析报告,2.1.1,对可行性分析的认识,一旦软件范围已经被标识出来,人们自然会问:“我们能够开发软件以满足该范围吗,?,项目是可行的吗?”在软件危机时期人们通常会跳过这个阶段,往往陷入从开始就注定失败的项目泥潭中。,对可行性分析的认识,只要资源和时间不加以限制,所有的项目都是可行的。然而,由于资源缺乏和交付时间限制的困扰,使得基于计算机系统的开发变得比较困难。因此尽早对软件项目的可行性作出细致而谨慎的评估是十分必要的。如果在问题定义阶段及早发现将来可能在开发过程中遇到的问题,及早作出决定,可以避免大量的人力、财力和时间上的浪费。,可行性分析的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住:可行性分析不是要求解问题本身,而是要确定问题是否有解。,2.1.2,可行性分析的内容,可行性分析的内容主要集中在如下几个主要方面,.,经济上可行,:论证系统有没有经济效益或社会效益?多长时间能回收成本?,.,技术上可行,:实现新系统需要哪些技术,现有技术能否解决,难点?建议采用的技术先进程度怎样?新技术的应用是否存在风险?是否能够找到胜任该系统的熟练的技术人员?能否按期得到开发该项目所需要的软硬件资源?等等,.,操作上可行,:系统的操作方式在用户所在的组织内是否可行,特别是对原有系统扩展会不会引起矛盾。,.,法律上可行,:会不会引起侵权、会不会引起其他的社会问题。,2.1.3,可行性分析的步骤,Step1,:问题定义。确定系统的范围和目标。,Step2,:研究当前正在运行的系统,当前系统的功能。,系统存在的问题(包括功能、速度、效率等),描述当前系统的工作流程,用,系统流程图,表示。,Step3,:导出新系统的高层逻辑模型,用,数据流图,和,数据字典,描述。,可行性分析的步骤(续),Step4,:与用户交流,修改系统流程图数据流图,做必要的补充和完善。以上两步反复进行。,Step5,:探寻并评价逻辑模型的多种实现方案。以便用户选择。,Step6,:综合多种因素提出某种实现方案的建议。,Step7,:提交可行性分析报告。,2.1.4,可行性分析报告,可行性分析工作结束时需要提交“可行性分析报告”。可行性分析报告是系统论证的结果,也是软件项目是否批准立项的重要依据。有关部门或机构会对可行性分析报告做认真的审查,审查中可能会反复,重新要求论证。最终给出“通过立项”或否定的结论。,视项目的规模、可行性报告,可长可短,但内容应包含下列三点。,1,、系统概述:当前系统及存在的问题,新的目标系统和它的各个子系统的功能。作新老比较。附系统流程图,高层数据流图等。,2,、可行性分析:经济上、技术上、操纵上、法律上。,3,、结论意见:可行与否?选择何种方案?分几期完成?,可行性分析报告目录编排上各有千秋,内容可根据项目情况灵活调整。,可行性分析报告的参考格式,教材中的格式,教材第,21,页,国际标准化组织的文档参考格式,国家标准的文档参考格式,学会利用资源,对于软件工程,我们缺乏经验,充分吸取别人的经验,网络上关于软件工程的资源及其丰富,大家要充分利用,各种软件工程的书籍不断丰富,人月神话,程序员,杂志,本章主题,2.1,软件可行性分析,2.2,软件开发计划,2.3,软件的成本估算,2.4,安排开发进度,2.2,软件开发计划,2.2.1,对,软件开发计划认识,2.2.2,软件的作用范围,2.2.3,资源需求,2.2.4,软件成本估算,2.2.5,进度安排,2.2.6,软件计划说明书,2.2.1,对,软件开发计划认识,可行性论证报告请供、求双方及同行专家进行评审。评审通过后正式立项,供求双方签订协议(合同)。,软件立项之后,软件开发机构开始进行软件开发计划的制定。,软件计划的任务是向管理部门提出关于项目开发的经费预算,人力、物力等资源的需求量,开发进度的初步安排等,以便管理部门有效的组织人力、物力来实施该项目计划,并依据该计划来管理开发阶段的各个进程,确保软件系统开发成功。,软件计划的具体任务有:估算开发所需的资源;根据软件范围估算软件成本;进度安排等。,2.2.2,软件的作用范围,软件计划阶段的第一项任务是确定软件的范围。,软件范围主要涉及软件的功能、性能、接口及可靠性,4,个方面。,用某种供、求双方易接受的语言描述软件范围的,4,个方面内容。描述要力求准确,不能含糊不清,不能有二义性。涉及系统的特性必须用明确的量化数据,如并发用户的个数、最大允许响应时间、空间限制、各种约束条件等。,准确的描述软件的范围,才能够使资源估算,成本的估算以及进度的估算达到较为准确的程序。,软件范围需要确定的内容,1,、,软件系统的功能,。确认软件需要实现的功能是很重要的,因为功能与项目成本和进度的估算有直接关系。,2,、,软件系统的性能,。确认一个系统的性能主要包括处理时间的要求,存储空间的限制,及机器等设备的特性。,3,、,接口。软件系统必须在某个运行环境下执行,必然要和其他系统元素发生交互作用,这就提出了接口的问题。软件计划人员必须要考虑每一个接口的性质及其复杂性,以便确定它对资源、成本与进度的影响。,软件与硬件环境的接口:分辨率、运行速度、格式,软件与软件环境的接口:数据库系统、子程序包等,软件与使用它的人之间的接口:人机界面,过程:使用一个软件的一系列操作顺序,4,、,可靠性,。可靠性是软件范围中最不容易精确描述的内容。可根据项目的性质提出不同的可靠性标准,及其保证措施。在根据这个标准来估算其对成本和进度的影响。,一个软件范围定义的例子,对控制软件的陈述,传送带分类系统将沿传送带移动的盒子进行分类。每一个盒子由一个包含零件号的条形码来标识,并在传送带末端分送到六个箱子中的一个。,这些盒子要通过一个由条形码阅读器及一台,PC,所组成的分类站。分类站的,PC,连接到一个分流器上,它把盒子分送到不同的箱子中。盒子以随机的顺序通过且其间的距离相同。传送带以每分钟,5,英尺的速度移动。,传送带分类系统以和传送带速度一致的时间间隔接受来自条形码阅读器的信息。,条形码数据被解码成盒子的标识格式。软件将在最多可容纳,1000,个条目的零件号数据库中进行检索,以确定当前在阅读器位置的盒子应该放到那个箱子中。,提炼出软件功能,读取条形码输入,读取脉冲流速计,解码零件编码数据,检索数据库,确定合适的箱子,产生分流器控制信号,维护盒子目的地的记录,找出性能和约束,性能取决于传送带的速度。对于每个盒子的处理必须在下一个盒子到达条形码阅读器之前完成。软件受它必须访问的硬件(条形码阅读器、分流器、,PC,)、可用的内存以及整个传送带的配置约束。,功能、性能和约束要放在一起评估。在不同的性能限定下,同样的功能可能在开发工作量上有数量级的巨大差别。,2.2.3,资源需求,人力资源的需求,:包括各不同开发时期应配备的人员,并包括人员的档次、技术水平。,硬件资源,:主要是指在开发过程中需具备的硬件条件。如机器的使用安排,消耗问题等。,软件资源,:开发平台、软件工具和可复用软件。有些支撑软件可能只在开发时用,而运行时不用。,项目资源,2.2.4,软件的成本估算,软件的成本估算,将作为一节在后面详细介绍。,2.2.5,进度安排,进度安排将作为一节在后面详细介绍。,2.2.6,软件计划说明书,教材中的格式,教材第,31,页,国际标准化组织的文档参考格式,国家标准的文档参考格式,本章主题,2.1,软件可行性分析,2.2,软件开发计划,2.3,软件的成本估算,2.4,安排开发进度,2.3,软件的成本估算,2.3.1,成本估算的原则,2.3.2,估算中的计量单位,2.3.3,成本估算方法,软件的成本是以一次性开发过程中所花费的代价来计算的,也就是软件计划、需求分析、设计、编码、测试的全过程中所付出的费用作为软件的开发成本。,对软件成本的估算中存在着许多可变因素,如人的素质、技术水平、环境等,所以想要准确估算软件开发成本不是一件容易的事。同时如果软件成本的估算有大的偏差,将造成整个系统费用估计的错误,严重的会导致软件项目开发的失败。,project scope must be explicitly,defined,task and/or functional,decomposition is necessary,historical measures(metrics)are,very helpful,at least two different techniques,should be used,remember that uncertainty is,unavoidable,2.3.1,成本,估算中的原则,2.3.2,估算中的计量单位,代码行数,软件是代码行的集合。,一个软件的代码行总数是软件成本估算中的基本数据。,开发工作量,开发工作量是指完成一项开发任务所需要的计量单位,,软件工程中用于计量开发工作量的单位主要有“人,-,月”,“人,-,年”,“人,-,日”。,如:某个项目需,5,人,-,月的工作量,它表示该项目的开发工作量实际为,5,每个程序员一个月应完成的“标准劳动量”。,常规的成本估算技术,代码行估算法(,LOC,),功能点估算法(,FP,),运用估算模型进行成本估算(完全经验),静态单变量模型,COCOMO,模型,动态多变量模型,使用自动估算工具进行估算,利用软件工具进行自动估算。须长期搜集大量的历史资料、数据和建立良好的数据库管理系统。,2.3.3,成本估算方法(技术),Example:LOC Approach,Example:FP Approach,本章主题,2.1,软件可行性分析,2.2,软件开发计划,2.3,软件的成本估算,2.4,安排开发进度,2.4,安排开发进度,2.4.1,开发小组人数与软件生产率的关系,2.4.2,按开发进程合理调配人力资源,2.4.3,制定软件进度时间表,项目的最后交付日期已经确定,负责开发工作的软件机构将在一个规定的时间范围内非配其工作量。,项目的最后交付日期由软件开发机构自己决定。,软件开发项目的进度安排可以有以下两种不同的情况:,实际工作中经常遇到的是第一种情况。对于一个实际的项目来说,开发进度的要求有时比成本的要求更为重要,或者说开发进度安排失误比成本的估算错误更为致命,2.4.1,开发小组人数与软件生产率的关系,当一定数目的开发人员被组织成共同完成软件项目的成员时,他们之间就要通过信息交流来解决各自承担任务之间的接口问题,也就是所谓的通讯问题。,通讯要花费时间和精力,同时还会增加软件出错的概率,降低软件生产率。,结论:参加软件项目的工作人员数量与整体生产率之间的关系不是线性的。,通过在略为延长的时间内使用较少的人员,可以实现相同的目标。,一个软件工程原则:,10,个人,1,年,20,个人,6,个月,5,个人,2,年,20,个人,9,个月,5,个人,1.5,年,2.4.2,按开发进程合理调配人力资源,一个软件项目完成的快慢,不完全取决于参与人员的多少,而主要在于人员调配的合理性。,一种比较好的分配方案时采用,40,20,40,原则,在项目进行的不同阶段调配不同数量的工作人员。,软件项目各个阶段工作量分配的百分比大致如右图:,40,20,40,原则是一个定性的指导性原则,要根据项目的不同情况灵活处理。,2.4.3,制定软件进度时间表,开发进度安排工作的结果是形成一张软件进度时间表。,在进度时间表上必须规定每项任务完成的起止时间、任务完成的标志、各项任务中参与人员数、工作量和各个任务之间的衔接情况。另外,还必须明确完成该任务所必须的资源。,注意:每个任务完成的标志,不是以下一阶段任务能否开始为标准,而应该以该任务必须交付的文档资料和复审是否已通过为标准。,软件进度时间表的实例参考,教材第,31,页。,国外一个项目计划文档中的进度安排表。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服