资源描述
一、 填空〔15分〕
1、类之间的 静态联系称作关联。
• 在实例化后,由类产生对象,链是关联的实例。
• 在系统实现时,关联采用对象的属性来实现。
2、用例图用于建立需求模型,描述用户的需求。对象图是面向对象分析中的根本模型,属于静态构造模型。
3、顺序图〔时序图〕、通信图、活动图、状态图用于描述系统的行为方面的特征,属于动态构造模型。
4、时序图构成:参及者、相互协作的对象、对象的生命线、参及者及对象之间发送的消息、执行规约
5、表示
[可见性] 属性名[:类型][ =初始值]
可见性分为+表示:〔公有的〕、#表示:〔受保护的〕、-表示:〔私有的〕、 ~〔包,只有在同一包中声明的类能够使用这一属性〕。
二、 名词解释〔15分〕
1、面向对象方法:是一种运用对象、类、继承、封装、聚合、关联、消息、多态性等概念来构造系统的软件开发方法。
2、类:是具有一样属性与操作的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性与操作务两个主要局部。类的作用是用来创立对象,对象是类的一个实例。
3、抽象:指从事物中舍弃个别的、非本质的、及问题域无关的特征,而抽取共同的、本质特征的、相关的做法。
4、多态性:在具有继承关系的类层次构造中可以定义同名的操作或属性,但这些属性或操作具有不同的含义,即具有不同的数据类型或表现出不同的行为。〔“同名不同参〞或“同名不同类〞〕
5、OOA模型:就是通过面向对象的分析所建立的系统分析模型。
用况:一个用况是对参及者使用系统的一项功能的描述,是一组动作序列的描述,是一项请求及响应。〔
三、 简答〔45分〕
1、继承与泛化关系
特殊类拥有其一般类的全部属性及操作,称作特殊类对一般类的继承。
一般类对特殊类的抽象关系叫泛化关系〔简称泛化〕。
2、聚合及组合有区别,请说明他们间的区别,并指出以下图中哪图是聚合
聚合刻画了现实事物之间的构成关系,表达“整体——局部〞关系。而关联没有组成关系或拥有关系。如例题中的c图
3、简述以下图中表达的面向对象的根本思想
答: (1)第一次抽象封装:事物——对象
①首先,直接以问题域〔现实世界〕中的事物为中心来思考问题、认识问题;②然后,根据这些事物的本质特征与系统责任,把它们抽象地表示为系统中的对象,作为系统的根本构成单位。(对象) 这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌.
①用对象的属性(attribute)表示事物的性质〔静态特征〕;用对象的操作(operation)表示事物的行为〔动态特征〕。②对象的属性及操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。〔对象的封装〕③复杂的对象可以用简单的对象作为其构成局部,对象之间是相互联系的。〔聚合〕④对象之间通过消息进展通讯,以实现对象之间的动态联系. (消息)
(2)第二次抽象〔分类〕:对象——类
①通过抽象对对象进展分类。把具有一样属性与一样操作的对象归为一类,类〔class〕是这些对象的抽象描述,每个对象是它的类的一个实例。 〔分类〕
②通过关联表达类(一组对象)之间的静态关系。〔关联〕
(3)第三次抽象:子类——父类
通过在不同程度上运用抽象的原那么,可以得到较一般的类与较特殊的类。特殊类继承一般类的属性及操作,从而简化系统的构造过程及其文档。〔继承〕
4、为什么说面向对象语言使得从客观世界到计算机世界的语义鸿沟变窄?
5、 简单说明OOA及OOD有何区别
答: OOA用面向对象的建模语言对系统要实现的需求进展建模,不考虑及系统的具体实现有关的因素或环境〔如编程语言、界面、数据库等〕;
OOD是针对系统的一组具体实现条件或环境,继续用面向对象的建模语言进展系统设计及实现。
包括两局部工作:
• 第一、根据具体实现条件或环境对OOA模型进展修改与调整
• 第二、根据具体实现条件或环境建立人机界面、数据存储与控制驱动等。
6、软件复用有何益处、有哪些级别的软件复用,为什么说继承是软件复用的重要形式
益处:
• 提高软件开发效率;
• 改善软件质量。
复用级别:
• 程序〔代码〕级复用
• 分析、设计结果的复用
继承是重要的软件复用形式
7、如何发现参及者?
人员——
系统的直接使用者
设备——
及系统直接相联的设备为系统提供信息
在系统控制下运行
不及系统相联的设备
计算机设备
外系统——
上级系统
子系统
其它原有系统
8、使用扩展用况描述下用例
9、类与对象的联系有何联系?
• 对象是类的实例——由类创立出对象,系统是由假设干个对象在计算机中的运行协作完成具体的功能;
• 属性相似——一个类的所有对象都具有一样个数、名称、类型与含义的属性,但不同的对象属性具有不同的值;
• 操作一样——一个类的所有对象的操作都具有一样的声明与实现
• 生命周期——对象具有生命周期,类没有。
10、OO方法中有“实例属性〞与“类属性〞 之分,请说明什么是“实例属性〞与“类属性〞?
答: 实例属性包含同一属性的每一个对象〔实例〕都具有自己的值。
类属性是描述类的所有对象共同特征的一个数据项,对于任何对象实例,它的属性值都是一样的,系统中只存在同一数据空间。 C++中冠以static的成员变量是类属性,这样的属性对一个类的全部对象实例只是一份共同的数据空间,所以对任何对象而言,该属性的值总是一样的。
11、在以下图中,根据指定的条件标明A、B间的多重性。
给定类A的一个对象a:
(1) a 可以恰好及类B的一个对象关联
(2) a 可以最多及类B的一个对象关联
(3) a 可以及类B的一个或多个对象关联
(4) a 可以及类B的零个或多个对象关联
12、 如果在具有关联关系的类中,存在着一个属性放在哪个类中都不适宜的情况,就考虑使用关联类。请举例说明:
举例:
13、特殊类继承了一般类的关联。请对以下类图,加以说明。
答:一个系统管理员可以操作1..*的计算机,那么一个系统管理员也可以操作1..*的效劳器或客户机
答:教授可以指导学生、也可以指导教授的含义。
答:学生可以指导学生、教授可以指导教授。学生可以指导教授,教授可以指导学生的含义〔学生与教授都是人〕
答:学生可以指导学生、教授可以指导教授,教授可以指导学生的含义
14、简述对象生命线在时序图中的特点
答:
生命线代表着类对象在当前模块中的存活期,即代表了某个对象何时被创立,何时别销毁。
• 生命线自上而下,上端出现及对象被创立时,下端完毕于对象被销毁时。否那么,生命线应当从图的顶部一直延续到底部。
• 创立对象的消息箭头的头部画在对象符号上。如果对象在图中被销毁,那么用一个大的“×〞 标记它的析构,该标记或者放在调用析构的消息箭头处,或者放在从被销毁的对象最终返回处理结果的箭尾处〔在自析构的情况下〕。
生命线可以分裂成两条或更多条并发的生命线,并在某个后续点处合并,以表示条件性。即,消息的分支可能导致同一对象在生命周期的同一时刻表现出不同的行为,也就产生了生命线上的分支构造。
15、时序图中,包含以下图形,请说明其含义
一个对象的操作递归地调用自己或调用本对象的其他操作,将出现自调用的情形。
四、 分析建模〔25分〕
1、ATM终端处理取款的用况图,动作序列如下:
系统从持卡人处获得取款命令;
系统检查口令;
系统完成用户的取款处理;
判断是否打印回单,并打印回单;
完毕操作并退卡
要求使用扩展用例或包含用例转换上同例图
答:
2、很多软件系统都需要登录,假设用户登录成功,就可以操作系统的功能,主要有以下方式:
u 翻开登录页面,用户输入登录信息,系统执行用户验证;系统验证成功后,系统弹出功能提示框,等待用户选择执行功能;用户选择执行某个功能。
u 翻开登录页面,用户输入登录信息,系统执行用户验证;系统验证成功后,转入主界面;用户可以执行界面中的任何一个功能。
u 用户执行主界面的某个功能,系统翻开登录页面,用户输入登录信息,系统执行验证,验证通过后,系统继续执行用户选择功能的动作序列,完成用户选择的功能。
如下以一个研究生学籍管理系统为例,描述三种登录方法。
为了简化起见,假设此处仅描述登录、选课与查看学分这3项功能。
要求:分别设计出上三种处理方式的用例图:
3、用关联类为公司与雇员之间的薪水关系建模。
4、使用多重性、聚合建立大学、系、学生、课程、教师间的类图
5、销售部承受到订货单后,进展审核,未被批准的订单,直接送档案科归档;批准的订单,在系统中录入,开具出库单;配送部根据出库单发货并运送货物,财务部对已发货的订单开具销售发票并寄送给客户;客户在收到货物后,验货付款;财务对已经收到的货款,开具收款凭证,连同订单归档。
要求:画出以上活动的活动图。
第 8 页
展开阅读全文