软件工程课程介绍CUMT_第1页
软件工程课程介绍CUMT_第2页
软件工程课程介绍CUMT_第3页
软件工程课程介绍CUMT_第4页
软件工程课程介绍CUMT_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程张 磊 博士,副教授课程介绍考核方式: 平时 20;l作业 10%l出勤 10% 考试 80学习“软件工程”的目的和意义学会如何在现代学会如何在现代IT企业的环境中做一个成功者;企业的环境中做一个成功者;学会如何做世界级的、高质量的研究;学会如何做世界级的、高质量的研究;学会如何创建大规模的软件产品。学会如何创建大规模的软件产品。 微软全球资深副总裁微软全球资深副总裁 原微软亚洲研究院院长原微软亚洲研究院院长 首席科学家首席科学家 张亚勤张亚勤 课件制作人:谢希仁 软件工程原理、方法与应用(第三版) (史济民、顾春华、郑红著) 高等教育出版社,2010年。 教材课件制作人:谢希仁1.

2、Software Engineering A Practitioners Approach (Sixth Edition) , Roger S Pressman,2005年(中文版)郑人杰等译,机械出工业版社,2007年。 课程参考资料 第七版(英文版) 2011年5月 本书自1982年发行第1版以来,一直受到软件工程界的高度重视,成为高等院校计算机相关专业软件工程课的重要教学参考书。近30年来,它的各个后继版本一直都是软件专业人土熟悉的读物,在国际软件工程界享有无可质疑的权威地位。 Roger SPressman,软件过程改善和软件工程技术方面国际知名的权威。30多年来,他作为软件工程师、管

3、理人员、教授、作者及咨询顾问始终投身子软件工程领域。2.软件工程Software Engineering, 9th EditionIan Sommerville,机械工业出版社,2011年。 本书是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,影响了一代又一代软件工程人才,对学科本身也产生了积极影响。 英国著名软件工程专家,曾任教于兰卡斯特大学,现为圣安德鲁斯大学软件工程学教授。他在软件工程的教学和科研方面有20多年的经验。 在计算机科学的同一领域往往都有比肩齐声的佳作,软件工程类综述性的巨著也有两本:第一本就是Roger Pressman所著的软件工程

4、:实践者的研究方法,另一本就是Ian Sommerville所著的本书。 这两本名著都有多年历史(初版可追溯到20世纪80年代早期),对于软件工程学科的形成和发展起到了重要作用,尤其是在教育界和学术界影响极大。 3.软件工程:面向对象和传统的方法(英软件工程:面向对象和传统的方法(英文版文版第第8版)版)沙赫(Stephen R.Schach) 2011.6 机械工业出版社课件制作人:谢希仁4.软件工程思想 林锐 2003 林锐,男,1973年2月4日生,2000年获浙江大学计算机系CAD&CG国家重点实验室计算机图形学博士学位。1996年获电子工业部科技进步二等奖,1997年获首届中

5、国大学生电脑大赛软件展示一等奖。2000年7月加入上海贝尔有限公司,从事软件工程和CMM/CMMI研究与推广工作,出版著作三部,2003年7月当选为Alcatel集团技术委员会会员。2004年创建上海漫索计算机科技有限公司。 软件开发过程中的坎坎坷坷,仿佛只是人脸的凹凸不平,用热水毛巾一把就可抹平。让我们高举程序主义、软件工程思想的伟大旗帜,紧密团结在以Microsoft为核心的软件公司周围,沿着比尔盖茨的生财之道,不分白天黑夜地编程,把建设有中国特色的软件产业的伟大事业全面推向21世纪。 软件工程思想软件工程思想妙语录妙语录 无论是什么好方法,贵在理解与灵活运用,而不可当成灵丹妙药,不象“吃

