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

合集下载

uml系统分析与设计uml系统建模基础教程课后习题答案.docx

uml系统分析与设计uml系统建模基础教程课后习题答案.docx

UML系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP开发模型2.选择题(1) C(2) A B C D(3) A B C D(4) A B C(5) A3.简答题1.试述对象和类的关系。

(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对彖是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类対象的抽象就是类.类描述了一组有相同特性和相同行为的对象。

第二章UML通用知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2.选择题(1) D(2) C(3) A(4) A B(5) D3.简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。

(2)请说出构件的种类。

构件种类有:源代码构件、二进制构件和可执行构件。

(3)请说出试图有哪些种类。

在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。

(4)请说出视图和图的关系。

视图和图是包含和被包含的关系。

在每一种视图中都包含一种或多种图。

(5)请简述UML的通用机制。

UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。

逋常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML 建模。

UML提供的这些通用机制,贯穿于整个建模过程的方方面面。

前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。

第三章Rational统一过程1.填空题(1)角色活动产物工作流(2)逻辑视图过程视图物理视图开发视图用例视图(3)设计开发验证(4)二维(5)周期迭代过程里程碑2.选择题(1) A B C D(2) A C D(3) A C D(4) A B C(5) A B C D3.简答题(1)请描述迭代过程有几个阶段。

面向对象练习题

面向对象练习题

面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。

该音像商店将存有大约1000 盘录像带和500 张光碟,这些订购涉及多家订购商。

所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。

客户可以预定录像带并在指定日期来取。

系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。

评分标准:画图格式标准3 分,用例全面正确4 分,角色与用例之间的关系正确3 分2.试用用例图描述小型图书资料管理系统。

某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。

图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。

注册用户可以通过Internet 随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。

系统可以提供适当的浏览器供用户阅读电子文献资料。

3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。

各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。

当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。

此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。

技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充一下功能:1)旅客延误了取票时间的处理2)航班取消后的处理4 .请就此需求建立功能模型:某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。

UML面向对象设计与分析 课后习题答案

UML面向对象设计与分析 课后习题答案

