第七章 面向对象方法学
-
什么是面向对象?有哪些基本概念?举例说明其基本特征。
正确答案:
第1问:面向对象(object-oriented,OO):是一种具体的软件开发技术与策略;也是一整套关于如何看待软件系统与现实世界的关系,用什么观点来发现问题并进行求解,如何进行软件系统构造的软件方法学。
第2问:基本概念主要包括:对象+类+关系(依赖、关联、聚合、组合、实现、继承)+封装+消息通信+多态性等,可运用这些概念来构造软件系统。也可以将面向对象技术的基本概念总结为:类 + 对象 + 继承 + 用消息通信。
第3问:
封装性:如类的定义、或现实生活中的激光教鞭、电视机遥控器等
继承性:如学校的学生和大学生;股份公司的普通雇员和股东;再如:退休教师可以继承教师类或退休者类、医院的医护人员和医生、护士 等
多态性:各种图形的绘制、公司员工的工资计算 等等都可用多态来实现 -
什么是统一过程?有哪些特点?
正确答案:
第1问:统一过程是一个软件开发过程——是一个将用户需求转化为软件系统所需的活动的集合。
第2问:统一过程是基于构件的,所构造的软件系统是由软件构件通过明确定义的接口相互连接而建造起来的。统一过程使用统一建模语言(UML)来建立软件系统的所有模型。统一过程的突出特点(核心思想)是用例(use case)驱动、以构架为中心、迭代(iteration)和增量的。 -
简述统一过程生命周期。
正确答案:
统一过程是由一系列循环组成的系统生命周期,且每次循环都向用户提供一个产品版本或增量。其中:
1、每次循环过程都包括四个阶段:初始、细化、构造和移交,且每个阶段需要经过多次迭代。
2、每次循环结束都会产生系统的一个新版本,每个版本都是一个准备交付的产品,包括软件配置的所有内容。 -
UML有哪些部分构成,有哪几类图?
正确答案:
第1问:UML主要由UML语义和UML表示法两部分构成。
第2问:UML1.X系列由5类9种图组成。主要包括系统结构和系统行为两大类。其中系统结构包括:静态图和实现图;系统行为包括:交互图、行为图和用例图,具体的9类图为:
1)静态图:
(1)类 图:类以及类之间的相互关系
(2)对象图:对象以及对象之间相互关系
2)实现图:
(1)构件图:构件及其相互依赖关系
(2)部署图:构件在各节点上的系统部署
3)交互图:
(1)顺序图:强调时间顺序的交互图
(2)通信图:强调对象间协作的交互图
4)行为图:
(1)状态机图:类所经历的各种状态变迁
(2)活动图:对业务工作流建模
5)用例图:
(1)用例图:需求捕获,测试验证依据——此图是获取软件需求和验证软件正确性主要来源 -
简述迭代和增量过程。
正确答案:
迭代:每次迭代都是一个能产生系统内部版本的袖珍项目——或多或少要经历所有的核心工作流,是一种使用和生产制品的人员之间的协作。每次迭代都经历需求、分析、设计、实现和测试五种核心工作流,而且都是从规划开始、以评估结束。每次迭代都要经历需求、分析、设计、实现和测试等5个核心工作流,但不同阶段的迭代侧重点不同。
增量:每个增量均是一次迭代的内部版本与下一次迭代的内部版本之间的差别 -
你刚刚作为一个软件经理加入一家软件公司,该软件公司多年来一直使用瀑布模型为小型商店开发财务软件,并经常成功。根据你的经验,你认为统一过程是更先进的软件开发方法。就软件开发给副总裁写一份报告,解释你为什么相信公司应该转到统一过程上来。记住,副总裁不喜欢长度超过一页纸的报告。
正确答案:
撰写报告时,要简洁明了,把为什么采用统一过程来开发软件的理由解释清楚,并体现RUP的核心思想:用例驱动、以构架为中心的迭代和增量开发。核心内容可从以下两个方面来阐述:
1)一个软件开发项目可以粗略地划分为两大块:初始和细化阶段与构造和移交阶段。在初始和细化阶段,建立业务案例,缓解最主要的风险,创建构架基线,并精确规划项目的其余部分。由一个较小的、低成本的开发组来完成这些任务。然后,项目进入到构造阶段,此时的目标是实现规模经济。此时,参与项目的人数有所增加,他们在细化阶段建立的构架基线上进行构造来开发大部分的系统功能,并尽量重用现有的软件。
2)统一过程是一个将用户需求转化为软件系统所需活动的集合,不只是一个简单的过程,而是一个通用的过程框架,可用于不同类型的软件系统、不同的应用领域、不同类型的组织、不同的功能级别以及不同的项目规模,其突出特点是用例驱动、以构架为中心、迭代和增量的。统一过程使用UML来建立软件系统的所有模型,UML是一个通用的标准建模语言,已经成为工业标准,可以对任何具有静态结构和动态行为的系统进行建模,适用于系统开发的不同阶段,从需求规格描述直到系统完成后的测试和维护。