当前位置:首页 > 2011年6月面向对象分析与设计试题
面向对象分析与设计试题参考答案
一、单项选择题 ( 每小题 1 分,共 20 分 ) 1.C 2.D 3.B 4.B 5.D 6.B 7.B 8.D 9.C 10.D 11.C 12.D 13.D 14.D 15.B 16.D 17.C 18.D 19.D 20.C
二、填空题 ( 每空 1 分,共 20 分 ) 1.(1)对象 (2)类 (3)类模板 (4)需求 (5)开发人员 (6)结构 (7)类 (8)类的实例(或对象) (9)边界类 (10)实体类 (11)控制类
(12)关联 (13)泛化/特化联系 (14)聚合/组合联系 (15)依赖联系 (16)逻辑模型 (17) 物理模型 (18) 扩充 (19)细化 (20)物理模型
三、编程序
#include
public: char Cust_ID[10]; char Cust_Name[10]; char Desc [100];
virtual void Show(); vitual void Read();
};
class Corp_Cust: public Customer {
public:
char Off_price[10]; char Trust_Level[10]; void Show(); void Read(); };
class Vip_Cust: public Customer {
public:
char Phone[10]; char Vip_Level[10]; void Show(); void Read(); };
void Customer::Show() //打印出用户输入的信息 { cout<<\编号:\ cout<<\名字:\ cout<<\描述:\ }
void Customer::Read() //提示用户需要输入的信息 { cout<<\编号:\ cin>> Cust_ID; cout<<\名字:\ cin>> Cust_Name; cout<<\描述:\ cin>> Desc; }
void Corp_Cust::Show() { Customer::Show();
cout<<\打折价格:\
cout<<\信任等级:\}
void Corp_Cust::Read() { Customer::read();
cout<<\打折价格:\
cin>> Off_Pricel;
cout<<\信任等级:\cin>>Cust_Name; }
void Vip_Cust::Show() { Customer::Show();
cout<<\贵宾电话:\ cout<<\贵宾等级:\}
void Vip_Cust::Read() { Customer::read();
cout<<\贵宾电话:\
cin>> Off_Pricel;
cout<<\贵宾等级:\cin>> Vip_Level; }
void main()
{ Corp_Cust C1; Vip_Cust: C2; C1.Read(); C1.Show(); C2.Read(); C2.Show();}
四. 简答题
1. 为什么面向对象方法能成为软件开发的主流技术?
答:面向对象开发方法一改过去传统的以功能分析为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较
直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。因此,采用面向对象方法可以更有效地开发大型软件系统。面向对象方法的封装、继承、多态等机制不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的柔性制造,更好地克服软件危机。因此,它已成为成熟的广为采用的软件开发方法。 到20世纪末,面向对象软件工程逐渐发展成熟,特别是统一建模语言(UML)标准的形成和广泛使用,使面向对象软件开发方法已成为软件开发的主流技术。
2. 面向对象技术包含哪些基本机制?
答:(1)封装机制; (2)继承机制; (3)多态机制 3. 基于UML的面向对象系统开发方法包括哪几步? 基于UML的面向对象系统开发方法也可以分为如下步骤: (1)系统需求分析—用用户能懂的语言—用例描述用户需求;
(2)系统分析—用开发人员的语言描述用户需求,获得类图和对象图,作
为构造系统的分析模型;
(3)系统设计—用编程语言或接近编程语言的语言来更精确地描述类图和对象图,为后面能将类图和对象图映射到编码实现的系统做好准备。 (4)系统实现—用源代码、脚本语言、二进制代码、可执行子程序或组件
实现系统。
4. 由基类生成派生类的过程可分为几个步骤? 答:派生类的生成包含三个步骤: (1)吸收基类成员 (2)改造基类成员 (3)添加派生类新成员
5. 简述基于UML的数据库系统分析和设计的步骤
答:逻辑数据模型设计的主要任务是确定应用系统所需要的持久数据。使用类图、顺序图、活动图、状态图等建立数据库逻辑模型。如果是关系数据库设计,则需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
共分享92篇相关文档