第03次课 软件工程基本概念

上传人:汽*** 文档编号:567299163 上传时间:2024-07-19 格式:PPT 页数:31 大小:373.50KB
返回 下载 相关 举报
第03次课 软件工程基本概念_第1页
第1页 / 共31页
第03次课 软件工程基本概念_第2页
第2页 / 共31页
第03次课 软件工程基本概念_第3页
第3页 / 共31页
第03次课 软件工程基本概念_第4页
第4页 / 共31页
第03次课 软件工程基本概念_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第03次课 软件工程基本概念》由会员分享,可在线阅读,更多相关《第03次课 软件工程基本概念(31页珍藏版)》请在金锄头文库上搜索。

1、雍蛹喧殃啸养画娃碰论靖冕立睹柑矮野园驶十窍焊缘爱电佰潜呸系鸯咸坡第03次课 软件工程基本概念第03次课 软件工程基本概念2003.11.全国计算机等级考试全国计算机等级考试全国计算机等级考试全国计算机等级考试二级公共基础知识二级公共基础知识便倡钢锥咕彬椎蔚挨雇缕裴群刻琉粳睁复吊罩伍竟滇苏论乡龚咱放涅芬衅第03次课 软件工程基本概念第03次课 软件工程基本概念2/48课程名称计算机等级二级公共基础 1011 学年 第 一 学期选修 临0021 班 9 月 29 日 第 4 周 第 2 次课 总第 3次课 忘舒商吟傅疚禾钨船旦谦锚倍疙仙诡擂沉恭享艺惯脑业篆滩至囤谜糖亥店第03次课 软件工程基本概念

2、第03次课 软件工程基本概念3/48课程目标课程目标掌握软件工程的定义和软件危机的现象、产生原掌握软件工程的定义和软件危机的现象、产生原因因 理解软件过程理解软件过程 了解软件工程发展方向了解软件工程发展方向嘱咋罢倡催提焙气琼绊糙玉百辩傀痉贮嫉乌契裴芍镜泅阎侥凝搅哀睬趴太第03次课 软件工程基本概念第03次课 软件工程基本概念4/48重点、难点重点、难点v软件工程的定义及产生的原因软件工程的定义及产生的原因晃苔掷俘韩好掷秒艾灶漱厅塞膏飘镜忠霍囊障柯雌听酷呛科栗录捂痢敌连第03次课 软件工程基本概念第03次课 软件工程基本概念5/48软件与软件的特点v一、软件程序数据文档软件程序数据文档 v二、

3、软件的特点二、软件的特点 1、计算机软件是一种抽象的逻辑产品。 2、软件的生产与硬件不同。 3、软件产品不会用坏,不存在硬件产品那样的机械磨损、老化等问题。 图1-1 软硬件失效率曲线 辗似字羚红奄铅枉劣矢偷袖辽没措熟资派区藏萄音键蚌寐本著瑰傈衷疮晌第03次课 软件工程基本概念第03次课 软件工程基本概念6/48软件与软件的特点v4、软件产品的生产主要是脑力劳动。 v5、软件费用不断增加,软件成本相当昂贵。 v6、软件工作涉及到各种社会因素。 v软件的种类:1、按软件的功能进行划分,软件可以分为系统软件、支撑软件和应用软件。2、按软件规模进行划分,软件可分为微型、小型、中型、大型、较大型和巨大

4、型。3、按软件工作方式划分,软件可分为实时处理软件、分时软件、交互式软件和批处理软件。担痊目窖莽糯靳劳乐翔土靴轨摆窒迷优秃觉堪币恤浚客莆涤倔碗纷愉间琵第03次课 软件工程基本概念第03次课 软件工程基本概念7/48 软件与软件危机软件规模的分类 类别参加人员数研制期限产品规模(源程序行数)微型114周0.5k小型116月1k2k中型2512年5k50k大型52023年50k100k甚大型100100045年1M(=1000k)极大型20005000510年1M10M煌动已暗婪凸叮糖盐冠贤卒闽垦踪俐梅案呐赃贪驹岔脑磺晤儿徐闷墅聪戈第03次课 软件工程基本概念第03次课 软件工程基本概念8/48软

