搜档网
当前位置:搜档网 › 面向对象分析与设计_期末复习_2017-2018-2

面向对象分析与设计_期末复习_2017-2018-2

《面向对象分析与设计》期末复习

2017-2018学年-第2学期

1、题型介绍:

选择题20 * 1分= 20分

填空题5* 2分= 10分

简答题 4 * 7分= 28分

建模分析论述题4题(第1题10分,第2题8分,第3题8分,第4题16分,共42分)= 40分

2、选择题

1、()不是对象具有的特性。

A.标识

B.继承

C.顺序

D.多态性

2、封装是把对象的()结合在一起,组成一个独立的对象。

A.属性和操作

B.信息流

C.消息和事件

D.数据的集合

3、()不是面向对象的典型方法。

A.Coad& Yourdon 方法

B.维也纳方法

C.OMT方法

D.Booch方法

4、UML中有4种关系,分别是依赖、泛化、关联和()

A.集成

B.合作

C.实现 D 抽象

5、下列关于状态图的说法中,正确的是()

A.状态图是UML中对系统的静态方面进行建模的5种图之一。

B.状态图是活动图的一个特例,状态图中的多数状态是活动状态。

C.状态图是对一个对象的生命周期进行建模,描述对象在其生存期间的动态行为。

D.状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模。

6、UML的()模型图由类图、对象图、包图、组件图、和部署图组成。

A.用例

B.静态

C.动态

D.系统。

7、UML的()模型图活动图、顺序图、状态图、写协作图组成。

A.用例

B.静态

C.动态

D.系统。

8、UML的最终产物就是最后提交的可执行的软件系统和()

A.用户手册

B.类图

C.动态图

D.相应的软件文档资料

9、在UML的需求分析建模中,()模型图必须与用户反复交流并加以确认。

A.配置

B.用例

C.包

D.动态

10、下面不是用例之间主要关系的是()

A.扩展

B.包含

C.依赖

D.泛化

11、对于一个电子商务网站而言,以下不适合作为用例的选项是()

A.登录

B.预定商品

C.购物车

D.结账

12、UML的客户需求分析模型包括()模型、类图、对象图和活动图。

A.用例

B.静态

C.动态

D.系统

13、UML客户需求分析产生的用例模型描述了系统的()

A.状态

B.体系结构

C.静态模型

D.功能要求

14、在UML的需求分析模型中,用例建模必须与()反复交流并加以确认。

A.软件生产商

B.用户

C.软件开发人员

D.问题领域的专家

15、在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用()

A.活动图

B.状态图

C.配置图

D.组件图

16、类图应该画在Rational Rose的()视图中。

A、Use Case View

B、Login View

C、Component View

D、Deployment View

17、类通常可以分为实体类、()和边界类。

A 、父类B、子类C、控制类D、祖先类

18、对象特征的要素是()。

A、状态

B、行为

C、标识

D、属性

19、下列关于接口的关系说法不正确的是()。

A、接口是一种特殊的类

B、所有接口都是有构造型<>的类

C、一个类可以通过实现接口从而支持接口所指定的行为

D、在程序运行的时候,其他对象不仅需要依赖于此接口,还需要知道该类对接口实现的其他信息

20、下列关于类方法的声明,不正确的是()。

A、方法定义了类所许可的行动

B、从一个类创建的所有对象可以使用同一组属性和方法

C、每个方法应该有一个参数

D、如果在同一个类中定义了类似的操作,则它们的行为应该是类似的

21、UML的系统分析进一步要确立的3个系统模型是()、对象动态模型和系统功能模型。

A、数据模型

B、对象静态模型

C、对象关系模型

D、体系结构模型

22、UML的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符()。

A、完全相同

B、完全不同

C、不可以通用

D、稍有差异

23、类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必有()。

A、正负号

B、动作

C、具体值

D、私有成员

24、UML系统设计的一般步骤包括系统对象设计、系统体系结构设计和系统设计的()和审查等

A、建模

B、完善

C、优化

D、迭代

25、顺序图和协作图主要用于对用例图中()的建模,用它们来描述用例图的行为。

A、数据流

B、控制流

C、消息流

D、数据字典

26、顺序图的建模元素有()、消息、链等。这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。

A、对象

B、箭线

C、活动

D、状态

27、顺序图描述()对象之间消息的传递顺序。

A、某个

B、单个

C、一个类产生的D一组

28、顺序图和协作图建立了UML面向对象开发过程中的对象动态()模型。

A、交互

B、状态

C、体系结构

D、软件复用

29、UML中有4种交互图,其中强调控制流时间顺序的是()。

A、顺序图

B、协作图

C、定时图

D、交互概述图

30、在顺序图中,返回消息的符号是()。

A、直线箭头

B、虚线箭头

C、直线

D、虚线

31、关于协作图的描述,下列不正确的是()。

A、协作图作为一种交互图,强调的是参加交互的对象的组织

B、协作图是顺序图的一种特例

C、协作图中有消息流的顺序号

D、在Rose工具中,协作图可在顺序图的基础上按F5功能键自动生成

32、在UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。消息顺序可用两种图来表示,分别是()。

A、状态图和顺序图

B、活动图和协作图

C、状态图和协作图

D、顺序图和协作图

33、对反应型对象建模一般使用()。

A、状态图

B、顺序图

C、活动图

D、类图、

34、活动图中的开始状态的标记符使用()表示。

A、菱形

B、直线箭头

C、黑色实心图

D、空心图

35、UML中用()来描述过程或操作的工作步骤。

A、状态图

B、活动图

C、用例图

D、部署图

36、()技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类,人或部门,它们负责完成组内的活动。

A、泳道

B、分支

C、公叉与汇合

D、转移

37、状态图可以表现()在生存期内的行为、所经历的状态序列,引起状态转移的事件以及因状态转移而引起的动作。

A、一组对象

B、一个对象

C、多个执行者

D、几个子系统

38、状态图描述一个对象在不同()的驱动下发生的状态转移。

A、事件

B、对象

C、执行者

D、数据

39、一个()转移图符可以有多个源状态或目标状态,它们可以把一个控制分解为并行运行的并发线程,或将多个并发线程接合成单个线程。

A、状态

B、对象

C、活动

D、同步并发

40、活动图中动作状态之间的转移不是靠()触发的,当活动(动作)状态中的活动完成时转移就被触发。

A、对象

B、事件

C、执行者

D、系统

41、状态图和活动图建立了UML面向对象开发过程中的对象动态()模型。

A、交互

B、状态

C、体系结构

D、软件复用

42、在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用()。

A、活动图

B、状态图

C、部署图

D、组件图

43、活动图中的分叉和汇合图符是用来描述()。

A、多进程的并发处理行为

B、对象的时序

C、类的关系

D、系统体系结构框架

44、Statopia是一家大型公司,由于公司业务的扩大,准备对公司已有的软件系统进行升级,因此委托ObjectR公司负责该项目。ObjectR公司的专家建议在对系统升级前和Statopia公司的高级管理有员开一次讨论会,以便能更好地了解目前所使用的软件系统。那么在这次的讨论会中,()最有用。

A、状态图

B、部署图

C、活动图

D、顺序图

45、Coolsoft准备开发一个自动餐卡服务系统Coco,Coco的具体需求如下:Coco将使用三个插槽,第一个插槽用于制作新餐卡,第二个插槽用于向餐卡充钱,第三个插槽用于在向餐卡中充钱时插入纸币。系统运行时会显示一个界面,界面中有3个选项:○1获取新餐卡;○2为餐卡充钱;○3打印并餐卡充钱和消费有关的数据。在开发Coco 系统完成上述功能时,()最有用。

A、构件图

B、状态图

C、活动图

D、部署图

46、为了描述和理解系统中的控制机制,如为了描述一个设备控制器在不同情况下所要完成的动作,()最有用。

A、交互图

B、活动图

C、状态图

D、类图

47、Innovation公司正在为Rose开发插入件,使得Rose可以把OOA/OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。在导出时,会根据不同的算法来生成相应的图形文件。这些算法很复杂。为了描述这结算法,()最有用。

A、活动图

B、状态图

C、类图

D、用例图

48、如果要对一个企业中的工作流程建模,()最有用。

A、交互图

B、类图

C、活动图

D、部署图

49、()是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。

A、部署图

B、组件

C、类

D、接口

50、组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理,通常可以分为4种方式来完成。下面()不是其中之一。

A、对源代码建模

B、对事物建模

C、对物理数据库建模

D、对自适应的系统建模

51、系统体系结构是用来描述各部分的结构,接口以及它们用于通信的()。

A、机制

B、形式

C、原理

D、结构

52、UML可以描述硬件之间的互联关系,也能描述硬件单元上的()系统的分布。

A、对象

B、软件

C、系统体系结构

D、数据

53()是对系统的用例、类、对象、接口以及相互间的交互和协作进行描述。

A、系统体系结构

B、软件(逻辑)系统体系结构

C、系统框架

D、硬件(物理)系统体系结构

54、()是对系统的组件、结点的配置进行描述。

A、系统体系结构

B、软件(逻辑)系统体系结构

C、系统框架

D、硬件(物理)系统体系结构

55、()是软件(逻辑)系统体系结构(类、对象、它们之间的关系和协作)中定义的概念和功能在物理体系结构中的实现。

A、组件

B、结点

C、软件

D、模块

56、( )由结点和结点之间的联系组成,描述了处理器、设备和软件组件运行时的体系结构。

A 、组件图

B 、状态图

C 、部署图

D 、顺序图

57、( )基本元素有结点、组件、对象、连接、依赖等。

A 、组件图

B 、状态图

C 、顺序图

D 、部署图

58、( )是用于把元素组织成组的通用机制。

A 、包

B 、类

C 、接口

D 、组件

59、UML 系统分析阶段产生的包图描述了系统的( )。

A 、状态

B 、系统体系层次结构

C 、静态模型

D 、功能要求

60、执行者(Actor )与用例之间的关系是( )

(A )包含关系 (B )泛化关系 (C )关联关系 (D )扩

展关系

61、在类图中,下面哪个符号表示继承关系( C )

62、在类图中,“ #”表示的可见性是( B ) (A )Public (B )Protected

(C )Private (D )Package

63、下面那个类图的表示是正确的( D )

64、下面哪个符号代表部署图的节点( C )

65、生命线是UML 视图中哪个图形的组成部分( D )

(A )类图 (B )状态图 (C )活动图 (D )顺序图

66、在类图中,哪种关系表达总体与局部的关系( D )

(A )泛化 (B )实现 (C )依赖 (D )聚合

67、下面哪个图形代表活动( D )

(B) (A) (C)

(D)

(B) (A)

(C) (D)

(B)

(A) (D)

68、下面哪个UML 视图是描述一个对象的生命周期的( B )

(A )类图 (B )状态图 (C )协作图 (D )顺序图

69、下面哪个视图属于UML 语言的交互图( D )

(A )行为图 (B )状态图 (C )实现图 (D )顺序图

70、下面哪个符号代表包图( A )

72、在类图中,哪种关系表达总体与局部的关系( D )

(A )泛化 (B )实现 (C )依赖 (D )聚合

73、在类图中,“ #”表示的可见性是( B )

(A )Public (B )Protected (C )Private (D )Package

74、下面哪个符号表示注释( D )

75、UML 的全称是 ( B )

(A )Unify Modeling Language (B )Unified Modeling Language

(C ) Unified Modem Language (D )Unified Making Language

76、执行者(Actor )与用例之间的关系是( C )

(A ) 包含关系 (B )泛化关系 (C )关联关系 (D )扩展关系

77、在类图中,下面哪个符号表示继承关系( C )

78、在类图中,“ +”表示的可见性是( A ) (A )Public (B )Protected (C )Private

(D )Package 79、在类图中,下面哪个符号表示接口实现( C )

82、OMT 方法是由下面哪位科学家提出的( b )

(A ) Booch (B )Rumbaugh (C )Coad (D )Jacobson

84、什么概念被认为是第二代面向对象技术的标志( A )

(A ) 用例 (B )UML 语言 (C )活动图 (D )组件图

(B) (A)

(D)

(B) (A)

(D)

(B) (A)

(C)

(D)

(B) (A)

(C)

(D)

B 、

A 、

C

、 D 、

86、控制焦点是UML 视图中哪个图形的组成部分( D )

(A )类图 (B )状态图 (C )活动图 (D )顺序图

87、在UML 的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( a )

(A )执行者角色 控制类 用户接口 业务层 后台数据库

(B )执行者角色 用户接口 控制类 业务层 后台数据库

(C )执行者角色 控制类 用户接口 后台数据库 业务层

(D ) 执行者角色 用户接口 业务层 控制类 后台数据

88、多对象是UML 哪个视图中的概念( C )

(A ) 类图 (B )状态图 (C )协作图 (D )组件图

89、在类图中,哪种关系表达总体与局部的关系( D )

(A ) 泛化 (B )实现 (C )依赖 (D )聚合

90、在UML 中,接口有几种表达方式( A )

(A ) 2 (B )4 (C )6 (D )8

91、下面哪个图形代表状态( C )

92、下面哪个UML 视图是描述一个对象的生命周期的( B )

(A ) 类图 (B )状态图 (C )协作图 (D )顺序图

93、顺序图由类角色,生命线,激活期和(B )组成

(A ) 关系 (B )消息 (C )用例 (D )实体

94、UML 中关联的多重度是指( b)

(A )一个类有多个方法被另一个类调用

(B )一个类的实类能够与另一个类的多个实类相关联

(C )一个类的某个方法被另一个类调用的次数

(E ) 两个类所具有的相同的方法和属性

95、UML 图不包括 ( D )

(A ) 用例图 (B )类图 (C )状态图 (D )流

程图

100、下面哪个视图属于UML 语言的交互图( D )

(A )行为图 (B )状态图 (C )实现图 (D )顺序图

102、类之间的关系不包括( D )

(A ) 依赖关系 (B )泛化关系 (C )实现关系 (D )分解关系

103、在UML 中,协作图的组成不包括( C )

(A ) 对象 (B )消息 (C )发送者 (D )链

105、下列对状态图描述不正确的是( C )

(A )状态图通过建立类对象的生命周期模型来描述对象随时间变化的动态行为 (B) (A) (C)

(D)

(B)状态图适用于描述状态和动作的顺序,不仅可以展现一个对象拥有的状态,还可与说明事件如何随着时间的推移来影响这些状态

(C)状态图的主要目的是描述对象创建和撤销的过程中资源的不同状态,有利于开发人员提高开发效率

(D)状态图描述了一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处状态对不同的事件作出反应

106、在UML的顺序图中,通常由左向右分层排列各个对象,正确的排列方法是( A)(A)执行者角色控制类用户接口业务层后台数据库

(B)执行者角色用户接口控制类业务层后台数据库

(C)执行者角色控制类用户接口后台数据库业务层

(D)执行者角色用户接口业务层控制类后台数据

108、构件图的组成不包括( C )

(A)接口(B)构件(C)发送者(D)依赖关系

109、在UML中,接口有几种表达方式( A )

(A) 2 (B)4 (C)6 (D)8

110、部署图的组成不包括( C )

(A)处理器(B)设备(C)构件(D)连接

111、下面哪个UML视图是描述一个对象的生命周期的( B )

(A)类图(B)状态图(C)协作图(D)顺序

112、顺序图由对象,生命线,控制焦点和(B)组成

(A)关系(B)消息(C)用例(D)实体113、UML中关联的多重度是指( B)

(A)一个类有多个方法被另一个类调用

(B)一个类的实例能够与另一个类的多少个实例相关联

(C)一个类的某个方法被另一个类调用的次数

(D)两个类所具有的相同的方法和属性

114.关于面向对象方法的优点,下列不正确的叙述是()。

A、与人类习惯的思维方法比较一致

B、可重用性好

C、以数据操作为中心

D、可维护性好

115.基本类模型包含如下三层()。

A、对象层、属性层、消息层

B、对象层、特征层、关系层

C、属性层、操作层、消息层

D、一对一、一对多、多对多

116. 生命线是UML视图中哪个图形的组成部分()。

A、类图

B、状态图

C、活动图

D、顺序图

4. 在类图中,那种关系表达总体与局部的关系()

A、聚合

B、实现

C、依赖

D、泛化

117.()是从用户使用系统的角度描述系统功能的图形表达方法。

A、类图

B、对象图

C、交互图

D、用例图

118. 了解问题所涉及的对象、对象间的关系和作用,然后构造问题的对象模型方法进行软件系统开发过程中的()阶段的任务。

A、OOA

B、OOP

C、OOT

D、OOD

119. ()将活动图划分为若干组,每一组指定给负责这组的活动执行者。

A 、泳道 B、转移 C、范围 D、矩形

120. 下列关于软件建模的用途,说法错误的是()。

A、软件建模可以帮助进行系统设计。

B、软件建模可以使用具体的设计细节与需求分开。

C、通过软件建模可以利用模型全面把握复杂的系统。

D、软件建模可以直接生成最终的软件产品B、所有接口都是有构造型<>的类。121. 用例图主要包含用例及发起用例的()。

A、观察者

B、参与者

C、用户

D、管理者

122. 在UML中,构件所实现的接口称为()。用一个托球表示。

A、抽象

B、供接口

C、需接口

D、服务

123. 下面哪个选项中有不是活动图中的基本元素。

A、状态、分支

B、状态、汇合

C、泳道、转移

D、信号、转移

124. 用于对面向对象系统的物理方面建模进行描述图形是()。

A、包图

B、类图

C、部署图

D、对象图

125.在UML中()与顺序图具有等价关系。

A、状态图

B、通信图

C、活动图

D、定时图

126.构件图中不包含下面哪个元素()。

A、组件

B、转换

C、关系

D、接口

127. 在包图中,依赖关系又可以根据不同的使用场景分为:import(引入)和()。

A、组合

B、抽象

C、泛化

D、merge(合并)

128.()是一组用于描述类或构件的一个服务的操作。

A、包

B、组件

C、节点

D、接口

129. 部署图中的节点不具有以下哪个方面的内容()。

A、计算能力

B、基本内存

C、位置

D、接口

130. 在UML中,通信图的组成不包括()。

A、对象

B、消息

C、发送者

D、链

131. OOD模型中的核心部分是()。

A、问题域部分

B、人机交互部分

C、数据接口部分

D、控制驱动部分

132. 控制驱动部分的设计由系统中全体( )构成。

A、参与者

B、主动类

C、被动类

D、模块

3、填空题:

1、用例中的主要关系有泛化、延伸和包含。

2、由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图成为。

3、对象图中的是类的实例,是类与类之间关系的实例,表示对象之间的特定关系。

4、类之间的关系包括关联关系、泛化关系、依赖关系和实现关系。

5、类中方法的可见性包含3种,分别是、和。

6、常用的UML扩展机制分别是、和。

7、UML的公共机制分别是、和。

8、UML由、和3个部分组成。

9、图和图用来表达对象之间的交互,是描述一组对象如何合作完成某

个行为的模型化工具。

10、交互图描述系统中对象见的交互行为。每一个交互都有和,它们可以是整个系统、一个子系统、一个用例、一个对象类或一个操作。

11、是一条垂直的虚线,用来表示顺序图中的对象在一段时间内的存在。

12、在UML中,状态图是由的各个状态和连接这些状态的转移组成,是展示

与的图。

13、在状态图中一个的出现可以出发的改变。

14、组建的3种类型包括:、和。

15、在UML中,描述了一个系统运行时的硬件节点,在这些节点上运行的软件组件将在何处物理地运行,以及它们将如何彼此通信的静态视图。

16、是一种维护和表述系统总体结构的模型的重要建模工具。

17、关系数据库不能直接存取,必须有一个转换程序将应用系统中的映射为关系数据中二维表格,其中列对应类中的,每一行对应该类的一个。

18、软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述活

动,也不描述系统怎样开发,它只描述系统的组成元素及其相互的交互协作。

19、一个UML模型只描述了一个系统要做什么,它并没告诉我们系统是

怎么做。

20、接口是可以在整个模型中反复使用的一组行为,是一个没有属性而只有方法的类。

21、多重性指的是,某个类有多个个对象可以和另一个类的 1个对

象关联。

22、当一个类的对象可以充当多种角色时,自身关联就可能发生。

23、在泛化关系中,子类可以替代父类。也就是说,后者出现的地方,前者都可以出现。但是反过来却不成立。

24、最通常的依赖关系是一个类操作的形构中用到了另一个类的定义。

25.类图的三个层次主要有对象层、特征层、关系层,它是OOA建模的基本模型图。

26. UML1规范中定义的交互图包括顺序图和协作图。

27.在类图中,组合(组成)关系是聚集关系的特殊情况,聚合(聚集)

关系是关联关系的特殊情况。

28.在面向对象设计建模方法中,一个设计核心是指问题域部分、三个外围的设计是指人机交互部分、控制驱动部分和数据接口部分的设计。

28.在描述两个用例的关系中,相对于基础用例,扩展用例是可选的,包含用例是必须的。

29.消息发送者需等待消息接收者返回结果后才继续往下执行称之为同步消息。消息发送者无需等待消息接收者返回结果就可继续执行称之为异步消息。

30.在人机交互部分的设计中,人对界面的需求,不仅在于人机交互的内容,而且在于他们对界面表现形式、风格等方面的爱好。前者是客观需求,对谁都一样。后者是主观需求,因人而异。

31.在类图中,类之间的关联关系包含的特殊关系是:组合和聚合。

32.交互图描述系统中对象间的交互行为。每一个交互都有发送者和接收者,它们可以是整个系统、一个子系统、一个用例、一个对象类或一个操作。

33.书中介绍的四种常用分析与设计方法是:功能分解法、结构化方法、信息

建模法、面向对象方法。

34.在UML的表示中顺序图将交互关系表示为一张二维图,其中纵向代表时间表示各对象的生命线。横向列出了参与协作的各独立对象。

35.顺序图和协作图用来表达对象之间的交互,是描述一组对象如何合作完成某个行为的模型化工具。

36.对象图中的对象是类的实例,关联是类与类之间关系的实例,表示对象之间的特定关系。

3、简答题

重点知识点复习:

1.面向对象的概念,面向对象方法的基本思想是什么?面向对象的主要特点。PPT2

2.功能分解法、结构化方法、信息建模法、面向对象方法的概念,主要优缺点,面向对象方法面临的挑战与优势。PPT3

3.请简述什么是统一建模语言?UML1 9种图、UML2 的13种图的分类PPT4

4.OOA、OOD 的模型框架及执行过程的图必须会画,并掌握什么是OOA与OOD的关系?PPT5 5.什么是用例图?用例图有什么作用?用例之间的关系、用例与参与者之间的关系、参与者之间的关系。会举例。PPT7

6.什么是参与者?参与者的分类,如何查找参与者,如何识别用例?PPT8

7.发现对象的策略? P120,PPT10

8.定义属性的策略PPT11

9. 类之间的关系,类的实例,关联的实例?并会举例PPT12,例如:在类结构建模中,什么是组合关系?请举例说明。

10.什么是顺序图,顺序图是由那些部分组成?PPT13

11.什么是活动图,作用。PPT14

12.在UML2中,请简述什么是状态机图?并简述状态机图建模的有何长处。PPT15

(1)状态机图:是一种描绘系统中的对象(或者其他实体)在其生命期内所经历的各种状态,状态之间的转移,发生转移的动因、条件及活动的模型图。

(2)对状态复杂多变,并且在不同状态下呈现不同行为的对象,通过状态建模将有助于准确地认识和描述对象的行为,可以起到辅助建模的作用。

13.简述数据接口部分设计的内容,什么是持久对象。PPT19

1、请问UML1.x中9种图有哪些,并说明哪些图示是静态建模图,哪些图是动态建模图。

2、请问UML2.0中13种图有哪些,并说明哪些图是结构模型图,哪些图示行为模型图。

3、简述UML软件开发过程会产生哪些文档?

4、用例之间的关系有哪些?请简要对比分析这几种关系。

5、用例之间为什么没有实现关系?

6、在UML中什么是关联类?并举例说明。

7、请描述UML1.5版本中属性定义的语法格式,并简要说明。

8、请描述UML1.5版本中操作的定义语法格式,并简要说明。

9、请简述顺序图和协作图的比较?

顺序图:强调的是消息的时间顺序。

协作图:强调的是参与交互的对象的组织。

顺序图:建模元素有生命线和控制焦点。

协作图:建模元素有路径,消息必须有消息顺序号。

顺序图:在表示算法、对象的生命期、具有多线程特征的对象等方面,相对来说更容易一些。

协作图:如果按组织对控制流建模,应该选择使用协作图

顺序图:不能表示对象与对象之间的链。对于多对象和主动对象,也不能直接显示出来。

协作图:不能表示生命线的分叉。

但是,两者之间可以相互转换,但不能完全相互代替。

10、请简要叙述活动图的主要用途是什么?

11、请简述组件图和部署图的区别是什么P431

12、为什么要使用包?划分包的原则有哪些?P433

13、结构化方法的特点,面向对象方法的特点。

14、简述统一建模语言(UML):

统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。

15、简述统一建模语言(UML)

统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统(2分)。

16、简述面向对象分析方法(OOA)的5个基本步骤

1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步

2)、识别对象的属性

3)、识别对象的行为

4)、识别对象所属的类

5)、定义主题词

17、简述用例模型的组成元素以及建模步骤

组成元素有:参与者,用例,通信关联,用例规约

建立用例模型步骤:

1)根据系统边界确定参与者

2)根据每个参与者确定与之相关联的用例

3)对每个用例写出用例规约文档,调整用例模型(优化参与者与参与者之间的关

系,用例与用例之间的关系)

18、什么是用例图?用例图有什么作用?用例之间的关系有哪些?

定义:

由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功

能的图成为用例图。

作用:

用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提

供的功能,有利于用户和软件开发人员之间的沟通。用例图可视化的表达了系统的

需求,具有直观、规范等优点,克服了纯文字性说明的不足。用例方法是完全从外

部来定义系统的,它把需求和设计完全分离开来,使用户不用关心系统内部是如何

完成各种功能的。

19、简述面向对象分析方法(OOA)的5个基本步骤

1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)

2)、识别对象的属性(1分)

3)、识别对象的行为(1分)

4)、识别对象所属的类(1分)

5)、定义主题词(1分)

20、简述时序图的建模步骤

建模步骤:

1)设置交互语境(1分)

2)确定对象(1分)

3)分析消息和条件(1分)

4)分析附加约束(1分)

5)对建模结果精化和细化(1分)

21、什么是高内聚度

高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。

包括两个意思:

不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。

不相关的职责不要分派给同一个类。

22、简述如何在实际工作中发现类。

答在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可作为领域模型中的类。

还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。

当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们的回答将告诉你这些类的职责。

23、简述怎样发现类之间的继承关系。

作为候选的类有可能和它的父类、子类在谈话中同时被发现。系统分析员意识到某个类的属性和操作也许能被运用到其他多个类当中去。

另一种可能的情况是系统分析员注意到两个或者多个类可能具有相同的属性和操作数24、什么是参与者?如何确定系统的参与者?

答案:参与者(actor ,有些书翻译成“角色”)是一种特殊的类,是系统外部的一个实体,这个实体可以是任何的人或物,它以某种方式参与了用例的执行过程。

在获取用例前首先要确定系统的参与者,可以根据下面的一些问题来寻找系统的参与者:①谁使用系统?②谁安装系统、维护系统?③谁启动系统、关闭系统?④谁从系统中获取信

息,谁提供信息给系统?⑤在系统交互中,谁扮演了什么角色?⑥系统会与哪些其他系统相关联?

25、什么是用例?如何确定系统的用例?

答案:用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。

可以根据下面的一些问题来识别用例:

①参与者希望系统提供什么功能;

②系统是否存储和检索信息;

③当系统改变状态时,是否通知参与者;

④是否存在影响系统的外部事件,是哪个参与者通知系统这些外部事件。

26、什么是顺序图,顺序图是由那些部分组成?

答案:顺序图是强调消息时间顺序的交互图。是描述系统中类和类之间的交互,它将这些交互建模成消息交换,也就是说,顺序图描述了类相互协作的完成预期行为的动态过程。顺序图是由:类角色、生命线、激活期和消息组成。

27、什么是协作图,协作图是由那些部分组成?

答案:协作图作为另一种交互图而言,强调的是参加交互的对象的组织。

协作图是由:类角色、关联角色和消息流组成。

28、包的访问可见性有几种?请描述各访问可见性的区别。

答案:可见性可以分成3种:公有访问(public)、保护访问(protected)、私有访问(private)

公有访问:包内的模型元素可以被任何引入此包的其他包的内含元素访问。

保护访问:表示此元素只能被当前包的子包访问。

私有访问:表示此元素只能被当前包内的模型元素访问。

28、请描述组件图和部署图的关系?

答案:组件图用于描述系统中软件的构成,但没有描述系统中与硬件有关的构成情况。部署图则用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件。

29、请叙述类,组件和节点的关系?

答案:组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。

节点和组件的关系:

①组件是参与系统执行的事物,而节点是执行组件的事物。简单的说就是组件是被节点执行的事物,如假设节点是一台服务器,则组件就是其上运行的软件。

②组件表示逻辑元素的物理模块,而节点表示组件的物理部署。这表明一个组件是逻辑单元(如类)的物理实现,而一个节点则是组件被部署的地点。一个类可以被一个或多个组件实现,而一个组件也可以部署在一个或多个节点上。

30、简述UML的9种图。

答案:

(1)用例图:用例图展现了一组用况、参与者以及它们间的关系。可以用用例图描述系统的静态使用情况。在对系统行为组织和建模方面,用例图的是相当重要的。

(2)类图:

(3)对象图对象图展示了一组对象及它们间的关系。用对象图说明类图中所反应的事物实例的数据结构和静态快照。对象图表达了系统的静态设计视图或静态过程视图,除了现实和原型的方面的因素外,它与类图作用是相同的。

(4)交互图:交互图展现了按一定的目的进行的一种交互,它由在一个上下文中的一

组对象及它们间交互的信息组成。交互图也可用于描述一个用况的行为。顺序图和协作图都是交互图,顺序图和协作图可以相互转换。

顺序图:展现了一组对象和由这组对象收发的消息,用于按时间顺序对控制流建模。用顺序图说明系统的动态视图。

协作图:展现了一组对象,这组对象间的连接以及这组对象收发的消息。它强调收发消息的对象的结构组织,按组织结构对控制流建模。

(5)状态图:展示了一个特定对象的所有可能状态以及由于各种事件的发生而引起的状态间的转移。一个状态图描述了一个状态机,用状态图说明系统的动态视图。它对于接口、类或协作的行为建模尤为重要,可用它描述用况实例的生命周期。

(6)活动图:活动图是一种特殊的状态图,描述需要做的活动、执行这些活动的顺序(多为并行的)以及工作流(完成工作所需要的步骤)。它对于系统的功能建模特别重要,强调对象间的控制流程。

高层活动图用于表示需要完成的一些任务,即用于分析用例,理解涉及多个用例的工作流、多线程及并行,显示相互联系的行为整体,还可用于对企业过程建模,对系统的功能建模。低层活动图用于表示类的方法。但活动图不适用于描述动作与对象间的关系,显示对象间的合作以及显示对象在生命周期内的运转情况。

(7)构件图(组件图):构件图展现了一组构件之间的组织和依赖,用于对原代码、可执行的发布、物理数据库和可调整的系统建模。

(8)部署图:部署图展现了对运行时处理节点以及其中构件的配署。它描述系统硬件的物理拓扑结构(包括网络布局和构件在网络上的位置),以及在此结构上执行的软件(即运行时软构件在节点中的分布情况)。用部署图说明系统结构的静态部署视图,即说明分布、交付和安装的物理系统。

31、请简要解释主动类的概念,并说明它建模的意义,并通过1-2个实例来说明,主动类可以用来表示哪些设计元素。

主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控制活动;它不在别的线程、堆栈或状态机内运行,具有独立的控制期。从某种意义上说,它就是一个线程。

例如Socket服务器的监听线程就可以表示为主动类。

32、在绘制类图时,第一步就是发现类,最常用的方法是什么?请简要说明它的使用方法。

发现类的方法有很多种,其中最广泛应用的莫过于“名词动词法”,其主要规则是从名词与名词短语中提取对象与属性;从动词与动词短语中提取操作与关联;而所有格短短语通常表明名词应该是属性而不是对象。

33、请说明对象图的适用场景以及它的优缺点。

对象图适用于论证类模型的设计以及对源代码进行分析和说明。其优点是能够直观理解出系统运行时的实时状态,缺点是比较复杂,工作量大。

34、交互概述图有哪两种形式,它们分别适用于什么场景?相对而言,哪一种会更加常用一些?

一是活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对象控制流;二是顺序图的变体,它用活动图来补充顺序图。但相对而言后者是十分不常见的,因此UML的定义更倾向于将其称为活动图的变体。

35、请简要说明交互概述图在建模时的优点和缺点。并简要描述交互概述图的绘制方法。

优点:充分结合交互图和活动图的长处,在表达了对象到对象的控制流的同时,充分展示了从活动到活动的控制流。

缺点:对于规模稍大的场景,它并不是一个很好的选择,它将使模型的可读性大大降低

绘制方法:理解活动控制流,并用活动图表示出来;分析活动节点:用交互图表述细节。

36、类之间的关系有哪些?请简单的举例说明。

37、类的属性的定义格式、类的操作的定义格式。

38、状态图与活动图的比较。PPT

4、分析论述题

1. “远程网络教学系统”的功能需求如下:

●学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

●教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、

修改教学心得。

●系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户

注册。

1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。

2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

2. 图书管理系统功能性需求说明如下:

?图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其

存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和

个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服

务等。

?当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与

系统交互,而是通过图书管理员充当借阅者的代理和系统交互。

?系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删

除和修改。并且能够查询借阅者、图书和图书管理员的信息。

?可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。

回答下面问题:

1)该系统中有哪些参与者?(3分)

借阅者图书管理员系统管理员

2)确定该系统中的类,找出类之间的关系并画出类的实现图图

用户类、用户角色类、图书类、预定类、借阅类、书目类(6分)

类图(5分)

3)画出语境“借阅者预定图书”的顺序图

根据下面的叙述,绘制一幅关于顾客从自动售货机中购买物品的顺序图。

(1)顾客(User)先向自动售货机的前端(Front)投币;

(2)售货机的识别器(Register)识别钱币;

(3)售货机前端(Front)根据Register的识别结果产生商品列表;

(4)顾客选择商品;

(5)识别器控制的出货器(Dispenser)将所选商品送至前端(Front)

3. 根据下面的描述,绘制一幅状态图。

电话初始时处于“空闲”状态,当听筒被拿起后处于“激活”状态。听筒被拿起后,电话等待拨号,若在30秒之内拨号电话将进入“拨号”状态,如果拨号正确的则电话进入“正在接通中”状态,如过拨号不正确则会一直听到提示拨号错误。若拿起听筒30秒之内不拨号,则电话处于“超时”状态。在“正在接通中”状态下,若对方占线则电话进入“忙”状态,若对方不占线则进入“接通”状态,对方拿起听筒后,电话处于“通话”状态,若在通话中对方挂断则进入“挂起”状态。

4.

“远程网络教学系统”的功能需求如下:

●学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

●教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、

修改教学心得。

系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。

1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。

2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

6个用例每2个1分(3分),5关系每个1分(5分)

c++面向对象课程设计报告

课程设计报告 课程名称面向对象程序设计 课题名称学生成绩管理系统 专业计算机科学与技术 班级计算机 1001 学号 01 姓名 指导教师李珍辉陈淑红李杰军 2011年 12 月 28 日

湖南工程学院 课程设计任务书 课程名称面向对象程序设计 课题学生成绩管理系统 专业班级计算机1001 学生姓名 学号 01 指导老师李珍辉陈淑红李杰军 审批 任务书下达日期 2011 年 11 月 15 日 任务完成日期 2011 年 12 月 28 日

