2. 类和实例
类是具有共同属性、共同方法的对象的集合。它描述了属于该对象类型的所 有对象的性质,而一个对象则是其对应类的一个实例。
类是关于对象性质的描述,它同对象一样,包括一组数据属性和在数据上的一组合法操作。 3. 消息
消息是实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
一个消息由三部分组成:接收消息的对象的名称、消息标识符(消息名)和 零个或多个参数。
4. 继承
广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 继承分为单继承与多重继承。单继承是指,一个类只允许有一个父类,即类等级为树形结构。多重继承是指,一个类允许有多个父类。
5. 多态性
对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。
第21页共35页
7.4 软件工程基础
7.4.1 软件工程基本概念
1. 软件定义与软件特点
软件指的是计算机系统中与硬件相互依存的另一部分,包括程序、数据和相关文档的完整集合。
程序是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令序列。
数据是使程序能正常操纵信息的数据结构。文档是与程序的开发、维护和使用有关的图文资料。
可见,软件由两部分组成:机器可执行的程序和数据;
机器不可执行的,与软件开发、运行、维护、使用等有关的文档。 根据应用目标的不同,软件可分应用软件、系统软件和支撑软件(或工具软件),见表 3-1。
表 3-1 软件的分类 名称 应用软件 系统软件 描述 为解决特定领域的应用而开发的软件 计算机管理自身资源,提高计算机使用效率并为计算机用户提 供各种服务的软件 支撑软件(或工具支撑软件是介于两者之间,协助用户开发软件的工具性软件) 软件 2. 软件工程
为了摆脱软件危机,提出了软件工程的概念。软件工程学是研究软件开发和 维护的普遍原理与技术的一门工程学科。所谓软件工程是指采用工程的概念、原理、技术和方法指导软件的开发与维护。软件工程学的主要研究对象包括软件开 发与维护的技术、方法、工具和管理等方面。
软件工程包括3个要素:方法、工具和过程,见表 3-2。 表 3-2 软件工程三要素
第22页共35页
名称 方法 工具 过程
描述 方法是完成软件工程项目的技术手段 工具支持软件的开发、管理、文档生成 过程支持软件开发的各个环节的控制、管理 7.4.2 软件生命周期
1. 软件生命周期概念
软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为3个时期共8个阶段,软件定义期:包括问题定义、可行性研究和需求分析3个阶段;软件开发期:包括概要设计、详细设计、实现和测试4个阶段;运行维护期:即运行维护阶段。软件生命周期各个阶段的活动可以有重复,执行时也可以有迭代,如图 3-1所示。
图 3-1 软件生命周期
第23页共35页
2. 软件生命周期各阶段的主要任务
在图 3-1 中的软件生命周期各阶段的主要任务,见表 3-3。 表 3-3 软件生命周期各阶段的主要任务 任务 问题定义 与计划制定 需求分析 对待开发软件提出需求进行分析并给出详细定义。编写软件规格说明书及初 步的用户手册,提交评审 通常又分为概要设计和详细设计两个阶段,给出软件的结构、模块的划分、 功能的分配以及处理流程。这阶段提交评审的文档有概要设计说明书、详细 设计说明书和测试计划初稿 在软件设计的基础上编写程序。这阶段完成的文档有用户手册、操作手册等 面向用户的文档,以及为下一步作准备而编写的单元测试计划 在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告 将已交付的软件投入运行,同时不断的维护,进行必要而且可行的扩充和删改 描述 确定要求解决的问题是什么 可行性研究 决定该问题是否存在一个可行的解决办法,指定完成开发任务的实施计划 软件设计 软件实现 软件测试 运行维护
7.4.3软件设计
1.软件设计基本概念
(1)按技术观点分 从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。
① 结构设计定义软件系统各主要部件之间的关系; ② 数据设计将分析时创建的模型转化为数据结构的定义;
③ 接口设计是描述软件内部、软件和协作系统之间以及软件与人之间如何 通信; ④ 过程设计则是把系统结构部件转换为软件的过程性描述。
(2)按工程管理角度分 从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。
第24页共35页