软件工程3(软件目标)_第1页
软件工程3(软件目标)_第2页
软件工程3(软件目标)_第3页
软件工程3(软件目标)_第4页
软件工程3(软件目标)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程软件工程主讲:陈利平主讲:陈利平计算机与信息科学学院计算机与信息科学学院20152015 一、主要内容一、主要内容 讲述软件工程的基本概念。讲述软件工程的基本概念。 二、目的与要求二、目的与要求 了解软件工程的发展历史,理解软件工程了解软件工程的发展历史,理解软件工程目标和基本原理。目标和基本原理。 三、重点与难点三、重点与难点 软件工程目标与基本原理。软件工程目标与基本原理。概述:概述:思考:思考: 提问:提问: 1)1)什么是软件工程的目标?什么是软件工程的目标? 2)2)软件工程的基本原理是什么?软件工程的基本原理是什么?1.3 1.3 软件工程的目标软件工程的目标 软件工程的目

2、标是运用先进的软件开发技软件工程的目标是运用先进的软件开发技术和管理方法来提高软件的质量和生产率,术和管理方法来提高软件的质量和生产率,也就是要以较短的周期、较低的成本生产也就是要以较短的周期、较低的成本生产出高质量的软件产品,并最终实现软件的出高质量的软件产品,并最终实现软件的工业化生产。工业化生产。 1.3 1.3 软件工程的目标软件工程的目标1) 1) 软件的质量特性:软件的质量特性:功能性功能性、可靠性可靠性、可使可使用性用性、效率效率、可维护性可维护性和和可移植性可移植性。 功能性功能性是指软件所实现的功能达到它的设是指软件所实现的功能达到它的设计规范和满足用户需求的程度;计规范和满

3、足用户需求的程度; 可靠性可靠性是指在规定的时间和条件下,软件是指在规定的时间和条件下,软件能够正常维持其工作的能力;能够正常维持其工作的能力; 可使用性可使用性是指为了使用该软件所需要的能力;是指为了使用该软件所需要的能力; 效率效率是指在规定的条件下用软件实现某种功能是指在规定的条件下用软件实现某种功能所需要的计算机资源的有效性;所需要的计算机资源的有效性; 可维护性可维护性是指当环境改变或软件运行发生故障是指当环境改变或软件运行发生故障时,为了使其恢复正常运行所做努力的程度;时,为了使其恢复正常运行所做努力的程度;可移植性是指软件从某一环境转移到另一环境可移植性是指软件从某一环境转移到另

4、一环境时所做努力的程度。时所做努力的程度。 1.3 1.3 软件工程的目标软件工程的目标1.3 1.3 软件工程的目标软件工程的目标2) 2) 质量目标之间的关系质量目标之间的关系(1)(1)关注大型软件的构造关注大型软件的构造(2)(2)中心课题是控制复杂性中心课题是控制复杂性(3)(3)软件经常变化软件经常变化(4)(4)开发软件的效率非常重要开发软件的效率非常重要(5)(5)和谐地合作是开发软件的关键和谐地合作是开发软件的关键(6)(6)软件必须有效地支持它的用户软件必须有效地支持它的用户(7)(7)在软件工程领域中是由一种文化背景的在软件工程领域中是由一种文化背景的人替具有另一种文化背

5、景的人创造产品人替具有另一种文化背景的人创造产品3) 3) 软件工程软件工程的本质特性的本质特性(1)(1)按软件生存周期分阶段制订计划并认真实施按软件生存周期分阶段制订计划并认真实施 (2)(2)坚持进行阶段评审坚持进行阶段评审(3)(3)坚持严格的产品控制坚持严格的产品控制(4)(4)使用现代软件开发技术使用现代软件开发技术(5)(5)明确责任明确责任 (6)(6)用人少而精用人少而精(7)(7)不断改进开发过程不断改进开发过程 4) 4) 软件工程的基本原理软件工程的基本原理4040年来,软件工程已经历了四个重要发展阶年来,软件工程已经历了四个重要发展阶段:段:1 1. .第一代第一代软

