书签 分享 收藏 举报 版权申诉 / 80
上传文档赚钱

类型软件工程课本讲解第1章绪论课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3176149
  • 上传时间:2022-07-28
  • 格式:PPT
  • 页数:80
  • 大小:458.05KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件工程课本讲解第1章绪论课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件工程 课本 讲解 绪论 课件
    资源描述:

    1、第第1章绪论章绪论 第第1章绪论章绪论 软件工程软件工程是计算机学科一门主要的课程,是专业人员是计算机学科一门主要的课程,是专业人员特别是从事软件开发人员必须掌握和具备的专业知识。特别是从事软件开发人员必须掌握和具备的专业知识。通过本门课程的学习,使学生全面深入地通过本门课程的学习,使学生全面深入地(1)了解软件开发过程应遵循的流程了解软件开发过程应遵循的流程,准则准则,标准和规范标准和规范.(2)掌握软件工程的基本概念,基本原理,基本方法和基本掌握软件工程的基本概念,基本原理,基本方法和基本实现技术。实现技术。(3)能运用软件工程的基本技术方法和开发工具,承当软件能运用软件工程的基本技术方法

    2、和开发工具,承当软件项目开发,设计和管理。项目开发,设计和管理。(4)了解本领域出现的新概念,新技术和新方法,达到进一了解本领域出现的新概念,新技术和新方法,达到进一步提高自己的理论水平和实践能力。步提高自己的理论水平和实践能力。本教学中将强调理论和实践相结合,并通过上机实验本教学中将强调理论和实践相结合,并通过上机实验掌握软件开发的方法,加强对本门课程的理解。掌握软件开发的方法,加强对本门课程的理解。第第1章绪论章绪论 “软件工程软件工程”课程课程 第第1章绪论章绪论 转变对软件的认识:上升 程序 系统 转变思维定式:上升 程序员 系统工程师 (系统分析员)工程化训练一个一个“开发商品房开发

    3、商品房”的工程例子的工程例子第第1章绪论章绪论 要求先修课程要求先修课程:高级语言程序设计,数据结构:高级语言程序设计,数据结构,数数据库原理据库原理 教材:教材:软件工程软件工程邓良松邓良松 西安电子科技清华西安电子科技清华大学出版社大学出版社 参考教材:参考教材:软件工程导论软件工程导论张海藩张海藩 清华大学清华大学出版社出版社 软件工程软件工程陆丽娜陆丽娜 经济科学出经济科学出版社版社 软件工程概论软件工程概论郑人杰等郑人杰等 清华大清华大学出版社学出版社 第第1章绪论章绪论 检索软件工程学习网站检索软件工程学习网站软件工程专家网:http:/,http:/中国UML:http:/ 上课

    4、上课40学时学时+上机上机20学时学时 110周上课周上课(每周课内每周课内4个学时个学时,包括总复包括总复习习)闭卷考试闭卷考试 课程设计课程设计:(:(1-15周内)周内),占总成绩的占总成绩的20%左右,包括:左右,包括:小组总的课程报告(小组总的课程报告(3737人为一组)人为一组)每个同学的实践总结报告每个同学的实践总结报告小组上机设计并实现一个软件系小组上机设计并实现一个软件系统统 作业,作为参考作业,作为参考第第1章绪论章绪论 第第1章章 绪论绪论 1.1 1.1 软件工程的产生软件工程的产生 1.2 1.2 软件工程的过程和软件生存周期软件工程的过程和软件生存周期1.3 1.3

    5、 软件生存周期模型软件生存周期模型1.4 1.4 软件开发方法软件开发方法1.5 1.5 软件开发工具软件开发工具1.6 1.6 小结小结习题习题第第1章绪论章绪论 1.1 软件工程的产生软件工程的产生 1.1.1 软件的特点软件的特点第第1章绪论章绪论(1),它与物质产品有很大的,它与物质产品有很大的区别。软件产品是看不见摸不着的,因而具有无形性。区别。软件产品是看不见摸不着的,因而具有无形性。它是脑力劳动的结晶。它以程序和文档的形式出现,它是脑力劳动的结晶。它以程序和文档的形式出现,保存在计算机存储器的磁盘和光盘介质上,通过计算保存在计算机存储器的磁盘和光盘介质上,通过计算机的运行才能体现

    6、它的功能和作用。机的运行才能体现它的功能和作用。(2)。其成本主要体现。其成本主要体现在软件的开发和研制上,软件开发研制完成后,通过在软件的开发和研制上,软件开发研制完成后,通过复制就产生了大量的软件产品。复制就产生了大量的软件产品。第第1章绪论章绪论(3),不存在磨损、消耗问题。,不存在磨损、消耗问题。(4),还未完全摆,还未完全摆脱手工开发方式,大部分产品是脱手工开发方式,大部分产品是“定做定做”的。的。(5),软件成本相当昂贵。软件,软件成本相当昂贵。软件的研制工作需要投放大量的、复杂的、高强度的脑力的研制工作需要投放大量的、复杂的、高强度的脑力劳动,它的成本非常高。劳动,它的成本非常高

    7、。第第1章绪论章绪论 1.1.2 软件生产的发展软件生产的发展自从第一台计算机诞生以来,就开始了软件的生产,到目前自从第一台计算机诞生以来,就开始了软件的生产,到目前为止,已经经过了为止,已经经过了程序设计程序设计、程序系统程序系统和和软件工程软件工程三个时代。三个时代。1程序设计时代程序设计时代(19461956年年)程序设计时代的生产方式是程序设计时代的生产方式是个体手工劳动个体手工劳动.使用的工具是机器语言、汇编语言;使用的工具是机器语言、汇编语言;开发方法是追求编程技巧,追求程序运行效率,使得程序难读、开发方法是追求编程技巧,追求程序运行效率,使得程序难读、难懂、难修改;难懂、难修改;

    8、硬件特征是价格高、存储容量小、运行可靠性差;硬件特征是价格高、存储容量小、运行可靠性差;软件特征是只有程序、程序设计概念,不重视程序设计方法。软件特征是只有程序、程序设计概念,不重视程序设计方法。第第1章绪论章绪论 2程序系统时代程序系统时代(19561968年年)程序系统时代的生产方式是程序系统时代的生产方式是作坊式的小集团合作生产作坊式的小集团合作生产.生产工具是高级语言;生产工具是高级语言;开发方法仍旧靠个人技巧,但开始提出了结构化方法;开发方法仍旧靠个人技巧,但开始提出了结构化方法;硬件特征是:速度、容量及工作可靠性有明显提高,价格降低,硬件特征是:速度、容量及工作可靠性有明显提高,价

    9、格降低,销售有爆炸性增长;销售有爆炸性增长;软件特征是:程序员数量猛增,其他行业人员大量进入这个行业,软件特征是:程序员数量猛增,其他行业人员大量进入这个行业,由于缺乏训练,开发人员素质差。大量软件开发的需求已被提出,由于缺乏训练,开发人员素质差。大量软件开发的需求已被提出,但开发技术没有新的突破,开发人员的素质和落后的开发技术不但开发技术没有新的突破,开发人员的素质和落后的开发技术不适应规模大、结构复杂的软件开发,因此产生了尖锐的矛盾,导适应规模大、结构复杂的软件开发,因此产生了尖锐的矛盾,导致软件危机的产生。致软件危机的产生。第第1章绪论章绪论 3软件工程时代软件工程时代(1968年至今年

    10、至今)软件工程时代的生产方式是软件工程时代的生产方式是工程化的生产工程化的生产.使用数据库、开发工具、开发环境、网络、分布式、面向对使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件;象技术来开发软件;硬件特征是:向超高速、大容量、微型化以及网络化方向发硬件特征是:向超高速、大容量、微型化以及网络化方向发展展 软件特征是:开发技术有很大进步,但是未能获得突破性进软件特征是:开发技术有很大进步,但是未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机。展,软件价格不断上升,没有完全摆脱软件危机。几十年来最根本的变化体现在:(1)人们改变了对软件的看法。(2)软件的需求是软

    11、件发展的动力。(3)软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。第第1章绪论章绪论 1.1.3 软件危机软件危机1软件危机的产生软件危机的产生高成本、低质量的软件不能适应日益增长的软件需求,从而高成本、低质量的软件不能适应日益增长的软件需求,从而引发的尖锐的矛盾即软件危机。引发的尖锐的矛盾即软件危机。一些复杂的、大型的软件开发项目被提出来,但是,软件开一些复杂的、大型的软件开发项目被提出来,但是,软件开发技术一直未能满足发展的要求。软件开发遇到的问题因找不到发技术一直未能满足发展的要求。软件开发遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件解决的办法

    12、,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。危机。2软件危机的表现软件危机的表现软件危机表现在以下几方面:软件危机表现在以下几方面:(1)经费预算经常突破,完成时间一再拖延。经费预算经常突破,完成时间一再拖延。由于缺乏软件开由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定的计划,执行起来和实际情况有很大差距,使得开主观盲目制定的计划,执行起来和实际情况有很大差距,使得开发经费一再突破。由于对工作量和开发难度估计不足,计划无法发经费一再突破。由于对工作量和开发难度估计不足,计划无法按时完成,而使

    13、得开发时间一再拖延。按时完成,而使得开发时间一再拖延。第第1章绪论章绪论(2)开发的软件不能满足用户要求。开发的软件不能满足用户要求。开发初期对用户的要开发初期对用户的要求了解不够明确,未能得到明确表达。开发工作开始后,求了解不够明确,未能得到明确表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,使能及时解决,导致开发的软件不能满足用户的要求,使开发失败。开发失败。(3)开发的软件可维护性差。开发的软件可维护性差。开发过程没有统一的、开发过程没有统一的、公认的规范,软件开发人员按各

    14、自的风格工作,各行其公认的规范,软件开发人员按各自的风格工作,各行其事。开发过程无完整、规范的文档,发现问题后进行杂事。开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现的错误也很乱无章的修改。程序结构不好,运行时发现的错误也很难修改,导致软件可维护性差。难修改,导致软件可维护性差。第第1章绪论章绪论(4)开发的软件可靠性差。开发的软件可靠性差。由于在开发过程中,没有确由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量格的、充分的、完全的测试,提交给用

    15、户的软件质量差,在运行中暴露出大量的问题。这种不可靠的软件,差,在运行中暴露出大量的问题。这种不可靠的软件,轻者会影响系统正常工作,重者会发生事故,造成生轻者会影响系统正常工作,重者会发生事故,造成生命财产的重大损失。命财产的重大损失。3软件危机的原因软件危机的原因 造成上述软件危机的原因概括起来有以下几方面。造成上述软件危机的原因概括起来有以下几方面。第第1章绪论章绪论(1)软件的规模越来越大,结构越来越复杂。软件的规模越来越大,结构越来越复杂。随着计算机应用的日益广随着计算机应用的日益广泛,需要开发的软件规模日益庞大,软件结构也日益复杂。复杂程度超泛,需要开发的软件规模日益庞大,软件结构也

    16、日益复杂。复杂程度超过了人所能接受的程度。过了人所能接受的程度。(2)软件开发的管理困难。软件开发的管理困难。由于软件规模大,结构复杂,又具有无形由于软件规模大,结构复杂,又具有无形性,导致管理困难,进度控制困难,质量控制困难,可靠性无法保证。性,导致管理困难,进度控制困难,质量控制困难,可靠性无法保证。(3)软件开发费用不断增加。软件开发费用不断增加。软件生产是一种智力劳动,它是资金密软件生产是一种智力劳动,它是资金密集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。集、人力密集的产业,大型软件投入人力多,周期长,费用上升很快。(4)软件开发技术落后。软件开发技术落后。在在20世

    17、纪世纪60年代,人们注重一些计算机理论年代,人们注重一些计算机理论问题的研究,不注重软件开发技术的研究,用户要求的软件其复杂性与问题的研究,不注重软件开发技术的研究,用户要求的软件其复杂性与软件技术解决复杂性的能力不相适应,它们之间的差距越来越大。软件技术解决复杂性的能力不相适应,它们之间的差距越来越大。(5)生产方式落后。生产方式落后。软件仍然采用个体手工方式开发。根据个人习软件仍然采用个体手工方式开发。根据个人习惯和爱好工作,无章可循,无规范可依据,靠言传身教方式工作。惯和爱好工作,无章可循,无规范可依据,靠言传身教方式工作。(6)开发工具落后。开发工具落后。第第1章绪论章绪论 1.1.4

    18、 软件工程软件工程为了克服软件危机,人们从其他产业的工程化生产为了克服软件危机,人们从其他产业的工程化生产得到启示,于是在得到启示,于是在1968年北大西洋公约组织的工作会议年北大西洋公约组织的工作会议上首先提出上首先提出“软件工程软件工程”的概念,的概念,提出要用工程化的思提出要用工程化的思想来开发软件。从此,软件生产进入了软件工程时代。想来开发软件。从此,软件生产进入了软件工程时代。1软件工程的定义软件工程的定义 软件工程是用科学知识和技术原理来定义、开发、软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。维护软件的一门学科。其主要思想是在软件生产中用工其主要思想是在软件生产

    19、中用工程化的方法代替传统手工方法。工程化的方法借用了传程化的方法代替传统手工方法。工程化的方法借用了传统的工程设计原理的基本思想,采用了若干科学的、现统的工程设计原理的基本思想,采用了若干科学的、现代化的方法技术来开发软件。这种工程化的思想贯穿到代化的方法技术来开发软件。这种工程化的思想贯穿到需求分析、设计、实现,直到维护的整个过程。需求分析、设计、实现,直到维护的整个过程。第第1章绪论章绪论 一个一个“开发商品房开发商品房”的工程例子的工程例子和一个和一个“网络游戏网络游戏”软件的开发软件的开发1.可行性分析及制定项目计划可行性分析及制定项目计划(经济、技术、社会可行性;开发进度、任务分配、

    20、负责人等经济、技术、社会可行性;开发进度、任务分配、负责人等)2.需求分析(相当于软件工程里的系统分析师)需求分析(相当于软件工程里的系统分析师)(功能、性能、安全、其它需求)(功能、性能、安全、其它需求)3.总体设计(相当于软件工程里的总设计师)总体设计(相当于软件工程里的总设计师)(总体楼高、宽、长;多少间房,房的连接,总的水、暖、电走向等)(总体楼高、宽、长;多少间房,房的连接,总的水、暖、电走向等)4.详细设计(相当于软件工程里的各个设计师)详细设计(相当于软件工程里的各个设计师)(每间房的具体结构)(每间房的具体结构)5.施工(相当于软件工程里的程序员)施工(相当于软件工程里的程序员

    21、)具体工程队(包工头、建筑工人)盖房具体工程队(包工头、建筑工人)盖房6.测试(相当于软件工程里的测试员)测试(相当于软件工程里的测试员)测试每一间房的水、暖、电,整体水、暖、电,防雨、防震等测试每一间房的水、暖、电,整体水、暖、电,防雨、防震等7.维护(相当于软件工程里的维护员)维护(相当于软件工程里的维护员)第第1章绪论章绪论 什么样规模的软件系统需要软件工程的思想?什么样规模的软件系统需要软件工程的思想?小型(小型(1人半年人半年2000行)以上。行)以上。第第1章绪论章绪论 例:Windows95有1000万行代码 Windows2000有5000万行代码Exchange2000和 W

    22、indows2000开发人员结构Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人第第1章绪论章绪论 2软件工程的性质软件工程的性质 软件工程是涉及计算机科学、工程科学、管理科学、软件工程是涉及计算机科学、工程科学、管理科学、数学等领域的一门综合性的数学等领域的一门综合性的交叉学科交叉学科。计算机科学中的。计算机科学中的研究成果均可用于软件工程,但计算机科学侧重于原理研究成果均可用于软件工程,但计算机科学侧重于原理和理论的研究,而和理论的研究,而软件工程侧重于如何建造一个软件系软件工程侧重于如何建造一个软件系统。统。软

    23、件工程要用工程科学中的观点来进行费用估算,软件工程要用工程科学中的观点来进行费用估算,制定进度、计划和方案;要用管理科学中的方法和原理制定进度、计划和方案;要用管理科学中的方法和原理进行软件生产的管理;要用数学的方法建立软件开发中进行软件生产的管理;要用数学的方法建立软件开发中的各种模型和各种算法,如可靠性模型,说明用户需求的各种模型和各种算法,如可靠性模型,说明用户需求的形式化模型等。的形式化模型等。第第1章绪论章绪论 3软件工程的目标软件工程的目标软件工程是一门工程性学科,软件工程是一门工程性学科,目的是成功地建造一个目的是成功地建造一个大型软件系统。大型软件系统。所谓成功,是要达到以下几

    24、个目标:付出所谓成功,是要达到以下几个目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。时完成开发任务,及时交付使用;开发的软件可靠性高。4软件工程的内容软件工程的内容软件工程研究的主要内容是指软件工程研究的主要内容是指软件开发技术软件开发技术和和软件开软件开发管理发管理两个方面。在软件开发技术中,它主要研究软件开两个方面。在软件开发技术中,它主要研究软件开发方法、软件开发过程、软件开发

    25、工具和环境。在软件开发方法、软件开发过程、软件开发工具和环境。在软件开发管理中,它主要研究软件管理学、软件经济学和软件心发管理中,它主要研究软件管理学、软件经济学和软件心理学等。理学等。第第1章绪论章绪论 5软件工程面临的问题软件工程面临的问题软件工程有许多需要解决的棘手问题,如软件工程有许多需要解决的棘手问题,如软件费用、软软件费用、软件可靠性、软件可维护性、软件生产率和软件重用件可靠性、软件可维护性、软件生产率和软件重用等。等。1)软件费用软件费用由于软件生产基本上仍处于手工状态,软件是知识高度由于软件生产基本上仍处于手工状态,软件是知识高度密集的技术的综合产物,人力资源远远不能适应这种迅

    26、速增密集的技术的综合产物,人力资源远远不能适应这种迅速增长的软件社会要求,因而软件费用上升的势头必然还将继续长的软件社会要求,因而软件费用上升的势头必然还将继续下去。下去。第第1章绪论章绪论 2)软件可靠性软件可靠性软件可靠性是指软件系统能否在既定的环境条件下运行软件可靠性是指软件系统能否在既定的环境条件下运行并实现所期望的结果。在软件开发中,通常要花费并实现所期望的结果。在软件开发中,通常要花费40%的的代价进行测试和排错,即使这样还不能保证以后不再发生代价进行测试和排错,即使这样还不能保证以后不再发生错误,为了提高软件可靠性,就要付出足够的代价。错误,为了提高软件可靠性,就要付出足够的代价

    27、。3)软件可维护性软件可维护性统计数据表明,软件的维护费用占整个软件系统费用的统计数据表明,软件的维护费用占整个软件系统费用的2/32/3,而软件开发费用只占,而软件开发费用只占1/31/3。软件维护之所以有如此大。软件维护之所以有如此大的花费,是因为已经运行的软件还需排除隐含的错误,新的花费,是因为已经运行的软件还需排除隐含的错误,新增加的功能要加入进去,维护工作又是非常困难的,效率增加的功能要加入进去,维护工作又是非常困难的,效率又是非常低下的。因此,如何提高软件的可维护性,减少又是非常低下的。因此,如何提高软件的可维护性,减少软件维护的工作量,也是软件工程面临的主要问题之一。软件维护的工

    28、作量,也是软件工程面临的主要问题之一。第第1章绪论章绪论 4)软件生产率软件生产率 计算机的广泛应用使得软件的需求量大幅度上升,而计算机的广泛应用使得软件的需求量大幅度上升,而软件的生产又处于手工开发的状态,软件生产率低下,使软件的生产又处于手工开发的状态,软件生产率低下,使得各国都感到软件开发人员不足。这种趋势将仍旧继续下得各国都感到软件开发人员不足。这种趋势将仍旧继续下去。所以,如何提高软件生产率,是软件工程又一重要问去。所以,如何提高软件生产率,是软件工程又一重要问题。题。5)软件重用软件重用提高软件的重用性,对于提高软件生产率、降低软件提高软件的重用性,对于提高软件生产率、降低软件成本

    29、有着重要意义。当前的软件开发存在着大量的、重复成本有着重要意义。当前的软件开发存在着大量的、重复的劳动,耗费了不少的人力资源。软件的重用有各种级别,的劳动,耗费了不少的人力资源。软件的重用有各种级别,软件规格说明、软件模块、软件代码、软件文档等都可以软件规格说明、软件模块、软件代码、软件文档等都可以是软件重用的单位。软件重用是软件工程中的一个重要研是软件重用的单位。软件重用是软件工程中的一个重要研究课题,软件重用的理论和技术至今尚未彻底解决。究课题,软件重用的理论和技术至今尚未彻底解决。第第1章绪论章绪论 1.2 1.2 软件工程的过程和软件生存周期软件工程的过程和软件生存周期1.2.1 1.

    30、2.1 软件工程的过程软件工程的过程(略略)软件工程的过程规定了获取、供应、开发、操作和软件工程的过程规定了获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务。维护软件时,要实施的过程、活动和任务。其目的是为其目的是为各种人员提供一个公共的框架,以便用相同的语言进行各种人员提供一个公共的框架,以便用相同的语言进行交流。交流。这个框架由几个重要过程组成,这些主要过程含有这个框架由几个重要过程组成,这些主要过程含有用来获取、供应、开发、操作和维护软件所用的基本的、用来获取、供应、开发、操作和维护软件所用的基本的、一致的要求。该框架还用来控制和管理软件的过程。各一致的要求。该框架还用来控制

    31、和管理软件的过程。各种组织和开发机构可以根据具体情况进行选择和剪裁,种组织和开发机构可以根据具体情况进行选择和剪裁,可在一个机构的内部或外部实施。可在一个机构的内部或外部实施。第第1章绪论章绪论 软件工程的过程没有规定一个特定的生存周期模软件工程的过程没有规定一个特定的生存周期模型或软件开发方法,各软件开发机构可为其开发项目型或软件开发方法,各软件开发机构可为其开发项目选择一种生存周期模型,并将软件工程的过程所含的选择一种生存周期模型,并将软件工程的过程所含的过程、活动和任务映射到该模型中,也可以选择和使过程、活动和任务映射到该模型中,也可以选择和使用软件开发方法来执行适合于其软件项目的活动和

    32、任用软件开发方法来执行适合于其软件项目的活动和任务。软件工程过程包含以下务。软件工程过程包含以下7 7个过程:个过程:(1)(1)获取过程。获取过程。获取过程是需方按合同获取一个获取过程是需方按合同获取一个系统、软件产品或服务的活动。系统、软件产品或服务的活动。(2)(2)供应过程。供应过程。供应过程是供方向需方提供合同供应过程是供方向需方提供合同中的系统、软件产品或服务所需的活动。中的系统、软件产品或服务所需的活动。第第1章绪论章绪论(3)(3)开发过程。开发过程。开发过程是开发者和机构为了定义和开发过程是开发者和机构为了定义和开发软件或服务所需的活动。此过程包括需求分析、设计、开发软件或服

    33、务所需的活动。此过程包括需求分析、设计、编码、集成、测试、软件安装和验收等活动。编码、集成、测试、软件安装和验收等活动。(4)(4)操作过程。操作过程。操作过程是操作者和机构为了在规定操作过程是操作者和机构为了在规定的运行环境中为其用户运行一个计算机系统所需要的活动。的运行环境中为其用户运行一个计算机系统所需要的活动。(5)(5)维护过程。维护过程。维护过程是维护者和机构为了管理软维护过程是维护者和机构为了管理软件的修改,使它处于良好运行状态所需要的活动。件的修改,使它处于良好运行状态所需要的活动。(6)(6)管理过程。管理过程。管理过程是软件工程过程中的各项管管理过程是软件工程过程中的各项管

    34、理活动,包括项目开始和范围定义;项目管理计划;实施理活动,包括项目开始和范围定义;项目管理计划;实施和控制;评审和评价;项目完成。和控制;评审和评价;项目完成。(7)(7)支持过程。支持过程。支持过程对项目的生存周期过程给予支持过程对项目的生存周期过程给予支持。它有助于项目的成功并能提高项目的质量。支持。它有助于项目的成功并能提高项目的质量。第第1章绪论章绪论 1.2.2 1.2.2 软件生存周期软件生存周期软件生存周期是借用工程中产品生存周期的概念软件生存周期是借用工程中产品生存周期的概念而得来的。引入软件生存周期概念,对于软件生产的而得来的。引入软件生存周期概念,对于软件生产的管理、进度控

    35、制有着非常重要的意义,可使软件生产管理、进度控制有着非常重要的意义,可使软件生产有相应的模式、相应的流程、相应的工序和步骤。有相应的模式、相应的流程、相应的工序和步骤。软件生存周期是指一个软件从提出开发要求开始软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。直到该软件报废为止的整个时期。把整个生存周期划把整个生存周期划分为若干阶段,使得每个阶段有明确的任务,把规模分为若干阶段,使得每个阶段有明确的任务,把规模大、结构复杂和管理复杂的软件开发变得容易控制和大、结构复杂和管理复杂的软件开发变得容易控制和管理。管理。第第1章绪论章绪论 通常,软件生存周期包括可行性分析和项目开

    36、发通常,软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、计划、需求分析、概要设计、详细设计、编码、测试、维护维护等活动,可将这些活动以适当方式分配到不同阶等活动,可将这些活动以适当方式分配到不同阶段去完成。段去完成。第第1章绪论章绪论 1 1可行性分析和项目开发计划可行性分析和项目开发计划可行性分析和项目开发计划阶段必须要回答的问可行性分析和项目开发计划阶段必须要回答的问题是题是“要解决的问题是什么要解决的问题是什么”。该问题有行得通的解。该问题有行得通的解决办法吗决办法吗?若有解决问题的办法,则需要多少费用若有解决问题的办法,则需要多少费用?需要多少资源需

    37、要多少资源?需要多少时间需要多少时间?要回答这些问题,就要回答这些问题,就要进行问题定义、可行性分析,制定项目开发计划。要进行问题定义、可行性分析,制定项目开发计划。用户提出一个软件的开发要求后,系统分析员首用户提出一个软件的开发要求后,系统分析员首先要解决该软件项目的性质是什么,是数据处理问题先要解决该软件项目的性质是什么,是数据处理问题还是实时控制问题,是科学计算问题还是人工智能问还是实时控制问题,是科学计算问题还是人工智能问题等。还要明确该项目的目标是什么,该项目的规模题等。还要明确该项目的目标是什么,该项目的规模如何等。如何等。第第1章绪论章绪论 通过系统分析员对用户和使用部门负责人的

    38、访问通过系统分析员对用户和使用部门负责人的访问和调查、开会讨论,就可解决这些问题。和调查、开会讨论,就可解决这些问题。在清楚了问题的性质、目标、规模后,还要确定在清楚了问题的性质、目标、规模后,还要确定该问题有没有行得通的解决办法。系统分析员要进行该问题有没有行得通的解决办法。系统分析员要进行压缩和简化的需求分析和设计,也就是在高层次上进压缩和简化的需求分析和设计,也就是在高层次上进行分析和设计,探索这个问题是否值得去解决,是否行分析和设计,探索这个问题是否值得去解决,是否有可行的解决办法。最后要提交有可行的解决办法。最后要提交可行性研究报告可行性研究报告。第第1章绪论章绪论 经过可行性分析后

    39、,确定该问题值得去解决,然后制经过可行性分析后,确定该问题值得去解决,然后制定定项目开发计划项目开发计划。根据开发项目的目标、功能、性能及。根据开发项目的目标、功能、性能及规模,估计项目需要的资源,即需要的计算机硬件资源,规模,估计项目需要的资源,即需要的计算机硬件资源,需要的软件开发工具和应用软件包,需要的开发人员数需要的软件开发工具和应用软件包,需要的开发人员数目及层次。还要对软件开发费用做出估算,对开发进度目及层次。还要对软件开发费用做出估算,对开发进度做出估计,制定完成开发任务的实施计划。最后,将项做出估计,制定完成开发任务的实施计划。最后,将项目开发计划和可行性分析报告一起提交管理部

    40、门审查。目开发计划和可行性分析报告一起提交管理部门审查。第第1章绪论章绪论 2 2需求分析需求分析需求分析阶段的任务不是具体地解决问题,而是准确地需求分析阶段的任务不是具体地解决问题,而是准确地确定确定“软件系统必须做什么软件系统必须做什么?”?”确定软件系统必须具备哪些功确定软件系统必须具备哪些功能。能。用户了解他们所面对的问题,知道必须做什么,但是通用户了解他们所面对的问题,知道必须做什么,但是通常不能完整、准确地表达出来,也不知道怎样用计算机解决常不能完整、准确地表达出来,也不知道怎样用计算机解决他们的问题。而软件开发人员虽然知道怎样用软件完成人们他们的问题。而软件开发人员虽然知道怎样用

    41、软件完成人们提出的各种功能要求,但是,对用户的具体业务和需求不完提出的各种功能要求,但是,对用户的具体业务和需求不完全清楚,这是需求分析阶段的困难所在。全清楚,这是需求分析阶段的困难所在。系统分析员要和用户密切配合,充分交流各自的想法,系统分析员要和用户密切配合,充分交流各自的想法,理解用户的业务流程,完整、全面地收集、分析用户业务中理解用户的业务流程,完整、全面地收集、分析用户业务中的信息和处理,从中分析出用户要求的功能和性能,然后完的信息和处理,从中分析出用户要求的功能和性能,然后完整、准确地将它们表达出来。这一阶段要给出整、准确地将它们表达出来。这一阶段要给出软件需求说明软件需求说明书。

    42、书。第第1章绪论章绪论 3 3概要设计概要设计在概要设计阶段,开发人员要把确定的各项功能需求在概要设计阶段,开发人员要把确定的各项功能需求转换成需要的转换成需要的体系结构体系结构,在该体系结构中,每个成分都是,在该体系结构中,每个成分都是意义明确的模块,即每个模块都和某些功能需求相对应。意义明确的模块,即每个模块都和某些功能需求相对应。因此,因此,概要设计就是设计软件的结构概要设计就是设计软件的结构,该结构由哪些模块,该结构由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时还要设计该项系是怎样的,

    43、每个模块的功能是什么。同时还要设计该项目的应用系统的目的应用系统的总体数据结构和数据库结构总体数据结构和数据库结构,即应用系统,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。什么关系等。第第1章绪论章绪论 4 4详细设计详细设计详细设计阶段就是为详细设计阶段就是为每个模块完整的功能进行具每个模块完整的功能进行具体描述体描述,把功能描述转变为精确的、结构化的过程描,把功能描述转变为精确的、结构化的过程描述。即该模块的控制结构是怎样的,先做什么,后做述。即该模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判定,有

    44、些什么重复处理等,什么,有什么样的条件判定,有些什么重复处理等,并用相应的表示工具把这些控制结构表示出来。并用相应的表示工具把这些控制结构表示出来。5 5编码编码编码阶段就是把每个模块的控制结构转换成计算编码阶段就是把每个模块的控制结构转换成计算机可接受的程序代码,即写成以某特定程序设计语言机可接受的程序代码,即写成以某特定程序设计语言表示的表示的“源程序清单源程序清单”。当然,写出的程序应结构好,。当然,写出的程序应结构好,清晰易读,并且与设计相一致。清晰易读,并且与设计相一致。第第1章绪论章绪论 6 6测试测试测试是保证软件质量的重要手段,其主要方式是测试是保证软件质量的重要手段,其主要方

    45、式是在设计测试用例的基础上检验软件的各个组成部分。在设计测试用例的基础上检验软件的各个组成部分。测试分为模块测试、组装测试、确认测试测试分为模块测试、组装测试、确认测试。模块测试。模块测试是查找各模块在功能和结构上存在的问题。组装测试是查找各模块在功能和结构上存在的问题。组装测试是将各模块按一定顺序组装起来进行的测试,主要是是将各模块按一定顺序组装起来进行的测试,主要是查找各模块之间接口上存在的问题。确认测试是按软查找各模块之间接口上存在的问题。确认测试是按软件需求说明书上的功能逐项进行的,发现不满足用户件需求说明书上的功能逐项进行的,发现不满足用户需求的问题,决定开发的软件是否合格、能否交付

    46、用需求的问题,决定开发的软件是否合格、能否交付用户使用等。户使用等。第第1章绪论章绪论 7 7维护维护软件维护是软件生存周期中时间最长的阶段。已交付软件维护是软件生存周期中时间最长的阶段。已交付的软件投入正式使用后,便进入软件维护阶段,它可以持的软件投入正式使用后,便进入软件维护阶段,它可以持续几年甚至几十年。软件运行过程中可能由于各方面的原续几年甚至几十年。软件运行过程中可能由于各方面的原因,需要对它进行修改。其原因可能是运行中发现了软件因,需要对它进行修改。其原因可能是运行中发现了软件隐含的错误而需要修改;也可能是为了适应变化了的软件隐含的错误而需要修改;也可能是为了适应变化了的软件工作环

    47、境而需要做适当变更;也可能是因为用户业务发生工作环境而需要做适当变更;也可能是因为用户业务发生变化而需要扩充和增强软件的功能等。变化而需要扩充和增强软件的功能等。以上划分的以上划分的7 7个阶段是在个阶段是在GB8567GB8567中规定的。中规定的。第第1章绪论章绪论 1.3 1.3 软件生存周期模型软件生存周期模型1.3.1 1.3.1 软件生存周期模型的概念软件生存周期模型的概念模型是为了理解事物而对事物做出的一种抽象,模型是为了理解事物而对事物做出的一种抽象,它忽略了不必要的细节,是事物的一种抽象形式、一它忽略了不必要的细节,是事物的一种抽象形式、一个规划、一个程式。个规划、一个程式。

    48、第第1章绪论章绪论 软件生存期模型是跨越整个生存期的系统开发、运作和软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架维护所实施的全部过程、活动和任务的结构框架.目前目前有若干种软件生存周期模型,如瀑布模型、增量模型、有若干种软件生存周期模型,如瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型、基于知识的模型和螺旋模型、喷泉模型、变换模型、基于知识的模型和统一过程模型等。统一过程模型等。第第1章绪论章绪论 1.1.阶段间具有顺序性和依赖性。阶段间具有顺序性和依赖性。2.2.推迟实现的观点。推迟实现的观点。3.3.每个阶段必须完成规定的文档每个阶段必须完成

    49、规定的文档;每个阶段结束前完成文档审查每个阶段结束前完成文档审查,及早改正错误。及早改正错误。第第1章绪论章绪论 具有维护循环的软件生存期具有维护循环的软件生存期第第1章绪论章绪论 由于在项目开发的初始阶段人们对软件的需求认由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。一次开发成功,出现返工再开发在所难免。分为分为第第1章绪论章绪论 先完成一个系统子集的开发,再按同样的开发步骤先完成一个系统子集的开发,再按同样的开发步骤增加功能增加功能(系统子集系统子集),如此递增下去直至满足全部

    50、系统如此递增下去直至满足全部系统需求。需求。(即开发一部分给用户展示即开发一部分给用户展示)系统的总体设计在初始子集设计阶段就应作出设想。系统的总体设计在初始子集设计阶段就应作出设想。第第1章绪论章绪论 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 .增量增量1 1日历时间日历时间增量增量n n增量增量3 3增量增量2 2增量增量1 1交付交付客户客户增量增量2 2交付交付客户客户增量增量3 3交付交付客户客户增量增量n n交付交付客户客户第第1章绪论章绪论(快速原型模型:开始一个原型,完

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件工程课本讲解第1章绪论课件.ppt
    链接地址:https://www.163wenku.com/p-3176149.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库