一、软件

1、软件的定义

软件是包括程序、数据及其相关文档的完整集合

程序和数据时构造软件的基础,文档是软件质量的保证,也是保证软件更新及生命周期长短的必需品

2、软件的特点

软件是一种逻辑实体,具有抽象性

软件开发过程中没有明显的制造过程,应理解为创作

不存在机械磨损和老化的问题,但存在软件退化的问题

软件开发至今未完全摆脱手工艺的开发方式

3、软件的分类

根据软件服务对象的范围不同:

​ 通用软件:操作系统、数据库等

​ 定制软件:企业ERP、办公自动化系统等

根据软件完成功能所处的层次不同:

​ 应用软件、中间件软件、系统软件

​ 系统软件: 指能与硬件紧密配合在一起,使整个计算机系统各个部件、相关的软件和数据协调、高效地工作

二、软件工程

1.软件工程的定义

(1)应用系统化的、规范化的、定量的方法来开发、运行和维护软件,即将工程应用到软件

(2)对(1)中各种方法的研究

2.软件工程的要素

​ 三要素:方法、工具和过程

3.软件工程的目标和原则

​ 软件工程的目标可概括为: 生产具有正确性、可用性以及开销适宜的软件产品。软件产品应该具有以下性质:

​ 可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性、可互操作性

​ 软件工程的最终目标:摆脱手工生产软件的状况,逐步实现软件研制和维护的自动化

​ 软件工程的原则:(1)选取适宜的开发模型(2)采用合适的设计方法(3)提供高质量的工程支持力度(4)重视开发过程的管理

4.软件工程原理

一般原理:

​ 抽象、信息隐藏、模块化、局部化、确定性、一致性、完备性、可验证性

基本原理:

​ 用分阶段的生命周期计划严格管理

​ 坚持进行阶段评审

​ 实施严格的产品控制

​ 采用现代程序设计技术

​ 结果应能清楚的审查

​ 开发小组的人员应少而精

​ 承认不断改进软件工程实践的意义