读卡机 插入IC卡
显示屏
输入设备
接爱IC卡
客户管理
显示输入密码请求
查询密码
输入密码
传送密码
显示服务类型请求 输入取款请求
显示可选的取款金额请求 输入取款金额
查询服务类型 传递取款请求
查询取款金额
传送金额
出钞 取钞
点钞机
事务管理
消息1 确认密码合法
2.为下面打印文件时的工作流建模通信图: 用户通过计算机指定要打印的文件。 打印服务器根据打印机是否空闲,操作打印机打印文件。 如果打印机空闲,则打印机打印文件; 如果打印机忙,则将打印消息存放在队列中等待。 该系统共有四个对象 Computer、PrintServer、Printer 和 Queue。
credit card
+Verify()
0..*
n
sale
+Update()
check n
+verify()
0..*
inventory
+Load()
1
n +Save()
+Update()
第 4 章 活动图
2.运用本书前面介绍有关活动图的相关知识,根据图 4-33 的图书馆管理系统还书用例建模 该用例的活动图。综合运用所学到的标记符,包括活动、转移、控制点、泳道、分叉和汇合
其中,后两个类是 Instructor 类的子类。 (5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助
理,一名教授可以有 5 名教师助理”的模型。创建 TeacherAssistant 类,并使其与 Teacher 类和 Professor 类都建立关联。
(6)将 TeacherAssistant 类建模为 Graduate 类的派生类。

UML2面向对象分析与设计(第2版)

UML2面向对象分析与设计(第2版)

5.3架构分析 5.4构造用例实现
5.5定义分析类
5.6练习题
6.1设计需要原则
6.2 Liskov替换原 则
6.3开放—封闭原则 6.4单一职责原则
6.6依赖倒置原则
6.5接口隔离原则
6.7练习题
01
7.1模式与 设计模式
02
7.2 GoF模 式
03
7.3更多的 设计模式
04
7.4职责分 配模式
UML2面向对象分析与设计(第2 版)
读书笔记模板
01 思维导图
03 读书笔记 05 目录分析
目录
02 内容摘要 04 精彩摘录 06 作者介绍
思维导图
本书关键字分析思维导图
设计
软件开发

方法
基础
设计
问题
面向对 象分析
分析

面向对象
业务

模型

建模
结构
架构
原则
内容摘要
内容摘要
分析和设计是软件开发中至关重要的一环,面向对象的方法是主流的软件开发方法,UML是用于面向对象分 析设计的标准化建模语言。本书围绕这3个方面展开,以论述分析设计建模过程为最终目标,以面向对象方法作为 建模的理论基础,以UML作为建模支撑语言。全书从面向对象和UML的基本概念入手,循序渐进地讲解业务建模、 需求建模、需求分析、设计原则和模式、架构设计、构件设计和代码生成等分析设计中的各个知识点,并通过多 个贯穿全书的案例将各个知识点串联起来,形成一套完整的面向对象分析设计方法论。本书是作者多年从事软件 工程教学和软件项目开发实践的总结,书中并没有太多抽象的概念,主要**实际软件开发中所需要的知识和实践 技能,力求做到通俗易懂。

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

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

《面向对象分析与设计》练习题及参考答案一、思考题: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?16. 面向过程的系统分析与设计存在的问题是什么?通过什么OO技术来解决?17. 请画图说明面向对象系统的基本构造。

java面向对象编程练习题及答案

java面向对象编程练习题及答案

java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。

2. 描述Java中的继承是如何工作的,并给出一个继承的例子。

3. 解释Java中的多态性,并给出一个多态性的例子。

三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。

2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。

3. 创建一个名为`VehicleTest`的类,它包含`main`方法。

在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。

四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。

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

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

u m l面向对象的分析与设计考题与答案集团文件版本号:(M928-T898-M248-WU2669-I2896-《面向对象的分析与设计》练习题一、选择题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.用例之间的关系不包括以下哪种关系?DA.泛化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)是从用户使用系统的角度描述系统功能的图形表达方法。

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案

Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。

如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。

答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。

《面向对象系统分析与设计》期末综合练习题(答案版)

《面向对象系统分析与设计》期末综合练习题(答案版)

面向对象系统分析与设计期末综合练习题一、选择题1.Heave学院请Decoder软件公司开发一个新的OO课程系统,院长Tom宣布该系统一定要成为学院的great software,下面对于great software的说法正确的是?()(A)Decoder公司程序员满意软件。

(B)Heave学院师生满意的软件。

(C)价格最贵的软件。

(D)Decoder公司程序员和Heave学院师生都满意的软件。

2.Heave学院准备开发一个新的Java版的OO课程注册系统,该系统可以供学生查询期末成绩、教师统计班级成绩正态分布、教务统计GUITARIO各项能力在各门课程中的落实情况,而且随着历史数据的积累,今后还可能引入数据挖掘技术,为院长提供各届学生的整体进步情况,请问Decoder公司的系统架构师应该采用哪种设计模式来设计成绩统计模块()(A)状态模式(B)观察者模式(C)工厂模式(D)装饰者模式3.Heave学院原有的课程目录系统是用SmallTalk语言开发的,并向外部发不了一套访问接口。

学院为了节约成本,不准备重新开发该目录系统,为此Decoder需要设计一套与之兼容的Java接口对其进行封装。

这样可以更方便地将旧课程目录系统集成到新的系统中,同时为将来的升级留有余地。

请问系统设计师在设计时应该采用哪个设计模式?()(A)模版方法模式(B)适配器模式(C)观察者模式(D)外观模式4.Heave学院新的OO课程注册系统,可以与签约银行联网直接代收学费,但银行的业务逻辑错综复杂,为此Heave学院希望银行能够提供一套新的接口以屏蔽并简化原有业务操作的复杂性。

这套新接口设计上体现了哪个设计模式的思想()(A)适配器模式(B)观察者模式(C)装饰者模式(D)外观模式5.Heave学院的期末成绩统计可以饼状图、柱状图、曲线、表格等多种形式进行显示。

但不论何种形式显示,其统计算法census()需要通过prepareData()、generateChart()、saveChart()、showData()四个步骤,其中第1步与第2步对于不同的显示方式是不同的,那么系统设计师在设计该系统时,会使用哪个设计模式()(A)模版方法模式(B)观察者模式(C)适配器模式(D)外观模式6.Heave学院的历史数据挖掘器的设计很有挑战性,其难点在于院方要求各种形式的挖掘组件可以任意组合,任意拼装,每个挖掘组件完成独立的挖掘任务,互不干扰,组装后的挖掘器套件运行后,会形成一份报表,用以呈现挖掘结果。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

Java面向对象程序设计—习题和答案

Java面向对象程序设计—习题和答案
访问权限可分为4种:公共类型、私有类型、默认类型和保护类型
4.11
1.被继承的类一般称为___________或___________,继承的类称为___________。
2.在继承中发生的强制类型转换为___________。
3.设有下面两个类的定义:
class Person {}
class Student extends Person {
AWT是随早期Java一起发布的GUI工具包,是所有Java版本中都包含的基本GUI工具包,其中不仅提供了基本的控件,并且还提供了丰富的事件处理接口。Swing是继AWT之后Sun推出的又一款GUI工具包。Swing建立在AWT 1.1的,也就是说AWT是Swing大厦的基石
6.适配器是指实现了一个或多个监听接口的类,适配器类为所有的事件处理方法都提供了空实现。实际开发中在编写监听器代码时不再直接实现监听接口,而是继承适配器类并重写需要的事件处理方法,这样就避免了大量编写不必要代码的情况
}
则顺序执行如下语句后输出结果为:()
Father a;
Child b;
A、我是父类B、我是子类
我是子类我是父类
C、我是父类D、我是子类
我是父类我是子类
5.什么时覆盖,它有什么优点
6.this和super的作用是什么
7.什么是动态绑定
答案:
1.超类、父类、子类
2.引用类型转换
3.B
4.A
5.子类其自身的方法中,若与继承过来的方法具有相同的签名,便构成了方法的覆盖(有的资料称之为方法的重写)。覆盖的主要优点是能够定义各子类的特有行为
public static void main(String[] args) {
String s = "C://myFile/a/b/c/d/a.text";

(完整word版)UML面向对象分析与设计教程课后习题答案(胡荷芬高斐)选择题部分

(完整word版)UML面向对象分析与设计教程课后习题答案(胡荷芬高斐)选择题部分

UML面向对象分析与设计教程课后习题答案选择题第一章(1) 对象程序的基本特征是(ABCD)A.抽象B.封装C.继承D。

多态(2)类包含的要素有(ABC)A.名字B。

属性 C.操作D。

编号(3)下列关于类与对象的关系说法不正确的是(A)A.有些对象是不能被抽象成类的B。

类给出了属于该类的全部对象的抽象定义C.类是对象集合的再抽象D.类是用来在内存中开辟一个数据区,存储新对象的属性(4)面向对象方法中的(C)机制给予子类可以自动的拥有(复制)父类全部属性和操作.A。

抽象B。

封装C。

继承D。

多态(5)建立对象的动态模型一般包含的步骤有(ABCD)A。

准备脚本B。

确定事件C.准备事件跟踪表D.构造状态图第二章⑴UML中的关系元素包括(ABCD).A.依赖B。

关联C.泛化D。

实现⑵在UML中,定义了面向对象的事物,这些事物分为(ABCD).。

A。

结构事物B。

行为事物C。

分组事物D.注释事物⑶UML中的图包括(ABC)。

A.用例图B。

类图C。

状态图D。

流程图⑷UML的视图不包括(BCD).A.用例视图B。

类视图C。

状态视图D。

物理视图⑸下面不属于UML中的静态视图的是(ABC).A. 状态图B.用例图C.对象图D. 类图第三章(1)下列说法正确的是(ACD)A.在用例视图下可以创建类图B.在逻辑视图下可以创建构件图C.在逻辑视图下可以创建包D.在构件视图下可以创建构件(2)在Rational Rose 的逻辑视图下可以创建(ABCD) A.类图 B.构件图C.包 D.活动图(3)Rational Rose 建模工具可以执行的任务有(ABCD) A.非一致性检查 B.生成C++语言代码C.报告功能 D.审查功能(4)Rational Rose 中支持的视图不包括(D)A.逻辑视图 B.构件视图C.部署视图D。

机构视图(5)在构建视图下的元素可以包括(ABC)A.构件 B.构件图C.包 D.类第四章(1)类中的方法的可见性包括(ABC)A.privateB.publicC.protectedD.abstract(2)下面属于UML中类元的类型的是(ABCD)A.类B.对象C.构件D.接口(3)类之间的关系包括(ABCD)A.泛化B.关联C.实现D.依赖(4)下列关于接口的关系说法正确的是(ABCD)?A.接口是一种特殊的类B.所有接口都是有构造型<<interface>〉的类C.一个类可以通过实现接口从而支持接口所指定的行为D.在程序运行的时候,其他对象可以不仅需要依赖与此接口,还需要知道该类对接口实现的其他信息(5)下列关于类方法的声明正确的是(AB)A.方法定义了类所许可的行为B.从一个类所创建的所有对象可以使用同一组属性和方法C.每个方法应该有一个参数D.如果在同一个类中定义了类似的操作,则他们的行为应该是类似的第五章1.在Rational Rose 2003中,支持(ABCD)的构造模型A。

面向对象分析与设计(第二版)习题答案

面向对象分析与设计(第二版)习题答案

面向对象分析与设计(第二版)习题答案第一章:面向对象基础知识1.1 什么是面向对象分析和设计?面向对象分析和设计(Object-Oriented Analysis and Design,OOAD)是软件工程中一种常用的方法论,通过将问题领域进行建模,通过对象、类、继承、封装等概念来描述现实世界中的实体、关系和行为。

面向对象分析和设计的目标是开发出可复用、可维护、可扩展、高质量的软件系统。

1.2 面向对象分析和设计的优势有哪些?面向对象分析和设计有以下优势: - 高度模块化:通过将系统划分为多个独立的对象,便于理解和设计系统的各个部分。

- 可复用性:面向对象设计强调对象的复用,通过定义通用的类和接口,可以提高代码的复用程度。

- 可维护性:面向对象的封装特性使得系统的各个部分具有独立性,便于维护和修改。

- 可扩展性:通过继承和多态等特性,可以方便地扩展和修改系统的功能。

- 高可靠性:面向对象的封装和隐藏特性可以减少系统中的错误和安全漏洞。

- 开发效率高:面向对象的分析和设计提供了一种更自然的思考和描述问题的方法,可以提高开发效率。

第二章:面向对象建模2.1 对象的特征有哪些?对象具有以下特征: - 状态(State):对象的状态是对象的属性值的集合,表示对象的某个时刻的状态。

- 行为(Behavior):对象可以执行的操作,描述了对象能够做什么。

- 身份(Identity):每个对象都有唯一的身份,可以通过身份来区分不同的对象。

2.2 类和对象之间的关系有哪些?类和对象之间有以下关系: - 实例化(Instantiation):类是对象的模板,对象是类的一个具体实例。

- 继承(Inheritance):一个类可以继承另一个类的属性和方法。

- 聚合(Aggregation):一个类可以包含其他类的对象作为成员变量。

- 关联(Association):两个类之间存在某种关系,一个类的对象可以访问另一个类的对象。

UML面向对象分析与设计教程课后习题答案胡荷芬高斐简答题部分样本

UML面向对象分析与设计教程课后习题答案胡荷芬高斐简答题部分样本

简答题第一章1.面向对象设计基本特性有哪些?这些特性对软件设计有何协助?封装性继承性多态性在由封装, 继承,多态所构成环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性程序.通过仔细设计类层次构造是重用代码基本.封装能让程序员不必修改公有接口代码即可实现程序移植.多态能使程序员开发出简洁,易懂,易修改代码.2.类与对象区别是什么?类是抽象, 不详细。

就像有些东西可以归为一类, 例如说狗, 猫, 猪。

它们都是动物, 咱们就可以归为一类。

而猫, 狗就是动物类中一种对象。

3.什么是软件生命周期?生命周期涉及几种阶段?软件生命周期, 亦称软件生存周期。

它是按开发软件规模和复杂限度, 从时间上把软件开发整个过程(从筹划开发开始到软件报废为止整个历史阶段)进行分解, 形成相对独立几种阶段, 每个阶段又分解成几种详细任务,然后按规定顺序依次完毕各阶段任务并规定一套原则文档作为各个阶段开发成果, 最后生产出高质量软件。

分为: 普通分为定义, 开发, 维护三大阶段,定义阶段有可行性论证和开发筹划, 需求分析,开发阶段有概要设计, 详细设计和编码, 维护阶段有测试, 运营维护4.面向对象与uml关系?umL是统一建模图, 用于便于描述类之间关系等, 是用来协助你更好进行面向对象设计。

5.面向对象设计与老式软件相比,有何长处?更有针对性更容易让客户满意减少修改提高效率第二章1.uml模型元素有哪些?UML中模型元素太多了, 例如用例图中元素有用例, 角色, 扩展关系, 包括关系, 类图中元素有类, 接口, 关联等等, 每一种框图均有各自独有元素2.简述uml通用机制构成以及它作用?一、修饰。

在使用UML语言建模时, 可以将图形修饰附加到UML图中模型元素上。

例如, 当一种元素代表某种类型时候, 它名称可以用粗体字形类显示;当同一元素表达该类型实例时, 该元素名称用一条下划线修饰。

二、注释。

UML语言中用一条虚线将注释连接到它为之解释或细化元素上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象分析与及设计习题及答案一、单项选择题1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A. Simula67语言B. Smalltalk语言C. Java语言D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。

A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。

A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。

A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。

A. 类图B. 对象图C. 序列图D. 用例图7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。

A.对象图 B. 组件图 C. 类图 D. 配置图8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

A.对象图 B. 协作图 C. 状态图 D. 序列图9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。

A. 组件图B. 协作图C. 状态图D. 配置图10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。

A. 业务Use Case模型设计B. 逻辑数据模型设计C. 物理数据模型设计 C. 物理实现设计11.一个设计得好的OO系统具有(B)A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征12.下面()不是UML的基本构成元素。

(A)A. 控制语言B. 基本构造块C. 规则D. 公共机制13. 面向对象的特点主要概括为(C)。

A. 可分解性、可组合性、可分类性B. 继承性、封装性、多态性C. 抽象性、继承性、封装性、多态性D. 封装性、易维护性、可扩展性、可重用性14.构成对象的两个主要因素是(A)。

A. 属性和服务B. 标识和内容C. 继承和多态D. 消息和封装15.下列关于面向对象方法中描述中错误的是(C)。

A. 使用设计模式有助于在软件开发中应用面向对象技术B. 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C. UML作为一种可视化建模语言需要与RUP开发过程同时使用D. 目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法16. 顺序图主要可以为设计人员提供(A)信息。

A. 消息发送的顺序B. 某个方法的执行流程C. 类之间关联关系的多重性D. 某个对象在不同状态之间的转移17. 类和接口的关系类似于下面哪种类型的关系(D)。

A. 关联(association)和聚集(aggregation)B. 关联(association)和组合(composition)C. 脚本(scenario)和用例(use case)D. 包(Package)和子系统(subsystem)18. 在类图中,那个类图中的类Order所生成的代码具有Public class Order{Public Customer recipient;}的形式?(A)A. B.C. D.19. 下面那个图符表示UML中的实现关系?(C)A. B.C. D.20. 一个银行业务系统采用如图琐事的配置图,则错误的是(D)A. 与GUI有关的类应该部署在Branch Client上B. 这个图表示一个三层的体系结构,不管Branch Client、Financial App Server、DatabaseServer是运行在同一台机器上还是在不同机器上C. 为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在Financial AppServer上D. 为了系统的可伸缩性,与业务逻辑有关的对象应该部署在Branch Client上21. 关于用例与类的对比中(D)是错误的。

A 都属于模型结构元素B 都存在继承关系C 类描述系统的部分静态视图,用例描述系统动态的行为视图D 类描述的是系统的内部构成,用例也可以描述系统的内部构成22. Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。

在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。

为了描述这些算法,在下面这些图中,那个是最适合的?(A)(注:活动图可以用来描述细节)A. 活动图B. 状态图C. 类图D. 用例图23. 计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。

那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A. 泛化关系(Generalization)B. 实现关系(Realization)C. 包含关系(Inclusion)D. 聚集关系(Aggregation)24. 在状态图中不能表示下面那些概念?(D)A. 动作(action)B. 事件(event)C. 转移(transition)D. 类(class)25.在数据库设计的 C 阶段开始考虑具体的数据库管理系统(DBMS)的特性。

(C)A. 需求分析B. 概念设计C. 逻辑设计.D 物理设计26.在UML中,有3种基本构造块,分别是(A)A. 事物、关系和图B. 注释、关系和图C. 事物、关系和结构D. 注释、关系和结构27.在UML中,有四种关系,下面哪个不是(B)A.依赖关系B.继承关系C.泛化关系D.实现关系28.下面哪个不是UML中的静态视图(B)A.状态图B.用例图C.对象图D.类图29.在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)30.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。

用例之间是具有相关性的。

在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。

那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是(B)关系A.扩展(extend)B.包含(include)C.分类(classification)D.聚集(aggregation)31.UML中类的有三种,下面哪个不是其中之一(B)A.实体类B.抽象类C.控制类D.边界类32.阅读图例,判断下列哪个说法是错误的。

(c)A.读者可以使用系统的还书用例B.每次执行还书用例都要执行图书查询用例C.每次执行还书用例都要执行交纳罚金用例D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例33.关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织;B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号;D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;34. 设计模式具有的优点(a)。

A.适应需求变化B.程序易于理解C.减少开发过程中的代码开发工作量 D.简化软件系统的设计35. 设计模式一般用来解决什么样的问题(a)。

A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是36. 设计模式的两大主题是(d)。

A.系统的维护与开发 B 对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展37. 以下哪些问题通过应用设计模式不能够解决。

(c)A)指定对象的接口B)针对接口编程C)确定软件的功能都正确实现D)设计应支持变化38. 外观模式的作用是(b)。

