1章 软件工程概述_第1页
1章 软件工程概述_第2页
1章 软件工程概述_第3页
1章 软件工程概述_第4页
1章 软件工程概述_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学与技术学院

软件工程研究室王宇颖

wangyy@SoftwareEngineering1授课对象软件学院院本科40学时课课程设设计2周(下学期)

高级语言言程序设计计、数据据结构、、数据库技技术等等授课学时先修课程

2计算机科科学与软软件工程程ComputerScienceCustomerTheoriesComputerFunctionProblemSoftwareEngineeringToolsandTechniquestoSolveProblem

3初步了解解工程?硬件工程程?软件工程程?计算机工工程?工程:利用自然然规律,创建一个个使一部部分人受益的的系统.4计算机工工程ComputerEngineering硬件工程程HardwareEngineering研究硬件件生产和和硬件管管理的工工程学科科.《计算机硬硬件及网网络分析析、制定定设计方方案、选型、配配置、采采购、验验收、安安装、调调试、运行、培培训、维维护》5软件工程程SoftwareEngineering研究软件件开发、、生产和和管理的的工程学科科《调研、可行性论论证、正式立项项、需求分析、项目策划划、设计、编程、测测试、实施、试运行、、产品发发布、用用户培训训、产品品复制、、销售、系统维护护、版本升级级》.采用科学学的方法法指导软软件的开开发与维维护!

初步了解解6软件开发发模型软件开发发过程,,方法与与技术软件开发发环境与与工具软件管理理过程((度量、、成本…)软件企业业文化现代软件件工程研研究的内内容:软件开发既是一门科学,又是一门工程,也是一门艺术7导读第1章绪论-提出问题题第2章模型型-全局观点点第3章项目目计划-管理观点点第4、5章分析方方法,需求分析析-开发第1步最重要要第6章软件件设计-实现的前前提第7章实实现-初始结果果第8章测试试质量量保证-得到可交交付的结结果第9章维护护-延长软件件生命期期8软件工程教材丛书需求分析系列设计系列实现系列测试与度量系列项目管理系列质量管理系列面向对象技术系列建模语言系列可用性与复用系列前沿论题系列软件工程软件工程程方法与技技术软件项目目管理软件过程程系列9史济民等等,软件工程程-原理、方方法与应应用(第二板),高等教育育出板社社ISBN7--04--011561-1张海藩,软件工程程,人民邮电电出版社社2002年3月第一版版周之英,现代软件件工程((上、中中、下)),科学出版版社2001年4月第一版版陈明,软件工程程学教程程,科学出版版社2002年3月第一版版郑人人杰,软件工程程,清华大学学出版社社

中文参考考书10英文参考书SoftwareEngineeringTheoryandPractice((SecondEdition))Author::ShariLawrencePfleeger(软件工工程——理论与实实践,高等教育育出版社社)SoftwareEngineeringAPractitioner’’sApproachAuthor::Rogers..Pressman(软件工工程实践践者的研研究方法法机械械工业出出版社))11基本要求求理解软件工程程的思想想和方法法掌握软件开发发方法和和工具学会按照工程程化的方方法开发发和维护护软件具有阅读软件件工程方方面资料料的能力力为实践及未来的的软件开开发打基基础12听课复习阅读讨论练习,从从知到会会实践,从会到到通知识—方法—能力如何学习习软件工工程

讲课教书学习读读书知识课课程你们的收收获不会会仅仅局局限在本课程程之内……课堂教学学复习作业参考资料料实践渗透13考试课堂小考考核,占成绩的的10%完成一个个小型软软件系统统的分析析、设计计文档,阶段性成成果占成成绩的20%考试成绩绩占70%财富可以以通过辛辛勤劳动动获取,,也可能由由于喜中中彩票大大奖获得得。但知识却却必须是是通过一一点一滴滴努力学习习逐渐积积累珍惜每一一天,每每一节课课,每一一分钟诚信14实践作业业分析和设设计下列列问题之之一,并写出文文档.1.教学管理理软件2.教学网站站3.网上售书书,网上购物物4.超市管理理5.食堂管理理6.工寓管理理7.自选15第1章

软件工程程的概述述16基本内容容:1.1软件1.2软件工程程的概念1.3软件工程程的作用1.4软件工程程的发展1.5软件工程程三要素1.6软件工程程的目标171.1软件1.1..1软件的定定义:20世纪五十十年代软件=程序面向过程程的程序序=算法+数据结构构

