面向对象与设计模拟题讲解

面向对象与设计模拟题讲解
面向对象与设计模拟题讲解

《面向对象分析与设计》模拟题(补)

一.单项选择题

1.下面描述中()不是使用软件模型的目的。

A 可以更好地理解问题

B 可以更早地发现错误或疏漏的地方

C 可以为最后代码的生成提供依据

D 在开发过程中使用面向对象方法

2.关于参与者的说法中错误的是()。

A 参与者是与目标系统交互的人或物

B 参与者可以是实际的人,也可以是外部设备、外部系统等

C 参与者是用例图的重要组成部分,因此它是目标系统的组成部分

D 参与者之间可以存在一定的关系

3.状态图中不能表示的概念有()。

A 动作

B 类

C 转移 D事件

4.计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。

那么Computer类和其它类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是()。

A 泛化关系(Generalization)

B 实现关系(Realization)

C 包含关系(Inclusion)

D 聚集关系(Aggregation)

5.()是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协

作图和其他图的基础。

A 对象图

B 组件图

C 类图

D 配置图

6.继承反映了类间的一种层次关系,而()反映了一种整体与部分的关系。

A 继承

B 组合

C 封装

D 多态

7.不属于UML结构物件的是()。

A 交互

B 类

C 用例

D 组件

8.内聚表示一个模块()的程度。

A 可以被更加细化

B 能够适时地完成其功能

C 仅关注在一件事情上

D 联接其他模块和外部世界

9.需求规格说明描述()。

A 基于计算机系统的功能、性能和约束

B 每个子系统的实现

C 软件体系结构元素

D 系统使用说明

10.下列事物中一般不是目标系统的外部参与者的是()。

A 人

B 外部设备

C 外部系统

D 数据存储

11.根据下面的代码,可以确定类A与类B之间存在()关系。

public class A {

private B theB;

public void aMethod(){ theB.doSomthing(); }

}

A 关联

B 泛化

C 实现

D 包含

12.面向对象的特点主要概括为()。

A 可分解性、可组合性、可分类性

B 继承性、封装性、多态性

C 抽象性、继承性、封装性、多态性

D 封装性、易维护性、可扩展性、可重用性

13.下面那个图符表示UML中的实现关系?()。

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.内聚表示一个模块()的程度。

A 可以被更加细化

B 能够适时地完成其功能

C 仅关注在一件事情上

D 联接其他模块和外部世界

二.简答题

1、以下类图中的类关系是否正确?若不正确,说明理由并改正。

飞机由机翼、机身、驾驶舱构成。

2、画出能正确表示下面叙述的类图(括号内为类名)。

“一个雇员(Employee)最多由一个经理(Manager)管理,某些经理管理多个雇员,某些经理不管理任何雇员”。

3、简述聚合(Aggregation)和组合(Composition)的关系,并举例说明。

4、下面类图中,接口Service中定义了三个方法。其中ClientA只使用methodA方法,

ClientB只使用methodB方法,ClientC只使用methodC方法。根据接口分离原则重新设计该类图。

三.综合应用题

1、考虑一个“通讯录管理系统”,通讯录包含若干条目,每个条目包括:姓名、电话、邮

编、通信地址4个内容。对通讯录要求的操作包括:查看条目、查找条目、增加条目、

删除条目。对条目的要求是能够设置和获取其中的4个属性。要求系统通过图形用户界面操作通讯录,增加条目时,创建一个通讯录条目对象,通过图形界面编辑条目属性并写回到条目对象中。请回答下面问题:

1)绘制系统的用例图。

2)如果要求在通讯录中不允许有姓名相同的条目,请写出“增加条目”功能的事件流

描述(包括可选事件流)。

3)经过初步分析,找到如下类,请用类图描述类之间的关系。

通讯录(TXL)、通讯录条目(TXLItem)、界面(UI)

4)为2)中的正常事件流绘制顺序图。

2、考虑一个简单的“学生选课系统”,学生可以查看已选修课程、退选课程;管理员可以

