知识点一 软件工程的基本概念
1、软件定义:是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。
1)程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。
2)数据是使程序能够正常操作信息的数据结构。
3)文档是与程序开发、维护和使用有关的图文资料。
国标(GB)计算机软件的定义:与计算机系统的操作相关的计算机程序、规程、规则以及可能有的文件、文档及数据。
2、软件特点:
1)软件是一种逻辑实体,而不是物理实体,具有抽象性,是计算机的无形部分;
2)软件的生产与硬件不同,它没有明显的制作过程;
3)软件在运行、使用期间不存在磨损、老化问题;
4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;
5)软件复杂性高,成本昂贵;
6)软件开发涉及诸多的社会因素
3、软件的分类:
按照功能可以分为:应用软件、系统软件、支撑软件(或工具软件)
1)应用软件是为解决特定领域的应用而开发的软件。
2)系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各种服务的软件。
3)支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具软件。
4、软件危机:是指在软件的开发和维护过程中所遇到的一系列严重 问题。 软件危机主要体现在以下几个方面:
① 软件开发的实际成本和进度估计不准确
② 开发出来的软件常常不能使用户满意
③ 软件产品的质量不高,存在漏洞,需要经常打补丁
④ 大量已有的软件难以维护
⑤ 软件缺少有关的文档资料
⑥ 开发和维护成本不断提高,直接威胁计算机应用的扩大
⑦ 软件生产技术进步缓慢,跟不上硬件的发展和人们需求增长
5、软件工程:此概念的出现源自软件危机。软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来开发与维护软件的学科。
1)研究软件工程的主要目的就是在规定的时间、规定的开发费用内开发出满足用户需求的高质量的软件系统(高质量是指错误率低、好用、易用、可移植、易维护等)。
2)软件工程的三个要素:方法、工具和过程。
①方法:完成软件工程项目的技术手段;
②工具:支持软件的开发、管理、文档生成;
③过程:支持软件开发的各个环节的控制、管理。
3)软件工程的核心思想:把软件产品看作是一个工程产品来处理。
知识点二 软件的生命周期
1、软件生命周期概念:将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。
2、软件生命周期一般划分为定义、开发和维护3个阶段: