欢迎来到天天文库
浏览记录
ID:58999218
大小:754.00 KB
页数:51页
时间:2020-09-27
《软件工程技术与应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程技术与应用●为什么需要软件工程?●什么是软件工程?第一章软件与软件工程1.1软件软件Software=Program+Data+Document软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。软件特征软件是一种逻辑实体,而不是具体的物理实体软件的生产与硬件不同在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题磨合调整磨损用坏硬件失效率曲线时间失效率修改点实际曲线理想曲线时间失效率软件失效率曲线
2、软件特征软件是一种逻辑实体,具有抽象性软件没有明显的制造过程软件在使用过程中,没有磨损、老化的问题软件对硬件和环境有着不同程度的依赖性软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低软件是复杂的,而且以后会更加复杂软件的成本相当昂贵大多数软件是自定的,而不是通过已有的构件组装而来的软件工作牵涉到很多社会因素软件的成本相当昂贵软件技术的发展落后于需求时间软件复杂性软件需求差距软件技术硬、软件成本比例的变化年份成本%软件1950197019851995硬件软件的分类按软件功能划分:系统软件、支持软件、应用软件按软件规模
3、划分:微、小、中、大、甚大、极大型按软件工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件软件的发展早期面向批处理有限的分布自定义软件第二阶段多用户实时数据库软件产品第三阶段分布式系统嵌入“智能”低成本硬件消费者的影响第四阶段强大的桌面系统面向对象技术专家系统人工神经网络并行计算网路计算机1950196019701980199020002、软件危机过去几十年的大型软件系统的开发就犹如这样一个焦油坑,很多大型和强壮的动物在其中剧烈地挣扎。拉布雷阿的焦油坑(MuralofLaBreaTarPits)软件危机包含两方面问
4、题:-如何开发软件,以满足不断增长,日趋复杂的需求;-如何维护数量不断膨胀的软件产品。鉴于软件危机的长期性和症状不明显的特点,近年来有人建议将软件危机更名为:Softwaredepression(软件萧条)Softwareaffliction(软件困扰)“慢性的苦恼”软件危机主要有以下表现:对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。用户对“已完成”系统不满意的现象经常发生。软件产品的质量往往靠不住。Bug一大堆,Patch一个接一个。软件的可维护程度非常之低。软件通常没
5、有适当的文档资料。软件的成本不断提高。软件开发生产率的提高赶不上硬件的发展和人们需求的增长。软件危机的原因●一方面是与软件本身的特点有关●另一方面是由软件开发和维护的方法不正确有关软件开发工作量分配比例40%~50%10%~20%引入同一变化付出的代价随时间变化的趋势费用分配比例55%~70%例:•Windows95有1000万行代码•Windows2000有5000万行代码,3000多个工程师,几百个小团队。Exchange2000和Windows2000开发人员结构Exchange2000Windows2000项目经理2
6、5人约250人开发人员140人约1700人测试人员350人约3200人3、消除软件危机的途径对计算机软件有一个正确的认识(软件≠程序)必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。推广使用在实践中总结出来的开发软件的成功技术和方法。开发和使用更好的软件工具。1.3软件工程工程工程是对技术(或社会)实体的分析、设计、建造、验证和管理。水利工程建筑工程机械工程……软件工程传统工程新兴工程气象工程生物工程软件工程----SoftwareEngineering
7、于1968年NATO组织在德国召开的一次会议上提出是把软件当作一种工业产品,要求“采用工程化的原理与方法对软件进行计划、开发和维护”。围棋与软件工程的感想围棋围棋棋谱拿过来的时候,大师问“后面应该走哪里?”十个初级爱好者选择的落点散布在棋盘各处……十个职业棋手说的落子点都差不多,甚至包括后面的几步……这就是高手和低手的差别……软件工程当一个小程序拿过来的时候,项目经理让大家编写……十个中国软件工程师写出来的程序各有“特色”、千差万别,十个印度软件工程师写出来的程序差不多,以至于怀疑是“抄袭”。项目经理也不清楚中国软件业和印度
8、软件业的差距是多少年只是觉得差了好远好远……2、软件工程定义(1)Theestablishmentanduseofsoundengineeringprinciples(methods)inordertoobtaineconomicallysoftwarethatisreliableandw
此文档下载收益归作者所有