查看全校课程、添加课程。描述课程的信息包括:课程号、课程名称、开课教师,课程号唯一确定一门课程。管理员添加课程时,创建课程对象,通过图形界面输入课程信息后保存到课程对象中,将课程对象保存到全校课程列表中。

1)识别参与者和用例,并绘制系统的用例图。

2)如果要求不能添加重复的课程,请写出管理员用户“添加课程”功能的事件流描述

(包括可选事件流)。

3)经过初步分析添加课程用例,找到如下类,请用类图描述类之间的关系。

全校课程集合类(Courses)、课程类(Course)、界面(AdminstratorUI)(本题10分)。

4)为2)中的正常事件流绘制顺序图。

参考答案:

一.单项选择题

二. 简答题

第1题

不正确,飞机和构成部件之间不是泛化关系,应该是组合关系

第2题

第3题

1) 聚合和组合都是一种包含关系,组合是一种更强的聚合关系。

2) 组合关系中,容器和包含的对象具有相同的生命周期,聚合是一种相对松散的关系,

容器和包含的对象可相对独立。

3) 雁阵由大雁构成,属于一种聚合关系;1只大雁拥有2只翅膀,属于组合关系。 第4题

三. 综合应用题 1.1) 系统用例图

U ser

2) 事件流描述

正常事件流

1、用户查看通讯录,选择添加条目功能项,启动该用例;

2、用户输入姓名、电话、邮编和通讯地址

3、系统保存通讯录数据,更新视图

可选事件流

第2步(用户输入姓名重复)

2.1 用户输入姓名已存在,系统提示是否重新输入姓名

2.2 用户选择重新输入姓名,用例从第2步正常执行

2.3 用户选择放弃,用例结束

3) 类图

4) 顺序图

2. 1) 系统用例图

StudentU ser

Administrator

2) 事件流描述 正常事件流

1、管理员查看全校课程列表,选择添加课程功能项,启动该用例;

2、管理员输入课程名称、任课教师、课程号;

3、系统保存课程列表,更新视图

可选事件流 第2步(管理员输入课程号重复) 2.1 管理员输入课程号已存在,系统提示是否重新输入课程号 2.2 管理员选择重新输入课程号,用例从第2步正常执行

2.3 管理员选择放弃,用例结束

3) 类图

4) 顺序图

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

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)、尽量少从具体类继承,最好继承接或抽象类。

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

面向对象分析与设计试题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)简单描述2)中间描述3)完全展开描述系统分析:将需求分析的结果确定系统的范围和主要功能。 二、分析模型 1)静态视图(类图) 2)动态视图(系统顺序图) 1.1建立静态视图(问题域建模) 定义这些系统需求而建立的类图称为域模型类图或简称域模型 类之间的关系:依赖、泛化、关联(聚合、组合) 2.1动态视图(系统顺序图)

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

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

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

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

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

《面向对象的分析与设计》课程结课作业\ 题 分\号 值\—— 一 二三四五六七总结总分 总分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

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;} }

面向对象分析与设计试卷(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. 继承性、封装性、多 态性

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

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

目录 1 系统功能需求 (3) 1.1管理系统模块 (3) 1.2查询学生模块 (3) 1.3学生管理模块 (4) 1.4资料修改模块 (5) 1.5楼栋管理模块 (6) 1.6出入登陆模块 (6) 2 建立需求模型 (7) 2.1 划分子系统 (7) 2.2 识别参与者 (8) 2.3 识别用况 (8) 2.4 对需求进行捕获与描述 (9) 3 系统分析 (11) 3.1 寻找类 (11) 3.2 建立状态机图 (12) 3.3 建立类图 (12) 3.4 建立顺序图 (13) 4 系统设计......................................................................................... 1错误!未定义书签。 4.1 问题域部分设计 (14) 4.2 人机界面部分设计 (14) 5 总结 (16)

参考文献 (17)

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

面向对象分析与设计(1)_答案

华南农业大学期末考试试卷(A卷)-答案学年第学期考试科目:面向对象分析与设计 考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 一、选择题(24分) 说明:每题只有1个正确答案,请将正确答案填写在下面表格中。 二、判断题(10分) 判断下列类之间的相互关系,把相应编号填写在括号中。 A 整体-部分, B 一般-特殊, C 实例联接, D 都不是 ( A )1.大学–学院 ( C )2.学生–课程 ( B )3.学生–大一新生 ( A )4.汽车–车门 ( B )5.货车–交通工具 ( C )6.公共汽车–车站 ( A )7.工具条–按钮 ( D )8.汽车发动机–汽车车体 ( A )9.员工–公司 ( D )10.本科生–研究生

1.分析下面的类图,画出新的类图,将原图中的M:N(多对多)关系转换为1:M(一对多)关系。 2.问题描述:一个简单的下棋游戏,游戏双方称为黑方和白方。白方首先走第一步,然后黑白双方轮流走棋。如果有一方不能继续走棋,则另一方获得胜利,游戏结束;如果比方同意平局,则游戏结束。请画出该问题的状态图。 3.问题描述:某商店采用会员制管理,会员购买产品时,向收银员提供自己的会员卡和所购买的商品,收银员验证会员卡合法(通过在会员档案中查找会员卡号)后,将商品记录到商品销售表中,并将总金额作为会员积分记入会员档案中。请画出该问题的数据流图。

下列3种使用继承的类图中均存在错误,请给出正确的类图。1.关于飞机构成的设计: 2.关于学校教师的设计 3.关于队列的实现设计

考虑一个“通讯录管理系统”,通讯录包含若干条目,每个条目包括:姓名、电话、邮编、通信地址4个内容。对通讯录要求的操作包括:查找条目、增加条目、删除条目。对条目的要求是能够设置和获取其中的4个属性。系统要求对通讯录操作通过一个图形用户界面进行,该界面应该能名显示一个条目,进行编辑后将条目的属性写回到条目对象中。 1.经过初步分析,找到如下类,请用类图描述类之间的关系。 通讯录(TXL)、通讯录条目(TXLItem)、界面(UI) 2.如果要求在通讯录中不允许有姓名相同的条目,请画出“增加一个新的条目”功能的流程图。 没有标准答案,视学生分析问题情况给分。

面向对象分析与设计教学案例

面向对象分析与设计教学案例研究 该案例示范了使用Rational Rose如何对系统进行建模。使用用例和领域分析的方法来对系统进行分析并且设计一个分析模型。然后把分析模型扩展成设计模型,此设计模型描述了一种技术方案。最终,设计模型转变为用面向对象的编程语言创建的可以运行的程序。 这里将把某大学课程管理的问题作为本部分的示例。 【案例材料】 1. 某大学背景 学生登记在大学里是一种非常耗时的活动,学校还面临着给教室排课的问题。在每个教师决定了他这个学期将讲授什么课程之后,教务处将这些信息输入到一个计算机系统,然后给每个教师打印一份报表,最后要打印一份课程目录给学生。 依照现有系统,学生填写注册表并确定他们所选的课程,然后将所有信息递交到教务处。一个学生在一段时间内最多选四门课。教务处将这些信息输入到计算机。一旦输入了学生所选的课程,就会把学生安排到这些课程。大多数时候,学生得到他们选课的课程,但是,当发生冲突时,教务处将询问学生以便得到其他的选择。一旦给所有学生都排好了课,学生的课表将打印出来给学生以便得到他们的确认。大多数学生登记将在一周内完成,但是有些特殊情况要花两周来进行。 当最初的登记周期结束时,教师会得到他们所讲的每一门课程的学生名单。 2. 课程登记问题的风险 开发团队觉得这个系统最主要的风险是有效地存储和获取课程信息。他们开发了几个原型来评价每一个备选的数据库管理系统的数据和访问机制。他们还开发了一些原型来研究学校运行联机登记系统的硬件需求。 3. 某大学课程登记问题状态 在学期之初,学生会需要一份这个学期要开的课程列表。每门课程的信息,如教师、部门和课程需要的前提条件将包含在这个清单里来帮助学生们选择课程。 新系统允许学生在每个学期里选四门课。另外,每个学生还要提交两个备选课程以预防课程被选满或取消的情况。少于三个学生选择的课将被取消。一旦学生登记完成,登记系统将信息传入财务系统,学生就可以交这个学期的学费了。 教师要进入联机系统确认他们所讲授的课程和每门课程有哪些学生。 在每个学期的这段时间里,学生可以改变他们的计划。学生可以在这段时间内进入系统增加或删除课程。

面向对象分析与设计练习题及参考答案

《面向对象分析与设计》练习题及参考答案 一、思考题: 1. How many phases are included in system development? (brief description) 2. Describe a system and the components of a system model. 3. What two key components distinguish an information system from an automated information system? 4. What is systems analysis and design? 5. Who are the six stakeholder groups in information systems? 6. What are a system designer’s and system builder’s roles in information systems development? 7. What is the system analyst role in systems development as it related to the other stakeholders? 8. List the six steps of the general problem-solving approach. 9. List two types of quality certification applicable to information systems. 10. What are legacy systems? Name two types of problems encountered in legacy systems. 11. What is ERP? What is electronic commerce? 12. Differentiate between management information systems and decision support systems. 13. What role dose a data warehouse play in a decision support system? 14. List three focuses for an information systems. 15. What is the role of the network in information systems?

面向对象分析与设计课程设计

目录 一、绪论 (3) 二、网上书店系统的OOA及OOD (3) 2.1 网上书店系统的需求模型分析及设计 (3) 2.2网上书店系统的基本模型分析及设计 (7) 2.3网上书店系统的辅助模型分析及设计 (10) 三、结论及展望 (11) 四、参考文献 (11)

一、绪论 网上书店是一个在因特网上销售图书的电子商务系统。如当当、亚马逊、京东等大型电商网站均包含了网上书店系统,完成在线图书销售。作为网站客户可以方便地在网站上选购自己心仪的图书。而网上书店为图书发行公司开启了一个新的图书销售渠道,也方便了广大的学生和读者。 二、网上书店系统的OOA及OOD 2.1 网上书店系统的需求模型分析及设计 2.1.1 系统基本需求: 需求描述:网站客户是该系统的使用者。他们首先必须在网站提交个人的注册信息,以合法用户身份登录之后。完成如图书检索、购物车管理、订单管理、个人信息管理等功能。此外,网站管理员通过超级用户的身份登录系统之后,可以管理图书,如图书上架、下架、修改等,还可以处理用户提交的订单。 2.1.2 用况图 网上书店系统主要面向系统管理员和客户,系统管理员可以通过合法的帐户登录系统,对书籍进行各种管理,增加、删除、修改,可以对已注册用户进行管理,并实现订单的管理。用户可以浏览查询所需书籍,对购物车以及订单进行管理,可以对书籍或作者等情况发表评论,也可以对个人帐号的信息进行管理,如果找不到所需书籍,还可以向系统提出,进行预订。 以下两图分别从用户和管理员角度描述系统功能:

图2-1用户角度的用况图

图2-2系统管理员角度的用况图

2.1.3用况规约的文档描述 1、用户登录的用况规约如表2.1所示: 表2.1 用户登录用况描述 2、用户购书的用况规约如表2.2所示: 表2.2 用户购书的用况描述 1、 用况编号 C1 用况名称 用户登录 参与者 网站用户、系统管理员 用况描述 用户登陆并进行相应操作 前置条件 必须注册过帐号 用户键入密码 用户名进行用户角色登录,验证正确 后置条件 可以登录系统进行相应操作 基本事件流 用户请求系统登录 系统弹出系统登录页面 用户输入用户名信息 .用户选择登录角色信息 用户点击确认登录按钮 .系统 获取用户信息赋予相应权限,根据用户权限显示相应系统主界 面 备选事件流 用户用户名不存在或密码错误登录失败 返回登录界面 用况编号 C2 用况名称 用户购书 参与者 网站用户 用况描述 用户登陆并进行图书查询和购买 前置条件 用户登录成功 后置条件 用户查询的图书存在 基本事件流 用户查询所需的图书 图书存在 图书有库存 用户将图书放入 购物车 结帐 备选事件流 用户所查询的图书不存在 用户退出系统

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

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

华南农业大学期末考试试卷(A卷)-答案 2007学年第1学期考试科目:面向对象分析与设计 考试类型:(闭卷)考试时间:120 分钟 学号姓名年级专业 题号一二三四五总分 得分 评阅人 一、判断题(每题1分,共10分。对的标“T”,错的标“F”,将答案写入下表) 1 2 3 4 5 6 7 8 9 10 F T F T F T F T F T 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) 图1 getName()方法之间的关系图2 活动图

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. 抽象性、继承性、封装性、多态性 D. 封装性、易维护性、可扩展性、可 重用性 4.构成对象的两个主要因素是(A)。 A. 属性和服务 B. 标识和内容 C. 继承和多态 D. 消息和封装 5.下列关于面向对象方法中描述中错误的是(C)。 A. 使用设计模式有助于在软件开发中应用面向对象技术

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

