软件工程ppt-01软件工程概述课件

上传人:20****08 文档编号:240686927 上传时间:2024-04-30 格式:PPT 页数:107 大小:487.66KB
返回 下载 相关 举报
软件工程ppt-01软件工程概述课件_第1页
第1页 / 共107页
软件工程ppt-01软件工程概述课件_第2页
第2页 / 共107页
软件工程ppt-01软件工程概述课件_第3页
第3页 / 共107页
点击查看更多>>
资源描述
授课教师授课教师:梁丽梁丽授课教师:梁丽软件工程1我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第一章第一章 软件工程概述软件工程概述l内容要点:内容要点:本章概括地讲述了软件、软件危机、软件工程、本章概括地讲述了软件、软件危机、软件工程、软件生产、软件生存周期、软件开发模型、软件开发软件生产、软件生存周期、软件开发模型、软件开发方法及软件开发工具。方法及软件开发工具。l教学重点:教学重点:l软件危机的产生、表现和原因软件危机的产生、表现和原因l软件工程的定义、性质、目标、内容和面临的问软件工程的定义、性质、目标、内容和面临的问题题l软件生存周期各阶段的特点和内容软件生存周期各阶段的特点和内容l教学难点:教学难点:l几种主要的软件开发模型几种主要的软件开发模型l主要的软件开发方法主要的软件开发方法第一章软件工程概述内容要点:2我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物本章的知识结构图本章的知识结构图本章的知识结构图3我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件是由计算机程序的发展而形成的一种概念由计算机程序的发展而形成的一种概念,是计是计是计是计算机系统中与硬件相互依存的另一部分算机系统中与硬件相互依存的另一部分算机系统中与硬件相互依存的另一部分算机系统中与硬件相互依存的另一部分。程序程序是是按既定算法,用某种计算机语言所规定的指按既定算法,用某种计算机语言所规定的指令或语句编写的一系列指令或语句的集合。令或语句编写的一系列指令或语句的集合。软件软件是是程序再加上程序实现和维护程序时所必须的程序再加上程序实现和维护程序时所必须的文档的总称。文档的总称。(一一)软件工程的产生软件工程的产生1.软件软件软件是由计算机程序的发展而形成的一种概念,是计算机系统中与4我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件被普遍接受的软件的定义是:软件软件(software)software)是计算机系统中与硬件是计算机系统中与硬件(hardware)hardware)相互相互依存的另一部分,它包括程序依存的另一部分,它包括程序(program)program)、相关数据相关数据(data)data)及其说明文档及其说明文档(document)document)。其中其中程序是按照事先设计的功能和性能要求执行的指令程序是按照事先设计的功能和性能要求执行的指令序列序列;数据是是程序能正常操纵信息的数据结构数据是是程序能正常操纵信息的数据结构;文档文档是与程序开发维护和使用有关的各种图文资料。是与程序开发维护和使用有关的各种图文资料。软件被普遍接受的软件的定义是:5我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件中国大百科全书中对软件的定义是:中国大百科全书中对软件的定义是:软件是计软件是计算机系统中的程序和有关文件算机系统中的程序和有关文件(文档文档)。根据国际标准化组织的定义,根据国际标准化组织的定义,软件是软件是与计算机与计算机系统操作有关的程序、过程、规则、及任何有关系统操作有关的程序、过程、规则、及任何有关的文档资料的文档资料。软件中国大百科全书中对软件的定义是:软件是计算机系统中的程序6我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(一一)软件工程的产生软件工程的产生在信息处理和计算机领域内,一般认为软件是计在信息处理和计算机领域内,一般认为软件是计算机程序、各种相关的文档和数据的集合,如下图所算机程序、各种相关的文档和数据的集合,如下图所示。示。(一)软件工程的产生7我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(一一)软件工程的产生软件工程的产生文档就是为了委托、购入、使用、开发、维护软文档就是为了委托、购入、使用、开发、维护软件,以及管理开发过程所需要的文书和资料,是件,以及管理开发过程所需要的文书和资料,是有关计算机程序功能、设计、编制、使用的文字有关计算机程序功能、设计、编制、使用的文字或图形资料。一般文档可分为面向管理人员的文或图形资料。一般文档可分为面向管理人员的文档、面向开发人员的文档、面向用户的文档和面档、面向开发人员的文档、面向用户的文档和面向使用维护人员的文档。向使用维护人员的文档。程序是计算任务的处理对象和处理规则的描述。程序是计算任务的处理对象和处理规则的描述。数据包括使系统初始运行所必须的数据,如数据数据包括使系统初始运行所必须的数据,如数据库和表的结构及初始数据、系统运行中所需要的库和表的结构及初始数据、系统运行中所需要的各种代码表、各种标志等。各种代码表、各种标志等。(一)软件工程的产生文档就是为了委托、购入、使用、开发、维8我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(一一)软件工程的产生软件工程的产生2.软件的特点软件的特点软件既是知识产品,又是与汽车、建筑物一样的软件既是知识产品,又是与汽车、建筑物一样的工业产品,此外,软件还具有类似艺术、学术那样的工业产品,此外,软件还具有类似艺术、学术那样的知识性创造的特点,因此,可以说软件就是知识性工知识性创造的特点,因此,可以说软件就是知识性工业产品,它具有一些独特的性质:业产品,它具有一些独特的性质:软件是逻辑产品,它具有无形性,软件是逻辑产品,它具有无形性,这个特点使它与这个特点使它与其它工程对象有着明显的差异。人们可以把它记录在其它工程对象有着明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看到软件本纸上、内存、和磁盘、光盘上,但却无法看到软件本身的形态,必须通过观察、分析、思考、判断,才能身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、性能等特性。了解它的功能、性能等特性。通过计算机的执行才能通过计算机的执行才能体现它的功能和作用。体现它的功能和作用。(一)软件工程的产生2.软件的特点9我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件在使用过程中,不存在磨损和消耗问不存在磨损和消耗问题。软件在生存周期后期不会因为磨损而题。软件在生存周期后期不会因为磨损而老化,但会为了适应硬件、环境以及需求老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这些修改有不可避的变化而进行修改,而这些修改有不可避免的引入错误,导致软件失效率升高,从免的引入错误,导致软件失效率升高,从而使得软件退化。当修改的成本变得难以而使得软件退化。当修改的成本变得难以接受时,软件就被抛弃。接受时,软件就被抛弃。软件在使用过程中,不存在磨损和消耗问题。软件在生存周期后期10我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件没有明显的制造过程。软件没有明显的制造过程。其成本主要体现在其成本主要体现在软件的开发和研制上,软件的开发和研制上,一旦研制开发成功,就可一旦研制开发成功,就可以大量拷贝同一内容的副本。所以对软件的质量以大量拷贝同一内容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。控制,必须着重在软件开发方面下工夫。软件对硬件和环境有着不同程度的依赖性。这软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。导致了软件移植的问题。软件是复杂的,而且以后会更加复杂。软件是软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂度最高的工业产品。软人类有史以来生产的复杂度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开件涉及人类社会的各行各业、方方面面,软件开发常常涉及其它领域的专门知识,这对软件工程发常常涉及其它领域的专门知识,这对软件工程师提出了很高的要求。师提出了很高的要求。软件没有明显的制造过程。其成本主要体现在软件的开发和11我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物开发和维护成本高。软件开发需要投入大量、高开发和维护成本高。软件开发需要投入大量、高强度的脑力劳动,成本非常高,风险也大。现在强度的脑力劳动,成本非常高,风险也大。现在软件的开销已大大超过了硬件的开销。软件的开销已大大超过了硬件的开销。软件的开发至今尚未完全摆脱手工作坊式的开发软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。方式,生产效率低。软件工作牵涉到很多社会因素。许多软件的开发软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制和管理方式等问题,还会和运行涉及机构、体制和管理方式等问题,还会设计到人们的观念和心理。这些人的因素,常常设计到人们的观念和心理。这些人的因素,常常成为软件开发的困难所在,直接影响到项目的成成为软件开发的困难所在,直接影响到项目的成败。败。开发和维护成本高。软件开发需要投入大量、高强度的脑力劳动,12我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程ppt-01软件工程概述课件13我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 软件技术面临的问题软件技术面临的问题 规模规模 复杂性复杂性 生产率生产率 软件技术面临的问题规模14我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例:Windows9595有有10001000万行代码万行代码 Windows20002000有有50005000万行代码,万行代码,30003000多个工程师,几百个小团队。多个工程师,几百个小团队。Exchange2000和和Windows20002000开发人员开发人员结构结构Exchange2000Windows20002000项目经理项目经理25人人约约250人人开发人员开发人员140人人约约1700人人测试人员测试人员350人人约约3200人人例:Windows95有1000万行代码Exchange215我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物美国IBM公司在1963年至1966年开发IBM360机的操作系统。这一项目花了5000人一年的工作量,最多时有1000人投入开发工作,写出了近100万行源程序。.据统计,这个操作系统每次发行的新版本都是从前一版本中找出1000个程序错误而修正的结果。.这个项目的负责人这个项目的负责人F.D.BrooksF.D.Brooks事后总结了他在组织开事后总结了他在组织开发过程中的沉痛教训时说:发过程中的沉痛教训时说:“.正像一只逃亡的野正像一只逃亡的野兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最兽落到泥潭中做垂死的挣扎,越是挣扎,陷得越深,最后无法逃脱灭顶的灾难。后无法逃脱灭顶的灾难。.程序设计工作正像这样程序设计工作正像这样一个泥潭,一个泥潭,.一批批程序员被迫在泥潭中拼命挣扎,一批批程序员被迫在泥潭中拼命挣扎,.谁也没有料到问题竟会陷入这样的困境谁也没有料到问题竟会陷入这样的困境.”.”。IBM360IBM360操作系统的历史教训成为软件开发项目的典型事操作系统的历史教训成为软件开发项目的典型事例为人们所记取。例为人们所记取。(一一)软件工程的产生软件工程的产生美国IBM公司在1963年至1966年开发IBM360机的操16我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(一一)软件工程的产生软件工程的产生3.软件生产的发展软件生产的发展软件生产的发展经历了软件生产的发展经历了程序设计程序设计时代、时代、程序系统程序系统时代和时代和软件软件工程工程时代。时代。程序设计时代(程序设计时代(60年中期以前)年中期以前):生产方式是个体手工劳动,使用的工具是机器语言、汇编语生产方式是个体手工劳动,使用的工具是机器语言、汇编语言,主要通过编程来实现,不重视程序设计方法。言,主要通过编程来实现,不重视程序设计方法。程序系统时代(程序系统时代(60-70年代)年代):生产方式是作坊式小集团生产,生产工具是高级语言生产方式是作坊式小集团生产,生产工具是高级语言(PascalPascal、C C、AdaAda语言)语言),开始提出结构化方法,但开发技术还,开始提出结构化方法,但开发技术还没有根本性突破,开发人员素质和开发技术不适应规模大、结构没有根本性突破,开发人员素质和开发技术不适应规模大、结构复杂的软件开发,导致了软件危机的产生。复杂的软件开发,导致了软件危机的产生。软件工程时代软件工程时代:生产方式是工程化生产,生产方式是工程化生产,提出具有广泛应用前景的面向对象提出具有广泛应用前景的面向对象方法和相关的语言(方法和相关的语言(SmalltalkSmalltalk、C+C+),使用数据库、开发工具、使用数据库、开发工具、开发环境、网络、先进的开发技术和方法,使生产率大大提高,开发环境、网络、先进的开发技术和方法,使生产率大大提高,但未能完全摆脱软件危机。但未能完全摆脱软件危机。(一)软件工程的产生3.软件生产的发展17我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物4.软件危机软件危机1)1)概念概念指在计算机软件开发和维护过程中所遇到指在计算机软件开发和维护过程中所遇到的一系列严重问题,这是软件生产与市场需求的一系列严重问题,这是软件生产与市场需求极不适应的严重现象。极不适应的严重现象。包含两方面的问题:包含两方面的问题:一是一是如何开发软件,怎样满足对软件的日益增如何开发软件,怎样满足对软件的日益增长的需求长的需求;二是二是如何维护数量不断膨胀的已有软件如何维护数量不断膨胀的已有软件。4.软件危机18我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2)2)软件危机的表现(1)对软件开发成本和进度的估计常常不对软件开发成本和进度的估计常常不准确准确,软件生产进度无法控制。软件生产进度无法控制。开发成本开发成本超出预算,实际进度比预定计划一再拖超出预算,实际进度比预定计划一再拖延的现象并不罕见。延的现象并不罕见。2)软件危机的表现19我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(2)软件需求定义不准确,易偏离用户需软件需求定义不准确,易偏离用户需求。求。用户对用户对“已完成已完成”系统不满意的现象系统不满意的现象经常发生。经常发生。软件危机的表现(2)软件需求定义不准确,易偏离用户需求。用户对“已完20我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(3)软件的可维护程度非常之低。软件的可维护程度非常之低。很多程序很多程序的错误是很难改正的,不能根据用户的需的错误是很难改正的,不能根据用户的需求变化在原有程序中增加新的功能。求变化在原有程序中增加新的功能。软件危机的表现(3)软件的可维护程度非常之低。很多程序的错误是很难改正的,21我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(4)软件通常没有适当的文档资料。软件通常没有适当的文档资料。管理人管理人员可以使用这些文档作为管理何评价软件员可以使用这些文档作为管理何评价软件开发工程的进展情况;软件开发人员可以开发工程的进展情况;软件开发人员可以利用他们作为信息交换工具;对于软件维利用他们作为信息交换工具;对于软件维护人员文档更是必不可少。护人员文档更是必不可少。软件危机的表现(4)软件通常没有适当的文档资料。管理人员可以使用这些文档作22我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(5)软件的成本不断提高。软件的成本不断提高。随着技术的进步硬件成随着技术的进步硬件成本不断降低,而软件成本随着人力资源成本的增本不断降低,而软件成本随着人力资源成本的增高、软件规模的增大而不断上涨。在美国高、软件规模的增大而不断上涨。在美国19851985年年的软件成本已经占到计算机系统总成本的的软件成本已经占到计算机系统总成本的9090。(6)软件开发生产率的提高赶不上硬件的发展和人软件开发生产率的提高赶不上硬件的发展和人们需求的增长。们需求的增长。(7)软件可维护性差。软件可维护性差。详见教材详见教材P2(5)软件的成本不断提高。随着技术的进步硬件成本不断降低,而23我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 成功的标准:s用户在用户在用用s用户可很容易做完要做的事用户可很容易做完要做的事 失败的根本原因:开发人员写出的东西达不到开发人员写出的东西达不到用户要求用户要求(人的问题人的问题.技术问题技术问题)成功的标准:用户在用24我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物问题出在哪里?问题出在哪里?项目没有被很好地理解;计划不周,最终导致进度拖延。没有充分的文档资料(documentation)(3)软件可靠性(reliability)缺少度量的标准,质量无法保证。如何保证软件产品的质量,是非常复杂困难的问题,特别对于规模庞大的软件。软件难以维护(maintainability)、不易升级(evolvability)问题出在哪里?项目没有被很好地理解;计划不周,最终导25我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物产生软件危机的原因:产生软件危机的原因:在软件开发过程中出现的严重问题主要与:在软件开发过程中出现的严重问题主要与:软件本身有关。软件本身有关。软件开发与维护的方法不正确有关。软件开发与维护的方法不正确有关。产生软件危机的原因:在软件开发过程中出现的严重问题主要与:26我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物产生软件危机的原因:产生软件危机的原因:软件与硬件不同,是逻辑部件。软件与硬件不同,是逻辑部件。软件开发过程的进展情况难以衡量。软件开发过程的进展情况难以衡量。软件开发的质量也难以评价。软件开发的质量也难以评价。管理与控制软件开发过程相当困难。管理与控制软件开发过程相当困难。修改或改正软件设计等软件维护比较困难。修改或改正软件设计等软件维护比较困难。产生软件危机的原因:软件与硬件不同,是逻辑部件。27我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物产生软件危机的原因:产生软件危机的原因:软件不同于一般的程序,其规模庞大。软件不同于一般的程序,其规模庞大。需要多人协作完成,会涉及诸多技术问题,需要多人协作完成,会涉及诸多技术问题,比如:分析方法、设计方法、形式说明方比如:分析方法、设计方法、形式说明方法、版本控制等。法、版本控制等。需要严格、科学的管理。需要严格、科学的管理。产生软件危机的原因:软件不同于一般的程序,其规模庞大。28我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 软件本身的特点也给开发和维护带来一软件本身的特点也给开发和维护带来一些客观困难。些客观困难。软件开发与维护中长期形成的错误认识与软件开发与维护中长期形成的错误认识与作法。作法。比如:比如:忽视软件的需求分析,急于动手编写程序;忽视软件的需求分析,急于动手编写程序;轻视软件的维护等轻视软件的维护等。软件本身的特点也给开发和维护带来一些客观困难。软件开发与29我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物二是软件专业人员自身的缺陷二是软件专业人员自身的缺陷(软件开发人(软件开发人员员没有掌握正确的软件开发方法,对软件没有掌握正确的软件开发方法,对软件开发和维护存在许多模糊、错误认识;软件开发和维护存在许多模糊、错误认识;软件管理人员管理人员软件管理技术落后,软件质量管软件管理技术落后,软件质量管理没有依据)理没有依据)(4)(4)解决途径解决途径 详见教材详见教材P5二是软件专业人员自身的缺陷(软件开发人员没有掌握正确的软30我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(一一)软件工程的产生软件工程的产生软件工程的定义软件工程的定义软件工程这一术语首次出现在软件工程这一术语首次出现在19681968年的年的NATONATO会会议上。是指导计算机软件开发和维护的工程议上。是指导计算机软件开发和维护的工程学科。学科。FritzBauer在在NATO会议上给出的定义:会议上给出的定义:“软件工程是为了经济地获得可软件工程是为了经济地获得可靠的和能在实际机器上高效运行的软件靠的和能在实际机器上高效运行的软件而确立和使用的健全的工程原理(方法)而确立和使用的健全的工程原理(方法)。”l (一)软件工程的产生软件工程的定义软件工程这一术语首次出31我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程的定义软件工程的定义 IEEEIEEE【IEE83】给出的软给出的软件工程定义:件工程定义:“软件工程是开发、运行、软件工程是开发、运行、维护和修复软件的系统方法。维护和修复软件的系统方法。”软件工程的定义IEEE【IEE83】给出的软件工程32我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程的定义软件工程的定义 IEEEIEEE【IEE93】给出了一个更给出了一个更加综合的定义:加综合的定义:“将系统化的、规范的、可将系统化的、规范的、可度量的方法应用于软件的开发、度量的方法应用于软件的开发、运行和维护的过程,即将工程化运行和维护的过程,即将工程化应用于软件中。应用于软件中。”软件工程的定义IEEE【IEE93】给出了一个更加综合33我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程的定义软件工程的定义 软件工程是应用计算机科学、数学及管理科学等原理开发软软件工程是应用计算机科学、数学及管理科学等原理开发软软件工程是应用计算机科学、数学及管理科学等原理开发软软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。本为目的。本为目的。本为目的。其中:其中:计算机科学、数学计算机科学、数学用于构造软件系统模型与算法;用于构造软件系统模型与算法;工程科学工程科学用于制定规范、标准;用于制定规范、标准;管理科学管理科学用于计划、资源、成本、质量控制。用于计划、资源、成本、质量控制。目标:目标:追求软件产品的正确性、可用性和软件生产的效率追求软件产品的正确性、可用性和软件生产的效率工程活动:工程活动:需求分析、设计、实现、测试确认、维护支持需求分析、设计、实现、测试确认、维护支持方法学问题:方法学问题:开发模型、设计方法、支持过程、管理过程开发模型、设计方法、支持过程、管理过程l 软件工程的定义软件工程是应用计算机科学、数学及管理科34我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物什么是什么是软件工程?软件工程?是指导计算机软件开发和维护的工程学科。是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开它采用工程的概念、原理、技术和方法来开发与维护软件,并把正确的管理技术与当发与维护软件,并把正确的管理技术与当前最好的技术方法结合起来。前最好的技术方法结合起来。什么是软件工程?35我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学自软件工程的概念形成以来,在这一研究领域吸引了众多的科学和技术人员,并开展了大量的理论和技术性的研究,从而形成了“软件工程学软件工程学”这一计算机科学中的分支。软件工程学自软件工程的概念形成以来,在这一研究领36我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学l软件工程学就是研究软件工程学就是研究如何借助科学的理论如何借助科学的理论和现代工程上的技术来指导软件的开发,和现代工程上的技术来指导软件的开发,从而达到用较少的投资获得高质量的、可从而达到用较少的投资获得高质量的、可靠的软件的目的。靠的软件的目的。的科学。的科学。它涉及到软件的全部活动、广泛的知识领域及其技术;包括:计算机科学、数学、管理学、经济学、心理学、认知学、行为学、美学、艺术、可靠性理论和通信技术等多个学科。具体而言,软件工程学提出了对开发理论、开发方法、开发工具的研究领域。软件工程学软件工程学就是研究如何借助科学的理论和现代工程上37我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学l软件工程学的发展经历了三个时期:程序软件工程学的发展经历了三个时期:程序设计时期、软件时期、软件工程时期。设计时期、软件时期、软件工程时期。软件工程学软件工程学的发展经历了三个时期:程序设计时期、软件38我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学软件工程学所包含的内容可概括为:l软件开发技术l软件工程(项目)管理软件工程学软件工程学所包含的内容可概括为:39我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学软件开发技术所包含的内容可概括为:l软件开发方法学l软件工具l软件工程环境软件工程学软件开发技术所包含的内容可概括为:40我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学软件工程(项目)管理主要包括l软件管理l软件工程经济学软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。软件工程学软件工程(项目)管理主要包括41我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程学l统计数据表明,大多数软件开发项目的失败,并不是由于软件开发技术方面的原因。它们的失败是由于不适当的管理造成的。遗憾的是,尽管人们对软件项目管理重要性的认识有所提高,但在软件管理方面的进步远比在设计方法学和实现方法学上的进步小,至今还提不出一套管理软件开发的通用指导原则软件工程学统计数据表明,大多数软件开发项目的失败,并不是由于42我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 “软件工程软件工程”课程课程 与其它软件专业课的区别与其它软件专业课的区别(1)(1)立足于系统的整体。立足于系统的整体。(2)(2)讲授系统分析、系统设计、讲授系统分析、系统设计、测试及维护的理论和方法。测试及维护的理论和方法。(3)(3)构筑一个软件系统,实践构筑一个软件系统,实践 软件开发全过程。软件开发全过程。“软件工程”课程与其它软件专业课的区别(1)43我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物“软件工程”课程教学与实践的目标 转变对软件开发的认识:转变对软件开发的认识:上升上升 程序程序 系统系统 转变思维定式:转变思维定式:上升上升 程序员程序员 系统工程师系统工程师 (系统分析员系统分析员)工程化训练工程化训练“软件工程”课程教学与实践的目标转变对软件开发的认识:44我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物系统分析员的地位用户用户分析员分析员程序员程序员系统分析员的地位用户分析员程序员45我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物“一个好的工业,应有一套良好的标准来配套”软件的工业化生产过程应具备的特点:软件的工业化生产过程应具备的特点:明确的工作步骤明确的工作步骤详细具体的规范化文档详细具体的规范化文档明确的质量评价标准明确的质量评价标准“一个好的工业,应有一套良好的标准来配套”软件的工业化生产46我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程技术的两个明显特点:强调规范化强调规范化 强调文档化强调文档化软件工程技术的两个明显特点:强调规范化47(一一)软件工程的产生软件工程的产生6.软件工程的基本原理软件工程的基本原理 用分阶段的生命周期计划严格管理。用分阶段的生命周期计划严格管理。坚持进行阶段评审。坚持进行阶段评审。实行严格的产品管理。实行严格的产品管理。采用现代程序设计技术。采用现代程序设计技术。结果应该清楚地审查。结果应该清楚地审查。开发小组成员应该少而精。开发小组成员应该少而精。承认不断改进的软件工程实践的必要性。承认不断改进的软件工程实践的必要性。(一)软件工程的产生6.软件工程的基本原理48我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(二)软件工程过程和软件生存周期(二)软件工程过程和软件生存周期1.软件工程过程软件工程过程软件工程过程就是在获取、供应、开发、操作和软件工程过程就是在获取、供应、开发、操作和维护软件时,要实施的过程、活动和任务,它包含获维护软件时,要实施的过程、活动和任务,它包含获取过程、供应过程、开发过程、操作过程、维护过程、取过程、供应过程、开发过程、操作过程、维护过程、管理过程和支持过程等。管理过程和支持过程等。2.软件生存周期(软件生存周期(SoftwareLiveCycle)软件生存周期是指一个软件从立项开始,经过制软件生存周期是指一个软件从立项开始,经过制造、测试、使用和维护直到软件废弃为止的整个时期。造、测试、使用和维护直到软件废弃为止的整个时期。其方法是从时间角度对软件开发和维护的整个复杂的其方法是从时间角度对软件开发和维护的整个复杂的过程进行分解,依次划分为若干个阶段,每个阶段都过程进行分解,依次划分为若干个阶段,每个阶段都有明确并且相对独立的任务和完成标志,一个阶段的有明确并且相对独立的任务和完成标志,一个阶段的任务完成后,再进入下一阶段。任务完成后,再进入下一阶段。(二)软件工程过程和软件生存周期1.软件工程过程49我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程的开发传统途径:软件工程的开发传统途径:采用生命周期法,从时间角度对软件采用生命周期法,从时间角度对软件开发和维护的复杂问题进行分解,把软件开发和维护的复杂问题进行分解,把软件的生命周期依次划分为若干个阶段,每个的生命周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后逐步完成每阶段有相对独立的任务,然后逐步完成每个阶段的任务。个阶段的任务。软件工程的开发传统途径:采用生命周期法,从50我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程的开发传统途径:软件工程的开发传统途径:前一阶段任务完成是开始后一阶段工前一阶段任务完成是开始后一阶段工作的前提和基础。后一阶段任务的完成是作的前提和基础。后一阶段任务的完成是前一阶段的进一步具体化。前一阶段的进一步具体化。每一阶段的开始与结束都有严格的标每一阶段的开始与结束都有严格的标准。在每一阶段结束之前必须进行正式严准。在每一阶段结束之前必须进行正式严格的技术审查与管理复审。格的技术审查与管理复审。软件工程的开发传统途径:前一阶段任务完成是开51我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(二)软件工程过程和软件生存周期(二)软件工程过程和软件生存周期划分软件生存周期的方法有多种,大致可分为需划分软件生存周期的方法有多种,大致可分为需求分析与计划、设计、制造、测试、使用与维护等。求分析与计划、设计、制造、测试、使用与维护等。在国家标准在国家标准“计算机软件开发规范计算机软件开发规范”中,把软件生存中,把软件生存周期划分为周期划分为8个阶段,即个阶段,即可行性研究与计划可行性研究与计划、需求分析需求分析、概要设计概要设计、详细设计详细设计、实现实现、综合测试综合测试、确认测试确认测试、使用与维护使用与维护,对每个阶段,都明确规定了该阶段的任,对每个阶段,都明确规定了该阶段的任务、实施方法、实施步骤和完成标志,其中特别规定务、实施方法、实施步骤和完成标志,其中特别规定了每个阶段需要产生的文档。了每个阶段需要产生的文档。本书中采用的阶段划分为:可行性研究、需求分本书中采用的阶段划分为:可行性研究、需求分析、概要设计、详细设计、编码、测试、维护。析、概要设计、详细设计、编码、测试、维护。(二)软件工程过程和软件生存周期划分软件生存周期的方法有52生命周期各阶段的基本任务:生命周期各阶段的基本任务:软件的生命周期分为:软件的生命周期分为:软件定义软件定义 软件开发软件开发 软件维护软件维护软件定义时期包括:软件定义时期包括:问题定义、可行性研究、需求分析。问题定义、可行性研究、需求分析。软件开发时期包括:软件开发时期包括:总体设计、详细设计、编码、测试。总体设计、详细设计、编码、测试。生命周期各阶段的基本任务:软件的生命周期分为:53生命周期各阶段的基本任务:生命周期各阶段的基本任务:问题定义问题定义描述我们面向的系统到底要解决什么描述我们面向的系统到底要解决什么问题?并提出问题的性质、工程目标和规问题?并提出问题的性质、工程目标和规模的书面报告。模的书面报告。生命周期各阶段的基本任务:问题定义54生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:可行性研究可行性研究对所定义的问题,研究其范围,是否对所定义的问题,研究其范围,是否值得取解,是否有可行的解决办法。值得取解,是否有可行的解决办法。成果:成果:系统高层逻辑模型(数据流图)。系统高层逻辑模型(数据流图)。成本成本/效益分析(工程的规模与目标、系统效益分析(工程的规模与目标、系统成本与效益)。成本与效益)。生命周期法各阶段的基本任务:可行性研究55生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:需求分析需求分析确定目标系统应具备哪些功能。提出并确定目标系统应具备哪些功能。提出并确认系统逻辑模型(数据流图、数据字典、算确认系统逻辑模型(数据流图、数据字典、算法描述)。法描述)。成果:成果:对提出的需求进行分析并给出详细的定义对提出的需求进行分析并给出详细的定义。编写软件需求说明书或系统功能说明书及初编写软件需求说明书或系统功能说明书及初步的系统用户手册步的系统用户手册 提交管理机构评审提交管理机构评审生命周期法各阶段的基本任务:需求分析56生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:总体设计总体设计对所定义的问题,研究其范围,是否值得去对所定义的问题,研究其范围,是否值得去解,是否有可行的解决办法。解,是否有可行的解决办法。把各项需求转换成软件的体系结构。结构中把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和每一组成部分都是意义明确的模块,每个模块都和某些需求相对应。某些需求相对应。成果:成果:系统高层逻辑模型(数据流图)。系统高层逻辑模型(数据流图)。成本成本/效益分析(工程的规模与目标、系统成本与效益)。效益分析(工程的规模与目标、系统成本与效益)。系统结构(层次图或结构图)。系统结构(层次图或结构图)。生命周期法各阶段的基本任务:总体设计57生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:详细设计详细设计 具体地实现这个系统。设计出程序的详细规格具体地实现这个系统。设计出程序的详细规格说明。说明。对每个模块要完成的工作进行具体的描述,为对每个模块要完成的工作进行具体的描述,为源程序编写打下基础。源程序编写打下基础。成果:成果:编码规格说明(编码规格说明(HIPOHIPO图或图或PDLPDL)。)。生命周期法各阶段的基本任务:详细设计58生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:编码编码把对软件的详细设计转换成计算机可把对软件的详细设计转换成计算机可以接受的程序代码,即写成以某一种特定以接受的程序代码,即写成以某一种特定程序设计语言表示的程序设计语言表示的“源程序清单源程序清单”写出的程序应当是结构良好、清晰易写出的程序应当是结构良好、清晰易读的,且与设计相一致的读的,且与设计相一致的生命周期法各阶段的基本任务:编码59生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:软件测试软件测试单元测试:单元测试:单元测试:单元测试:查找各模块在功能和结构上存在的查找各模块在功能和结构上存在的查找各模块在功能和结构上存在的查找各模块在功能和结构上存在的问题并加以纠正。问题并加以纠正。问题并加以纠正。问题并加以纠正。组装测试:组装测试:组装测试:组装测试:将已测试过的模块按一定顺序组装将已测试过的模块按一定顺序组装将已测试过的模块按一定顺序组装将已测试过的模块按一定顺序组装起来。起来。起来。起来。按规定的各项需求,逐项进行按规定的各项需求,逐项进行按规定的各项需求,逐项进行按规定的各项需求,逐项进行有效性测试有效性测试有效性测试有效性测试,决定已开发的软件是否合格,能否交付用户使决定已开发的软件是否合格,能否交付用户使决定已开发的软件是否合格,能否交付用户使决定已开发的软件是否合格,能否交付用户使用。用。用。用。生命周期法各阶段的基本任务:软件测试60生命周期法各阶段的基本任务:生命周期法各阶段的基本任务:软件维护软件维护改正性维护:改正性维护:运行中发现了软件中的错误需要运行中发现了软件中的错误需要修正。修正。适应性维护:适应性维护:为了适应变化了的软件工作环为了适应变化了的软件工作环境,需做适当变更。境,需做适当变更。完善性维护:完善性维护:为了增强软件的功能需做变更。为了增强软件的功能需做变更。预防性维护:预防性维护:修改软件为将来的维护活动预先修改软件为将来的维护活动预先做准备。做准备。生命周期法各阶段的基本任务:软件维护61我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物软件工程ppt-01软件工程概述课件62我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(三)软件生存周期模型、方法和工具(三)软件生存周期模型、方法和工具1.软件生存周期模型软件生存周期模型20世纪世纪60年代后期,当人们以工程学的观年代后期,当人们以工程学的观点来研究软件的开发方法时,借鉴在其他工程点来研究软件的开发方法时,借鉴在其他工程领域活动中所使用的方法提出了软件开发模型,领域活动中所使用的方法提出了软件开发模型,这就把软件开发工程变成可视过程,受到了软这就把软件开发工程变成可视过程,受到了软件开发人员和项目管理人员的欢迎件开发人员和项目管理人员的欢迎.软件生存期模型是跨越整个生存期的系统开软件生存期模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任发、运作和维护所实施的全部过程、活动和任务的结构框架务的结构框架(三)软件生存周期模型、方法和工具1.软件生存周期模型63软件的生命周期模型:软件的生命周期模型:软件生命周期模型是跨越整个生命周软件生命周期模型是跨越整个生命周期的系统开发、运作和维护所实施的全期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。部过程、活动和任务的结构框架。瀑布模型瀑布模型 演化模型演化模型 螺旋模型螺旋模型 喷泉模型喷泉模型 智能模型智能模型软件的生命周期模型:软件生命周期模型是跨越整个生命周64我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物瀑布模型瀑布模型l瀑布模型规定了生存期各项软件活动,包括开发计划、需求分析、系统设计、测试、维护。并且规定它们自上而下、相互衔接的固定次序。所有过程模型的祖宗所有过程模型的祖宗项目从开始到结束按照一定的顺序执行项目从开始到结束按照一定的顺序执行瀑布模型是文档驱动的,各个阶段不连续也不交叉瀑布模型是文档驱动的,各个阶段不连续也不交叉瀑布模型瀑布模型规定了生存期各项软件活动,包括开发计划、需求65软件的生命周期模型:软件的生命周期模型:瀑布模型瀑布模型软件的生命周期模型:瀑布模型66我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物瀑布模型瀑布模型特点(详见教材特点(详见教材P12)(1)阶段间具有顺序性和依赖性)阶段间具有顺序性和依赖性(2)推迟实现的观点)推迟实现的观点(3)质量保证的观点)质量保证的观点瀑布模型是瀑布模型是6070年代为克服软件危机提出的主年代为克服软件危机提出的主要软件开发模型,它在纠正软开发人员的错误观点,要软件开发模型,它在纠正软开发人员的错误观点,认识软件开发与程序设计的本质区别,在克服软件危认识软件开发与程序设计的本质区别,在克服软件危机方面能起到一定作用。机方面能起到一定作用。瀑布模型67我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物适用场合:l当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适l当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适。l纯瀑布模型能够降低管理费用,因为你可以预先完成所有计划。l对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方法处理问题。l在质量需求高于成本需求和进度需求的时候,它尤为出色。l当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。适用场合:68我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物优点优点:a.a.强调开发的阶段性;强调开发的阶段性;b.b.强调早期计划及需求调查;强调早期计划及需求调查;c.c.强调产品测试。强调产品测试。缺点缺点:a.a.依赖于早期进行的唯一一次需求调查,依赖于早期进行的唯一一次需求调查,不能适应需求的变化;不能适应需求的变化;b.b.由于是单一流程,开发中的经验教训由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程;不能反馈应用于本产品的过程;c.c.风险往往迟至后期的开发阶段才显露,风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会。因而失去及早纠正的机会。优点:69软件的生命周期模型:软件的生命周期模型:由于在项目开发的初始阶段人们对软件的由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在难于做到一次开发成功,出现返工再开发在所难免,所以做两次。所难免,所以做两次。第一次只是试验开发,其目标只是在于探第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求。索可行性,弄清软件需求。第二次则在此基础上获得较为满意的软件第二次则在此基础上获得较为满意的软件产品。产品。软件的生命周期模型:70我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物该模型主要针对事先不能完整定义需求的软件开该模型主要针对事先不能完整定义需求的软件开发。用户可以给出待开发系统的核心需求,并且发。用户可以给出待开发系统的核心需求,并且当看到核心需求实现后,能够有效地提出反馈,当看到核心需求实现后,能够有效地提出反馈,以支持系统的最终设计和实现。软件开发人员根以支持系统的最终设计和实现。软件开发人员根据用户的需求,首先开发核心系统。当该核心系据用户的需求,首先开发核心系统。当该核心系统投入运行后,用户试用之,完成他们的工作,统投入运行后,用户试用之,完成他们的工作,并提出精化系统、增强系统能力的需求。软件开并提出精化系统、增强系统能力的需求。软件开发人员根据用户的反馈,实施开发的迭代过程。发人员根据用户的反馈,实施开发的迭代过程。每一迭代过程均由需求、设计、编码、测试、集每一迭代过程均由需求、设计、编码、测试、集成等阶段组成,为整个系统增加一个可定义的、成等阶段组成,为整个系统增加一个可定义的、可管理的子集。如图所示。可管理的子集。如图所示。演化模型演化模型演化模型71我吓了一跳,蝎子是多么丑恶和
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!