一、设计内容与设计要求 1.课程设计目的: 面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。 2.课题题目 1)公司库存管理系统 2)高校学籍管理系统 3)高校工资管理系统 4)高校人事管理系统 5)通讯录程序设计 6)学生成绩管理系统 7) 图书管理系统 8)文本编辑器的设计与实现 9)学生考勤管理系统 10)公司人员管理系统 3.设计要求: ⑴设计课题题目:每位同学根据自己学号除以10所得的余数加1选择相 应题号的课题。随意换题者不记成绩。 ⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括 系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完 成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模 块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E -R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系 统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修 改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出 每一步的操作步骤。⑥关键源程序(带注释)

面向对象分析与设计实验报告

面向对象分析与设计实验报告 题目:宿舍管理系统 学号:200*********** 姓名:****** 班级:09软件*****04 完成时间:

目录 1 系统功能需求3 管理系统模块3 查询学生模块3 学生管理模块4 资料修改模块5 楼栋管理模块6 出入登陆模块6 2 建立需求模型7 划分子系统 7 识别参与者 8 识别用况8 对需求进行捕获与描述9 3 系统分析11 寻找类11 建立状态机图12 建立类图12 建立顺序图 13 4 系统设计1错误!未定义书签。 问题域部分设计14 人机界面部分设计14 5 总结16 参考文献17

系统的功能需求 我校学生公寓现为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力。故设计一个学生公寓管理系统,管理学生住宿情况,员工情况,处理学生离校,管理人员来访情况等功能。通过此系统,后勤人员可以对学生公寓的各项情况实行电脑化管理,以提高工作效率,也使得公寓管理所需的各项信息能方便快速进行录入,查询,删除和更新。面对学生公寓管理工作的特点以及该管理工作的具体问题, 本系统可以解决以下问题: (1)录入公寓各学生的基本情况。 (2)全面查询学生的基本情况。 (3)对学生离校进行处理。 (4)每学期对学生住宿进行注册。 (5)对来访人员进行出入管理。 (6)对学生的财务进行登记管理。 (7)对楼栋物资和楼栋的管理。 (8)对各项情况进行修改,删除,更新。 (9)友好的操作界面, 以及简单快速的操作. (10)多种查询方式。 本系统针对学生公寓管理日常的工作程式, 对学生公寓的各项情况例如:学生信息,学生个人财产信息,来访人员信息等进行有效管理,并能通过各方法进行快速方便的查询。使学生公寓管理工作运作简明、清晰,各状况一目了然,使学生公寓管理工作更加科学化、规范化。 管理系统模块:实现用户退出功能。 查询学生模块:该模块包括五个子模块 按学号查询——实现按学号查询学生信息 按姓名查询——实现按姓名查询学生信息 按学生班级查询——实现按学生班级查询学生信息 按家庭住址查询——实现按家庭住址查询学生信息 混合查询——实现按混合查询学生信息

面向对象分析与设计简答题

1、什么面向对象? 面向对象不仅是以些具体的软件开发技术与策略,而且以一套关于如何看待软件系统与现实世界的关系,以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。 2、软件开发方法学的基本方法有哪些? 1)软件工程和瀑布方法学2)新方法学:螺旋式、迭代式、递增式、合并式3)面向对象方法学:UML、RUP、XP 3、为什么需要OOA、OOD。 OOA就是运用面向对象的方法进行需求分析,OOA加强了对问题域和系统责任的理解,有利于人员之间的交流,对需求变化的适应性较强,很好的支持软件复用。 OOD就是运用面向对象的方法进行系统设计,OOD.符合人们习惯的思维方法,便于分解大型的复杂多变的问题;易于软件的维护和功能的增减;可重用性好;与可视化技术相结合,改善了工作界面。 4、从概念层次、规格层次、实现层次三个角度如何理解对象的概念? 从概念层次来看,一个对象就是一系列的责任; 从规格层次来看,一个对象是一系列可以被其他对象或该对象自己调用的方法;从实现层次来看,一个对象是一些代码和数据。 5、如何绘制类图和对象图?简述其步骤。 类图绘制:1发现类,找到备选类,确定候选类2关联分析,确定关联关系,多重性分析3职责分析4限定与修改,导航性分析,约束,限定符; 对象图绘制:1发现类和对象2对其细化,分析,确定关系。 6、简述重定义方法与重载的区别。 重定义:1参数列表必须完全与被重写的方法相同2返回类型必须一直域被重写的方法的类型相同3访问修饰符的限制一定要大于被重写方法的访问修饰符4重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查性异常:重载:1必须有不同参数列表2可以有不同的返回类型,只要参数列表不同即可3可有不同访问修饰符4可抛出不同的异常。 7.简述抽象方法与虚方法的联系与区别 虚方法有一个实现部分可以为子类实现有共同的方法,并为派生提供了覆盖该方法的选,抽象方法只是强制派生覆盖方法;抽象方法只能在抽象类中声明,而虚方法不是;抽象方法不能声明方法实体,虚方法可以;包含抽象方法的类不能实例化,但虚方法可以。 8、简述使用继承的规则。 1)、不要过度使用;2)、子类应是超类的一个类型;3)、子类应是超类的扩展; 4)、尽量少从具体类继承,最好继承接或抽象类。

《面向对象程序设计》课程设计要求和任务书

《面向对象程序设计》课程设计任务书 课程设计名称:面向对象程序设计指导老师:王淮亭 课程设计周(时)数:2周 课程设计授课单位:计算机基础教学部指导方式:集体辅导与个别辅导相结合 课程设计适用专业:计算机科学与技术 课程设计教材及主要参考资料: 《C++程序设计》谭浩强编著,清华大学出版社 《C++程序设计教程学习辅导》谭浩强编著,清华大学出版社 服务课程名称:面向对象程序设计 一、课程设计的目的要求 《面向对象程序设计课程设计》是计算机专业及相关专业学生的一门实践课程。本课程对于检验学生学习面向对象程序设计课程后的学习成果,对于软件开发主流方法和思想——面向对象程序设计方法和思想的牢固掌握和熟练应用是一个非常重要的检测,是后续课程得以顺利进行的必要保证,对学生的程序设计能力培养和软件工程能力的培养具有重要的作用和意义。 本课程设计要求学生综合应用已学的计算机相关知识,例如程序设计基本思想和方法、C++语言、面向对象程序设计思想和方法,通过对真实世界的模拟和抽象来解决一些比较简单的实际问题。课程要求学生针对一个比较系统的题目进行编码、测试,并进行设计说明书的撰写,从而培养和锻炼学生初步的工程意识和做法。 二、课程设计内容及安排 1. 问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明 确问题要求做什么?(而不是怎么做?)限制条件是什么? 2. 逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以 数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图; 3. 详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中, 要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。 详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;

面向对象系统分析与设计试卷与答案

面向对象分析与设计试题B卷 一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号。每小题1 分,共20 分) 3.下列不属于面向对象技术的基本特征的是()。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与( ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是()。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 8. 下列不属于类的成员函数的是( )。 A. 构造函数 B. 析构函数 C. 友元函数 D. 拷贝构造函数 9. 继承机制的作用是( )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 14. ()是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. ( ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 16.()描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象 之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 17.()就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系 统中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 18. 在用UML进行数据库的分析与设计过程中,( ) 就是进行数据库的需求分析,使用用 例图、类图、顺序图、活动图等建立业务模型。 A. 逻辑数据模型设计 B 业务Use Case模型设计 C. 物理数据模型设计 D. 物理实现设计 19. 使用UML进行关系数据库的()时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 .

面向对象课程设计任务-可选题

面向对象课程设计任务书 一、设计基本要求 1、利用面向对象的方法和C++编程思想来完成系统的分析和设计; 在设计过程中,建立清晰的类层次;用UML画出类及类间的关系图; 程序中包含面向对象的基本知识:封装、继承、多态,基本的信息应该能长期保存(用文件存放) 2、系统启动运行时读取存储在文件中的记录解析成对象数据放入内存(以STL向量或链表存放) 3、基本的信息管理包括:读数据(从文件中读到内存)、增加、删除、查询、修改、存盘(将内存中数据写回文件)。可以自己根据题目要求增加新的功能。增、删、改、查操作在内存中进行(针对STL向量或链表的操作而不是针对文件的操作) 4、系统关闭前将内存数据存入文件(可以新建文件或覆盖原有文件) 5、类中属性以private或protected属性为主 6、层次分明,结构合理,加上简单界面的设计,如菜单,界面清新美观,维护容易 7、按照指导书的要求编写文档。 二、使用的主要技术 C++编程:基础编程,文件流,STL,必要的异常处理机制 环境:VC++6.0 三、设计的方法和步骤 设计步骤: 第一步:进行完整的需求分析,写出需求分析报告。 第二步:进行详细设计,写出详细的设计报告。 第三步:各模块编码实现。 第四步:合并调试并试运行,记录实现过程中出现的问题及解决方案。 第五步:提交完整可执行软件,准备答辩。 第六步:答辩,演示软件,评分。 第七步:整合各报告,修改并提交。 四、主要参考资料 1.课程教材 2. 面向对象程序设计实用教程张海藩清华大学出版社 3. C++语言程序设计(第1版)吕凤翥清华大学出版社 4. C++语言程序设计(第1版)郑莉清华大学出版社 5.C++及Windows可视化程序设计刘振安清华大学出版社 6.其他相关的书籍及网络资源 五、选题 以下为一组可选的选题,每个选题可以从中选择一部分来实现,但需要达到基本要求。 1. 班主任工作管理系统 班主任的日常工作非常繁琐,需要管理学生的信息、班级的日常活动等。结合班主任工作实际,开发一个管理系统,系统主要功能如下: (1)学生资料管理:提供学生基本档案、学生评语、家访记录的维护,并可以按照年

面向对象分析与设计

面向对象提纲 需求分析:了解用户的需求,对现实问题进行分析,确定用户需求 一、用例模型:业务用例、业务场景、系统用例、用例规约(用例描述) 根据不同的情况,用例描述可以有三个级别:1)简单描述2)中间描述3)完全展开描述系统分析:将需求分析的结果确定系统的范围和主要功能。 二、分析模型 1)静态视图(类图) 2)动态视图(系统顺序图) 1.1建立静态视图(问题域建模) 定义这些系统需求而建立的类图称为域模型类图或简称域模型 类之间的关系:依赖、泛化、关联(聚合、组合) 2.1动态视图(系统顺序图)

