北京理工大学教学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《北京理工大学教学课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 教学 课件
- 资源描述:
-
1、北京理工大学软件学院北京理工大学软件学院软件工程软件工程北京理工大学软件学院北京理工大学软件学院 课课 名:软件工程名:软件工程参考参考教材教材:1、张海藩,软件工程导论(第5版),清华大学出版社,20082、齐治昌等,软件工程(第二版),高等教育出版社,20063、郑人杰等,软件工程概论,机械工业出版社,2010教学方式:授课实验教学方式:授课实验课时:课时: 4040北京理工大学软件学院北京理工大学软件学院教学目的和要求:(1) 掌握软件工程的基本概念(2)学会软件工程项目开发过程的分析、设 计、编码要求以及测试、维护的基本策 略和方法(3)了解软件工程项目管理的基本内容和方 法北京理工大
2、学软件学院北京理工大学软件学院主要内容为:(1)软件工程概述: 软件工程发展、过程模型.(2) 软件工程技术: 软件工程分析方法、软件工程系统设计方法、软件测试技术(3)软件维护:软件的可维性、软件维护的任务及过程、 软件维护的副作用(4) 软件项目管理技术: 软件项目管理的基本概念、项目计划、 风险分析、软件质量保证、软件配置管理北京理工大学软件学院北京理工大学软件学院第一章软件工程概软件工程概述北京理工大学软件学院北京理工大学软件学院第一章第一章 软件工程概软件工程概述述的内容的内容1.1 1.1 引言引言 1.21.2 软件基本概念、分类、特点软件基本概念、分类、特点1.3 1.3 软件
3、工程的发展过程软件工程的发展过程 1.4 1.4 软件工程的活动软件工程的活动 1.51.5 软件过程模型软件过程模型 1.61.6 Rational Rational统一过程模型统一过程模型 北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院1.2.1 软件1.2软件基本概念、分类、特点 软件是计算机系统中与硬件相互依存的另一软件是计算机系统中与硬件相互依存的另一 部分,包括程序、数据及相关文档的完整集合。部分,包括程序、数据及相关文档的完整集合。三要素三要素程序:程序:按事先设计的功能、性能要求执行的指令按事先设计的功能
4、、性能要求执行的指令 (语句语句)序列;序列;数据:数据:使程序能正常操纵信息的数据结构;使程序能正常操纵信息的数据结构;文档:文档:与程序开发、维护和使用有关的图文资料。与程序开发、维护和使用有关的图文资料。可可执执行行的的北京理工大学软件学院北京理工大学软件学院计算机软件定义计算机软件定义(GB) 与计算机系统的操作有关的计算机程与计算机系统的操作有关的计算机程序、规程、序、规程、规则,以及可能有的文件、文档及数据。规则,以及可能有的文件、文档及数据。其中其中:I=(i1,i2, ,in) 输入集合。输入集合。I Ij j表示一个抽象的输入数据类型表示一个抽象的输入数据类型 O=(O1,O
5、2,On) 输出集合。输出集合。Oj表示一个抽象的输出数据类型表示一个抽象的输出数据类型E=(e1,e2,en) 构成集合。构成集合。ei表示一个子系统或一个构件表示一个子系统或一个构件R=(r1 1,r2 2,rn n) 构件关系集合构件关系集合. .ri表示一个关系。表示一个关系。 软件表示软件表示 S = ( I, O, E, R )S = ( I, O, E, R )北京理工大学软件学院北京理工大学软件学院1.2.2 软件的特点软件的特点1. 1. 是逻辑实体,非物理实体,具抽象性;是逻辑实体,非物理实体,具抽象性;2. 2. 没有明显的制作过程;没有明显的制作过程;3. 3. 运行、
6、使用期间不存在磨损、老化;运行、使用期间不存在磨损、老化;4. 4. 软件的开发、运行受计算机系统的限制;软件的开发、运行受计算机系统的限制;5.5.复杂性高,成本昂贵。复杂性高,成本昂贵。6.6.涉及社会因素。涉及社会因素。北京理工大学软件学院北京理工大学软件学院1.2.3 软件分类软件分类软件从设计、实现、维护和传统工程有相同的基础软件从设计、实现、维护和传统工程有相同的基础2. 2. 基于软件工作方式:基于软件工作方式:* * 实时处理实时处理* * 分时处理分时处理* * 交互处理交互处理* * 批处理批处理1 1. . 基于软件大的功能框架:基于软件大的功能框架: * * 系统软件系
7、统软件 * * 支撑(工具)软件支撑(工具)软件 * * 应用软件应用软件北京理工大学软件学院北京理工大学软件学院管理者的错误观点:我们已经有标准和规程了我们已经有好的开发平台和工具了我们可以在开发进度得不到保障时,可增加开发人员我们可以外包一部分项目,缓解项目的压力用户的错误观点:因为知道项目的目标,可先编程序。不考虑项目将来怎样,以后要变改就行了开发者的错误观点:开发者的错误观点:编完程序就大功告成编完程序就大功告成程序未运行前,没有质量问题程序未运行前,没有质量问题最后项目完成只提交程序最后项目完成只提交程序软件工程,就是写文档,增加开软件工程,就是写文档,增加开发成本发成本1软件开发的
8、软件开发的错误观点错误观点开发者管理者用户 1.2.4 软件开发技术面临的问题北京理工大学软件学院北京理工大学软件学院 1.2.5 1.2.5 软件危机软件危机F概括地说,软件危机包含下述两个方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。F在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。北京理工大学软件学院北京理工大学软件学院 1.2.6.软件危机的主要特点u软件开发周期大大超过规定日期软件开发周期大大超过规定日期; ;u软件系统开发成本高,周期长,质量差,满软件系统开发成本高,周期长,
9、质量差,满足不了市场需求足不了市场需求; ;u 软件质量无保证软件质量无保证u软件系统开发人员数量少,质量低软件系统开发人员数量少,质量低u软件系统维护难度大软件系统维护难度大u软件开发缺乏合适的工具和方法软件开发缺乏合适的工具和方法u软件的版权问题得不到保证软件的版权问题得不到保证北京理工大学软件学院北京理工大学软件学院1.2.7 yet, Success Hasn1.2.7 yet, Success Hasn t Come Easilyt Come Easily31%31%53%53%成功争议失败16%16%成功的标准:s用户在使用用户在使用s用户使用软件很容易用户使用软件很容易做完要做的
10、事做完要做的事 开发人员写出的软件达不到用户要求:开发人员写出的软件达不到用户要求:F 人的能力问题人的能力问题. .F 当前技术发展问题当前技术发展问题F 系统平台问题系统平台问题失败的根本原因北京理工大学软件学院北京理工大学软件学院1.3 1.3 软件工程的发展软件工程的发展1.3.1 软件的发展软件的发展在软件危机形式下,软件工程诞生了,在软件危机形式下,软件工程诞生了,19681968年在北大年在北大西洋公约组织(西洋公约组织(NATONATO)的德国开的学术会议上,)的德国开的学术会议上,软件软件工程工程术语首次提出术语首次提出北京理工大学软件学院北京理工大学软件学院( (Softw
11、are Life Cycle) ) 软件产品或软件系统从设计、投入使用到被淘汰的全过程软件产品或软件系统从设计、投入使用到被淘汰的全过程北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院1.3.3 1.3.3 硬件、软件生命周期的比较硬件、软件生命周期的比较硬件故障率曲线硬件故障率曲线软件实际故障率曲线软件实际故障率曲线生生命命初初期期磨磨损损后后理想曲线理想曲线实际曲线实际曲线由于副作用造成由于副作用造成的故障率提高的故障率提高修修改改故故障障率率故故障障率率时间时间时间时间北京理工大学软件学院北京理工大学软件学院 改正一个问题需付出的代价需求分析结构设计详细设
12、计编码集成测试系统测试现场改正一个问题的估计费用改正一个问题估计的工作量20200200010005.02.50.050.5(美元)(人天)北京理工大学软件学院北京理工大学软件学院1.4 软件工程的定义1 IEEE93对软件工程定义: 软件工程是(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护。即将工程化应用于软件。(2)在(1)中所述方法的研究IEEE:美国电气和电子工程师学会:(Institute of Electrical and Electronics Engineers)学会设各种专门技术分会,软件标准分技术委员会为SESS2 定义给的四个要点:定义给的四个要点
13、:软件工程方法和性质-系统化、严格约束、可量化的方法软件工程方法的作用和范围-软件的开发、运行和维护软件工程方法的目标-即将工程化应用于软件软件工程方法的趋势-方法的研究北京理工大学软件学院北京理工大学软件学院在给定成本、进度的前提下,开发出有可修改性、有效性、可在给定成本、进度的前提下,开发出有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满可追踪性和可互操作性且满 足用户需求的产品足用户需求的产品 。技术的观点:包括:软件项目的分析、设计、编码、测试、维护等技术方法。按软件技术理论,
14、以高效、健壮、可复用、可维护为目的,研究软件体系结构、组成以及构造方式、等观点:包括:软件项目招标、合同、实施、监督、验收推广等。以经济管理科学为依据,研究软件工程的规划策略和经济收益等工程问题管理的观点:包括:软件项目开包括:软件项目开发人员组织控制、发人员组织控制、进度风险分析和质进度风险分析和质量保证体系等方面量保证体系等方面。以科学性、高效。以科学性、高效可行及可测量性为可行及可测量性为目标来研究工程项目标来研究工程项目管理目管理4 4 软件工程软件工程的的三视图三视图北京理工大学软件学院北京理工大学软件学院5 软件工程基本原理1、用分阶段的生命周期计划严格管理2、坚持进行阶段评审3、
15、实行严格的产品控制4、采用现代程序设计技术5、结果应能清楚地审查6、开发小组的人员应该少而精7、承认不断改进软件工程实践的必要性北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院北京理工大学软件学院 1.5 软件过程模型软件工程学的基础是软件工程学的基础是软件过程软件过程贯穿于软件生命周期中软件工程学中的方法用于软件工程学中的方法用于软件过程的各阶段的各项活动中活动中北京理工大学软件学院北京理工大学软件学院1 软件过程定义工具工具方法方法过程过程质量焦点质量焦点Software engineering layers:支持软件工程的根支持软件工程的根基就在于对质量的关注。基就在于对质量
16、的关注。软件工程的过程将技术软件工程的过程将技术层结合在一起,使计算机软层结合在一起,使计算机软件合理和及时开发出来。件合理和及时开发出来。:涵盖一系列的任务:需:涵盖一系列的任务:需求分析、设计、编程、测试求分析、设计、编程、测试和维护。和维护。:对过程、方法提供自动:对过程、方法提供自动或半自动的支持。例或半自动的支持。例CASECASE集集成软件、硬件或一个软件工成软件、硬件或一个软件工程数据库程数据库。根据不同的项目来定义贯穿于软件生命周期之中的一组关键活动区域。也称过程模型2 2 软件过程的位置和作用软件过程的位置和作用北京理工大学软件学院北京理工大学软件学院3. 瀑布模型 ( (线
17、形顺序模型线形顺序模型) )可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码运行维护运行维护测试测试定义定义阶段阶段开开发发阶阶段段维护阶段维护阶段开发软件的特点:F过程具有顺序性和依赖性过程具有顺序性和依赖性F不适应需求不确定的项目不适应需求不确定的项目F错误最后才发现错误最后才发现F开始进程呈阻塞情况开始进程呈阻塞情况 承接上一项活动中接收本项活动所需的对象作为输入承接上一项活动中接收本项活动所需的对象作为输入F 利用输入进行本项活动。利用输入进行本项活动。F 把本项的活动成果传送下一项把本项的活动成果传送下一项F 对本项工作进行评审,若评审正确才能进行下一项工作对本项工作
展开阅读全文