第一章软件工程概述-课件.ppt

上传人(卖家):晟晟文业 文档编号:5059035 上传时间:2023-02-07 格式:PPT 页数:41 大小:1.57MB
下载 相关 举报
第一章软件工程概述-课件.ppt_第1页
第1页 / 共41页
第一章软件工程概述-课件.ppt_第2页
第2页 / 共41页
第一章软件工程概述-课件.ppt_第3页
第3页 / 共41页
第一章软件工程概述-课件.ppt_第4页
第4页 / 共41页
第一章软件工程概述-课件.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

1、软件工程软件工程主讲人:王玉林主讲人:王玉林Email:v课程类别课程类别 必修课v考试方式考试方式 闭卷v成绩构成成绩构成 平时10%+期中20%+实验(包含项目)20%+期末50%v学时:学时:32+16(信安)或48+16(软件)v教材教材 软件工程:共同演进的方法介绍 田文洪 王玉林 周俊临等人编著 机械工业出版社出版 说明:当前正在出版!v参考资料参考资料 软件工程实践者的研究方法 R.S.Pressman 机械工业出版社 An introduction to Software Engineering Ian Sommerville 机械工业出版社v 主要内容主要内容 介绍职业化、规

2、范化的软件开发概念,原则,方法和实践。包括介绍软件产品的特点;软件工程的历史发展背景;软件过程模型;软件工程分析,设计和测试等实践原则和方法;软件项目管理(计划,管理和控制,风险,配置等)基本概念和方法v 主要要求主要要求 通过本课程的学习,可使学生了解软件工程的基本知识和方法,熟悉软件工程的各种环节(需求分析,设计,编码,测试,部署等)。掌握软件工程传统经典和现代高级的理论和方法,并能应用到实际的软件项目开发中 杨芙清院士提出的软件工程体系结构软件工程过程软件工程过程分析,设计,编码,测试(四分法)分析,设计,编码,测试(四分法)背景,需求分析,过程模型,模型设计,计划,实施,测试,部署背景

3、,需求分析,过程模型,模型设计,计划,实施,测试,部署(主要阶段)主要阶段)软件工程知识体系软件工程知识体系软件工程知识体系(软件工程知识体系(IEEE)需求需求构建构建测试测试维护维护配置配置管理管理过程过程质量质量工程工程管理管理工具工具设计设计第一章第一章 软件工程简介软件工程简介软件的相关知识介绍软件的相关知识介绍1软件工程的原则软件工程的原则4软件工程的相关课题软件工程的相关课题5软件工程的概念软件工程的概念3软件危机软件危机2小结小结6本章学习目标本章学习目标v软件定义:软件定义:软件软件=程序程序+数据数据+文档文档程序:按事先设计的功能和性能需求执行的指令序列数据:是程序能正常

4、操纵信息的数据结构文档:与程序开发、维护和使用有关的图文材料 软件的特征软件的特征v软件是逻辑的,而不是物理的软件是逻辑的,而不是物理的 软件是开发的或者是工程化的,并不是制造的 软件开发环境对产品影响较大 软件开发时间和工作量难以估计 软件会多次修改 软件的开发进度几何没有客观衡量标准 软件测试困难 软件不会磨损和老化 软件维护易产生新的问题 软件生产是简单的拷贝软件双重作用软件双重作用v软件是一种产品,也是开发其他软件产品的工具软件是一种产品,也是开发其他软件产品的工具 支持或直接提供系统所需的功能 控制(如操作系统)其他程序 改善通信(如,网络软件)帮助开发其它软件(例如,软件开发工具)

5、许多其它功能软件的分类软件的分类u系统软件(操作系统)系统软件(操作系统)u应用软件应用软件(办公软件办公软件)u工程工程/科学软件科学软件(Matlab,Maple)u嵌入式软件嵌入式软件(iPod,iphone)u产品线软件产品线软件(Intel,Simens)uWeb 应用应用(Web applications)u普适计算普适计算无线网络无线网络u网络资源网络资源网络作为一个计算引擎网络作为一个计算引擎u开放源码开放源码(好事,也是一种潜在的祸根!好事,也是一种潜在的祸根!)u 网格计算网格计算/云计算云计算软件的发展软件的发展为什么发展如此之快为什么发展如此之快v计算需求:软件必须适应

6、新的计算环境或技术;计算需求:软件必须适应新的计算环境或技术;v业务要求:软件必须改善,以实现新的业务需求;业务要求:软件必须改善,以实现新的业务需求;v嵌入式需求:软件必须扩展,以满足和新一代系统嵌入式需求:软件必须扩展,以满足和新一代系统或数据库之间的互操作性;或数据库之间的互操作性;v架构需求:软件必须重新设计,使其在新的网络环架构需求:软件必须重新设计,使其在新的网络环境是可用的。境是可用的。软件技术面临的问题软件技术面临的问题 规模规模越来越大 复杂性复杂性越来越高 生产率生产率 要求越来越高天才程序员?在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机软件危机软件危机的

7、具体表现:软件危机的具体表现:开发成本和进度估计不准开发成本和进度估计不准用户对用户对“已完成的已完成的”软件系统不满意软件系统不满意软件质量往往靠不住软件质量往往靠不住软件常常是不可维护的软件常常是不可维护的软件通常没有适当的文档资料软件通常没有适当的文档资料软件成本逐年上升软件成本逐年上升软件开发生产率滞后于硬件和计算机应用普及软件开发生产率滞后于硬件和计算机应用普及硬件硬件/软件成本变化趋势软件成本变化趋势软件技术进步落后于需求增长软件技术进步落后于需求增长产生软件危机的原因产生软件危机的原因v原因原因 客观:软件本身特点 逻辑部件 规模庞大 主观:不正确的开发方法 忽视需求分析 错误认

8、为:软件开发=程序编写 轻视软件维护 缓解软件危机?缓解软件危机?消除软件危机的途径消除软件危机的途径v软件工程!软件工程!对计算机软件有一个正确的认识对计算机软件有一个正确的认识 (软件软件程序)程序)v 必须充分认识到软件开发不是某种个体劳动的神必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。类人员协同配合、共同完成的工程项目。v 推广使用在实践中总结出来的开发软件的成功技推广使用在实践中总结出来的开发软件的成功技术和方法。术和方法。开发和使用更好的软件工具。开发和使用更好的软