5、件危机软件危机软件危机的产生 20世纪60年代中期以后,一些开发大型软件系统的要求提了出来。然而软件技术的进步一直未能满足形势发展的需要,在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。 1963年,美国用于控制火星探测器的计算机软件中的一个“,”号被误写为“。”,而致使飞往火星的探测器发生爆炸,造成高达数亿美元的损失。戌硒疤邮侵在此诉筐缸邑颜恋檄贴诺兆涂沧棚趴关背耍烃坪惠远猿年髓洼第03次课 软件工程基本概念第03次课 软件工程基本概念9/48软件危机软件危机v软件危

6、机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,如何开发软件,以满足对软件的日益增长的需求;如何维护数量以满足对软件的日益增长的需求;如何维护数量不断膨胀的软件。不断膨胀的软件。v具体来说,软件危机主要有以下一些典型表现: 驱禁府葱粉痛披纱烙参菌贰声抽斑医纂记巳磺拒炬狄憾蔗奸圣绍峡脊擦难第03次课 软件工程基本概念第03次课 软件工程基本概念10/48软件危机软件危机v1、对软件开发成本和进度的估计常常很不准确。v2、用户对所交付的软件系

7、统不满意的现象时有发生。 v3、软件产品的质量往往靠不住。 v4、软件常常是不可维护的。 v5、软件文档资料通常不完整、不合格。 v6、软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。 v7、软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上日益增长的软件需求。 紊糕识宁狠靛撬耀蓑芽鲸声高让储劲叼咒贾柒毒模睁绷麓遣谋夺匣摸券臃第03次课 软件工程基本概念第03次课 软件工程基本概念11/48软件危机软件危机v软件危机不仅与软件自身的特点有关,也和软件开发与维护的方法有关,具体表现如下:1、软件的规模越来越大,结构越来越复杂2、软件开发管理困难。现代软件一般规模大,结

8、构复杂,需要组织众多开发人员共同完成。3、软件开发技术落后。4、软件产品生产方式落后。5、软件开发工具落后。6、用户对软件需求的描述不精确,软件开发人员对用户需求的理解有偏差。 猾晴铆歇划顶期凹裙吁帘柠思眨持尝梁晚蓟依劳用矮幢撼韭糊蝎溶膊搁颁第03次课 软件工程基本概念第03次课 软件工程基本概念12/48软件危机产生的原因软件危机产生的原因v软件是抽象的产品,软件产品往往规模庞大,给软件的开发和维护带来客观的困难。v软件开发毫无计划性。v软件在使用过程中很可能出现开发时没有预料的问题。v软件开发过程无规范,开发技术落后,生产方式和开发工具落后。v软件开发人员忽视需求分析或需求分析不充分,轻视

9、软件维护搬试堂软寄苍焦亩喷冷竞战氏礼宠堕琴坡沫祭跨瞩锹虞撕锅健荤兔拥甄驮第03次课 软件工程基本概念第03次课 软件工程基本概念13/48软件危机的表现形式软件危机的表现形式v软件发展速度跟不上硬件的发展和用户的需求v软件成本高,开发进度不能预先估计,用户不满意v软件产品质量差,可靠性不能保证v软件产品可维护性差v软件没有合适的文档资料够宙睡倘俩节激叹汝鹅哦霖柬券憨枯叭示蜡钟祈酶诉零收劝区啊衙荔旁睹第03次课 软件工程基本概念第03次课 软件工程基本概念14/48解决软件危机的途径解决软件危机的途径v对计算机软件有一个正确的认识(软件程序)v必须充分认识到软件开发不是某种个体劳动的神秘技巧,而

10、应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。v推广使用在实践中总结出来的开发软件的成功技术和方法。v开发和使用更好的软件工具。肃酋酒蕴熊广统赃旷冕露博苦陇通注诗掐灿焦莎靳司狠络幂餐犹刃免泽玩第03次课 软件工程基本概念第03次课 软件工程基本概念15/48软件工程的概念软件工程的概念v1 软件工程的定义v2 软件工程的基本目标v3 软件工程的基本原理v4 软件工程的原则伯冉页卓空名画兆疯误蜂问萝膏羔帝卤或庙户袱肘灭淹宋笆爱穆堪逊谆淬第03次课 软件工程基本概念第03次课 软件工程基本概念16/48软件工程的定义v在首次NATO会议上Fritz Bauer给出的软件工程的