实验报告 课程名称面向对象分析与设计 专业班级 ____ ____ 学号 __ ___ 姓名 ___ ____ 同组成员 实验日期_ 成绩____________ ___________

工资管理系统 1.1 系统的功能需求 工资管理系统包括员工管理、工资管理、销售奖金管理、保险费用管理等。 1.工资管理 在取得授权的情况下,有关人员要进行如下工作。 (1)工资录入 工资管理员录入员工的工资,修改录入的出错(维护),形成工资表。 (2)销售奖金录入 工资管理员录入员工的销售奖金,修改录入的出错(维护),形成销售奖金表。 (3)保险费用的录入 工资管理员录入员工的若干保险费用,修改录入的出错(维护),形成保险费用统计表。 (4)计算工资 工资管理员按工作证号码来进行工资的计算统计,然后生成报表再上报给财务部。 (5)计算销售奖金 工资管理员按照工作证号码进行工资销售奖金的计算统计,然后生成报表上报给财务部。 (6)计算若干保险的扣除费用 工资管理员按照工作证号码进行若干保险的计算统计,然后生成报表上报给财务部、 (7)工资或销售奖金、保险费用查询 公司员工可以根据自己的工作证号码查询自己的工资或销售奖金及保险费用。 工资管理的主要业务流程: 此处给出以上7个业务之间的流程图(用活动图描述)

