1.软件
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。
程序是按时限设计的功能和性能要求执行的指令序列。
数据是使程序能正常操纵信息的数据结构。
文档是与程序开发,维护和使用有关的图文材料。
2.软件的特点:
(1)它是一种逻辑实体,不是具体点的物理实体,因而它具有抽象性。
(2)它的生产与硬件不同,在他的开发过程中没有明显的制造过程。
(3)它的运行和使用期间,没有硬件那样的机械磨损,老化问题。
(4)它的开发和运行受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
(5)它的开发至今尚未完全摆脱手工艺的开发方式。
(6)它本身是复杂的,实际问题和程序逻辑结构的复杂性。
(7)成本相当昂贵。
3.软件的分类:
按功能划分:系统软件、支撑软件、应用软件;
按规模划分:微型、小型、中型、大型、甚大型、极大型;
按工作方式划分:实时处理软件、分时软件、交互式软件、批处理软件;
按服务对象划分:项目软件、产品软件;
按使用频度划分:一次使用、频繁使用;
按失效影响划分:高可靠性软件、一般可靠性软件。
4.软件的发展阶段:
(1)程序设计阶段:50-60年代 汇编语言
(2)程序系统阶段:60-70年代 程序加说明
(3)软件工程阶段:70年代后 规范化
5.软件危机:
开发过程中遇到到的一系列严重的问题
6.过程
(1)规格说明:规定软件的功能及运行的限制;
(2)软件开发:生产满足规格说明的软件;
(3)软件确认:确认软件能够完成客户提出的要求;
(4)软件维护:后期维护。
7.特性:
易理解性、可见性、可支持性、可接受性、可靠性、健壮性(安全性)、可维护性、速度。
8.生存期:
从孕育、诞生、成长、成熟、衰亡的生存过程。
9.生存期的步骤:
(1)制定计划:确定开发软件系统总目标、给出功能、性能、可靠性及接口的要求、完成可行性研究
(2)需求分析和定义:对需求进行分析并给出详细定义、编写软件需求说明书
(3)软件设计、概要设计 划分模块
(4)软件编写
(5)软件测试:静态测试/动态测试、单元测试/组装测试
(6)运行维护