11、定义是:软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件而确立和使用的一系列完善的工程原理(方法)。vBoehm 对软件工程的定义为:软件工程是现代科学技术知识在设计和构造计算机程序中的实际应用,其中包括管理在开发、运行和维护这些程序的过程中所必需的相关文档资料。硫墨穴趁骡拾艇舟绣租梳冉声每爪谗院痕戒少枯准寐染复梁寄辨撼迈辱科第03次课 软件工程基本概念第03次课 软件工程基本概念17/48软件工程的定义v1983年IEEE(国际电气与电子工程师协会)在其IEEE软件工程标准术语中对软件工程下的定义为:软件工程是开发、运行、维护和修复软件的系统方法。其中的“软件”是指计算机程序、方

12、法、规则、相关的文档资料和程序运行所必需的数据。v1993年,IEEE给出了一个更加综合的定义:将系统的、规范的、可度量的工程化方法应用于软件的开发、运行和维护的全过程。研究中所提到的方法。仔弛救兢嚼工绎俏魁艳亭姚猛亦灸旗撂她路颜芜亿喘娃侄焙竿冰剩掉柒他第03次课 软件工程基本概念第03次课 软件工程基本概念18/48软件工程的定义v软件工程的定义虽多,但其主要思想都是在强调软件开发中应用工程化原则的重要性。这种工程化的思想一直贯穿需求分析、设计、实现和维护整个软件生命过程。软件工程是指导计算机软件开发和维护的一门工程学科。它应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法和经验

13、来解决软件问题。软件工程以提高质量,降低成本为目的,采用了若干科学的、现代化的方法技术来开发软件,极大提高了软件开发生产的效率。软件工程所包含的内容也不是一成不变的,它必将随着软件系统开发和生产技术的发展而有所改变。涉刮欣哗称剑私屑桨撮伸扔挂井烘踪贺随船聂樟饿薄柄堪剖哨晤点够之崖第03次课 软件工程基本概念第03次课 软件工程基本概念19/48软件工程的定义v软件工程研究的主要内容包括软件开发技术和软件工程管理两个方面。v软件工程管理主要是研究软件管理学、软件经济学和软件心理学等。v软件开发技术主要研究:软件开发方法学、软件开发过程软件开发工具和环境。这三个部分称为软件工程的三要素。 夸潍权返

14、啥鸦摄亩萌惟吩宗旭绕佣躁捻木郭浇卓锨挝啡发杏挎娥同昏玛饺第03次课 软件工程基本概念第03次课 软件工程基本概念20/48 软件工程学软件工程学 软件开发技术软件开发技术 软件工程管理软件工程管理软件开发方法学软件开发方法学软件工具软件工具软件工程环境软件工程环境软件工程管理学软件工程管理学 软件经济学软件经济学啥曹肾秋品笨蝇括里驱锹直躬空陛介临妓很坝掇愁林莆橙哗绘痘惑烙膜霄第03次课 软件工程基本概念第03次课 软件工程基本概念21/48软件工程的基本目标v软件项目的成功主要是要达到以下几个目标:1、付出较低的软件开发成本;2、达到用户所要求的软件功能;3、取得较好的软件性能;4、所开发的软

15、件易于移植、可重用性好;5、需要较低的软件维护费用;6、能按时完成开发任务,及时交付使用。鸡享烦籽程答巫依食格僚胯蛇乾手汛澳淬膛哈惫流煽朝国垂仆昨盛兑锐右第03次课 软件工程基本概念第03次课 软件工程基本概念22/48软件工程的基本目标图1-2 软件工程目标之间的关系甚涯掳群执邪胀稻剖逾轮捎坎扁糕勘诀绘娩栓斤宦暑撞羽直撞拨航缀带埠第03次课 软件工程基本概念第03次课 软件工程基本概念23/48软件工程的基本原理v软件工程的7条原理:1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、实行严格的产品控制4、采用现代程序设计技术5、结果应该能清楚地审查 6、开发小组的人员应该少而精 7、

16、承认不断改进软件工程实践的必要性 演息放疡坞拒汉诱格忻偷繁曳虏唐智希拧丙跋蔼啦焉晓朗澈脆炮邻儿蛰德第03次课 软件工程基本概念第03次课 软件工程基本概念24/481. 用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理 统计数字表明,在不成功的软件项目中有一半左右是由统计数字表明,在不成功的软件项目中有一半左右是由于计划不周造成的,可见于计划不周造成的,可见Boehm把建立完善的计划作为第把建立完善的计划作为第1条基本原理是吸取了前人的教训而提出来的。条基本原理是吸取了前人的教训而提出来的。 在软件开发与维护的漫长生命周期中,需要完成许多性在软件开发与维护的漫长生命周期中,需要完成

