计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。软件具有以下特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性;②软件的生产过程与硬件不同,它没有明显的制作过程;③软件在运行、使用期间不存在磨损、老化问题;④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致软件移植的问题;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。
软件工程三要素:方法、工具、过程
通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。它可以分为软件定义、软件开发及软件运行维护三个阶段。
设计阶段
软件设计一般分为总体设计和详细设计两个阶段,总体设计的任务是确定软件的总体结构,子系统和模块的划分,并确定模块间的接口和评价模块划分质量,以及进行数据分析。详细设计的任务是确定每一模块实现的定义,包括数据结构、算法和接口。
软件设计包括软件结构设计、数据设计、接口设计和过程设计。
-
结构设计是定义软件系统各主要部件之间的关系;
-
数据设计是将分析时创建的模型转化为数据结构的定义;
-
接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;
-
过程设计则是把系统结构部件转换成软件的过程性描述。
软件需求分析阶段
需求分