6、件工程软件工程 传统传统的软件工程的软件工程2 2. .第二代第二代软件工程软件工程 对象工程对象工程3 3. .第三代第三代软件工程软件工程 过程工程过程工程4. 4.第第四代四代软件工程软件工程 构件工程构件工程 6060年代末到年代末到7070年代为了克年代为了克服服“软件危机软件危机” ” (Software (Software crisis)crisis)提出提出“软件工程软件工程”的的名词名词, , 将软件开发纳入工程化将软件开发纳入工程化的轨道,基本形成软件工程的的轨道,基本形成软件工程的概念、框架、技术和方法,称概念、框架、技术和方法,称为为传统传统的软件工程。的软件工程。5)

7、 5) 软件工程的发展历史软件工程的发展历史4040年来,软件工程已经历了四个重要发展阶年来,软件工程已经历了四个重要发展阶段:段: 1 1. .第一代第一代软件工程软件工程 传统传统的软件工程的软件工程2 2. .第二代第二代软件工程软件工程 对象工程对象工程3 3. .第三代第三代软件工程软件工程 过程工程过程工程4. 4.第第四代四代软件工程软件工程 构件工程构件工程 8080年代中到年代中到9090年代,面向对象年代,面向对象的方法与技术得到发展,研究的重的方法与技术得到发展,研究的重点转移到面向对象的分析与设计,点转移到面向对象的分析与设计,演化为一种完整的软件开发方法和演化为一种完

8、整的软件开发方法和系统的技术体系,称为对象工程。系统的技术体系,称为对象工程。5) 5) 软件工程的发展历史软件工程的发展历史4040年来,软件工程已经历了四个重要发展年来,软件工程已经历了四个重要发展阶段:阶段: 1 1. .第一代第一代软件工程软件工程 传统传统的软件工程的软件工程2 2. .第二代第二代软件工程软件工程 对象工程对象工程3 3. .第三代第三代软件工程软件工程 过程工程过程工程4. 4.第第四代四代软件工程软件工程 构件工程构件工程 2020世纪世纪8080年代中开始,年代中开始,人们在软人们在软件开发的实践过程中认识到:提高软件开发的实践过程中认识到:提高软件生产率,保

9、证软件质量的关键是件生产率,保证软件质量的关键是“软件过程软件过程”,是软件开发和维护中,是软件开发和维护中的管理和支持能力,逐步形成软件过的管理和支持能力,逐步形成软件过程工程。程工程。5) 5) 软件工程的发展历史软件工程的发展历史4040年来,软件工程已经历了四个重要发展年来,软件工程已经历了四个重要发展阶段:阶段: 1 1. .第一代第一代软件工程软件工程 传统传统的软件工程的软件工程2 2. .第二代第二代软件工程软件工程 对象工程对象工程3 3. .第三代第三代软件工程软件工程 过程工程过程工程4. 4.第第四代四代软件工程软件工程 构件工程构件工程 20世纪世纪90年代起,基于构

10、件年代起,基于构件(Component)的开发方法取得重要进)的开发方法取得重要进展,软件系统的开发可展,软件系统的开发可通过使用现成的通过使用现成的可复用构件组装完成,而无需从头开始可复用构件组装完成,而无需从头开始构造,以此达到提高效率和质量,降低构造,以此达到提高效率和质量,降低成本的目的。称为成本的目的。称为构件工程。构件工程。5) 5) 软件工程的发展历史软件工程的发展历史6) 6) 软件工程面临的挑战软件工程面临的挑战 异构系统的问题异构系统的问题 网络环境下包含不同的硬件平台和软件系网络环境下包含不同的硬件平台和软件系统统 挑战:挑战:需要提出新的开发技术,能够使所需要提出新的开