20世纪六十十年代软件=程序+文档20世纪七十十年代软软件=程序+文档+数据面向对象象的程序序=对象+消息面向构件件的程序序=构件+构架181.1..2软件的特特征:软件是一一个信息息变换器器;软件是产产品交付付使用的的载体;;软件是是是被开发发或设计计的,而而不是被被制造的的;软件不会会磨损,但维护困困难。故障率时间夭折磨损实际理想故障率时间修改软件故障曲线硬件故障曲线图1-1硬件软件故障图191.1..3软件的应应用*系统统软件*应用用软件*商业业软件*工程程和科学学计算软软件*嵌入入式软件件*个人人计算机机软件*人工工智能软软件*基于于web软件*工具包软软件201.2软件工程程的概念念1.2..1软件工程程的提出出软件开发发失败的的例子1962年6月,美国飞向向金星的的第1个空间探探测器(水手1号)飞行中偏偏移了航航线,失败了.原因:飞舱中的的导航程程序中的的一个语语句的语语义错.世界上精精心设计计的并花花费巨额额投资的的美国阿阿波罗8号太空飞飞船登月月飞行计计划的软软件的错错误,使存储器一一部分信信息丢失失;阿波罗14号的飞行行10天中,出现18个软件错错误.原因:软件的可可靠性问问题211963~1966年IBM开发OS/360操作系统统,投资资几千万万美元,,工作量量5000多人年,,拖延几年年才交付使使用,而而且每年年要发现现近100个错误。。美国肯尼尼迪发射射的一枚枚“阿脱脱拉斯火火箭,当飞地面面几十英英里高空空时,翻转.地面控制制中心被被迫下令令炸毁,结果损失失1850万美元原因:飞行计划划程序漏漏掉一个个“连””接字符符22通过比较较,支持持“美国国航天飞飞机”的的软件由由3百万行代代码组成成,包括括地面控控制发射射和飞行行的计算机机,航天天飞机本本身就需需10万行代码码。这样一个个反导弹弹软件系系统需要要测试大大量的代码.此外可靠靠性约束束是不可可能测试试的。

许多软件件工程师师认为一一个“反反弹道导导弹系统统”只少需要要1千万行代代码,有有人估计计代码在在1亿行左右。。23“安全临临界”软软件问题题:安全全临界是是指其可可靠性至少少达到10-9,也就说说在工作作109小时内不能出出现错误误。为了了观察可可靠性程程度,就必须使使系统至至少运行行109小时不会会失败。。但验证109小时不出出错,需需要测试试114,,000年,这实实际上是是不可能能的。这是一种种无法实实现的计计划。24由上可看看出:软件需求求量不断断增大,,复杂度度越来越越高,软件可靠靠性无保保障软件维护护费用不不断上升升软件进度度无法预预测成本增长长无法控控制程序人员员无限度度地增加加各个方方面.上述原因因导致了了60年代末的的“软件件危机.25一系列软软件开发发的失败败引起人人们的思思考,1968年北大西西洋公约约组织(NATO)的计算机机科学家在在联邦德德国的幕幕尼黑召召开的一一次计算机软件件国际会会议上,,对软件件开发的的方法、、技术进行行了广泛泛的讨论论,首次提出出了“软件工程程”的概念念。

261.2..2软件工程程的含义义P.Wegner和B.Boehm认为:科学知识识在设计计和构造造计算机机程序序,以及及开发、、运作和和维护这这些程序序所需求求的有关关文档编编制中的的实际应应用。F.L..Bauer认为:为了经济济地获得得软件,,这个软软件是可可靠的并并且能在在实在的的计算机机上工作作,所需需要的健全的工工作原理理(方法法)的确确立和使使用。

27IEEE(83)指出:软件工程程是开发发、运行行、维护护和修复复软件的的系统方方法。IEEE(93)指出:软件工程程是将系系统化的的、规范范的、可可度量的的方法应应用于软软件的开开发、运运行和维维护的过过程,即即将工程程化的方法应用于软软件开发发中。28

解决60年代出现现的软件件危机解决软件件当前面面临的技技术问题题软件可靠靠性、可可用性、、重用性性、维护护性等等等告诉人们们怎样去去开发软软件、管管理软件件开发软件件即需要要干哪些““活”,对“开发发”两字字做一解析.如何干活活,即有关关开发模模型和开开发方法法等技术问题.如何管理理,即有关关CMM等管理问问题.1.3软件工程程的作用用29现代软件件开发对对人才的的要求系统分析析人员、、设计人人员、软软件架构构师、软件集成成人员、、高层管管理人员员、中层项目目经理、、软件蓝蓝领工人人、实施和维维护人员员、软件售前前人员、、软件营营销人员员提高软件件产品的的质量,降低软件件开发的的成本.301.4软件工程程的发展展传统的软软件工程程时代过程软件件工程时时代对象软件件工程时时代构件软件件工程时时代发展方向向:流水线装装配软件件工程的的方向发展(流流水线生生产,网网络化,,服务化,,全球化化)31为屏蔽计计算机硬硬件的异异构性,,发展了了操作系系统.NET/COMWebServicesJ2EE/EJBUNIXWindowsLinuxC/C+++语言Java语言为屏蔽操操作系统统和编程程语言的的异构性性,发展展了支撑撑软件和和中间件件为了屏蔽中间件之间的异构性,出现了Web技术。Fortran语言为了祢补补应用软软件与现现实计算算环境之之间的距距离网络层层综观软软件技术术的发发展图1--2应用系统统操作系统统支撑软件件中间件321)20世纪60年代末至至80年代初,,围绕软软件项目目,开展了有有关:软件开发发风范开发方法法支持工具具的研究究。20世纪60年代末80年代初20世纪末主要特点点强调技术术关关注管理理““螺螺旋反复复”发展阶段段332)20世纪80年代以

温馨提示

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

评论

0/150

提交评论