17、许多性质各异的工作。这条基本原理意味着,应该把软件生命周质各异的工作。这条基本原理意味着,应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格地按照计划对软件的开发与维护工作进行管理。然后严格地按照计划对软件的开发与维护工作进行管理。仙惹囤碍岛应饭章偷汰胶曲厘际代皑尊厌睦寐铬碟驱纹碴独籽刃艳灼蛔氨第03次课 软件工程基本概念第03次课 软件工程基本概念25/482. 坚持进行阶段评审坚持进行阶段评审 当当时时已已经经认认识识到到,软软件件的的质质量量保保证证工工作作不不能能等等到到编编码码阶阶段段结结束束之之后后再再进进行

18、行。这这样样说说至至少少有有下下述述的的两两个个理理由由:第第一一,大大部部分分错错误误是是在在编编码码之之前前造造成成的的,例例如如,根根据据Boehm等等人人的的统统计计,设设计计错错误误占占软软件件错错误误的的63%,而而编编码码错错误误仅仅占占37%;第第二二,错错误误发发现现与与改改正正得得越越晚晚,改改正正错错误误所所需需付付出出的的代代价价也也越越高高。因因此此,在在每每个个阶阶段段都都进进行行严严格格的的评评审审,以以便便尽尽早早发发现现在在软软件件开开发发过过程程中中所所犯犯的的错错误误,并并及时加以改正,是一条必须遵循的重要原则。及时加以改正,是一条必须遵循的重要原则。红布

19、凉哑塘允弟旧主纠线呈豢羊涧曹饮穗酝朱砧容缺敬徽撩羔控疼矮利草第03次课 软件工程基本概念第03次课 软件工程基本概念26/483. 实行严格的产品控制实行严格的产品控制 在开发软件的过程中不应该随意改变需求,因为在开发软件的过程中不应该随意改变需求,因为改变一项需求往往需要付出较高的代价。但是,在软改变一项需求往往需要付出较高的代价。但是,在软件开发过程中改变需求又是难免的。由于外部环境变件开发过程中改变需求又是难免的。由于外部环境变化或主观认识的提高,相应地改变用户对软件的需求化或主观认识的提高,相应地改变用户对软件的需求是一种客观需要,显然不能硬性禁止客户提出改变软是一种客观需要,显然不能

20、硬性禁止客户提出改变软件需求的要求,而只能依靠科学的产品控制技术来顺件需求的要求,而只能依靠科学的产品控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软应这种要求。也就是说,当改变需求时,为了保持软件各个配置成分的一致性,必须实行严格的产品控制。件各个配置成分的一致性,必须实行严格的产品控制。杭票兆南种郡彩雪蛰脐茹敛签臣买魁厅纠瘸轰产垒宦呕削蛾抗爸夷邱玫暴第03次课 软件工程基本概念第03次课 软件工程基本概念27/484. 采用现代程序设计技术采用现代程序设计技术 在在这这条条原原理理中中使使用用的的术术语语“程程序序设设计计技技术术”并并不不仅仅仅仅局局限限于于编编程程技技术术,而

21、而是是泛泛指指软软件件开开发发技技术术。从从提提出出软软件件工工程程的的概概念念以以来来,人人们们一一直直把把主主要要精精力力用用于于研研究究各各种种新新的的程程序序设设计计技技术术。20世世纪纪60年年代代末末提提出出的的结结构构程程序序设设计计技技术术,已已经经成成为为绝绝大大多多数数人人公公认认的的先先进进的的程程序序设设计计技技术术。以以后后又又进进一一步步发发展展出出各各种种结结构构化化分分析析(SA)与与结结构构化化设设计计(SD)技技术术。近近年年来来,面面向向对对象象技技术术已已经经在在许许多多领领域域中中迅迅速速地地取取代代了了传传统统的的结结构构化化技技术术。实实践践表表明

22、明,采采用用先先进进的的技技术术不不仅仅可可以以提提高高软软件件开开发发和和维维护护的的效效率率,而而且且可可以以提提高高软软件产品的质量。件产品的质量。非绩蚕苗狂袜浑佣旗迷藤撬侦路绕革钥卖碧附燎恳帕户媚尖滔孔序倒胺谍第03次课 软件工程基本概念第03次课 软件工程基本概念28/485. 结果应该能够清楚地审查结果应该能够清楚地审查 软件产品不同于一般的物理产品,它是看不软件产品不同于一般的物理产品,它是看不见摸不着的逻辑产品。软件开发人员的工作进展见摸不着的逻辑产品。软件开发人员的工作进展情况可见性差,难以准确度量,从而使得软件产情况可见性差,难以准确度量,从而使得软件产品的开发过程比一般产

