1. 软件工程概述
- 格式:pdf
- 大小:1.26 MB
- 文档页数:26
第1章软件工程概述软件工程的研究领域包括软件的开发方法、软件周期以及软件工程的实践等。
软件危机与软件工程的起源1. 计算机系统的发展历程20 世纪 60 年代中期以前,是计算机系统发展的早期:软件为每个具体应用而专门编写的。
软件实质为规模较小的程序,编写容易,没有系统化的方法,对软件开发工作更没有进行任何管理。
编写者和使用者为同一个(或同一组)人。
软件设计只是一个模糊的过程,除了程序清单之外,没有其他文档资料。
20 世纪 60 年代中期到 70 年代中期,是计算机发展的第二代:硬件发展:多道程序、多用户系统引入了人机交互的新概念,使硬件和软件的配合上了一个新层次。
实时系统能够从多个信息源收集、分析和转换数据,使得进程控制能以毫秒而不是分钟来进行。
在线存储技术的进步导致了第一代数据库管理系统的出现。
软件发展:软件个体化特性。
软件数量极具膨胀。
在程序运行时发生的错误必须设法改正。
用户有了新的需求时必须相应的修改程序。
硬件或操作系统更新时,通常需要修改程序以适应新的环境。
软件维护工作,以令人吃惊的比例耗费资源,许多程序的个体化特性使得它们最终成为不可维护的。
2. 软件定义:软件是由一个完整的配置组成:程序:能够完成预定功能和性能的可执行的指令序列。
数据:是使程序能够适当地处理信息的数据结构。
文档:是开发、使用和维护程序所需要的图文资料。
1983 年 IEEE 对软件的定义:计算机程序、方法、规则、相关的文档资料、运行程序时所必须的数据。
特点:1) 软件是一种逻辑实体,而不是具体的物理实体。
2) 软件的生产与硬件不同。
在软件开发过程中没有明显的制造过程。
3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。
4) 软件成本相当高。
3. 软件危机介绍软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面问题:如何开发软件,以满足对软件日益增长的需求;如何维护,数量不断膨胀的已有软件。
第一讲软件工程概述(软件危机)软件危机在计算机科学发展的早期,软件开发的过程中出现了一系列严重的问题,被称为软件危机。
软件危机主要表现在以下几个方面:1. 项目延期和超预算软件开发项目常常会因为技术、人员或者需求变更等原因导致延期和超预算。
这让开发者和客户都感到沮丧,并对软件开发过程的可行性和有效性产生质疑。
2. 软件质量低下由于软件开发的复杂性,很容易出现缺陷和错误。
软件质量低下会导致系统不稳定、易于崩溃、功能不完备等问题。
3. 缺乏可维护性和可重用性由于缺乏系统化的工程方法和设计规范,很多软件很难进行维护和重用。
这不仅增加了开发者的工作量,也浪费了大量的时间和资源。
4. 项目管理困难软件开发涉及多个工作环节和不同的团队成员,项目管理的难度非常大。
缺乏有效的管理方法和工具,往往导致项目进度难以掌控,人员协调困难等问题。
软件工程的出现为了解决软件危机所带来的问题,软件工程这一概念应运而生。
软件工程旨在通过系统化的方法和工程化的思维来开发和维护软件。
1. 系统化的方法软件工程提供了一套系统化的方法,包括需求分析、系统设计、编码、测试等环节,以确保软件开发过程的可控和可靠性。
2. 工程化的思维软件工程借鉴了工程学科的思维方式,将软件开发过程看作是一个工程项目,强调规划、设计、组织和管理等方面。
3. 软件开发生命周期软件工程将软件开发过程划分为不同的阶段,形成了软件开发生命周期的概念,包括需求分析、设计、编码、测试、发布等阶段。
每个阶段都有不同的任务和目标,确保软件开发的高质量和高效率。
4. 软件工程的原则和方法软件工程提出了一系列原则和方法,如模块化、结构化、面向对象、迭代开发、敏捷开发等,用来指导和规范软件开发过程。
软件工程是解决软件危机的一种有效途径。
通过系统化的方法和工程化的思维,可以提高软件开发的质量和效率,降低项目风险和成本。
软件工程对于现代社会的发展具有重要的意义,对于软件开发者和项目管理者来说,也是必不可少的知识和技能。