9、件工具。软件工程的定义软件工程的定义IEEE计算机协会将软件工程定义为:(1)应用系统化的、科学化的、定量的方法,来开发、运行和维护软件,即,将工程应用到软件。(2)对(1)中各种方法的研究。软件工程的目标是在给定的时间和预算内,按照用户的需求,开发易修改、高效、可靠、可维护、适应力强、可移动、可重用的软件软件工程软件工程 一种层次化技术一种层次化技术软件工程的软件工程的7个原则个原则v B.W.Boehm于于1983年总结了开发软件的经验,提出了年总结了开发软件的经验,提出了软件工程的软件工程的7条基本原理。这条基本原理。这7条原理被认为是确保软件产条原理被认为是确保软件产品质量和开发效率的

10、原理的最小集合,又是相互独立、缺品质量和开发效率的原理的最小集合,又是相互独立、缺一不可、相当完备的最小集合。一不可、相当完备的最小集合。使用阶段性生命周期计划的管理使用阶段性生命周期计划的管理进行连续的验证进行连续的验证保证严格的产品控制保证严格的产品控制使用现代编程工具使用现代编程工具/工程实践工程实践保持清晰的责任分配保持清晰的责任分配用更好更少的人用更好更少的人保持过程改进保持过程改进软件工程知识体系软件工程知识体系软件知识体系及其关联软件知识体系及其关联软件工程是一门交叉学科软件工程是一门交叉学科计算机工程计算机工程计算机科学管理学管理学数学项目管理质量科学质量科学软件工程学系统工程

11、系统工程。一些对软件工程的误解(一些对软件工程的误解(1)v M 代表误解,代表误解,R 代表现实。代表现实。v 管理方面的误解管理方面的误解:M1:我们已经有一本关于软件生产的标准和过程的书,这还不能让我们学习到需要的知识吗?R1:相比最新的大型主机,工作站和PC,这会使我们在做高质量软件开发时花费得更多。M2:如果我们项目进度落后了,可以加入更多的程序员来赶进度。R2:软件开发的机制和手工作业不一样。在一个延迟了的软件项目中加入新的开发人员只会让它延迟更多。M3:如果我们将软件项目外包给第三方,我们就轻松了,让那个公司去完成它吧。R3:如果组织管理方不懂得如何从内部管理和控制软件项目,即使

12、将项目外包也无济于事。一些对软件工程的误解(一些对软件工程的误解(2)v客户客户:由于用户不正确的期望,最后导致对开发人由于用户不正确的期望,最后导致对开发人员的不满。员的不满。M1:对目标的一般陈述就足以开始编程,我们可以今后再补充细节。R1:前期糟糕的项目需求定义,是导致软件失败的主要原因。M2:项目需求的确在不断变化,但变化所产生的影响是根据变化提出的时间不同而不同的。需求变化的影响需求变化的影响一些对软件工程的误解(一些对软件工程的误解(3)v实践者实践者:软件从业者积累了软件从业者积累了50 年的编程文化。在年的编程文化。在早期的软件开发中早期的软件开发中,编程被视为一种艺术形式。编

13、程被视为一种艺术形式。M1:一旦我们编程完毕并成功运行,我们的工作就结束了。R1:“越早开始写代码,我们就会花费越长的时间去完成它”。工业数据显示,软件开发60%-80%的精力将耗费在软件首次提交给用户以后。M2:当我的程序运行之前,我没有办法评估它的质量。R2:一个最有效的软件质量保证机制应当在项目的正式开始启动时可以通过技术报告体现。M3:唯一可交付的工作成果是一个成功运行的项目程序。R3:一个可运行的程序只是软件结构的一部分,它还包含了许多其它因素。M4:软件工程将会让我们去创建大量不必要的文档,并且总是使我们的进度放慢。软件工程仅仅是文档而已。R4:软件工程并不是创建文档,而是创建质量

14、。更好的质量减少返工的概率。更少返工会让项目更早交付。所有的文档都是提高团队沟通和质量所必须的。软件工程职业道德和责任规范软件工程职业道德和责任规范v公众公众:以公众利益为目标以公众利益为目标 v客户和雇主客户和雇主:满足其最大利益:满足其最大利益v产品:符合专业标准产品:符合专业标准v判断:完整性和独立性判断:完整性和独立性v管理:软件项目经理和领导人管理:软件项目经理和领导人v专业:完整性和声誉专业:完整性和声誉v同行:平等互助支持同行:平等互助支持v自我:自我约束、自我激励自我:自我约束、自我激励本章小结本章小结 软件工程的目标是提供一个系统框架,用于建立高质量的软件。软件:随着解决特定问题和行业自身的信息分析工具变化而演进 早期的“编程”文化和历史造成了一系列的问题,这些问题延续至今 需要学习如何建立高品质和大规模的软件作业作业1.什么是软件什么是软件?2.什么是软件工程什么是软件工程?3.软件工程具有哪些特点软件工程具有哪些特点?4.什么是导致软件危机的主要原因什么是导致软件危机的主要原因?5.为什么职业道德和责任十分重要为什么职业道德和责任十分重要?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第一章软件工程概述-课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|