安徽大学软件工程导论期末复习考点试卷汇总

2026/1/21 3:56:42

靠性;

所占比例:完善性维护:50%~66% 改正性维护:17%~21% 适应性维护:18%~25% 其他维护:4% 2、什么是软件的可维护性?决定软件可维护性的因素有哪些?造成软件难以维护的原因有哪些? 软件的可维护性:是指软件维护人员理解、纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修

改、扩充或压缩软件的难易程度

决定软件可维护性的五个因素:(1)可理解性(2)可测试性(3)可修改性(4)可移植性(5)可重用性 难以维护的原因:在于这些软件的文档不全、质量差、开发过程不注意采用好的方法,忽视程序设计风格等。

难以维护的根本原因:软件定义和软件开发的方法有缺点,在软件生命周期的头两个时期没有严格而又科

学的管理和规划,没有采用软件工程思想开发软件。

3、文档和可维护性之间的关系?

文档是影响软件可维护性的决定因素,文档往往比代码更加重要; 软件系统的文档可以分为用户文档和系统文档两类

.软件系统的文档可以分为用户文档和系统文档两类.用户文档主要描述系统功能和使用 方法,并不关心这些功能是怎样实现的;系统文档描述系统发设计,实现和测试等各方面的 内容\ 8.4.2 文档 分类

用户文档:主要描述系统功能和使用方法,并不关心这些功能是怎样实现的 系统文档:描述系统设计、实现和测试等各方面的内容 文档要求

必须描述如何使用这个系统,没有这种描述时即使是最简单的系统也无法使用; 必须描述怎样安装和管理这个系统; 必须描述系统需求和设计;

必须描述系统的实现和测试,以便使系统成为可维护的 用户文档

功能描述 ,说明系统能做什么;

安装文档 ,说明怎样安装这个系统以及怎样使系统适应特定的硬件配置;

使用手册 ,简要说明如何着手使用这个系统( 应该通过丰富例子说明怎样使用常用的系统功能,还应该说明用户操作错误时怎样恢复和重新启动) ;

参考手册 ,详尽描述用户可以使用的所有系统设施以及它们的使用方法,还应该解释系统可能产生的各种出错信息的含义( 对参考手册最主要的要求是完整,因此通常使用形式化的描述技术) ; 操作员指南( 如果需要有系统操作员的话) ,说明操作员应该如何处理使用中出现的各种情况。 8.4.2 文档 系统文档

问题定义、需求说明到验收测试计划这样一系列和系统实现有关的文档 4、衡量软件质量的主要指标?

可维护性、可使用性、可靠性是衡量软件质量的主要指标

9.面向对象的概念

9.2.1 对象

是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象

对象可以是事、物、或抽象概念 ,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。 对象的特点

(1) 以数据为中心。

(2) 对象是主动的。 (3) 实现了数据封装。 (4) 本质上具有并行性。 (5) 模块独立性好。 9.2.2 类

类又称对象类(Object Class ), 是一组具有相同属性和相同操作的对象的集合。在一个类中,每个对象都是类的实例(instance) , 它们都可以使用类中提供的函数。 9.2.3 实例

实例就是由某个特定的类所描述的一个具体的对象。类是对具有相同属性和行为的一组相似的对象的抽象,类在现实世界中并不能真正存在。 9.2.4 消息

消息就是向对象发出的服务请求(互相联系、协同工作等)。一个消息包含3 个部分:接收消息的对象,消息名,消息变元。

例如,MyCircle 是Circle 类的一个实例,发送消息如下: MyCircle.show (GREEN ); 9.2.5 方法

方法就是对象所能执行的操作,也就是类中所定义的服务。

方法描述了对象执行操作的算法,响应消息的方法。在C++语言中把方法称为成员函数。 9.2.6 属性

属性就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。 9.2.7 封装

对象封装了对象的数据以及对这些数据的操作。 9.2.8 继承