23、品的开发过程更难于评价品的开发过程比一般产品的开发过程更难于评价和管理。为了提高软件开发过程的可见性,更好和管理。为了提高软件开发过程的可见性,更好地进行管理,应该依据软件开发项目的总目标和地进行管理,应该依据软件开发项目的总目标和完成期限,规定开发小组的责任、产品标准及完完成期限,规定开发小组的责任、产品标准及完成日期,从而使得所得到的结果能够清楚地审查。成日期,从而使得所得到的结果能够清楚地审查。甚嘻浸藩浅醇甫再徘投逞慈阵嘲贱怀呵榆墙拖反匆咯跨钟哇明蝇侠八裕诬第03次课 软件工程基本概念第03次课 软件工程基本概念29/486. 开发小组的人员应该少而精开发小组的人员应该少而精 这这条条基

24、基本本原原理理的的含含义义是是,软软件件开开发发小小组组的的组组成成人人员员的的素素质质应应该该好好,而而小小组组人人数数则则不不宜宜过过多多。开开发发小小组组人人员员的的素素质质和和数数量量是是影影响响软软件件产产品品质质量量和和开开发发效效率率的的重重要要因因素素。素素质质高高的的人人员员的的开开发发效效率率比比素素质质低低的的人人员员的的开开发发效效率率可可能能高高几几倍倍至至几几十十倍倍,而而且且素素质质高高的的人人员员所所开开发发的的软软件件中中的的错错误误明明显显少少于于素素质质低低的的人人员员所所开开发发的的软软件件中中的的错错误误。此此外外,随随着着开开发发小小组组人人员员数数

25、目目的的增增加加,为为了了交交流流信信息息、讨讨论论问问题题而而造造成成的的通通信信开开销销也也急急剧剧增增加加。当当开开发发小小组组人人数数为为N时时,可可能能的的通通信信路路径径有有N(N1)/2条条,可可见见随随着着人人数数N的的增增大大,通通信信开开销销将将急急剧剧增增加加。因因此此,组组成成少少而而精精的的开开发发小小组组是是软软件件工工程程的的一一条条基基本本原原理。理。增瓣痘暗矢滨孔瘪美戈惯寺盆夜换钳廖韧藏青判崭隐统话肿妖栏高呵羚张第03次课 软件工程基本概念第03次课 软件工程基本概念30/487. 承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性 遵循上述遵循

26、上述6条基本原理,就能够按照当代软件工程的条基本原理,就能够按照当代软件工程的基本原理实现软件的工程化生产。但是,仅有上述基本原理实现软件的工程化生产。但是,仅有上述6条基条基本原理还不能保证软件开发与维护的过程能赶上时代前本原理还不能保证软件开发与维护的过程能赶上时代前进的步伐,能跟上技术的不断进步。因此,进的步伐,能跟上技术的不断进步。因此,Boehm提出提出把承认不断改进软件工程实践的必要性作为软件工程的把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原理。按照这条原理,不仅要积极主动地采第七条基本原理。按照这条原理,不仅要积极主动地采用新的软件技术,而且要注意不断总结经验。例

27、如,及用新的软件技术,而且要注意不断总结经验。例如,及时收集进度和资源消耗数据,收集出错类型和问题报告时收集进度和资源消耗数据,收集出错类型和问题报告数据等。这些数据不仅可以用来评价新的软件技术的效数据等。这些数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的软件工具和应该果,而且可以用来指明必须着重开发的软件工具和应该优先研究的技术。优先研究的技术。术脉种硝我哄趟糜鞭脂件际趁呵桨宏普屈彭瑰喀呀袜砰蜂块享侧脾匈寄曝第03次课 软件工程基本概念第03次课 软件工程基本概念31/48软件工程的原则软件工程的原则v1、抽象 (Abstraction)。v2、模块化(Modularity)。 v 3、信息隐蔽(Information Hiding )。 v4、局部化 (Localization)。 v5、一致性(Consistency)。 v6、完备性(Completeness)。 v7、可验证性 (Verifiability)。 漾曳腕姆呀拒稀缴峦魏尖华镊迫效颇枝倔朴涸燥令锦惺轰锰域杯髓晚吉灵第03次课 软件工程基本概念第03次课 软件工程基本概念

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号