1.2建立需求模型 对工资管理系统先划分子系统,然后再通过建立用况模型,对需求进行捕获与描述。 1.2.1 划分子系统 限定工资管理系统的功能为:工资管理、统计部门、财务系统、员工管理。对上述的每个功能,用一个子系统来实现。下图给出了这些子系统以及它们之间的依赖。 工资管理系统中子系统以及它们之间的依赖: 此处给出子系统的部署图如下 上图中的子系“财务系统”要分别使用子系统“员工管理”、“工资管理”中的员工号码、员工姓名、员工工资。子系统“工资管理”要分别使用子系统“统计部门”和“员工管理”中的员工信息和统计的工资信息。 子系统“统计部门”要使用子系统“员工管理”中的员工信息。

面向对象系统分析与设计教学大纲

《面向对象系统分析与设计》教学大纲 一、课程的性质和任务 面向对象系统分析与设计课程是计算机科学与技术本科专业的一门重要的专业课。通过本课程的学习,使学生在已有的计算机软、硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握面向对象系统分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析、设计与实现)的能力。 二、课程的基本要求 1.掌握系统分析与设计的基本概念和方法。 2.掌握面向对象的基本概念。 3.掌握面向对象系统分析与设计的常用方法和UML统一建摸语言。 4.能运用面向对象系统分析与设计的基本技术方法和开发工具,承当软件 项目的开发,设计和管理。 三、课程的核心 1.基本概念:系统、系统分析与设计、面向对象基本概念(对象和类、属 性、消息、方法等) 2.基本方法:面向对象系统分析与设计方法(包括OMT方法、UML统一建模语言等)、项目管理方法 四、预备知识 在学习本课程之前,应具有计算机、网络和数据库的基础知识、并应至少掌握一门面向对象程序设计语言(如VC++、JAVA或VB),至少掌握一种数据库管理系统(如ORACLE、SQL SERVER或ACCESS)的使用。 五、教学环节 本课程由课堂教学、实验和课程设计等教学环节组成。针对本课程的特点:技术新、外文资料多,课堂教学采用双语教学方式,使用多媒体教学手段,将理论教学与案例讲解、实际系统演示相结合,使学生系统掌握本课程的基本理论知

