面向对象分析与设计练习题含答案
- 格式:doc
- 大小:608.50 KB
- 文档页数:25
面向对象分析与及设计习题及答案一、单项选择题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)等。
面向对象分析与设计试题B卷及答案面向对象分析与设计试题(2011.12)一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号写在答题纸上。
每小题 1 分,共20 分)1.下列活动中,__C___ 属于面向对象设计阶段。
A.构建用例模型 B.识别分析类C.用例动态建模 D.绘制组件图2.面向对象方法认为客观世界是由各种各样的事物或实体组成,每个事物或实体都可用一个___D__来表示。
A. 实例B. 类C. 类模板D. 对象3. __B___可作为一种用户自定义类型来创建对象。
A. 实体B. 实例C.类D. 类模板4. __B___是对象之间的通信机制。
A. 成员函数B. 消息C. 参数表D. 友元函数5._D_____是实现“一种接口,多种方法”的机制。
A. 抽象B. 封装C. 多态D. 继承6. 下列原则中,__B____不是类的设计应遵循的三条基本原则之一。
A. 封装原则B. 开放/封闭原则C. 最小惊讶原则D. 单一功能原则7. 一个类的友元函数可以访问该类中的__B____。
A. 私有成员B. 受保护性成员C. 公有成员D. 所有成员8. 当要创建对象时,__D____将被调用来为对象做初始化。
A. 静态成员函数B. 友员函数C. 构造函数D.析构函数9. ___C___是实现“一种接口,多种方法”的技术。
A. 抽象B. 封装C. 多态D. 继承10. 如果某基类的一个成员函数被说明为___D___,则该成员函数在派生类中可以有不同的函数实现。
A. 内联函数B. 静态函数C. 友元函数D. 虚函数11. 在二进制模式下,可利用文件输入/输出流类中定义的__C____函数将所有数据以字符形式存储到文件里。
A. loadB. saveC. writeD. read12. 基类中的public 成员,通过protected派生,其在派生类中的可见性为___D___。
A. privateB. 不可访问C. publicD. protected13. __D____是数据类型抽象化或参数化的类。
面向对象分析与设计试题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)等。
面向对象阐发与设计试题 一、单项选择题 ( 在每题的四个备选答案中,选出一个正确答案,并将正确答案的序号 填在题干的括号内。
每题1 分,共 20 分 )3.以下不属于面向对象技术的底子特征的是〔A. 封装性B.模块性C.多态性B 卷〕。
D.担任性4. 面向对象程序设计将描述事物的数据与 ( )封装在一起 , 作为一个彼此依存、不成分割的整体来措置。
A. 信息B.数据隐藏C.对数据的操作 D. 数据抽象〔 〕。
5. 关于面向对象方法的长处,以下不正确的表达是A. 与人类习惯的思维方法比较一致B.可重用性好 可维护性好C. 以数据操作为中心D. ( )。
8. 以下不属于类的成员函数的是A. 构造函数9. 担任机制的作用是 ( )。
A. 信息隐藏B.数据封装 C. 派生新类 B.析构函数 C.友元函数D. 拷贝构造函数D. 数据抽象14. 〔 〕是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B.C.D.对象图序列图, 它是面向对象设计的核心,成立状态图、协 用例图15. ( )是表达系统类及其彼此联系的图示作图和其他图的根底。
A .对象图B.组件图C.类图D.配置图16. 〔 〕描述了一组交互对象间的动态协作关系,它暗示完成某项行为的对象和这些对象之间传递动静的时间挨次。
A .对象图B.协作图C.状态图D.序列图17. 〔 〕就是用于暗示构成分布式系统的节点集和节点之间的联系的图示,它可以暗示系统中软件和硬件的物理架构。
A.组件图B.协作图C.状态图D.配置图18. 在用 UML 进行数据库的阐发与设计过程中, ( )就是进行数据库的需求阐发,使用用例图、类图、挨次图、活动图等成立业务模型。
A. 逻辑数据模型设计 C. 物理数据模型设计B 业务 Use Case 模型设计 D.物理实现设计19. 使用 UML 进行关系数据库的〔 〕时,需要设计出表达持久数据的实体类及其联系, 并把它们映射成为关系数据库表〔 Table) 、视图 (View) 等。
课程考试参考答案与评分标准一、单项选择题一、单项选择题 ( ( 每小题每小题每小题 1 1 分,共分,共分,共 20 20 分 ) 1.D 2. B 3.B 4.C 5. D 6. C 7.D 8.C11.B 12.B 13.B 14.D 15. D 16. C 17.D 18. C 19. C 二、填空题二、填空题 ( ( 每空每空每空 1 1 分,共分,共分,共 20 20 分 ) 1、抽象、抽象 2 2、基础结构、基础结构、基础结构 3 3、用况、用况 4 4、对象5、类、类 6、属性7、继承8、聚合9、参与者1010、模型元素、模型元素、模型元素 三、三、. . 简答题(每小题6分,共30分)分) 1. 简述面象对象有哪些特点?简述面象对象有哪些特点?以面向对象的分析为基础、一般不依赖于结构化分析。
(3分)分) 与相应的OOA 方法共同构成一种OOA&OOD 方法体系。
(1分)分) 较全面地体现了面向对象方法的概念与原则。
(2分)分)大多数OOD 方法独立于编程语言,但具体应用OOD 时,则要考虑特定的编程语言。
2. 简述面向对象技术的三大机制。
简述面向对象技术的三大机制。
答:(答:(11)封装性)封装性(encapsulation) (encapsulation)所谓封装就是把对象的属性和行为结合成一个独立的单位,使外界不能直接访问或修改这些数据和代码,外界只能通过对象提供的接口函数来改变或获取对象的属性数据,这就实现了消息隐蔽。
(取对象的属性数据,这就实现了消息隐蔽。
(22分)分) (2)继承性)继承性如果在一个已定义的类上,如果在一个已定义的类上,增加一些特殊属性或操作,增加一些特殊属性或操作,增加一些特殊属性或操作,可以形成一个新的类,可以形成一个新的类,这个类不仅继承了前一个类的全部特征,这个类不仅继承了前一个类的全部特征,而且具有新的特性,而且具有新的特性,而且具有新的特性,因此可看作前一因此可看作前一个类的特例,是对前一个类的继承。
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)是从用户使用系统的角度描述系统功能的图形表达方法。
面向对象系统分析与设计期末综合练习题一、选择题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学院的历史数据挖掘器的设计很有挑战性,其难点在于院方要求各种形式的挖掘组件可以任意组合,任意拼装,每个挖掘组件完成独立的挖掘任务,互不干扰,组装后的挖掘器套件运行后,会形成一份报表,用以呈现挖掘结果。
1、下列哪个是Java应用程序主类中正确的main方法(D )。
A、public void main(String args[])B、static void main(String args[])C、public static void main(String args)D、public static void main(String args[])2、下列哪个是JDK提供的编译器(B)。
A、java.exeB、javac.exeC、javap.exeD、javaw.exe3、下列那个可以作为Java标识符(D )。
A、boy-girlB、2int_ longC、byteD、$Boy4、正则表达式([0-9]{3})-([a-z]{3})-([a-z]*?ab) 与下列哪个字符串相匹配(D)。
A、123-abc{3}-cabB、123{3}-abc-cabC、123-abc-cbD、123-abc-ccab5、下列那个类的声明是错误的(A)。
A、final abstract class AB、final class AC、abstract class AD、public class A6、下列叙述那个是正确的(A)。
A、final 类不可以有子类B、abstract类中只可以没有abstract方法C、abstract类中可以有非abstract方法,但该方法不可以用final修饰D、可以同是用final 和abstract修饰一个方法7、下列叙述那个是错误的(C)。
A、String类是final类,不可有子类B、String类在ng包中C、"abc"=="abc"的值是falseD、"abc".equals("abc")的值是ture8、下列叙述那个是正确的(B)。
A、Frame类对象的默认的布局是FlowLayout布局B、Panel类对象的默认的布局是FlowLayout布局C、Button类的直接父类是ContainerD、TextField对象可以触发ItemEvent事件9、假设组建com的宽和高分别为w和h,要讲组件的中心放置在(x,y)坐标点上,请问下列那个是正确的放置方法(A)。
第6章练习题解答一、单选题1. 聚合线上的黑钻石意味着( D )A. 通过值聚合B. 此聚合是复合C. 部分与整体关系D. 前面所有的2. 状态机图是由状态和( C )引发的转换的图A. 活动B. 触发器C. 事件D. 前面所有的3. 下面哪些发现类的方法与模糊类的概念有关?( C )A. CRCB. 用例驱动法C. 名词短语方法D. 公共类模式方法4. 子类中一些继承来的特性被覆盖,这种继承称为( C )A. 扩展继承B. 方便继承C. 限制继承D. 以上都不是5. 下面哪一个操作符是定义并行片段的,考虑了所包含行为的交替执行( D )A. OptB. LoopC. AltD. Par6. 类之间关系不包括( D )A. 依赖关系B. 泛化关系C. 实现关系D. 分解关系7. 顺序图中的消息的组成不包括( A )A. 接口B. 活动C. 发送者D. 接受者8. 下列( C )不用来表示软件体系结构A. 包图B. 构件图C. 用例图D. 部署图9. 下面哪种UML模型图描述软件与硬件的系统结构?( D )A. 包图B. 构件图C. 类图D. 部署图10. 以下哪项不是发现类的方法?( D )A. 用例驱动法B. 名词短语方法C. 类-职责-协作者方法D.头脑风暴法二、判断题1. 类图的目的是描述系统的运行方式。
(×)2. 接口是构造型为《interface》的类,类可以通过实现接口而支持接口指定的操作。
(√)3. 顺序图是对象之间传递消息的时间顺序的可视化表示。
(√)4. 顺序图中所有对象在程序一开始运行的时候,其生命线就必须存在。
(×)5. 通信图和顺序图语义等价,可以相互转换。
(√)6. 处于相同状态的同类不同对象对同一事件的反应往往是一样的,而处于不同状态的同一对象则对同一事件会作出不同反应。
(√)7. 只要将包中元素的可见性设为公共的,则其它包就可以访问它。
(×)8. 聚合与泛化都是面向对象系统支持功能复用的技术。
《面向对象分析与设计》练习题及参考答案一、思考题:1 ・ How many phases are in eluded in system developme nt? (brief description)2. Describe a system and the comp on ents of a system model.3. What two key comp orients distinguish an in formati on 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 designers and system builder's roles in information systems developme nt?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. 而向过程的系统分析与设计存在的问题是什么?通过什么00技术来解决?仃•请湎图说明而向对象系统的基本构造。
面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2 分,共20 分)/* 上个世纪80年代开始至今还盛行的以Smalltalk,C++等为代表的面向对象软件开发方法(00)*/1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言(20世纪70年代的Simula-67是第一个面向对象的语言)B. Smalltalk语言(80年代初的Smalltalk语言)C. Java语言(对流行的语言进行面向对象的扩充得到的语言或C++)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. 物理数据模型设计D. 物理实现设计二、填空题( 每空1 分,共20 分)1. 面向对象开发方法一改过去传统的以____功能分析和供能分解_为基础的____面向过程_____的结构化分析与设计方法,它模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列_对象_的集合,其___面向对象的设计__又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的__概念___,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题_描述空间_与_解空间__在结构上尽可能一致。
因此,采用面向对象方法可以更有效地开发大型软件系统。
面向对象方法的___封装___、_继承__、_多态___等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服_____软件危机__。
因此,它已成为成熟的广为采用的软件开发方法。
2. 对象是客观实体的抽象表示,是由____数据_________和______对数据的操作______两部分组成。
而_类___是对具有相同属性和行为的一组对象的抽象描述。
因此,它可作为一种用户自定义类型和创建对象的样板,而按照这种样板所创建的一个个具体对象就是类的__实例____。
通过___继承__关系又可形成一种类层次结构。
3. UML中用于描述系统的静态建模的视图称为静态视图,包括___用例图___、____类图____、___对象图______、__组件图________和_____配置图_____。
三、写出下列程序的输出结果。
( 满分10 分)#include <iostream.h>#include <string.h>class Person{public:Person(char *s){name=new char[strlen(s)+1];strcpy(name, s);}virtual void print(){ cout<<”My name is”<<name<<endl; }protected:char *name;};class Student:public Person{ public:Student(char *s, float g):Person(s) { avg=g; }void print(char *s){ cout<<s<<”My name is “<<name<<”and my grade is”<<avg<<endl; }private:float avg;};class professor:public Person{ public:Professor(char *s, int n):Person(s) { publs=n; }void print(){ cout<<”My name is”<<name<<” and I have”<<publs<<” publication.”<<endl; }private:int publs;};void main(void){ Person *p;Person x(“Zhang”);Student y(“Wang”, 4, 2);Professor z(“Liu”, 5);p=&x; p->print();p=&y; p->print();p=&z; p->print(); }四. 简答题(每小题5分,共20 分)1. 简述面向对象软件开发方法的优点。
(1)把软件系统看成是各种对象的集合,这更接近人的思维(2)软件需求的变动往往是功能的变动,而功能的执行者一对象一般不会有太大的变化。
这使得按照对象设计出来的系统结构比较稳定(3)对象包括属性和方法。
对象把属性和方法的具体实现方式一起封装起来,这使得方法与之相关的属性不再分离,提高每个子系统的相对独立性,从而提高软件的可维护性。
(4)支持封装,继承,多态,和抽象,提高了软件的可重用性,维护性和可扩展性2. 简述面向对象技术的三大机制。
封装、继承、多态3. 简述OOA模型的层次结构。
(1)对象-类层:划分待开发系统及其环境信息的基本构造单位,标出反映问题域的对象和类,并用符号进行规范的描述,用信息提供者熟悉的术语为对象和类命名。
(2)属性层:定义对象和某些结构中的数据单元,继承结构中所有类的公共属性可放于通用类中。
标识对象类必需的属性并放在合适的继承层次上,属性的特殊限制和实例连接关系也应标识出来。
(3)服务层:表示对象的服务或行为,即是要定义类上的操作。
(4)结构层:标识现实世界中对象之间的关系。
当一个对象是另一个对象的一部分时,用"整体-部分"关系表示;当一个类属于另一个类时,用类之间继承关系表示。
(5)主题层:可将相关类或对象划分为一个主题。
4. 简述OOD模型的总体结构,并画图表示。
(1)问题论域部分,在OOA模型的基础上,细化分析结果,设计一组构成底层应用模型的类和对象。
(2)人机交互部分:设计用户界面模型,该用户界面模型中的类和对象提供实现人机交互操作的接口函数。
用户界面设计包括菜单设计、窗口设计、输入/输出界面设计等等。
(3)任务管理部分:建立一些类,用以负责处理操作系统级的并发问题、中断、调度以及其它与特定平台有关的问题。
(4)数据管理部分:提供数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。
数据管理设计包括:—数据存放设计:数据存放设计选择数据存放的方式(文件存放、关系数据库表格存放或面向对象的数据库存放)。
—设计相应的操作。
为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。
class & object layer(类及对象层)attribute layer(类及对象层)service layer(服务层)struct layer(结构层)subject layer(主题层)图1.5 OOD模型的总体结构五. 试用UML 对教学管理系统及相关的数据库系统进行分析和设计。
学生选课系统一般包括(1)选课管理功能;(2) 成绩管理功能。
试完成下列工作: (1)建立系统静态结构模型—画出系统用例图和类图;(10分)学生(a)选课管理的用例图学生(b )成绩管理的用例图(a )选课对象类图(b )成绩管理对象类图(2) 建立系统动态结构模型—画出系统序列图和协作图;(10分) (3)建立关系数据库逻辑模型。
(10分)学生(学生号、姓名、出生日期、性别、籍贯、地址、电话、入学时间、专业、班级备注)教师(教师号、姓名、出生日期、性别、籍贯、地址、电话、职称、专长、备注)课程(课程号、课程名、描述、学分、学时、性质、备注)开设课程(课程号、学期、授课日期、授课时间、地点、选修人数、备注)---------------------------------------------------------------------------------------------------------------------- 面向对象分析与设计试题C卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1 分,共20 分)1.面向对象技术的最重要的基本特征是(D )。
A. 抽象性B. 封装性C. 多态性D. 继承性2. 面向对象程序设计将描述事物的数据与( C)封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象3. 关于面向对象方法的优点,下列不正确的叙述是(C)。