6、了脑黄金或脑白金,就能使一亿人先聪明来”。 如果程序经理发现有两个程序员趴在机器旁睡觉,不能只对其中一个大声吼叫:“你一编程就想睡觉,看看人家,在睡觉时都想着编程。” 事实上,我可以在5分钟之内说清楚三年来读博所做的工作,根本用不着写100多页的博士论文。我是在临近毕业时,才发觉自己完全不适合读博士学位。将来工作后,我一定要好好编程,重新做人。 “人分四类人物,人才,人手,人渣。”如果一个软件公司里上述四类人齐全了,那么最好的分工是让“人物”当领导,“人才”做第一线的开发人员,“人手”做行政人员,“人渣”负责行贿。 改错是个大悲大喜的过程,一天之内可以让人在悲伤的低谷和喜悦的颠峰之间跌荡起伏。

7、如果改过上万个程序错误,那么少男少女们不必经历失恋的挫折也能变得成熟起来。参考网站参考网站http:/ 软件工程网http:/ 卡内基梅大学软件工程研究所/ 对象技术和构件技术链接http:/ Rational公司 软件开发中的错误观点2.软件需求分析很困难,不管三七二十一先把软件做了再说,反正软件是灵活的,随时可以修改。 1.只要掌握了1-2门程序设计语言,进行软件开发就没有问题。 总之,错误认为:软件就是程序,开发软件就是编写程序。3. 只要有最好的开发工具、最好的计算机,一定能做出优秀的软件。 课程特点课堂

8、教学(48学时)课外 以开发小组为单位进行。 课程安排(建议) 实践性强、发展迅速 IBM公司的 OS/360,共约100万条指令,花费了5000个人年;经费达数亿美元,而结果却令人沮丧,错误多达2000个以上,系统根本无法正常运行。 OS/360系统的负责人Brooks这样描述开发过程的困难和混乱:“像巨兽在泥潭中作垂死挣扎,挣扎得越猛,泥浆就沾得越多,最后没有一个野兽能够逃脱淹没在泥潭中的命运。” 软件错误的实例lNo silver bullet: essence and accidents of software engineering。lFred Brooks,IBM OS360 项目

9、经理l1999年,第三十四位 图 灵 奖 (1999年 ) 获 得 者 。lFor landmark contributions to computer architecture, operating systems, and software engineering. l1974年,人月神话,在软件领域,很少能有像人月神话一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很多发人深省的观点,又有大量软件工程的实践。人月神话内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。该书英文原版一经面世,即引起业

10、内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。确立了其在行业内的经典地位。在人月神话第一次出版32年后(2007年)的今天,我们重新整理了Brooks博士的经典内容,并将国内软件开发领域先行者们对人月神话中的实践及系统理论的使用经验和心得集结成册与大家共享,更使人月神话成为国内从业者的必读经典之一。l1986年, 没有银弹:软件工程的本质性与附属性工作(英语:No Silver Bullet Essence and Accidents of Software Engineering) l是IBM大型机之父佛瑞德布鲁克斯所发表一篇关于软件工程的经典论文,原先是在1986

11、年都柏林IFIP研讨会的一篇受邀论文。l该论述中强调由于软件的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍。 l1986年, 没有银弹:软件工程的本质性与附属性工作(英语:No Silver Bullet Essence and Accidents of Software Engineering) l是IBM大型机之父佛瑞德布鲁克斯所发表一篇关于软件工程的经典论文,原先是在1986年都柏林IFIP研讨会的一篇受邀论文。l该论述中强调由于软件的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软件工