A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。

B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。

C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。

D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。

39. Façade(外观)模式的意图是(a)。

A. 希望简化现有系统的使用方法。

你需要定义自己的借口。

B.将一个无法控制的现有对象与一个特定借口相匹配。

C. 将一组实现部分从另一组使用它们的对象中分离出来。

D.你需要为特定的客户(或情况)提供特定系列的对象。

40. Adapter(适配器)模式的意图是(B)。

A. 希望简化现有系统的使用方法。

你需要定义自己的接口。

B.将一个无法控制的现有对象与一个特定接口相匹配。

C. 将一组实现部分从另一组使用它们的对象中分离出来。

D.你需要为特定的客户(或情况)提供特定系列的对象。

41. 下面不属于创建型模式的有(C)。

A.抽象工厂模式(Abstract Factory )B.工厂方法模式(Factory Method)C.适配器模式(Adapter)D.单例模式(Singleton)42. 将一个类的接口转换成客户希望的另一个接口。

这句话是对下列哪种模式的描述(C)。

A. 策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)43. 以下关于结构型模式说法不正确的是。

(B)A)结构型模式可以在不破坏类封装性的基础上,实现新的功能。

B)结构型模式主要用于创建一组对象。

C)结构型模式可以创建一组类的统一访问接口。

D)结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。

44. 关于继承表述错误的是:(D)。

A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。

B.泛化类(超类)可以显式地捕获那些公共的属性和方法。

特殊类(子类)则通过附加属性和方法来进行实现的扩展。

C.在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。

相关文档
最新文档