第一篇软件工程概述1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第一篇软件工程概述1课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一篇 软件工程 概述 课件
- 资源描述:
-
1、软件工程软件工程德州学院德州学院1.0 课程介绍1.1 软件的概述1.2 软件危机1.3 软件工程概述1.4 软件生命周期1.5 软件过程模型1.6 软件工程师职业道德规范与要求第第1 1章章 软件工程概述软件工程概述 1.0.1 学科知识点与本课程的关系 1.0.2 本课程的主要学习内容1.0 1.0 课程介绍课程介绍1.0.1 1.0.1 学科知识点与本课程的关系学科知识点与本课程的关系课程分类(三大类)课程分类(三大类)(1 1)计算机数学类)计算机数学类 线性代数线性代数 概率与统计概率与统计 数值分析数值分析 离散数学离散数学 (2 2)硬件与体系结构类)硬件与体系结构类 普通物理普
2、通物理 电路原理电路原理 电子技术电子技术 数字逻辑数字逻辑 汇编语言汇编语言 计算机组成原理计算机组成原理 微型计算机技术微型计算机技术 计算机网络与通信计算机网络与通信 计算机体系结构计算机体系结构(3 3)计算机软件类)计算机软件类 软件工程软件工程 结构化程序设计结构化程序设计 面向对象程序设计面向对象程序设计 数据结构数据结构 算法设计与分析算法设计与分析 操作系统操作系统 编译原理编译原理 数据库系统原理数据库系统原理 Web Web程序设计程序设计 人机界面设计技术人机界面设计技术 人工智能人工智能 软件需求分析软件需求分析 软件项目管理软件项目管理1.0.2 1.0.2 本课程
3、的主要学习内容本课程的主要学习内容p 本课程的研究范畴和教学内容本课程的研究范畴和教学内容p 本课程的教学思想与目标本课程的教学思想与目标p 参考书和学习方法参考书和学习方法p 考核方法考核方法 软件工程理论软件工程理论 软件工程理论软件工程理论的研究主要集中于软件生命周期、过程模的研究主要集中于软件生命周期、过程模型等。型等。过程模型过程模型 过程模型过程模型的主要任务是在软件项目的支持下,按照应用的主要任务是在软件项目的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的应用程序而采取的步骤和模型。效率较高的应用
4、程序而采取的步骤和模型。程序设计语言程序设计语言 程序设计语言程序设计语言的主要介绍软件开发过程中各种开发语言的主要介绍软件开发过程中各种开发语言和相应程序设计风格。和相应程序设计风格。(1 1)本课程的研究范畴)本课程的研究范畴教学内容教学内容本课程较全面介绍软件工程的基本概念、基本原理和基本技术着重介绍软件,包括软件定义和特点,包括软件定义和特点等讨论软件危机、软件工程、生命周期和过程模型等简要介绍程序设语言、软件维护软件测试教学思想与目标教学思想与目标本课程将注重对同学如下能力的培养本课程将注重对同学如下能力的培养 1 1)分析、归纳和设计能力分析、归纳和设计能力:深刻理解基本概念和方法
5、,:深刻理解基本概念和方法,学会软件工程的分析方法,归纳各种概念,权衡各方因素学会软件工程的分析方法,归纳各种概念,权衡各方因素,设设计合理系统。计合理系统。2 2)自学能力自学能力:软件工程软件很多,发展快,绝大多数要:软件工程软件很多,发展快,绝大多数要求学生在实验或课余自学掌握,课堂重在讲方法和个案剖析。求学生在实验或课余自学掌握,课堂重在讲方法和个案剖析。3 3)研究创新能力研究创新能力:软件工程技术发展快,新内容层出不:软件工程技术发展快,新内容层出不穷,注意学习类比,观察提炼,提出新问题,新概念,新方法穷,注意学习类比,观察提炼,提出新问题,新概念,新方法。参考书和学习方法参考书和
6、学习方法学习方法学习方法 软件工程(第二版),齐治昌等软件工程(第二版),齐治昌等 软件工程软件工程理论、方法与实践,孙家广等理论、方法与实践,孙家广等 软件工程软件工程 钱乐秋等钱乐秋等 软件工程概论软件工程概论 郑人杰等郑人杰等考核方法考核方法考核方法:考查 考查成绩(70%)平时成绩(30%)考勤要求:只点人数,可找人替。若查到(处)缺勤,取消平时成绩为0分。(可参加大赛等方式来补偿)课堂纪律:劝导为主(笔记、手机)学生任性。第第1 1章章 软件工程概述软件工程概述 软件是什么?软件是什么?软件软件是计算机系统中是计算机系统中程序、数据程序、数据及其相关及其相关文文档。档。程序程序是按事
7、先设计的功能和性能要求执行的是按事先设计的功能和性能要求执行的指令序指令序列。列。数据数据是使程序能正常操纵信息的是使程序能正常操纵信息的数据结构数据结构。文档文档是与程序开发、维护和使用有关的是与程序开发、维护和使用有关的图文资料图文资料。第第1 1章章 软件工程概述软件工程概述p 软件的概述软件的概述p 软件危机软件危机p 软件工程概述软件工程概述p 软件生命周期软件生命周期p软件过程模型软件过程模型 p软件工程师职业道德规范与要求软件工程师职业道德规范与要求1.1 1.1 软件的概述软件的概述p软件的发展历程软件的发展历程p软件的分类软件的分类p软件的特点软件的特点1.1.1 1.1.1
8、 软件的发展历程软件的发展历程软件经历四个发展阶段软件经历四个发展阶段:第一阶段第一阶段:从从20世纪世纪50年代初到年代初到20世纪世纪60年代年代初初某个具体应用专门设计某个具体应用专门设计开发人员一般地是软件自身的使用者开发人员一般地是软件自身的使用者主要用途是快速计算主要用途是快速计算采用批处理技术采用批处理技术不存在任何系统化的开发方法不存在任何系统化的开发方法1.1.1 1.1.1 软件的发展历程软件的发展历程第二阶段:从20世纪60年代中期到70年代中期多用户系统引入了人机交互多用户系统引入了人机交互存储设备的发展产生了第一代数据库管理系统存储设备的发展产生了第一代数据库管理系统
9、软件产品和软件产品和“软件作坊软件作坊”的概念出现的概念出现软件危机软件危机1.1.1 1.1.1 软件的发展历程软件的发展历程第三阶段:第三阶段:从从20世纪世纪70年代中期到年代中期到80年代末期年代末期分布式系统、网络、微处理器、硬件等因素发分布式系统、网络、微处理器、硬件等因素发展,加剧了软件危机展,加剧了软件危机软件工程学的理论得到快速发展软件工程学的理论得到快速发展1.1.1 1.1.1 软件的发展历程软件的发展历程第四阶段:第四阶段:从从20世纪世纪80年代末期到现在年代末期到现在桌面系统和计算机网络迅速发展桌面系统和计算机网络迅速发展客户机客户机/服务器模式服务器模式面向对象技
10、术推广面向对象技术推广1.1 1.1 软件的概述软件的概述p软件的发展历程软件的发展历程p软件的分类软件的分类p软件的特点软件的特点1.1.2 1.1.2 软件的分类软件的分类p按软件功能进行划分按软件功能进行划分(1)系统软件)系统软件系统软件是与硬件进行频繁地交互,负责各资源系统软件是与硬件进行频繁地交互,负责各资源共享及进程管理、复杂数据结构的处理等工作,共享及进程管理、复杂数据结构的处理等工作,如操作系统、设备驱动程序等。如操作系统、设备驱动程序等。操作系统:操作系统:DOS操作系统、操作系统、Windows、Linux、UNIX。Android、iOS、Windows Phone、C
11、hrome OS。1.1.2 1.1.2 软件的分类软件的分类p 按软件功能进行划分按软件功能进行划分(2)支撑软件)支撑软件支撑软件是协助进行软件开发的工具软件,如支撑软件是协助进行软件开发的工具软件,如API(Application Programming Interface,应用程序编程接,应用程序编程接口)帮助文档等。口)帮助文档等。例:例:Visual Studio是目前最流行的是目前最流行的Windows平台应用程序平台应用程序的集成开发环境。的集成开发环境。Java的的IDE工具:工具:Eclipse、MyEclipse、NetBeans。建模工具:建模工具:Visio、IBM
12、Rational Software Architect、Enterprise Architect、Power designer。1.1.2 1.1.2 软件的分类软件的分类p 按软件功能进行划分按软件功能进行划分(3)应用软件)应用软件应用软件在特定领域内开发,为特定目的服务的一类软件。应用软件在特定领域内开发,为特定目的服务的一类软件。如计算机辅助教学(如计算机辅助教学(Computer Aided Instruction,简称,简称CAI)。)。例:电子商务网站:天猫、京东、好乐购、唯品会。例:电子商务网站:天猫、京东、好乐购、唯品会。教务管理系统、图书管理系统、微信、教务管理系统、图书管
13、理系统、微信、QQ、中国铁路客户服务中心(中国铁路客户服务中心(12306)1.1.2 1.1.2 软件的分类软件的分类p 按软件规模进行划分按软件规模进行划分类别所需人力研制期限产品规模(源代码行数)微型114周500小型116周10002000中型2512年500050 000大型52023年50 000500 000超大型100100045年1 000 000极大型20005000510年1 000 00010 000 000表1.1 软件划分种类1.1.2 1.1.2 软件的分类软件的分类p 按工作方式进行划分按工作方式进行划分 (1)实时处理软件)实时处理软件 例:实时监控软件、股票
14、行情软件、火车票订票系统、例:实时监控软件、股票行情软件、火车票订票系统、交通控制控制系统、导弹火箭控制系统。交通控制控制系统、导弹火箭控制系统。(2)分时软件)分时软件 (3)交互式软件)交互式软件 (4)批处理软件)批处理软件 1.1 1.1 软件的概述软件的概述p软件的发展历程软件的发展历程p软件的分类软件的分类p软件的特点软件的特点1.1.3 1.1.3 软件的特点软件的特点(1)软件是一种)软件是一种逻辑实体逻辑实体,不是具体的物理实体。,不是具体的物理实体。(2)软件是通过)软件是通过研制研制而产生。而产生。(3)软件没有机械磨损和老化问题,但有)软件没有机械磨损和老化问题,但有退
15、化退化问题。问题。(4)软件对计算机系统依赖性较强,具有)软件对计算机系统依赖性较强,具有可移植性可移植性。(5)软件的开发至今未摆脱)软件的开发至今未摆脱手工作坊式手工作坊式的开发方式,的开发方式,生生产效率低产效率低。(6)软件作为提高人类工作效率的逻辑产品,其本身具)软件作为提高人类工作效率的逻辑产品,其本身具有有复杂性复杂性。(7)软件)软件成本成本相当昂贵。相当昂贵。(8)软件开发牵扯到相当多的)软件开发牵扯到相当多的社会因素社会因素。第第1 1章章 软件工程概述软件工程概述p 软件的概述软件的概述p 软件危机软件危机p 软件工程概述软件工程概述p 软件生命周期软件生命周期p软件过程
16、模型软件过程模型 p软件工程师职业道德规范与要求软件工程师职业道德规范与要求1.2 1.2 软件危机软件危机p软件危机定义及表现软件危机定义及表现p产生的原因及解决途径产生的原因及解决途径1.2.1 1.2.1 软件危机定义及表现软件危机定义及表现软件危机软件危机是指在计算机软件开发和维护过程中所遇到的是指在计算机软件开发和维护过程中所遇到的一系列严重问题一系列严重问题。在在1968年,北大西洋公约组织的计算机科学家在联邦德年,北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提到了国召开的国际学术会议上第一次提到了“软件危机软件危机”(Software crisis)。)。软
17、件危机包含问题:软件危机包含问题:如何开发软件如何开发软件,以满足不断增长、日趋复杂的需求。,以满足不断增长、日趋复杂的需求。如何维护如何维护已有软件产品。已有软件产品。1.2.1 1.2.1 软件危机定义及表现软件危机定义及表现软件危机的表现:软件危机的表现:(1)对软件开发成本和进度的估计常常不准确。)对软件开发成本和进度的估计常常不准确。软件开发成本软件开发成本很难预估,导致开发经费不断追很难预估,导致开发经费不断追加。加。工作量估计工作量估计不足,预先制定的进度计划无法遵不足,预先制定的进度计划无法遵循,开发工作完成期限一拖再拖。循,开发工作完成期限一拖再拖。1.2.1 1.2.1 软
18、件危机定义及表现软件危机定义及表现(2)用户对)用户对“已完成的已完成的”软件系统不满意的现软件系统不满意的现象经常发生。象经常发生。用户用户在描述需求时表述不明确,在软件开发过在描述需求时表述不明确,在软件开发过程中,不断程中,不断变更需求变更需求,同时,同时双方双方未能及时沟通,造未能及时沟通,造成软件开发后期积累了大量问题。成软件开发后期积累了大量问题。开发人员开发人员不重视需求分析,在没有充分明确需不重视需求分析,在没有充分明确需求的情况下开始着手编程,这种求的情况下开始着手编程,这种“闭门造车闭门造车”的状的状态必然导致最终产品不符合用户实际需求。态必然导致最终产品不符合用户实际需求
19、。1.2.1 1.2.1 软件危机定义及表现软件危机定义及表现(3)软件产品的质量往往靠不住。)软件产品的质量往往靠不住。例:例:1994年年,英特尔奔腾浮点除法软件缺陷,导致为自英特尔奔腾浮点除法软件缺陷,导致为自己的行为道歉并花费己的行为道歉并花费4亿多美元亿多美元更换坏芯片更换坏芯片.原因:芯片发布前已发现问题,但管理层忽略了。软件原因:芯片发布前已发现问题,但管理层忽略了。软件缺陷被发现时,英特尔试图掩饰该问题的严重性。受到压缺陷被发现时,英特尔试图掩饰该问题的严重性。受到压力时,英特尔承诺更换芯片但要求用户证明自己受到软件力时,英特尔承诺更换芯片但要求用户证明自己受到软件缺陷的影响缺
20、陷的影响.(4195835/3145727)3145727-4195835=01.2.1 1.2.1 软件危机定义及表现软件危机定义及表现(3)软件产品的质量往往靠不住)软件产品的质量往往靠不住例:例:1991年年,美国爱国者导弹防御系统在几次对抗导弹战美国爱国者导弹防御系统在几次对抗导弹战役中失利,误击毙役中失利,误击毙28名美军士兵。名美军士兵。(海湾战争海湾战争)原因:一个很小的系统时钟错误积累,可能拖延原因:一个很小的系统时钟错误积累,可能拖延14小时并小时并造成跟踪系统失去准确度,多哈战中系统拖延了造成跟踪系统失去准确度,多哈战中系统拖延了100多个小时。多个小时。例:例:2007年
21、年10月月30日上午日上午11时,时,2008北京奥运会售票系统北京奥运会售票系统软件瘫痪。售票系统瘫痪事件发生后,公众普遍质疑歌华特软件瘫痪。售票系统瘫痪事件发生后,公众普遍质疑歌华特玛捷公司是否具备承担玛捷公司是否具备承担2008北京奥运会的票务销售能力。北京奥运会的票务销售能力。1.2.1 1.2.1 软件危机定义及表现软件危机定义及表现(3)软件产品的质量往往靠不住)软件产品的质量往往靠不住例:例:2013年年6月月23日,日,中国工商银行中国工商银行系统瘫痪导致全国多系统瘫痪导致全国多地工行系统柜面取款、地工行系统柜面取款、ATM、网银等无法办理。、网银等无法办理。24日,中日,中国
22、银行系统也短暂瘫痪,一时间金融业钱荒,银行股价暴国银行系统也短暂瘫痪,一时间金融业钱荒,银行股价暴跌,金融市场流动性紧张。跌,金融市场流动性紧张。此次事件涉及北京、上海、武汉、四川等中国多个省市。此次事件涉及北京、上海、武汉、四川等中国多个省市。工行随后证实事件乃系统升级所致。工行随后证实事件乃系统升级所致。1.2.1 1.2.1 软件危机定义及表现软件危机定义及表现(4)软件常常是不可维护的)软件常常是不可维护的投入使用的软件,总是出现一定数量的错误。投入使用的软件,总是出现一定数量的错误。软硬件环境发生变化或者用户提出新的需求,软硬件环境发生变化或者用户提出新的需求,都需要对软件进行修改。
展开阅读全文