三、OO模型的集成 OO需求模型中的关系 依赖性通常从顶部流到底部,双向箭头表示在两个方向都产生影响。 四、面向对象分析步骤: 第一步域模型 A、分析域模型得到静态视图(类图) B、画出实体对应的类及其之间的关系,注意此阶段强调的是静态关系 第二步基于用例的需求分析 通过对需求的调查,业务用例的构建和活动图的绘制,最终得到系统用例图 在用例图的下方,应附上每个用例的用例描述 第三步输入和输出:系统顺序图 域模型类图:

用例图:系统顺序图: 从分析到设计

五、面向对象设计 OO程序是由一系列协同完成某一任务的程序对象组成 OO设计目标:识别并确定所有对象,并生成每个用例,比如用户界面对象、问题域对象及DB访问对象 六、OO设计过程和模型 设计步骤:⑴创建设计类图的基础版本,或初步模型 ⑵开发交互图 ⑶根据开发交互图时得到的信息,返回设计类图并开发方法名称 ⑷用包图将设计类图分割成相关的功能 输入的模型: 交互图:用例图、用例描述、活动图、系统顺序图、设计类图 设计类图:域模型类图、交互图 包图:设计类图 七、设计类和设计类图 7.1 设计类图符号:1. 构造型 2. 标准的构造型 构造型:按照模型元素的特征进行归类的一种方式,用《》符号描述 2. 标准的构造型 (0)设计模型中的标准构造型 ⑴实体类 ⑵边界类 ⑶控制类 ⑷数据访问类 设计模型中的标准构造型:

最新面向对象分析与设计课程总结

面向对象分析与设计 课程总结 0923010208 指导老师:庄育飞 这学期学院开设了面向对象分析与设计(UML)这门课,通过老师的讲解,自己一些相关书籍的阅读和实践作业的完成,逐步对课程有了由浅及深的认识。我觉得学习这门课还是受益匪浅的。 面向对象(Object Oriented,OO)是一门以实践为主课程,课程中可以分开两块OOA(面向对象系统分析)和OOD(面向对象系统设计)。 OOA(面向对象系统分析)主要内容: 研究问题域和用户需求,运用面向对象的观点和原则发现问题域中与系统责任有关的对象,以及对象的特征和相互关系.OOA不涉及针对具体实现采取的设计决策和有关细节,独立于具体实现的系统模型。是一个完整确切反映问题域和用户需求的系统模型。OOA的优势:复

用、可扩展、可维护性、弹性。 OOD(面向对象系统设计):以OOA模型为基础,按照实现的要求进行设计决策,包括全局性的决策和局部细节的设计,与具体的实现条件相关。OOD的步骤:细化重组类→细化和实现类之间的关系,明确其可见性→增加属性,指定属性的类型和可见性→分配职责,定义执行每个职责的方法→对消息驱动的系统,明确消息传递的方式→利用设计模式进行局部设计→画出详细的类图和时序图。 面向对象的分析与设计方法将致力于解决传统软件研发过程中由于软件模块化结构化程度不高带来的软件重用性差、软件可维护性差、开发出的软件不能满足用户需要等方面问题。面向对象的概念包括:对象、对象的状态和行为、类、类的结构、消息和方法。对象概念将包含对象唯一性、抽象性、继承性、多态性的重要特征。面向对象的要素包含:抽象、封装性、共享性三方面。 在设计模式的研究过程中,我们组选择的是迭代器(Iterator)的设计模式研究。完成设计研究后,我对迭代器的设计模式有了更为深刻的理解。迭代器(Iterator)提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。并了解到迭代器设计模式一般在以下三类场合使用较多。 ●访问一个聚合对象的内容而无需暴露它的内部表示。 ●支持对聚合对象的多种遍历。因为遍历状态是保存在每一个迭代器对象 中的。

面向对象的分析与设计大作业文档

面向对象的分析与设计课程结课大作业 学号______________ 学生姓名___________ 专业______________ 班级______________ 塔里木大学教务处制

《面向对象的分析与设计》课程结课作业\ 题 分\号 值\—— 一 二三四五六七总结总分 总分5 020100 得分 提示:1、请将答案写在此文档的相应位置,图形需在Rational Rose下绘制,大小可以根据个人需求定制(宽不超过页面1/3);2、请将相关的文档,包括程序的相关文档进行压缩,并将压缩文档上传到“大作业电子版文档”文件夹下命名为“班级-学号-姓名”,纸质版于2015年6月12日上午10:00 —13:00交到逸夫楼109。 一、选题(此题5分) 请根据你抽中的题号,请将其所对应的题目写到下方,并将你要描述的界面进行截图。 题目:照相(即手机的“相机”软件) XPERIA Z系列手机的自带相机软件。图中第五行第 该相机软件为SONY 二列 的软件。 相机