继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。 单重继承: 子类仅从一个父类继承属性和方法 多重继承:子类可从多个父类继承属性和方法 9.2.9 多态性

在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为。

当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法 有两种重载:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同一个运算符可以施加于不同类型的操作数上面。当然,当参数特征不同或被操作数的类型不同时,实现函数的算法或运算符的语义是不相同的。重载进一步提高了面向对象系统的灵活性和可读性。

9.4.2 表示关系的符号

类与类之间关系有:关联,聚集,泛化(继承),依赖,细化 9.4.2.1 关联

关联表示两个类的对象之间存在某种语义上的联系。 (1) 普通关联 普通关联示例

在表示关联的直线两端可以写上重数(multiplicity),它表示该类有多少个对象与对方的一个对象连接。重数的表示方法通常有: 0?1

表示0到1个对象

表示0到多个对象

0?*或*

1+或1?* 1?15 3

表示1到多个对象 表示1到15个对象 表示3个对象

如果图中未明确标出关联的重数,则默认重数是1。 (2) 关联的角色

在任何关联中都会涉及到参与此关联的对象所扮演的角色(即起的作用),在某些情况下显式标明角色名有助于别人理解类图。如果没有显式标出角色名,则意味着用类名作为角色名。 (3) 限定关联

限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或从多对多简化成多对一。在类图中把限定词放在关联关系末端的一个小方框内。 (4) 关联类

为了说明关联的性质可能需要一些附加信息。可以引入一个关联类来记录这些信息。关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。 9.4.2.2 聚集

聚集是一种特殊的关联,它指出类间的“ 整体- 部分” 关系。 (1) 共享聚集

如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集。

(2) 组合聚集

如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失,则该聚集称为组合聚集。 9.4.2.3 泛化 ?

UML中的泛化关系就是通常所说的继承关系。 (1) 普通泛化 (2) 受限泛化

可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。预定义的约束有4种: 多重、不相交、完全和不完全。下图:多重继承 9.4.2.3 泛化(III)

完全继承指的是父类的所有子类都已在类图中穷举出来了,图示符号是指定{完全}约束。

不完全继承与完全继承恰好相反,父类的子类并没有都穷举出来,不完全继承是一般情况下默认的继承关系9.4.2.4 依赖

依赖关系表示: 其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变了,将影响依赖于它的模型元素。 9.4.2.5 细化

当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。假设两个模型元素A和B描述同一个事物,它们的区别是抽象层次不同,如果B是在A的基础上的更详细的描述,则称B细化了A,或称A细化成了B。

9.3 面向对象建模 面向对象开发软件,需要建立3种形式的模型。 对象模型。描述系统数据结构—数据结构。 动态模型。描述系统控制结构—执行操作。 功能模型。描述系统功能—数值变化。

这三种模型从不同侧面描述了对系统的需求。在面向对象的分析(OOA)阶段,这三种模型是必不可少的。

9.4 对象模型

对象模型描述了系统的静态结构。OO方法强调围绕对象而不是功能来构造系统。 使用统一建模语言UML (Unified Modeling Language )提供的类图来建立对象模型。 UML用例图是建立功能模型的有力工具。 动态模型描述系统控制结构。通常用状态图表示。

在第一层 上升 上升状态 到达第一层 到达 向第一层下降 下降状态 到达 空闲状态 下降 超时

功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,通常,功能模型由一组数据流图组成。

UML提供的用例图也是进行需求分析和建立功能模型的强有力工具。 对象模型 动态模型 功能模型 对象的静态结构及相互关系 与时间和顺序有关的系统性与值的变化有关的系统性质 质 描述系统的数据结构 控制结构 系统的功能 “干事的主体” “什么时候干” “干什么”

安徽大学2008 —2009 学年第 1 学期

上升


安徽大学软件工程导论期末复习考点试卷汇总.doc 将本文的Word文档下载到电脑
搜索更多关于: 安徽大学软件工程导论期末复习考点试卷汇总 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219