什么是软件
软件的定义:软件(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它是包括程序(program)、数据(date)和文档(document)的完整集合。
软件=程序+数据+文档
程序:是能够完成预定功能和性能的可执行的指令序列
数据:是使程序能够适当地处理信息的数据结构,输入与输出,数据库等
文档:是开发、使用和维护程序所需要的图文资料,需求分析、概要设计、详细设计等各阶段文档,还包括用户文档
软件的分类——按层次
系统软件——在硬件之上:操作系统、系统实用工具、系统扩充工具
支持软件——为了更方便地操纵计算机
对操作系统进行控制:界面工具、计算机管理类工具等
用来开发应用软件:软件开发工具、软件评测工具、数据库管理系统等
应用软件——最常用的一类软件
科学和工程计算软件
文字和数据处理软件
图形图像处理软件
事务管理软件
游戏娱乐软件
软件的分类——按使用范围
单机版软件:不需要也不会和其他计算机进行交互的软件
分布式软件:需要在多台计算机上进行协同工作的软件
C/S(客户端/服务器)结构
B/S(浏览器/服务器)结构
软件的特点:
软件是一种逻辑实体,具有抽象性
软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后, 通过复制就产生了大量软件产品
软件在使用过程中,没有磨损、老化的问题
软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题
软件的研发至今尚未完全摆脱手工作坊式的研发方式,生产效率低
软件是复杂的,而且以后会更加复杂
软件的成本相当昂贵
软件测试产生的背景
原因一:程序规模的爆炸式增长
程序代码规模显著增大
程序结构和算法