软件工程概述.ppt
《软件工程概述.ppt》由会员分享,可在线阅读,更多相关《软件工程概述.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程概述软件工程概述1 1本课程的特点本课程的特点2 2学习的主要内容学习的主要内容3 3培养目标培养目标4 4教学安排教学安排5 5主要参考书目主要参考书目6 6考核方式考核方式课程简介1、是一门很重要的专业课,学习内容比较多;、是一门很重要的专业课,学习内容比较多;2、属、属“工程工程”学科;学科;3、是一门需不断完善的、发展的、可创新的学科、是一门需不断完善的、发展的、可创新的学科。2011年3月8日由国务院学位委员会、中华人民共和国教育部联合发出“关于印发学位授予和人才培养学科目录(2011年)的通知”(学位201111号),通知中将将软件工程由原来的二级学科新列为一级学科(学科代
2、码为0835),原来软件工程学科是计算机科学与技术一级学科下面的二级学科。返回一、课程特点1、软件工程的基本概念及软件危机、软件工程的基本概念及软件危机2、软件生存周期及软件开发模型、软件生存周期及软件开发模型3、软件计划(问题定义及可行性研究)、软件计划(问题定义及可行性研究)4、软件分析、软件分析(需求分析需求分析)5、软件系统设计、软件系统设计6、软件测试、软件测试7、软件维护、软件维护8、面向对象软件工程、面向对象软件工程9、软件项目管理、软件项目管理返回二、学习主要内容通过本课程的学习,通过本课程的学习,消除错误的认识,学习软件工程基本理论,消除错误的认识,学习软件工程基本理论,掌握
3、软件开发全过程中的各重要阶段的任务及相关描述方法,掌握软件开发全过程中的各重要阶段的任务及相关描述方法,使学生能真正的从中了解软件开发的整个过程。为了使学生能真正的从中了解软件开发的整个过程。为了让学生真正得以实践,结合实际软件开发项目,让学让学生真正得以实践,结合实际软件开发项目,让学生从问题定义开始,经过可行性研究、需求分析、概生从问题定义开始,经过可行性研究、需求分析、概要设计、详细设计、编码直到最后要对自己开发的软要设计、详细设计、编码直到最后要对自己开发的软件还要进行测试,这样一个软件开发过程,从而使学件还要进行测试,这样一个软件开发过程,从而使学生掌握软件开发的基本技能,具备软件工
4、程师的基本生掌握软件开发的基本技能,具备软件工程师的基本素质。素质。产生两个转变产生两个转变转变对软件的认识转变对软件的认识 程序程序-上升上升-系统系统转变思维定式转变思维定式 程序员程序员-上升上升-系统工程师系统工程师(系统分析员)(系统分析员)三、培养目标培养目标1、见附件2、答疑 时间:待定 地点:明德楼D座0413 四、教学安排动脑:动脑分析实际问题!动手:动手撰写文档、编写程序!学好本课程的关键学好本课程的关键2022/11/51、主要参考书目:、主要参考书目:软件工程软件工程 张海藩张海藩 编著编著 清华大学出版社清华大学出版社2、其他参考书目:、其他参考书目:软件工程与实践软
5、件工程与实践贾铁军、甘泉主编贾铁军、甘泉主编 清华大学出版社清华大学出版社 实用软件工程实用软件工程 赵池龙、杨林赵池龙、杨林 主编主编 电子工业出版社电子工业出版社 实用软件工程实用软件工程 郑人杰主编郑人杰主编 清华大学出版社清华大学出版社返回五、参考教材1、课程性质:考试课、课程性质:考试课2、考核方式:考试(、考核方式:考试(60)综合设计(综合设计(20)平平时(时(20)返回六、考核方式第一章第一章 软件工程概述软件工程概述水利工程建筑工程机械工程 软件工程软件工程软件工程软件工程 本章将对软件的地位和作用、软件的特点、软件的发展、软件的危机以及软件工程学科的形成、软件生命周期及软
6、件过程(或叫软件开发模型)等方面的问题和基本概念进行介绍。传统工程新兴工程气象工程生物工程2022/11/51.1 软件的概念与特点软件的概念与特点1、软件softwaresoft+ware软制品(软体)软件是计算机系统中与硬件相互依存的另一部分。它包括程序、数据及其相关文档的完整集合。其中相关 文档分为面向用户的文档和面向开发者的文档。固件固件(Firmware)就是写入就是写入EROM或或EPROM(可编程只读存储器可编程只读存储器)中的程序,通俗中的程序,通俗的理解就是的理解就是“固化的软件固化的软件”,更简单的说,固件就是,更简单的说,固件就是BIOS的软件,但又与普通的软件,但又与普
7、通软件完全不同,它是固化在集成电路内部的程序代码,负责控制和协调集成电路软件完全不同,它是固化在集成电路内部的程序代码,负责控制和协调集成电路的功能。的功能。2022/11/52、软件特点.软件是一种逻辑实体,而不是具体的物理实体.软件的生产与硬件不同,无明显制造过程.在软件的运行和使用期间,没有硬件那样的机械 磨损,老化问题磨合调整磨损用坏修改点实际曲线理想曲线硬件失效率曲线时间失效率时间失效率软件失效率曲线2022/11/5 定制的且本身是复杂的(逻辑结构复杂,解决问题复杂,相当多的软件都涉及到社会因素)开发与运行受制于计算机硬件,有依赖性 至今尚未完全摆脱手工的开发方式 软件的成本相当昂
8、贵软件技术的发展落后于需求时间软件复杂性软件需求差距软件技术硬、软件成本比例的变化年份成本%软件软件1950197019851995硬件硬件2022/11/53、软件的分类系统软件支撑软件应用软件(1 1)按软件的功能进行划分按软件的功能进行划分按软件的功能进行划分按软件的功能进行划分2022/11/5支撑软件一般类型一般类型一般类型一般类型:文本编辑程序文本编辑程序文本编辑程序文本编辑程序 文本格式化程序文本格式化程序文本格式化程序文本格式化程序支持需求分析支持需求分析支持需求分析支持需求分析:PSL/PSA PSL/PSA问题描述语言问题描述语言问题描述语言问题描述语言 关系数据库管理系统
9、关系数据库管理系统关系数据库管理系统关系数据库管理系统支持设计支持设计支持设计支持设计:图形软件包图形软件包图形软件包图形软件包 结构化流程图绘图程序结构化流程图绘图程序结构化流程图绘图程序结构化流程图绘图程序支持测试支持测试支持测试支持测试:静态分析器静态分析器静态分析器静态分析器 测试覆盖检验程序测试覆盖检验程序测试覆盖检验程序测试覆盖检验程序支持实现支持实现支持实现支持实现:编辑程序编辑程序编辑程序编辑程序 连接编辑程序连接编辑程序连接编辑程序连接编辑程序支持管理支持管理支持管理支持管理:标准检验程序标准检验程序标准检验程序标准检验程序 库管理程序库管理程序库管理程序库管理程序2022/
10、11/5(2)2)按软件的规模进行划分按软件的规模进行划分按软件的规模进行划分按软件的规模进行划分 按开发软件所需的 人力、时间以及完成的 源代码行数。类别参加人数研制期限产品规模(源代码行数)微型微型微型微型小型小型小型小型中型中型中型中型大型大型大型大型甚大型甚大型甚大型甚大型极大型极大型极大型极大型1 11 12-52-55-205-20100-1000100-10002000-50002000-50001-41-4周周周周1-61-6周周周周1-21-2年年年年2-32-3年年年年4-54-5年年年年5-105-10年年年年约约约约500500行行行行 约约约约20002000行行行行
11、 5000-500005000-50000行行行行5 5万万万万-10-10万行万行万行万行100100万行万行万行万行10001000万行万行万行万行2022/11/5 (3)(3)按软件服务对象划分按软件服务对象划分按软件服务对象划分按软件服务对象划分项目软件产品软件2022/11/5(4)按软件工作方式划分 实时软件:收到请求中断后立即响应 分时软件:按时间片响应多个联机用户 交互式:一问一答式 批处理软件:一批数据一次性地处理(5)按使用的频度划分 一次使用:比如验证需求、采集数据的软件,如人口普查软件,火箭发射软件等。频繁使用:(6)按软件失效的影响划分 高可靠性:军事、金融 一般可
12、靠性:4、软件的发展、软件的发展(伴随着计算机硬件系统伴随着计算机硬件系统4个不同的发展阶段而发展个不同的发展阶段而发展)时时期期硬件硬件软软件件早期早期时时代代20世世纪纪60年代中期以前年代中期以前晶体管晶体管计计算机算机程序程序设计阶设计阶段段个体化生个体化生产产 程序程序第二代第二代20世世纪纪60年代中期到年代中期到70年代中期年代中期集成集成电电路路计计算机算机程序系程序系统阶统阶段段作坊式生作坊式生产产 程序程序+说说明明软软件危机出件危机出现现软软件工程件工程诞诞生生第三代第三代20世世纪纪70年代中期到年代中期到80年代中期年代中期微微处处理器理器个人个人计计算机算机软软件工
13、程件工程阶阶段段工程化思想工程化思想 程序程序+数据数据+文档文档分布式系分布式系统统第四代第四代20世世纪纪80年代中期至今年代中期至今面向面向对对象象阶阶段段硬件与硬件与软软件件综综合合软软件开件开发发第四代技第四代技术术计算机软件发展的计算机软件发展的4个阶段个阶段 2022/11/5程序 3、软件的演变(即从传统软件开发到现代软件开发)软件软件产品传统软件开发现代软件开发 1975 1989 2000 0.00016240营业额增长曲线 80 软件危机:计算机软件的开发和维护过程中所遇到的软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。(正常、不正常运行软件都具有这种一系
14、列严重问题。(正常、不正常运行软件都具有这种问题)问题)1.2.1 软件危机的介绍软件危机的介绍1.2 软件危机软件危机IBM 公司研发初期的公司研发初期的OS/360,共约,共约100万条指令,花费了万条指令,花费了5000个人年;经费达数亿美元,个人年;经费达数亿美元,而结果却令人沮丧,错误多达而结果却令人沮丧,错误多达2000 个以上,系统根本无法正常运行。个以上,系统根本无法正常运行。OS/360 系统的负系统的负责人责人Brooks 这样描述开发过程的困难和混乱:这样描述开发过程的困难和混乱:“像巨兽在泥潭中垂死挣扎,挣扎得越像巨兽在泥潭中垂死挣扎,挣扎得越猛,泥浆沾得越多陷入更深,
15、最后没有一个野兽能够逃脱淹没在泥潭中的命运猛,泥浆沾得越多陷入更深,最后没有一个野兽能够逃脱淹没在泥潭中的命运”。案例案例1-11-11)对软件开发成本和进度的估计常常很不准确;)对软件开发成本和进度的估计常常很不准确;2)用户对完成的软件系统不满意的现象经常发生;)用户对完成的软件系统不满意的现象经常发生;3)软件产品的质量往往靠不住;)软件产品的质量往往靠不住;软件危机的典型表现:软件危机的典型表现:4)软件常常是不可维护的;)软件常常是不可维护的;5)软件通常没有适当的文档资料;)软件通常没有适当的文档资料;6)软软件件成成本本在在计计算算机机系系统统总总成成本本中中所所占占的的比比例逐
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 概述
限制150内