第一章 软件的本质
软件的定义
软件:(1)指令的集合(计算机程序),通过执行这些指令可以满足预期的特性,功能和性能需求;(2)数据结构,使得数据可以合理利用信息;(3)软件描述信息,它以硬拷贝和虚拟形式存在,用来描述程序的操作和使用。
软件应用领域
- 系统软件 整套服务用于其他程序的程序。
某些系统软件(例如编译器、编辑器、文件管理软件)处理复杂但确定地信息结构,另一些系统应用程序(例如操作系统构建,驱动程序,网络软件、远程通信处理器》主要处理的是不确定的数据。
- 工程/科学软件 解决特定业务需要的独立应用程序。
这类应用软件处理商务或技术数据,以协助业务操作或协助做出管理或技术决策。
- 嵌入式软件 嵌入式软件存在于某个产品或者系统中,可实现和控制面向最终用户和系统本身的特性和功能。
嵌入式软件可以执行有限的和内部的功能(例如微波炉的按键控制),或者提供重要的功能和控制能力(例如汽车中的燃油控制、仪表盘显示、刹车系统等汽车电子功能)。
- 产品线软件 为多个不同用户的使用提供特定功能。
产品线软件关注有限的及内部的市场(例如库存控制产品)或者大众消费品市场。
- Web/移动App 以网络为中心,
其概念覆盖了宽泛的应用软件产品,包括基于浏览器的App和安装在移动设备上的软件。*
- 人工智能软件 利用非数值算法解决计算和直接分析无法解决的复杂问题。
这个领域的应用程序包括机器人、专家系统、模式识别(图像和语音)、人工神经网络、定理证明和博弈等。
遗留软件
定义:在几十年前开发,不断被修改以满足商业需要和计算平台变化的软件系统。
特点:生命周期长,业务关键性,质量差。
第二章 软件工程
软件工程的定义
定义:(1)将系统化的,规范化的,可量化的方