识以及方法和技术;实验环节中要求学生学习并熟练掌握一种或几种流行的系统建模工具、数据库和编程语言以及项目管理软件的使用;课程设计环节包括设计题目的讨论、分析、设计和实现,通过课程设计使学生将理论应用于实践,加强学生对实际问题的分析和解决能力,以及团体协作和项目管理能力。通过这些教学环节,将学生培养成为基础理论扎实、动手能力强,并且能力全面的综合型人才。 六、教学内容 (一)课堂教学内容 第一章系统分析与设计概论 (Introduction to System Analysis and Design) 1.1系统分析与设计基本概念 (What is System Analysis and Design) 1.1.1 系统和信息系统 (System and Information System) 1.1.2 系统分析与设计 (System Analysis and Design) 1.1.3信息系统生命期和信息系统开发生命期 (System Life Cycle and the Process of System Development) 1.1.4 信息系统分析和设计的基本原则 (The Principles for System Analysis and Design) 1.2系统开发模型和方法 (System Development Models and Methods) 1.2.1 常用模型: 瀑布模型(Waterfall Model) 螺旋模型(Spiral Model) 喷泉模型(Fountain Model) 1.2.2 结构化系统分析与设计方法

《面向对象分析与设计》课程设计

《面向对象分析与设计》课程设计 (一)、课程设计题目: 图书管理系统 (二)、目的与要求: 1、目的: 1)要求学生达到熟练掌握面向对象的思想和机制。 2)掌握面向对象分析与设计的基本思路和方法 3)能够利用所学的基本知识和技能,解决简单的面向对象的分析与设 计问题 2、要求: 1)要求利用面向对象的方法及思想完成系统的分析与设计 2)要求在分析与设计的过程中,建立清晰的类层次。 3)给出需求问题描述 4)建立用况模型(用况图),并给出主要用况的描述 5)建立静态模型(类图) 6)建立动态模型 ?主要对象的顺序图 ?主要对象的状态机图 7)设计 ?系统设计 ?人机界面设计 (三)、系统的功能要求 该系统可以实现图书的借阅、还书,图书库存管理等功能,节省了管理成本,节约了管理费用,加快了借阅速度。主要包括帐号管理、图 书库存管理、图书借阅管理、还书管理等项内容 (四)、课程设计存档说明 1.封面 封面包括:课程设计题目、组名、组员姓名、学号、班级、设计时间等信息。 2.正文 具体由以下几部分组成: 1)项目的名称 2)项目的主题、设计目的 3)系统的功能需求

4)需求模型 5)系统分析 6)系统设计包括:问题域的设计和界面部分的设计 7)本次设计的收获 8)设计报告中有待改进提高之处 9)设计实践过程中的自我感想。 注:关于格式,一级标题采用三号宋体,加粗,二级标题采用小三号宋体,加粗,三级标题采用四号号宋体,加粗;正文:中文用宋体,小四,英文用Times New Roman,小四,采用1.25倍行距,首行缩进2字符。 (五)上交纸质版的课程设计报告、上交截止时间第17周周五下午三点之前。(最好以班为单位上交)

面向对象分析与设计期末复习材料

