软件工程ppt-01软件工程概述课件.ppt
《软件工程ppt-01软件工程概述课件.ppt》由会员分享,可在线阅读,更多相关《软件工程ppt-01软件工程概述课件.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、:梁丽梁丽我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第一章第一章 软件工程概述软件工程概述l内容要点:内容要点:本章概括地讲述了软件、软件危机、软件工程、本章概括地讲述了软件、软件危机、软件工程、软件生产、软件生存周期、软件开发模型、软件开发软件生产、软件生存周期、软件开发模型、软件开发方法及软件开发工具。方法及软件开发工具。 l教学重点:教学重点:l软件危机的产生、表现和原因软件危机的产生、表现和原因l软件工程的定义、性质、目标、内容和面临的问软件工程的定义、性质、目标、内容和面临的问题题l软件生存
2、周期各阶段的特点和内容软件生存周期各阶段的特点和内容l教学难点:教学难点:l几种主要的软件开发模型几种主要的软件开发模型l主要的软件开发方法主要的软件开发方法我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物本章的知识结构图本章的知识结构图我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件是由计算机程序的发展而形成的一种概念由计算机程序的发展而形成的一种概念,。程序程序是是按既定算法,用某种计算机语言所规定的指按既定算法
3、,用某种计算机语言所规定的指令或语句编写的一系列指令或语句的集合。令或语句编写的一系列指令或语句的集合。软件软件是是程序再加上程序实现和维护程序时所必须的程序再加上程序实现和维护程序时所必须的文档的总称。文档的总称。( (一一) ) 软件工程的产生软件工程的产生1. 软件软件我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件被普遍接受的软件的定义是:软件软件( (software)software)是计算机系统中与硬件是计算机系统中与硬件( (hardware)hardware)相互相互依存的另一部分,它
4、包括程序依存的另一部分,它包括程序( (program)program)、相关数据相关数据( (data)data)及其说明文档及其说明文档( (document)document)。其中其中程序是按照事先设计的功能和性能要求执行的指令程序是按照事先设计的功能和性能要求执行的指令序列序列;数据是是程序能正常操纵信息的数据结构数据是是程序能正常操纵信息的数据结构;文档文档是与程序开发维护和使用有关的各种图文资料。是与程序开发维护和使用有关的各种图文资料。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件中
5、国大百科全书中对软件的定义是:中国大百科全书中对软件的定义是:软件是计软件是计算机系统中的程序和有关文件算机系统中的程序和有关文件(文档文档)。根据国际标准化组织的定义,根据国际标准化组织的定义,软件是软件是与计算机与计算机系统操作有关的程序、过程、规则、及任何有关系统操作有关的程序、过程、规则、及任何有关的文档资料的文档资料。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物( (一一) ) 软件工程的产生软件工程的产生 在信息处理和计算机领域内,一般认为软件是计在信息处理和计算机领域内,一般认为软件是计算
6、机程序、各种相关的文档和数据的集合,如下图所算机程序、各种相关的文档和数据的集合,如下图所示。示。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物( (一一) ) 软件工程的产生软件工程的产生文档就是为了委托、购入、使用、开发、维护软文档就是为了委托、购入、使用、开发、维护软件,以及管理开发过程所需要的文书和资料,是件,以及管理开发过程所需要的文书和资料,是有关计算机程序功能、设计、编制、使用的文字有关计算机程序功能、设计、编制、使用的文字或图形资料。一般文档可分为面向管理人员的文或图形资料。一般文档可分为
7、面向管理人员的文档、面向开发人员的文档、面向用户的文档和面档、面向开发人员的文档、面向用户的文档和面向使用维护人员的文档。向使用维护人员的文档。 程序是计算任务的处理对象和处理规则的描述。程序是计算任务的处理对象和处理规则的描述。数据包括使系统初始运行所必须的数据,如数据数据包括使系统初始运行所必须的数据,如数据库和表的结构及初始数据、系统运行中所需要的库和表的结构及初始数据、系统运行中所需要的各种代码表、各种标志等。各种代码表、各种标志等。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物( (一一) )
8、 软件工程的产生软件工程的产生2. 软件的特点软件的特点 软件既是知识产品,又是与汽车、建筑物一样的软件既是知识产品,又是与汽车、建筑物一样的工业产品,此外,软件还具有类似艺术、学术那样的工业产品,此外,软件还具有类似艺术、学术那样的知识性创造的特点,因此,可以说软件就是知识性工知识性创造的特点,因此,可以说软件就是知识性工业产品,它具有一些独特的性质:业产品,它具有一些独特的性质: 软件是逻辑产品,它具有无形性,软件是逻辑产品,它具有无形性,这个特点使它与这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却
9、无法看到软件本纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。了解它的功能、性能等特性。通过计算机的执行才能通过计算机的执行才能体现它的功能和作用。体现它的功能和作用。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件在使用过程中,不存在磨损和消耗问不存在磨损和消耗问题。软件在生存周期后期不会因为磨损而题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求老化,但会为了适应
10、硬件、环境以及需求的变化而进行修改,而这些修改有不可避的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从免的引入错误,导致软件失效率升高,从而使得软件退化。当修改的成本变得难以而使得软件退化。当修改的成本变得难以接受时,软件就被抛弃。接受时,软件就被抛弃。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 软件没有明显的制造过程。软件没有明显的制造过程。其成本主要体现在其成本主要体现在软件的开发和研制上,软件的开发和研制上,一旦研制开发成功,就可一旦研制开发成功,就可以大量拷贝同一内容的
11、副本。所以对软件的质量以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。控制,必须着重在软件开发方面下工夫。 软件对硬件和环境有着不同程度的依赖性。这软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。导致了软件移植的问题。 软件是复杂的,而且以后会更加复杂。软件是软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程发常常涉及其它领域的专门知识,这对软件工程师提
12、出了很高的要求。师提出了很高的要求。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物开发和维护成本高。软件开发需要投入大量、高开发和维护成本高。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。软件的开销已大大超过了硬件的开销。软件的开发至今尚未完全摆脱手工作坊式的开发软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。方式,生产效率低。软件工作牵涉到很多社会因素。许多软件的开发软件工作牵涉到很多社会因素。
13、许多软件的开发和运行涉及机构、体制和管理方式等问题,还会和运行涉及机构、体制和管理方式等问题,还会设计到人们的观念和心理。这些人的因素,常常设计到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成成为软件开发的困难所在,直接影响到项目的成败。败。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 软件技术面临的问题软件技术面临的问题 规模规模 复杂
14、性复杂性 生产率生产率 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例: : Windows9595有有10001000万行代码万行代码 Windows20002000有有50005000万行代码,万行代码, 30003000多个工程师,几百个小团队。多个工程师,几百个小团队。Exchange2000和和 Windows20002000开发人员开发人员结构结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测
15、试人员350人人约约3200人人我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 美国IBM公司在1963年至1966年开发IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。.l这个项目的负责人这个项目的负责人F. D. BrooksF. D. Brooks事后总结了他在组织开事后总结了他在组织开发过程中的沉痛教训时说:发过程中的沉痛教训时说:“.正
16、像一只逃亡的野正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。后无法逃脱灭顶的灾难。.程序设计工作正像这样程序设计工作正像这样一个泥潭,一个泥潭,.一批批程序员被迫在泥潭中拼命挣一批批程序员被迫在泥潭中拼命挣扎,扎,.谁也没有料到问题竟会陷入这样的困谁也没有料到问题竟会陷入这样的困境境.”.”。IBM360IBM360操作系统的历史教训成为软件开发操作系统的历史教训成为软件开发项目的典型事例为人们所记取。项目的典型事例为人们所记取。( (一一) ) 软件工程的产生软件工程的产生我吓了一跳,蝎子是多么丑恶和恐怖
17、的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物( (一一) ) 软件工程的产生软件工程的产生3. 软件生产的发展软件生产的发展 软件生产的发展经历了软件生产的发展经历了程序设计程序设计时代、时代、程序系统程序系统时代和时代和软件软件工程工程时代。时代。 程序设计时代(程序设计时代(60年中期以前)年中期以前):生产方式是个体手工劳动,使用的工具是机器语言、汇编语生产方式是个体手工劳动,使用的工具是机器语言、汇编语言,主要通过编程来实现,不重视程序设计方法。言,主要通过编程来实现,不重视程序设计方法。 程序系统时代(程序系统时代(60-7
18、0年代)年代):生产方式是作坊式小集团生产,生产工具是高级语言生产方式是作坊式小集团生产,生产工具是高级语言(PascalPascal、C C、AdaAda语言)语言) ,开始提出结构化方法,但开发技术还,开始提出结构化方法,但开发技术还没有根本性突破,开发人员素质和开发技术不适应规模大、结构没有根本性突破,开发人员素质和开发技术不适应规模大、结构复杂的软件开发,导致了软件危机的产生。复杂的软件开发,导致了软件危机的产生。 软件工程时代软件工程时代 :生产方式是工程化生产,生产方式是工程化生产,提出具有广泛应用前景的面向对象提出具有广泛应用前景的面向对象方法和相关的语言(方法和相关的语言(Sm
19、alltalkSmalltalk、C+C+), ,使用数据库、开发工具、使用数据库、开发工具、开发环境、网络、先进的开发技术和方法,使生产率大大提高,开发环境、网络、先进的开发技术和方法,使生产率大大提高,但未能完全摆脱软件危机。但未能完全摆脱软件危机。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物4. 软件危机软件危机 1)1)概念概念指在计算机软件开发和维护过程中所遇到指在计算机软件开发和维护过程中所遇到的一系列严重问题,这是软件生产与市场需求的一系列严重问题,这是软件生产与市场需求极不适应的严重现象
20、。极不适应的严重现象。包含两方面的问题:包含两方面的问题: 一是一是如何开发软件,怎样满足对软件的日益增如何开发软件,怎样满足对软件的日益增长的需求长的需求; 二是二是如何维护数量不断膨胀的已有软件如何维护数量不断膨胀的已有软件。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2)2)软件危机的表现 (1)对软件开发成本和进度的估计常常对软件开发成本和进度的估计常常不准确不准确,软件生产进度无法控制。软件生产进度无法控制。开发成开发成本超出预算,实际进度比预定计划一再本超出预算,实际进度比预定计划一再拖延的
21、现象并不罕见。拖延的现象并不罕见。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 (2)软件需求定义不准确,易偏离用户需软件需求定义不准确,易偏离用户需求。求。用户对用户对“已完成已完成”系统不满意的现象系统不满意的现象经常发生。经常发生。软件危机的表现我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(3)软件的可维护程度非常之低。软件的可维护程度非常之低。很多程序很多程序的错误是很难改正的,不能根据用户的需的错误是很
22、难改正的,不能根据用户的需求变化在原有程序中增加新的功能。求变化在原有程序中增加新的功能。 软件危机的表现我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(4)软件通常没有适当的文档资料。软件通常没有适当的文档资料。管理人管理人员可以使用这些文档作为管理何评价软件员可以使用这些文档作为管理何评价软件开发工程的进展情况;软件开发人员可以开发工程的进展情况;软件开发人员可以利用他们作为信息交换工具;对于软件维利用他们作为信息交换工具;对于软件维护人员文档更是必不可少。护人员文档更是必不可少。软件危机的表现我吓了
23、一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(5)软件的成本不断提高。软件的成本不断提高。随着技术的进步硬件随着技术的进步硬件成本不断降低,而软件成本随着人力资源成本的成本不断降低,而软件成本随着人力资源成本的增高、软件规模的增大而不断上涨。在美国增高、软件规模的增大而不断上涨。在美国19851985年的软件成本已经占到计算机系统总成本的年的软件成本已经占到计算机系统总成本的9090。(6)软件开发生产率的提高赶不上硬件的发展和软件开发生产率的提高赶不上硬件的发展和人们需求的增长。人们需求的增长。(7)软件可
24、维护性差。软件可维护性差。详见教材详见教材P2我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 成功的标准:s用户在用户在s用户可很容易做完要做的事用户可很容易做完要做的事 失败的根本原因:开发人员写出的东西达不到开发人员写出的东西达不到用户要求用户要求( (人的问题人的问题. .技术问题技术问题) )我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物问题出在哪里?问题出在哪里? 项目没有被很好地理解;计划不周,最终导致进
25、度拖延。 没有充分的文档资料(documentation)(3)软件可靠性(reliability)缺少度量的标准,质量无法保证。 如何保证软件产品的质量,是非常复杂困难的问题,特别对于规模庞大的软件。 软件难以维护(maintainability) 、不易升级(evolvability)我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物产生软件危机的原因:产生软件危机的原因:在软件开发过程中出现的严重问题主要与:在软件开发过程中出现的严重问题主要与: 软件本身有关。软件本身有关。 软件开发与维护的方法不正确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 ppt 01 概述 课件
限制150内