11、发技术,能够使所开发的软件系统运行在不同的硬件平台和开发的软件系统运行在不同的硬件平台和系统环境下系统环境下 6) 6) 软件工程面临的挑战软件工程面临的挑战 遗留系统的问题遗留系统的问题 遗留系统是指那些过时或存在问题的计算遗留系统是指那些过时或存在问题的计算机系统,通常是许多年以前开发的机系统,通常是许多年以前开发的 挑战:挑战:既要以合理的成本维护和更新系统,既要以合理的成本维护和更新系统,又要能够继承系统中重要的商业信息和服又要能够继承系统中重要的商业信息和服务务6) 6) 软件工程面临的挑战软件工程面临的挑战 软件开发方式的变化软件开发方式的变化 网络时代带来的冲击网络时代带来的冲击

12、 开源软件开发技术开源软件开发技术 Web Web 工程工程 挑战:挑战:研究分布式的软件体系结构和开发研究分布式的软件体系结构和开发模式,探索与之相适应的软件工程策略模式,探索与之相适应的软件工程策略 6) 6) 软件工程面临的挑战软件工程面临的挑战 高可信软件开发的要求高可信软件开发的要求 软件的重要作用要求正确性、可靠性、安软件的重要作用要求正确性、可靠性、安全性等可信性质全性等可信性质 挑战:挑战:如何在软件的开发和运行中保证其如何在软件的开发和运行中保证其具有高可信的性质具有高可信的性质思考题(思考题( 1 )1 ) 1 1 )只要是编程高手,即使是不懂软件工程,)只要是编程高手,即

13、使是不懂软件工程,也能编出很好的软件。也能编出很好的软件。软件是服务于大众,却是由个性化的开发人软件是服务于大众,却是由个性化的开发人员完成的。如果个性化太强,程序就无法阅员完成的。如果个性化太强,程序就无法阅读,其他人员也就无法维护。读,其他人员也就无法维护。例:国内例:国内 80 80 年代涌现出来的众多汉字操作年代涌现出来的众多汉字操作系统均是由编程高手完成的。系统均是由编程高手完成的。思考题(思考题( 2 )2 ) 2 2 )只要拥有一套讲述如何开发软件的书籍,)只要拥有一套讲述如何开发软件的书籍,并了解了书中的标准与示例,就可以解决软件并了解了书中的标准与示例,就可以解决软件开发中遇

14、到的任何问题。开发中遇到的任何问题。软件是用来解决现实问题的,现实问题的特软件是用来解决现实问题的,现实问题的特殊性对规范提出了挑战(要进行适应)。殊性对规范提出了挑战(要进行适应)。软件技术是发展的,没有祖传秘方。软件技术是发展的,没有祖传秘方。就像拥有食谱并不能成为名厨一样,软件开就像拥有食谱并不能成为名厨一样,软件开发需要实践。发需要实践。思考题(思考题( 3 )3 ) 3 3 )只要拥有最好的开发工具、最好的计算机)只要拥有最好的开发工具、最好的计算机,一定能做出优秀的软件。,一定能做出优秀的软件。硬件环境只是必要条件,人才是充硬件环境只是必要条件,人才是充分条件,软件是人在一定的约束条分条件,软件是人在一定的约束条件下创造出来的。因人因事而异。件下创造出来的。因人因事而异。思考题思考题 (4)(4) 4 4 )软件开发时,如果进度慢,落后于计划,)软件开发时,如果进度慢,落后于计划,可以增加更多的程序员来解决。可以增加更多的程序员来解决。增加人力可以减少开发时间吗?增加人力可以减少开发时间吗?新手!任务的重新划分!沟通更加复杂!新手!任务的重新划分!沟通更加复杂!必须依靠科学地计划来解决这样的问题。必须依靠科学地计划来解决这样的问题。思考题(思考题(5 5) 5 5 )争议:如果软件运行较慢,是换一台更快)争议:如果软件

温馨提示

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

评论

0/150

提交评论