面向对象分析与设计期末复习材料一、选择题(24分) 说明:每题只有1个正确答案,请将正确答案填写在下面表格中。 1.下面()不是对象具有的特性。 A 标识 B 继承 C 顺序 D 多态 2.构成对象的两个主要因素是: A 属性和服务 B 标识和内容 C 继承和多态 D 消息和封装 3.描述对象之间静态联系的是:() A 一般-特殊结构 B 整体-部分结构 C 关联 D 消息连接 4.下面描述中()不是使用模型的目的。 A 建立目标系统之间进行测试 B 以可视化形式出现,便于与用户交流 C 降低系统开发的复杂性 D 在开发过程中使用面向对象方法 5.下面关于动态模型的描述中正确的是 A 事件是在一段时间内持续存在的,它在对象之间传送信息。 B 动作是一种瞬间操作,它与某个事件有关。 C 状态是对象的属性值和链接的抽象,因此它定义了对象属性的全部值。 D 活动是需要花费时间来完成的,因此它决定的对象的状态迁移。 6.目标系统外部的执行者不包括:D A 人 B 外部设备 C 外部系统 D 数据存储 7.关于时序图的描述中错误的是()。 A 显示了各种对象的方法的执行顺序 B 能够反应对象生存周期 C 其中横向箭头表示尾部连接的对象的方法执行后向头部连接的对象传递数据 D 可以用来描述用例图中某个用例的时序行为 8.在类设计过程中引入类不变式的目的是达到系统设计的()。 A 正确性 B 健壮性 C 灵活性 D 高效性 9.多态性出现在具有()结构的类之间。

A 整体-部分 B 一般-特殊 C 实例连接 D 消息连接 10.商业领域包含一个公司中有价值的类,以下不属于商业领域的是: A 相互关系类 B 属性类 C 角色类 D 事件管理类 11.下列关于软件体系结构的描述中错误的是(): A 描述一个结构需要几个模型,如用例模型、类模型、数据流模型和状态模型 B 一个体系结构中的各个模块之间关系较密切,因此要求它们之间耦合度较高 C 使用框架是为了能重用类、类之间的关系或预编程的控制 D 软件体系结构本质上是一个数据流、一个独立组件集、一个虚拟机、一个储存库或层。12.关于面向对象分析与设计的叙述中正确的是(): A 因为我们要重用类,所以在分析设计过程中不能过早确定领域类 B 面向对象方法是从功能开始而不是从组成部分开始 C 用例需要描述是面向对象分析与设计的起点 D 通过用例分析和时序分析可以获得全部的问题领域类 二、判断题(10分) 判断下列类之间的关系,把相应编号填写在括号中(A 聚合 B 继承 C 关联 D 都不是) (继承)1.大学–学院 (关联)2.学生–课程(继承)3.学生–大一新生(聚合)4.汽车–车门(继承)5.货车–交通工具(关联)6.公共汽车–车站 (聚合)7.工具条–按钮 (都不是)8.汽车发动机–汽车车体(聚合)9.员工–公司 (都不是)10.本科生–研究生 三、简答题(24分) 1.分析下面的类图,画出新的类图,将原图中的多对多关系转换为1:M(一对多)关系。 2.问题描述:一个简单的下棋游戏,游戏双方称为黑方和白方。白方首先走第一步,然后黑白双方轮流走棋。如果有一方不能继续走棋,则另一方获得胜利,游戏结束;如果比方同意平局,则游戏结束。请画出该问题的

面向对象分析与设计

