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

下载本文档

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

文档简介

第1章软件工程概述2022/11/23第1章软件工程概述第1章软件工程概述2022/9/24第1章软件工程概述授课对象软件学院本科40学时课程设计2周(下学期)

高级语言程序设计、数据结构、数据库技术等等

授课学时先修课程

第1章软件工程概述2授课对象软件学院本科40学时课程设计2周(计算机科学与软件工程

ComputerScienceCustomerTheoriesComputerFunctionProblemSoftwareEngineeringToolsandTechniquestoSolveProblem

第1章软件工程概述3计算机科学与软件工程

ComputerScienceCus初步了解工程?硬件工程?软件工程?计算机工程?工程:利用自然规律,创建一个使一部分人受益的系统.第1章软件工程概述4初步了解工程:利用自然规律,创建一个使一部分第1章软件工

计算机工程ComputerEngineering硬件工程HardwareEngineering

研究硬件生产和硬件管理的工程学科.

《计算机硬件及网络分析、制定设计方案、选型、配置、采购、验收、安装、调试、运行、培训、维护》第1章软件工程概述5计算机工程ComputerEngineering第1

软件工程SoftwareEngineering

研究软件开发、生产和管理的工程学科

《调研、可行性论证、正式立项、需求分析、项目策划、设计、编程、测试、实施、试运行、产品发布、用户培训、产品复制、销售、系统维护、版本升级》.

采用科学的方法指导软件的开发与维护!

初步了解第1章软件工程概述6

软件开发模型软件开发过程,方法与技术软件开发环境与工具软件管理过程(度量、成本…)软件企业文化

现代软件工程研究的内容:软件开发既是一门科学,又是一门工程,也是一门艺术第1章软件工程概述7软件开发模型现代软件工程研究的内容:软又第1章软件工程概述导读

第1章绪论-提出问题第2章模型-全局观点第3章项目计划-管理观点第4、5章分析方法,需求分析-开发第1步最重要

第6章软件设计-实现的前提

第7章实现-初始结果

第8章测试质量保证-得到可交付的结果

第9章维护-延长软件生命期第1章软件工程概述8导读第1章绪论-提出问题第2章模型-全局观点第3章软件工程教材丛书需求分析系列设计系列实现系列测试与度量系列项目管理系列质量管理系列面向对象技术系列建模语言系列可用性与复用系列前沿论题系列软件工程软件工程

方法与技术软件项目管理软件过程系列

第1章软件工程概述9软件工程教材丛书需求分析系列设计系列实现系列测试与度量系列项史济民等,软件工程-原理、方法与应用(第二板),高等教育出板社ISBN7-04-011561-1

张海藩,软件工程,人民邮电出版社2002年3月第一版

周之英,现代软件工程(上、中、下),科学出版社2001年4月第一版陈明,软件工程学教程,科学出版社2002年3月第一版郑人杰,软件工程,清华大学出版社

中文参考书第1章软件工程概述10史济民等,软件工程-原理、方法与应用中文参考书第1章软英文参考书SoftwareEngineeringTheoryandPractice(SecondEdition)Author:ShariLawrencePfleeger(软件工程——理论与实践,高等教育出版社)

SoftwareEngineeringAPractitioner’sApproachAuthor:Rogers.Pressman(软件工程实践者的研究方法机械工业出版社)第1章软件工程概述11英文参考书SoftwareEngineeringThe基本要求

理解软件工程的思想和方法

掌握软件开发方法和工具

学会按照工程化的方法开发和维护软件

具有阅读软件工程方面资料的能力为实践及未来的软件开发打基础第1章软件工程概述12基本要求理解软件工程的思想和方法第1章软件工程概述12听课复习阅读讨论练习,从知到会实践,从会到通

知识—方法—能力如何学习软件工程

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

第1章

软件工程的概述第1章软件工程概述16第1章第1章软件工程概述16基本内容:

1.1

软件1.2软件工程的概念1.3软件工程的作用1.4软件工程的发展1.5软件工程三要素1.6软件工程的目标第1章软件工程概述17基本内容:第1章软件工程概述171.1软件1.1.1软件的定义:

20世纪五十年代软件=程序面向过程的程序=算法+数据结构

20世纪六十年代软件=程序+文档

20世纪七十年代软件=程序+文档+数据

面向对象的程序=对象+消息面向构件的程序=构件+构架

第1章软件工程概述181.1软件1.1.1软件的定义:20世纪六十年代软件=1.1.2软件的特征:软件是一个信息变换器;软件是产品交付使用的载体;软件是是被开发或设计的,而不是被制造的;软件不会磨损,但维护困难。故障率时间夭折磨损实际理想故障率时间修改软件故障曲线硬件故障曲线图1-1硬件软件故障图第1章软件工程概述191.1.2软件的特征:故障率时间夭折磨损实际理想故时间修1.1.3

软件的应用*系统软件*应用软件*商业软件*工程和科学计算软件*嵌入式软件*个人计算机软件*人工智能软件*基于web软件*工具包软件第1章软件工程概述201.1.3软件的应用第1章软件工程概述201.2软件工程的概念

1.2.1软件工程的提出软件开发失败的例子

1962年6月,美国飞向金星的第1个空间探测器(水手1号)飞行中偏移了航线,失败了.原因:飞舱中的导航程序中的一个语句的语义错.世界上精心设计的并花费巨额投资的美国阿波罗8号太空飞船登月飞行计划的软件的错误,使存储器一部分信息丢失;阿波罗14号的飞行10天中,出现18个软件错误.

原因:软件的可靠性问题第1章软件工程概述211.2软件工程的概念

1.2.1软件工程的提出第1章软1963~1966年IBM开发OS/360操作系统,投资几千万美元,工作量5000多人年,拖延几年才交付使用,而且每年要发现近100个错误。美国肯尼迪发射的一枚“阿脱拉斯火箭,当飞地面几十英里高空时,翻转.地面控制中心被迫下令炸毁,结果损失1850万美元

原因:飞行计划程序漏掉一个“连”接字符第1章软件工程概述221963~1966年IBM开发OS/360操作系统,投资几千通过比较,支持“美国航天飞机”的软件由3百万行代码组成,包括地面控制发射和飞行的计算机,航天飞机本身就需10万行代码。这样一个反导弹软件系统需要测试大量的代码.此外可靠性约束是不可能测试的。

许多软件工程师认为一个“反弹道导弹系统”只少需要1千万行代码,有人估计代码在1亿行左右。第1章软件工程概述23通过比较,支持“美国航天飞机”的软件由3许多软件工程师认为一“安全临界”软件问题:安全临界是指其可靠性至少达到10-9,也就说在工作109小时内不能出现错误。为了观察可靠性程度,就必须使系统至少运行109小时不会失败。但验证109小时不出错,需要测试114,000年,这实际上是不可能的。

这是一种无法实现的计划。第1章软件工程概述24“安全临界”软件问题:安全临界是指其可第1章软件工程概述2由上可看出:软件需求量不断增大,复杂度越来越高,软件可靠性无保障软件维护费用不断上升软件进度无法预测成本增长无法控制程序人员无限度地增加各个方面.

上述原因导致了60年代末的“软件危机.第1章软件工程概述25由上可看出:第1章软件工程概述25一系列软件开发的失败引起人们的思考,1968年北大西洋公约组织(NATO)的计算机科学家在联邦德国的幕尼黑召开的一次计算机软件国际会议上,对软件开发的方法、技术进行了广泛的讨论,

首次提出了“软件工程”的概念。

第1章软件工程概述26一系列软件开发的失败引起人们的思考,第1章软件工程概述21.2.2软件工程的含义

P.Wegner和B.Boehm认为:

科学知识在设计和构造计算机程序,以及开发、运作和维护这些程序所需求的有关文档编制中的实际应用。F.L.Bauer认为:

为了经济地获得软件,这个软件是可靠的并且能在实在的计算机上工作,所需要的健全的工作原理(方法)的确立和使用。

第1章软件工程概述271.2.2软件工程的含义P.Wegner和B.BoehmIEEE(83)指出:

软件工程是开发、运行、维护和修复软件的系统方法。IEEE(93)指出:

软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化的方法应用于软件开发中。第1章软件工程概述28第1章软件工程概述28

解决60年代出现的软件危机

解决软件当前面临的技术问题软件可靠性、可用性、重用性、维护性等等

告诉人们怎样去开发软件、管理软件开发软件即需要干哪些“活”,对“开发”两字做一解析.

如何干活,即有关开发模型和开发方法等技术问题.如何管理,即有关CMM等管理问题.

1.3

软件工程的作用第1章软件工程概述29解决60年代出现的软件危机1.3软件工程的作用第1章现代软件开发对人才的要求

系统分析人员、设计人员、软件架构师、软件集成人员、高层管理人员、中层项目经理、软件蓝领工人、实施和维护人员、软件售前人员、软件营销人员

提高软件产品的质量,降低软件开发的成本.第1章软件工程概述30现代软件开发对人才的要求第1章软件工程概述301.4软件工程的发展

传统的软件工程时代过程软件工程时代对象软件工程时代构件软件工程时代发展方向:流水线装配软件工程的方向发展(流水线生产,网络化,服务化,全球化)

第1章软件工程概述311.4软件工程的发展传统的软件工程时代第1章软件工程为屏蔽计算机硬件的异构性,发展了操作系统.NET/COMWebServicesJ2EE/EJBUNIXWindowsLinuxC/C++语言Java语言为屏蔽操作系统和编程语言的异构性,发展了支撑软件和中间件为了屏蔽中间件之间的异构性,出现了Web技术。Fortran语言为了祢补应用软件与现实计算环境之间的距离

网络层综观软件技术的发展图1-2应用系统操作系统支撑软件中间件第1章软件工程概述32为屏蔽计算机硬件的异构性,发展了操作系统.NET/COMWe

1)20世纪60年代末至80年代初,围绕软件项目,开展了有关:

软件开发风范

开发方法

支持工具的研究。

20世纪60年代末80年代初20世纪末主要特点强调技术关注管理“螺旋反复”发展阶段第1章软件工程概述331)20世纪60年代末至80年代初,围绕软件项目,202)20世纪80年代以来,随着软件系统规模的增大、复杂性的提高以及在关键领

温馨提示

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

评论

0/150

提交评论