用例图用到的界面:A D E F 类图用到的界面:B C D E F 序列图和协作图用到的界面:A C 状态图用到的界面:A C 活动图用到的界面:AB C D E F 部署图用到的界面:A DEF ./ * 1SVf 九—X IJ .鈕 EuH o StiilE 拍 untflimhwiiBMiiriifn Qi -A 1 i a口X nt^tt帕.9* 自怕 笑Kt*n 关闻寸慎毛连拍JI 人■注册 O Q ? O■□Q :9 c口X 快走总谕 填理杯记? ?D 将害?瞳用朴 isn^g C? 内序科11诬? 4k a C3 Q)gv> W BF \j o Q ! A ◎ a o X 白拘Jt 笑隘快门(鞭牆)X nn-:? nt窒恙 (>o ■ U K>Qi A B 手动 创息啟 JR

面向对象分析设计小结

?1、面向对象方法的基本观点: ?Coad-Y ourdon认为:面向对象=对象+类+继承+通信。 ?2、面向对象方法的特点包括: ?(1)、符合人们对客观世界的认识规律; ?(2)、对需求变化具有很强的适应性; ?(3)、支持软件复用; ?(4)、可维护性好。 ?3、对象、类、封装、继承、消息、多态性的基本概念。 对象是客观世界中具有可区分性的、能够唯一标识的逻辑单元,是现实世界中的一个事物(站在计算机技术角度,即对事物的模拟)。 类是一组具有相同属性和相同操作的对象的集合。 封装是把对象的属性和操作结合在一起,组成一个独立的单元。 继承是指子类(派生类、特化类)自动拥有其父类(基类、泛化类、超类)的全部属性和操作,即一个类可以定义为另一个更一般的类的特殊情况。 消息是对象之间采用消息传递来发生相互作用—互相联系、互发消息、响应消息、协同工作,进而实现系统的各项服务功能。 多态性是一种方法,使在多个类中可以定义同一个操作或属性名,并在每一个类中有不同的实现。 ?4、面向对象系统开发过程。 ?5、运用名词词组法来定义类(对象): ?例:音像商店出租/出售业务信息系统中的类的确定。 ?总目标:?A.提供及时培训。?B.实施的系统必须友好,易学易用。?C.实施的系统必须考虑安全问题。

?具体目标: ?1.1.1 提供一个自动系统协助顾客出售/出租结帐。 ?2.1.1 提供和维护一个自动的会员数据库。?a. 按要求提供最新会员信息。? b. 有添加、改变、删除会员信息的能力。 2.1.2 提供会员信息报表(但不限于)?a. 最少光顾的会员。?b. 最经常光顾的会员。?c. 有问题会员(欠钱,出租过期)? 4.1.1 提供、维护出售和出租项的库存数据库。?a. 按要求提供最新库存信息?b. 有添加、改变、删除库存信息(出售和出租)的能力 4.1.2 提供库存信息报表(但不限于)?a. 最不受欢迎的出租项?b. 最受欢迎的出租项?c. 过期的出租项?d. 出售和出租项的“订购”产品(采购报表) 5.1.1 提供出售报表(但不限于)?a. 用产品码表示的一段时间(天、星期、月)内销售情况?b. 用产品码表示的一段时间(天、星期、月)内出租情况相应的侯选对象清单为:安全问题、自动系统、顾客出售/出租结帐、会员数据库、会员信息、会员信息报表、库存数据库、出售和出租项、库存信息、库存信息报表、采购报表、出售报表。 ?6、对多值属性的处理方法:用部分-整体方法。 例:发票/发票行 第2章统一建模语言UML 1、UML描述的软件基本模型:用例视图、逻辑视图、构件视图、进程视图、 部署视图 2、UML的基本符号。 3、RUP项目开发过程的特征:用例驱动的系统、以体系结构为中心、螺旋 上升式的开发过程、以质量控制和风险管理为保障措施。

面向对象程序课程设计任务书

面向对象程序设计课程设计任务书 课程性质:设计 总学时数:1周 适用专业:软件工程10 1-6 嵌软10 1-2 软件学院 2012-6

一、课程设计目的和任务 《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 二、设计内容和基本要求 设计任务书提供设计题目供学生选择。在指导教师同意的情况下,学生也可以自己选择感兴趣的设计题目,以调动学生参加创新设计的积极性和创造性,给学生充分的自主空间。 基本要求: ?设计工作量为完成一个中小型规模的软件和1份软件设计报告书 ?设计必须根据进度计划按期完成 三、课程设计参考题目 以下题目列出的仅为完成的基本功能,可根据需要完善与课题相关的其他功能。以下题目涉及窗体的设计、菜单设计、数据库设计、文件的读写等多种编程的实现,根据题目的要求自行进行编程设计。 1、设计一个GUI猜数字游戏程序 该游戏可以由程序随机产生四个0到9之间的整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。假设随机数据为3792 时,分析如下 数据:3792 输入:1234 0A2B 输入:5678 0A1B 输入:0867 0A1B 输入:9786 1A1B 输入:1794 2A0B 输入:2793 2A2B

输入:3792 4A0B 2、编写一个记事本程序,要求如下: (1)用图形用户界面实现。 (2)能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 3、设计一个简单学生个人信息管理系统,该系统具有录入,查询,修改三项基本功能。要求如下: (1)具有简单的录入,查询和修改功能。 (2)修改学生信息必须输入学号,然后对姓名、性别和专业等进行修改; (3)使用文件存储数据。 (4)学生个人信息必须包括:学号、姓名、性别、出生日期、身份证号、专 业、班级自我简介,其余可自行丰富。 (5)具有对姓名,出生日期和身份证号进行简单效验的功能。 4、日历记事本 要求:带有日程提醒功能的日历。 (1)显示信息:用户可以向前翻页查询前一个月的日期,也可以向后翻页查询 下一个月的日期。 (2)定时提醒:用户可以针对某一天来添加,删除和编辑这一天的日程提醒信 息,当系统时间和提醒时间相吻合时,给出具有提示信息的对话框。 (3)查询信息:用户可以查询到某个月的所有的提示信息。 5、ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额功能:初始余额为10000元 (2)ATM取款功能:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款功能:不能出现负存款。 (4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

面向对象课程设计任务书

面向对象课程设计任务书

河南城建学院 《面向对象语言程序设计》课程设计任务书 班级0814101/2 专业计算机科学与技术 课程名称面向对象语言程序设计 指导教师耿永军刘荣辉周二强 计算机科学与工程系 2012年06月

《面向对象语言程序设计》课程设计任务书 一、设计时间及地点 1、时间:第19周 2、地点:计算机系实验中心、本班教室10#A103 二、设计目的和要求 本课程设计是在学习C++基本理论之后的实践教学环节。该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。学生通过课程设计在下述各方面得到锻炼: 1.能根据实际问题的具体情况,结合C++的基本理论和基本技巧,正确分析问题,并能设计出解决问题的有效算法与程序。 2.提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法和程序的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改,进一步提高程序设计水平。 三、设计题目和内容 主要有以下设计题目: 题目1 高校人事管理系统 一、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握C++程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的C++程序设计问题。 2、基本要求: (1)要求利用C++的方法以及C++的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法; (4)在系统的设计中,要求运用C++的机制(继承、派生及多态性)来

《面向对象分析与设计》实验报告

《面向对象分析与设计》 实验报告 班级:计科09-4班 姓名:郑翼 学号:08093435

实验一用例图 一、实验目的 1.学会分析系统中的参与者和用例 2.掌握用例图的绘制方法 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 画出A TM系统的用例图 四、实验截图

五、实验体会 通过这次实验,理解了用例图的基本用法,并且初步掌握了Rational Rose软件的使用。对以后面向对象的学习都是十分重要的。

实验二交互图 一、实验目的 1.学会用协作图实现用例 2.掌握顺序图的绘制方法以及顺序图和协作图的相互转换。 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 画出A TM取款的顺序图,并转换为协作图。 四、实验截图 顺序图

协作图 五、实验体会 通过实验,学会了用协作图实现用例,掌握了顺序图的绘制方法以及顺序图和协作图相互转换的方法,进一步的加深了对软件的使用。

实验三类图 一、实验目的 1.理解类的基本概念 2.理解类间的关系 3.掌握类图的绘制方法 二、实验器材 1. 计算机一台; 2. Rational Rose 工具软件; 三、实验内容 分析选课系统中的类及关系,然后画出它们的类图。 四、实验步骤 1.分析 在选课系统中,通过分析可抽象出如下几个类: 1.学生类 2.管理员类 3.课程类 学生类和管理员类的属性较容易分析,这里只列出课程类的属性和方法:(1)课程名称 (2)开课教室 (3)课程号 (4)授课教师 (5)选课的学生 (6)开课起始时间 (7)允许选课的学生人数 (8)设置课程号 (9)设置课程名称 (10)查询课程号

uml面向对象的分析与设计考题与答案

u m l面向对象的分析与设计考题与答案 集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

《面向对象的分析与设计》练习题 一、选择题 1.UML 语言不支持的建模方式有(D )。 A. 静态建模 B.动态建模 C. 模块化建模 D. 功能建模 2.一个设计得好的OO系统具有( B )。 A. 低内聚、低耦合的特征 B.高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D.低内聚、高耦合的特征 3.下列不属于面向对象技术的基本特征的是( B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与 ( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C )。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6.用例之间的关系不包括以下哪种关系?D A.泛化 B.包含 C. 扩展 D. 聚集和组合 7.顺序图中不包括以下哪种元素?(A) A.用例 B. 对象 C. 生命线 D. 消息 8. 用例图中不包括以下哪种元素?(B) A. 用例 B. 类 C. 参与者 D. 关联 9. 继承机制的作用是 ( C )。 A. 信息隐藏 B. 数据封装 C. 派生新类 D. 数据抽象 10. 面向对象方法学中,对象之间仅能通过(C )相联系。

A. 类 B.抽象 C. 消息 D. 封装 11. 脚本与用例之间的关系类似与(A)之间的关系。 A. 对象与类 B. 参与者与用例 C. 顺序图和抽象类 D. 消息和对象 12. 下列元素中,(D )不属于消息的组成。 A. 提供服务的对象 B. 服务 C. 输入信息 D. 事件 13. ( D )描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 顺序图 14. ( D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 15. ( C ) 是表达系统的类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 二、简答题 1.简答控制软件复杂性的基本方法,面向对象技术如何体现这些方法的。 基本方法:分解,抽象,模块化,信息隐蔽。面向对象的软件开放方法在描述和理解问题域时采用的方法是:对问题域进行自然分割,以更接近人类的思维方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。 2.举例说明类中覆盖和重载的区别。 public class A{ String name; public String getValue();{ return”getValue is”+name;} }

面向对象分析与设计UML实验报告

《面向对象分析与设计UML》 实验报告 实验及作业一 一、实验目的 了解软件工程等基础知识,为后续的统一建模语言UML知识的学习做好准备工作。 二、实验设备与环境 装有Visio、RationalRose的计算机。 三、实验内容 1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。 2、熟悉UML软件设计工具Visio、Rational Rose的安装及环境 四、实验过程及结果 经过上网搜索相关信息进行了解软件工程开发模型的相关概念与优缺点 一,什么是软件工程概念模型 模型就是抽象,就是有意识地忽略事物的某些特征。抽象带来的好处是能够反映模型中元素之间的关系,清晰把握大局。 概念模型是模型的一种,简单说就是抽象程度极高的一种模型。 软件工程概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工程有一个完整把握。 二,软件工程开发模型的种类以及优缺点 瀑布模型由W.Royce于1970年首先提出。根据软件工程生存周期各个阶段的任务,瀑布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密联系。一个阶段的失误将蔓延到以后的各个阶段。为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再

重复前面的工作,直至某一阶段通过评审后再进入下一阶段。瀑布模型如图1.1所示。 瀑布模型有许多优点,如可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证等。 但瀑布模型也存在缺点,其主要表现在:①在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。而瀑布模型在需求分析阶段要求客户和系统分析员必须做到这一点才能开展后续阶段的工作。②确定需求后,用户和软件项目负责人要等相当长的时间才能得到一份软件的最初版本。如果用户对这个软件提出比较大的修改意见,那么整个软件项目将会蒙受巨大的人力、财力和时间方面的损失。 原型模型又称演化模型,主要是针对事先不能完整定义需求的软件项目开发而言的。许多软件开发项目由于人们对软件需求的认识模糊,很难一次开发成功,返工再开发难以避免。因此,人们对需开发的软件给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软件的最终设计和实现。通常我们把第一次实验性开发出的软件称为原型(prototype)。这种开发模型可以减少由于需求不明给开发工作带来的风险,有较好的效果。相对瀑布模型来说,原型模型更符合人类认识真理的过程和思维,是目前较流行的一种实用的软件开发方法。原型模型如图4.2所示。 原型化模型有丢弃型、样品型和渐增式演化型三种形式。丢弃型是指原型开发后,已获得了更为清晰的需求反馈信息,原型无需保留而丢弃,开发的原型仅以演示为目的,这往往用在软件的用户界面的开发上。样品型是指原型规模与最终产品相似,只是原型仅供研究用。渐增式演化型是指原型作为最终产品的一部分,它可以满足用户的部分需求,经用户试用后提出精华系统、增强系统能力的需求,开发人员根据反馈信息,实施开发的迭代过程。如果在一次迭代过程中,有些需求还不能满足用户的需求,可以在下一迭代过程中予以修正,整个实现后软件才可最终交付使用。 螺旋模型是瀑布模型与原型模型相结合,并增加两者所忽略的风险分析而产生的一种模型,该模型通常用来指导大型软件项目的开发,它将开发划分为制定计划、风险计划、实施开发和客户评估四类活动。沿着螺旋线每转一圈,表示开发出一个更完善的新的软件版本。如果开发风险过大,开发机构和客户无法接受,项目有可能就此中止;多数情况下,会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品。该模型是由TRW公司的B.Boehm于1988年提出的。 图1.3显示了螺旋模型的原理,沿着螺旋线旋转,在笛卡儿坐标的四个像限上分别表达

面向对象分析与设计试卷(A)及答案

华南农业大学期末考试试卷(A卷)-答案 2007学年第1学期考试科目:面向对象分析与设计考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 一、判断题(每题1分,共10分。对的标“T”,错的标“F”,将答案写入下表) 1. 一个状态图最多只能由一个初态和一个终态。(F) 2. 协作图中的消息必须要有消息顺序号。(T)

3. 两个参与者(actor)之间可以有包含(include)关系、扩展(extend)关系或泛化(generalization)关系,而包含关系和扩展关系是依赖(dependency)关系的版型。(F) 4. 参与者(actor)和用例(use case)之间的关系是关联(association)关系。(T) 5. 类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的 getName()方法的重载(overload)。(F) 图2 活动图 图1 getName()方法之间的关 系 6. 如图2所示,活动Gesture和Stream audio可以并发进行。(T) 7. 一个软件系统,如果只有源代码,缺乏其他相应的辅助文档,如缺乏顺序图和类图,则可以利用Rose进行逆向工程得到顺序图和类图,但得到的顺序图和类图会比较简单。(F) 8. CMM描述了五个级别的软件过程成熟度,即初始级、可重复级、

已定义、已管理级、优化级。(T) 9. UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。(F) 10. 在设计类图时,可以不用对类图中的每个关联进行命名,但如果需要命名的话,最好用一个“动词”给关联命名。(T) 二、单项选择题(每题2分,共30分。将正确答案填入下表) 1. 一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 2.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制 3. 面向对象的特点主要概括为(C)。 A. 可分解性、可组合性、可分类性 B. 继承性、封装性、多 态性

《面向对象程序设计》课程设计任务书

河南城建学院 《C++程序设计》课程设计任务书 班级1314131、2 专业数学与应用数学 课程名称C++程序设计 指导教师董梅陈秋红崔雪冰 计算机科学与工程学院 2015年12月

一、设计时间及地点 1、设计时间:第17周。上午:8:00-12:00,下午:2:00-3:45。设计周的最后一天为验收时间,每个人都要对设计结果进行答辩。 2、设计地点:机房或图书馆教室。 二、设计目的和要求 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生运用所学知识解决实际问题的能力,培养学生的团队合作精神。 通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《面向对象程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。 (3)利用所学知识,开发小型应用系统或解决复杂问题,掌握运用C++语言编写调试应用系统程序,培养团队合作精神,训练开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会面向对象程序设计的方法。 (6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。 要求系统用开发工具Visual C++6.0制作。在满足基本功能要求的前提下,系统可正确运行,界面尽量美观、交互性好、功能尽可能多。 三、设计题目和内容 1、同学通讯录系统 2、学生成绩管理系统 3、人员档案管理系统 4、家庭财务管理系统 5、企业人事管理系统 6、图书管理系统 7、学籍管理系统 8、宾馆客房管理 9、学籍管理系统 10、职工工资管理系统 11、万年历程序

面向对象分析与设计试题A卷及答案

面向对象分析与设计试题A卷及答案 一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 ) 1. 到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是( D )的 出现和广泛使用,使面向对象方法成为了软件开发的主流方法。 A. OMT B. OOSE C. C++ D. UML 2.( D )为编程人员提供了重复利用程序资源的一种途径,使编程人员可以扩充和完善旧的程序以适用新的需求。 A. 封装机制 B. 抽象机制 C. 多态机制 D. 继承机制 3. 面向对象程序设计中用( C ) 来描述具有相同属性和行为的对象集合。 A. 实体 B. 对象 C. 类 D. 类模板 4. 下列语言中, ( D ) 是一种混合型面向对象编程语言。 A. C语言 B. Java语言 C. Basic语言 D. C++语言 5. 下列不属于类的成员函数的是 (D )。 A. 构造函数 B. 析构函数 C. 缺省构造函数 D. 友元函数 6. 多态机制的作用是 ( B )。 A. 信息隐藏 B. 实现“一种接口,多种方法” C. 派生新类 D. 数据抽象 7. 合理地利用( B ), 既可以实现部分成员隐蔽,又能方便部分成员的继承,实现代 码的高效重用和扩充。 A.公有继承 B.保护继承 C.友员函数 D.私有继承 8. ( C )经过实例化而生成具体的类。 A.抽象类 B.函数模板 C.类模板 D.对象 9. 类的析构造函数是在 ( C ) 时调用的。 A.不自动调用 B.创建对象 C.删除对象 D.创建派生类对象 10.在公有继承的情况下,基类的( C)成员无法继承到派生类中。 A. 公有成员 B. 保护成员 C. 私有成员 D. 静态成员

面向对象课程设计任务

《面向对象程序设计》课程设计 任 务 书 指导教师:冉宇瑶付春捷 专业班级: 2011级电子信息科学与技术专业 开设时间:2013-2014(一)

一、目的 课程设计实践教学的一个重要的理论联系实际的环节,一次重要的实践活动和锻炼。通过课程设计要求学生运用所学的知识联系实际或具体的应用实际解决一个具体问题,要求学生对这个具体问题进行分析、研究、查阅资料、实验实践,制定方案,提出解决问题的方法,并独立撰写出课程设计报告。 《面向对象程序设计》是计算机及相关专业一门重要的核心课程,也是一门实践性很强的课程,而课程设计则是其中一个重要的应用实践环节。 本次课程设计的目的是提高学生分析问题、解决问题的能力以及实际动手能力,进一步加深学生对面向对象程序设计基本理论的理解,使学生熟练掌握面向对象程序上机调试的方法技巧、结构化程序设计技术及高级面向对象技术,能编写较复杂的应用程序,为学习后继课程打下扎实的基础 通过课程设计过程,学生应培养如下能力: (1)初步学习调查、确立课题的方法。 (2)学习对课题内容进行分析,找出解决问题所需要的数据、材料,形成设计的必备资料。 (3)学习利用所学的知识分析问题、解决问题,提高分析具体问题、解决具体问题的能力。 (4)积累查阅文字资料、电子资料、借鉴资料的经验,并独立形成与他人不同的方法、观点,创造自己的知识积累。 (5)学习在研究实际问题中实事求是、独立思考的基本工作态度,树立科学严谨的工作作风。 (6)初步学习论文的写作方法。 二、设计要求 1)程序结构清晰,使用多文件结构实现 2)有较多提示信息,以方便用户使用 3)能检测用户输入的错误,并作相应处理 4)每个程序应作较多测试,以证明程序的正确性 三、课程设计报告要求 1)课程设计报告应独立完成,严禁各种形式的抄袭。 2)每组的课程设计报告应该体现本组工作的内容和特色。 3)课程设计报告主体格式: 采用A4纸排版,上边距2.5厘米、下边距2.5厘米、左边距2.5厘米、右边距2厘米、装订线为0,采用左装订; 报告页眉:“浙江理工大学科技与艺术学院机电系课程设计报告”,宋体、小五号;报告页脚:右下角放页码;

相关主题