1.面向对象的基本原则主要有:抽象、分类、封装、消息通信、多态性、行为分析和复杂性控制。 2.多态:一般类和特殊类可以有相同格式的属性或操作,但这些属性或操作具有不同的含义。 3.封装的目的是什么?在面向对象方法中封装的目的是如何达到的? 使对象能够集中而完整地对应并描述具体的事物,体现事物的相对独立性,增加了对象的内聚度。 对象的外部只允许通过由对象提供的外部可用的操作来访问其内部,这也降低了对象间的耦合度。 面向对象方法中的封装就是用对象把属性和操纵这些属性的操作包装起来,形成一个独立的单元。 4.面向对象的主要优点? ①改变了开发软件的方式。无论是系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可以直接映射到问题域。 ②使得客观世界到计算机的语言鸿沟变窄。 ③使分析与设计之间的鸿沟变窄 ④有助于软件的维护与复用 ⑤有助于提高软件的质量和生产率 5.UML2.4规范由四个部分组成:基础结构、上层结构、对象约束语言和图交换。 6.UmL2.4支持的模型图在逻辑上分为两大类:结构图(静态)和行为图(动态)。 结构图:类图、包图、对象图、组合结构图、构件图、部署图、外扩图。 行为图:用况图、顺序图、状态机图、活动图、交互图、交互概览图、通信图、定时图。 7.什么是OOA以及与OOD的区别? Object-Oriented Analysis,就是运用面向对象方法进行进行系统分析。强调运用面向对象方法,对问题域和系统责任进行分析与理解,找出描述问题域和系统责任所需要的对象,定义对象的属性、操作以及对象之间的关系,目标是建立一个符合问题域、满足用户需求的OOA模型。 而Object-Oriented Design,是针对系统的一组具体的实现条件,继续运用面向对象的建模语言进行系统设计。包括两个方面:①根据实现条件对OOA模型做某些必要的修改和调整②针对具体实现条件,建立人机界面、数据存储和控制驱动等模型。 关系:OOA和OOD追求的目标不同,但采用一致的概念、原则和表示法,OOD以OOA 为基础,只需必要的修改和调整,或补充某些细节,并增加几个与实现有关的相对独立部分。因此,OOA与OOD之间不存在像传统方法中那样的分析与设计之间的鸿沟,二者能紧密衔接,大大降低了从OOA过渡到OOD的难度和出错率。 8.软件中的分析面临的主要问题:对问题域和系统责任的正确理解、人与人之间的正确交流、如何应对需求的不断变化以及软件复用对分析的要求。 9.问题域:被开发系统的应用领域。系统责任:被开发系统应该具备的职能。 10.OOA模型?P19 OOD模型?P105 11.类图的主要构成成分:类、属性、操作、泛化、关联和依赖。 ①对象层:给出系统中所有反映问题域与系统责任的对象。 ②特征层:给出每一个类(及其所代表的对象)的内部特征,即给出每个类的属性和操作。 ③关系层:给出各个类(及其所代表的的对象)彼此之间的关系。 12.如何画用例图(注:要有用例的描述)?P25 13.用况图:是一副由参与者、用况以及这些元素之间的关系组成的图。 14.如何画类图?P50

面向对象的分析与设计期末考试试卷(F卷)

面向对象的分析与设计期末考试试卷(F卷)一、选择题(30分) 说明:每题2分,只有1个正确答案,请将正确答案填写在下面表格中。 1. 一个设计得好的面向对象系统具有()特征。 A 低内聚、低耦合 B 高内聚、低耦合 C 高内聚、高耦合 D 低内聚、高耦合2.构成对象的两个主要因素是()。 A 属性和服务 B 标识和内容 C 继承和多态 D 消息和封装 3. 下面描述中()不是使用软件模型的目的。 A 可以更好地理解问题 B 可以更早地发现错误或疏漏的地方 C 可以为最后代码的生成提供依据 D 在开发过程中使用面向对象方法 4. 下列事物中一般不是目标系统的外部参与者的是()。 A 人 B 外部设备 C 外部系统 D 数据存储 5. 下面()可以描述一个用例中多个对象之间的相互协作关系以及协作过程的行为次序。 A 交互图 B 状态图 C 对象图 D 用例图 6. 统一过程(或称RUP)所提出的迭代开发过程是()。 A 一种结构化开发方法,该方法给出了功能分解有具体步骤 B 一种管理软件开发的过程复杂性和对变更进行规划的技术 C 一种自顶向下的开发过程,且开发过程没有使用数据流图 D 是RUP中最重要的特点 7. 下列描述中正确的是()。 A 消息可以由被动对象发送到主动对象 B 状态图中,动作可以被中断而活动不能被中断 C 构件图中,一个构件和一个接口之间只能存在实现关系 D 状态图不适合于描述跨多个用例的单个对象的行为,而适合描述多个对象之间的行为协作 8. 根据下面的代码,可以确定类A与类B之间存在()关系。 public class A { private B theB; public void aMethod(){ theB.doSomthing(); } } A 关联 B 泛化 C 实现 D 包含 9. 面向对象的特点主要概括为()。 A 可分解性、可组合性、可分类性 B 继承性、封装性、多态性 C 抽象性、继承性、封装性、多态性 D 封装性、易维护性、可扩展性、可重用性

相关文档
最新文档