12、程的生产力在十年内提高十倍。 l人月神话出版35年之后,Brooks又写成了设计原本(计算机科学巨匠Frederick P.Brooks的思考(The Design of Design:Essays from a Computer Scientist) 。l原理的角度阐述了面向对象程序设计的6大原则;讲解和剖析了23种常见的设计模式,并进行了扩展,通俗易懂、趣味性极强而又紧扣设计模式的核心;对各种相关联的设计模式进行了深入分析和比较,旨在阐明各种设计模式比较理想的应用场景和它们之间的区别;探讨了设计模式的混编,讲解了如何在实际开发中将各种设计模式混合起来使用,以发挥设计模式的最大效用。全书结合

13、设计实例,从面向对象设计案例中精心选择了一些设计模式,总结了面向对象设计中最有价值的经验,并将其用简洁、可复用的形式表达出来。1963年美国飞往火星的火箭爆炸,造成1000万美元的损失。原因是FORTRAN程序: DO 5 I=1,3 误写为:DO 5 I=1 . 31967年苏联“联盟一号”载人宇宙飞船在返航时,由于软件忽略一个小数点,导至在进入大气层时因打不开降落伞而烧毁。课件制作人:谢希仁 ARIANE 5 火箭l1996年6月,耗资70亿美元,发射37秒后爆炸。l发射失败的原因在于软件的错误。软件错误l程序中试图将64位浮点数转换成16位整数时产生溢出。l缺少错误处理程序对数据溢出进行

14、管理。l备份软件复制而成。严格地遵守软件确认过程可以避免这种错误。爱国者导弹l曾在海湾战争期间对抗伊拉克飞毛腿导弹。l1991年2月,一次对抗失利中28名美国士兵丧生。l问题的症结在于导弹软件包含一个累加计时误差。软件错误ltarget = f(velocity, time)l计时采用系统时钟(即1/10 秒)并使用整数表达l(1/10)2=0.0001100110011001100110011001100,24 位寄存器存储导致误差(0.000000095)10l0.000000095100 hours606010 = 0.34 secondslTherac25 放射医疗仪事故,1986年由

15、于软件错误导致放射过量,2人死亡溢出错误是导致问题的主要原因之一。l千年虫问题u迫于计算机存储空间的限制,程序员将日期缩减为2位数。u世界各地更换或升级2000 年问题软件的花费超过数亿美元。l其他u电子邮件的病毒;u拒绝访问等的网络攻击;u网络事务的安全问题。 软件工程的学科发展l一门课到一个专业。l一个专业到一个一级学科。l目前,软件工程是与计算机科学与技术并列的一个一级学科。 国家示范软件学院l为了提高国家新型产业软件工程的成长步伐,国家在全国高校中选拔出37所(以前有35所)软件学院作为全国高校软件学院的示范,成为国家示范性软件学院。l北京工业大学、北京大学、清华大学、北京工业大学、北

16、京航空航天大学、北京邮电大学、北京理工大学、南开大学、天津大学、大连理工大学、东北大学、吉林大学、哈尔滨工业大学、复旦大学、同济大学、上海交通大学、华东师范大学、南京大学、东南大学、浙江大学、中国科学技术大学、厦门大学、山东大学、武汉大学、华中科技大学、国防科学技术大学、中南大学、湖南大学、中山大学、华南理工大学、重庆大学、四川大学、电子科技大学、云南大学、西安交通大学、西北工业大学、西安电子科技大学、北京交通大学。 软件工程一级学科软件工程一级学科出现的理由: (1)软件工程学科已发展为计算机科学与技术、数学、工程学、管理学等相关学科的交叉性学科。传统的计算机科学与技术学科已经涵盖不了软件工

17、程可归属的二级学科问题,不适应软件产业对软件工程人才培养的需要。(2)软件工程学科已形成较完整的理论与工程技术体系,课程体系基本明确,高端人才培养能力基本形成,创新型复合型人才的社会需求不断提高。(3)软件工程涉及软件产业、信息产业和现代服务业,代表未来社会产业发展方向。(4)现有软件工程人才培养体系不完整,需要通过进一步学科建设方能适应产业发展对高端人才的需求。软件工程学科的主要支撑二级学科:l 软件工程理论l 软件工程技术l 软件工程管理l 软件服务工程软件工程学科的主要研究方向及研究内容: (一)软件工程理论: 主要研究软件工程形式化方法、软件自动生成与演化、软件建模分析与验证、软件行为学等。 (二)软件工程技术: 主要研究需求工程、软件方法学、软件规范语言、软件体系结构、软件测试与质量保证、软件再工程、基于模型和逻辑推理的软件验证方法、软件工程环境与开发工具、面向领域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论