第1章 软件工程概述
- 格式:ppt
- 大小:776.50 KB
- 文档页数:27
第1章软件工程概述软件工程的研究领域包括软件的开发方法、软件周期以及软件工程的实践等。
软件危机与软件工程的起源1. 计算机系统的发展历程20 世纪 60 年代中期以前,是计算机系统发展的早期:软件为每个具体应用而专门编写的。
软件实质为规模较小的程序,编写容易,没有系统化的方法,对软件开发工作更没有进行任何管理。
编写者和使用者为同一个(或同一组)人。
软件设计只是一个模糊的过程,除了程序清单之外,没有其他文档资料。
20 世纪 60 年代中期到 70 年代中期,是计算机发展的第二代:硬件发展:多道程序、多用户系统引入了人机交互的新概念,使硬件和软件的配合上了一个新层次。
实时系统能够从多个信息源收集、分析和转换数据,使得进程控制能以毫秒而不是分钟来进行。
在线存储技术的进步导致了第一代数据库管理系统的出现。
软件发展:软件个体化特性。
软件数量极具膨胀。
在程序运行时发生的错误必须设法改正。
用户有了新的需求时必须相应的修改程序。
硬件或操作系统更新时,通常需要修改程序以适应新的环境。
软件维护工作,以令人吃惊的比例耗费资源,许多程序的个体化特性使得它们最终成为不可维护的。
2. 软件定义:软件是由一个完整的配置组成:程序:能够完成预定功能和性能的可执行的指令序列。
数据:是使程序能够适当地处理信息的数据结构。
文档:是开发、使用和维护程序所需要的图文资料。
1983 年 IEEE 对软件的定义:计算机程序、方法、规则、相关的文档资料、运行程序时所必须的数据。
特点:1) 软件是一种逻辑实体,而不是具体的物理实体。
2) 软件的生产与硬件不同。
在软件开发过程中没有明显的制造过程。
3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
4) 软件成本相当高。
3. 软件危机介绍软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护,数量不断膨胀的已有软件。
第一章软件工程概述1、1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,一门新兴的工程学科就此诞生了。
2、软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
3、软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量日益增长的已有软件。
4、产生危机的原因①与软件本身的特点有关②与软件开发与维护的方法不正确有关。
5、软件的生命周期:一个软件从定义、开发、使用、维护,直到被废弃,要经历一个漫长的时期,这就如同人要经过胎儿、儿童、青年、中年、老年,直到最终死亡的漫长周期一样。
通常把软件经历的这个漫长的时期称为生命周期。
6、软件工程定义:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发和维护软件。
把经过时间考验而证明正确的管理技术和当前能够得到的最好技术方法结合起来,以经济地开发出高质量的软件并有效的维护它,这就是软件工程。
7、软件工程7个本质特征:①软件工程关注与大型程序的构造②软件工程的中心课题是控制复杂性③软件经常变化④开发软件的效率非常重要⑤和谐地合作是开发软件的关键⑥软件必须有效的支持它的用户⑦在软件工程领域中通常由具有一种文化背景的人替另一种文化背景的人创造产品8、软件工程的7条基本原理:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚的审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性9、通常把软件周期全过程中使用的一整套技术方法的集合称为方法学,也成为范型。
10、软件工程的方法包含3个要素:方法、工具和过程。
其中方法是完成软件开发的各项任务的技术方法回答“怎样做”的问题;工具是为运用方法而提供的自动或半自动的软件工程支撑环境;过程是为了获得质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
第1章软件工程概述1、什么是软件工程?为什么会出现软件工程?软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。
软件工作者在20世纪60年代后期开始认真研究消除软件危机的途径,从而逐渐形成了一门新兴的工程学科——计算机软件工程学(通常简称为软件工程)。
2、软件工程的主要目标是什么?基本目标是什么?软件工程的目标:从管理和技术两个方面开发和维护计算机软件,用低成本,开发出达标、高性能、易于移植、可靠性高的软件。
软件工程的基本目标是:优质、高产。
3、什么是软件工程方法学?软件工程的3要素(软件工程方法学的3要素)是什么?分别包含什么内容?软件工程方法学:软件生命周期全过程中使用的一整套技术方法的集合软件工程方法学包含3个要素:方法、工具和过程。
方法是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是为运用方法而提供的自动的或半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。
4、什么是软件过程?什么是软件周期?常见软件生命周期模型(课件中的前5类)的特点有哪些?软件过程:它是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件生命周期:由软件定义、软件开发和运行维护(也称之为软件维护)3个时期组成①瀑布模型定义:传统软件工程方法学的软件过程,基本上可以用瀑布模型来描述。
瀑布模型的特点:1.阶段间具有顺序性和依赖性;2.推迟实现的观点;3.质量保证的观点。
瀑布模型的成功在很大程序上是由于它基本上是一种文档驱动的模型。
瀑布模型的主要优点:a.可强迫开发人员采用规范的技术方法;b.严格地规定了每个阶段必须提交的文档;c.每个阶段结束前必须正式进行严格的技术审查和管理复审。
第一讲软件工程概述软件的定义软件是计算机系统中与硬件相互依存的另一局部,它是包括顺序,数据及其相关文档的完整集合。
顺序是按事前设计的功用和功用要求执行的指令序列数据是使顺序能正常操纵信息的数据结构文档是与顺序开发,维护和运用有关的图文资料软件危机软件危机是指计算机软件开发和维护进程中所遇到的一系列严重效果。
概括的说即为:能否满足对软件日益增长的需求?能否维护数量日益增长的现有软件?软件工程的定义B o e h m:运用现代迷信技术知识来设计并结构计算机顺序及为开发、运转和维护这些顺序所必需的相关文件资料I E E E:软件工程是开发、运转、维护和修复软件的系统方法F r i t z B a u e r:树立并运用完善的工程化原那么,以较经济的手腕取得能在实践机器上有效运转的牢靠软件的一系列方法软件工程要素三要素:方法、工具和进程(缺乏一个进程,洗厕所的都有方法和工具,但没有一个好的进程〕软件工程方法为软件开发提供了〝如何做〞的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境软件生命周期〔Life Cycle〕软件有一个孕育、降生、生长、成熟、兴起的生活进程。
这个进程即为计算机软件的生命周期软件生活期的六个步骤,即制定方案、需求剖析、设计、完成、测试及运转维护软件生命周期:制定方案确定要开发软件系统的总目的给出功用、功用、牢靠性以及接口等方面的要求完成该软件义务的可行性研讨估量可应用的资源(硬件,软件,人力等)、本钱、效益、开发进度制定出完成开发义务的实施方案,连同可行性研讨报告,提交管理部门审查软件生命周期:需求剖析对用户提出的要求停止剖析并给出详细的定义,失掉系统逻辑模型,可用数据流程图、数据字典和简明算法加以表示。
编写软件需求说明书或系统功用说明书及初步的系统用户手册提交管理机构评审软件生命周期:软件设计概要设计—把各项需求转换成软件的体系结构。
结构中每一组成局部都是意义明白的模块,每个模块都和某些需求相对应。