UML A卷(答案)

合集下载

UML考试题及答案

UML考试题及答案

UML考试题及答案《UML与面向对象方法学》复习题二、单选题1.(A)不是UML体系的组成部分。

A.应用领域B.规则C.基本构造块D.公共机制2.在UML中,有四种事物,下面哪个不是(B)。

A.结构事物B.静态事物C.分组事物D.注释事物3.以下(C)不是RUP中的优秀方法。

A.迭代的开发软件B.不断的验证软件质量C.配置管理与变更管理D.支持正向与逆向工程4.下面(D)属于UML中的动态视图。

A.类图B.用例图C.对象图D.状态图5.在UML中,()把活动图中的活动划分为若干组,并将划分的组指定给对象,这些对象必须履行该组所包括的活动,它能够明确地表示哪些活动是由哪些对象完成的。

AA.泳道B.同步条C.活动D.组合活动6.用例之间有几种不同的关系,下列哪个不是他们之间可能的关系()。

BA.include B.connect C.generalization D.extend7.event表示对一个在时间和空间上占据一定位置的有意义的事情的规格说明,下面哪个不是事件的类型()。

CA.信号B.调用事件C.源事件D.时间事件8.通常对象有很多属性,但对于外部对象来说某些属性应该不能被直接访问,下面哪个不是UML中的类成员访问限定性()。

DA.public B.protected C.private D.friendly9.在UML中,类之间的关系有一种关系称为关联,其中多重性用来描述类之间的对应关系,下面哪个不是其中之一()。

AA.*....*B.0....*C.1....*D.0.(1)10.关于包的描述,不正确的是()。

BA.和其他建模元素一样,每个包必须有一个区别于其他包的名字B.export使一个包中的元素可以单向访问另一个包中的元素C.包的可见性分为public、protected、privateD.包中可以包含其他元素,比如类、接口、组件、用例等等11.Use Case用来描述系统在事件做出响应时所采取的行动。

东北大学软件工程与UML建模A卷(答案)

东北大学软件工程与UML建模A卷(答案)

东北大学软件工程与UML建模A卷(答案) XXX软件工程与UML建模试卷(作业考核线上1)A 卷研究中心:]院校学号:姓名(共4页)总分题号得分一二三四五六七八九十一、单选题(30分,共15题,每题2分)1.D是在系统之外,透过系统边界与系统进行有意义交互的任何事物A).相关系统B).Use CaseC).ClassD).Actor2.软件工程是以D为核心A).过程B).面向对象C).软件开发D).质量3.“系统开发过程和可交付文档将遵照ZCo-SP0STAN-95中相关规定”,这属于BA).功能性需求B).客观需求C).主观需求D).非功能性需求4.“系统每天晚上自动生成进货报表”,Actor是:CA).系统B).其它系统C).时间D).报表审阅者5.数据流程图是一个分层的概念模型,分三个层次:C,分别描述系统的不同特征A).总体图、二级图、三级图B).总体图、二级图、细节图C).总体图、零级图、细节图D).总体图、次级图、细节图6.以下用例命名中,最合理的是BA).进行宠物搜索B).查询宠物C).宠物查询D).进行宠物查询7.某系统中有两个用例:一个用例的参与者是用户,用例是“注册”;另一个用例的参与者是系统管理员,用例是“审核用户注册”。

这两个用例之间是什么关系?BA).包含关系B).没有关系C).扩展关系D).泛化关系8.在软件的层次结构中,“一个模块被其他模块直接调用的调用者的数量”是指B1课程名称:软件工程与UML建模A).深度B).扇入C).扇出D).耦合9.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<C(p2)则DA).E(p1)>E(p2)B).C(p1+p2)=C(p1)+C(p2)C).E(p1+p2)>E(p1 )+E(p2)D).E(p1+p2)<E(p1)+E(p2)10.以下各种图不是UML使用的图是CA).用例图B).类图C).数据流程图D).顺序图11.模块尺寸太大时,应AA).分解以进步内聚B).分解以进步耦合C).合并以提高内聚D).分解以降低内聚12.以下类的命名中,最合理的是AA). BusVehicleB). RoutesC). passengerD). Stop13.在软件过程中,下列活动属于辅助活动的是DA).设计B).集成C).退役D).风险管理14.下面用例模型体现了用例间的A关系A).泛化、包含和扩展B).包含和扩展C).分解、包括和扩充D).分解、包含和扩展15.下图体现了面向对象中类的CA).复杂性B).可传递性C).自反关联D).继承关系2课程名称:软件工程与UML建模二、简答题(40分,共4题,每题10分)1.请解释软件工程的含义。

uml期末及答案(AB卷)

uml期末及答案(AB卷)

2008-2009学年第一学期期末试卷(院 院/系 专业 班使用)考试科目: 试卷类型: A题号一二三四五六七总分得分一、选择题 (共40分,每小题2分)1. 下面的模型图中,哪个能正确表示“1个教师可以指导0个到多个学生的论文,1个学生必须有1个教师指导其论文” 的意思( )2. 计算机由CUP 、内存、硬盘、显示器、鼠标等构成,那么计算机类和鼠标类之间的关系是( )A 继承关系B 关联关系C 聚合关系D 依赖关系3. 下面( )图形表示依赖关系。

4. 关于UML ,下面说法正确的是( ) A UML 是一种面向对象的建模方法。

B UML 是一种形式化的语言,使用UML 建立的模型可被计算机编译执行。

阅卷人得分Student Teacher 10..n A Teacher Student 0..n1BTeacher Student 10..n Teacher Student 0..n 1A BC UML是一种面向对象的编程语言。

D UML是一种面向对象的建模语言,但不是建模方法。

5.顺序图和交互图的关系,类似与下面的哪种关系()A 类和对象的关系B 类和参与者关系C Java和编程语言的关系D UML和Java的关系6.要对一个企业的工作流程建模,下面4种图中的()是最重要的。

A 交互图B 活动图C 状态图D 类图7.关于参与者,错误的说法是()A 参与者是与所建立的系统交互的人或物。

B 参与者可以是实际的人,也可以其他系统。

C 参与者是系统的一部分,是用例图的重要组成部分。

D 参与者之间可以存在泛化关系。

8.UML中关联的多重性是指()A 一个类有多个方法被另一个类调用。

B 一个类的实例对象能够与另一个类的多少个实例对象相关联。

C 一个类的某个方法被另一个类调用的次数。

D 两个类所具有的相同的方法和属性。

9.关于类图的说法正确的是()A 类图分为3个层次:对象层、特征层和关系层,其中对象层给出系统中所有反映问题域和系统责任的对象。

UML试题及答案-(11)

UML试题及答案-(11)

华南农业大学期末考试试卷〔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 2 3 4 5 6 7 8 9 10 11 12 13 14 15B AC A C AD A C D D A D D C1. 一个设计得好的OO系统具有〔B〕A. 低内聚、低耦合的特征B. 高内聚、低耦合的特征C. 高内聚、高耦合的特征D. 低内聚、高耦合的特征2.下面〔〕不是UML的根本构成元素。

《面向对象软件工程与UML》期终考试试卷(A卷)及答案

《面向对象软件工程与UML》期终考试试卷(A卷)及答案

适用专业:考试时间:90分钟一、单项选择题(每小题2分,共计40分)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、所谓信息隐藏是指隐藏模块的()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.50年代末 B.60年代初 C.60年代末 D.70年代初A.运筹学 B.工程学 C.软件学 D.软件学 E.数字12、初始化模块和结束模块从块内联系看,被称为()模块。

A.过程内聚B.功能内聚C.时间内聚D.逻辑内聚13、下列耦合度表示中,最弱的耦合形式是()A、特征耦合B、公共耦合C、数据耦合D、数据结构14、PAD(Problem Analysis Diagram)图是一种()工具。

UML考试试题及答案2资料

UML考试试题及答案2资料

《统一建模语言UML》试卷(A、B卷)一、填空题1、在某个信息系统中,存在如下的业务陈述:①一个客户提交0个或多个订单;②一个订单由一个且仅由一个客户提交。

系统中存在两个类:“客户”类和“订单”类。

对应每个“订单”类的实例,存在______个“客户”类的实例;对应每个“客户”类的实例,存在______个“订单”类的实例。

供选择的答案:(1)A.0个 B.1个 C.1个或多个 D.0个或多个(2)A.0个 B.1个 C.1个或多个 D.0个或多个2、UML供选择的答案:A.状态图B.用例图C.状态图D.序列图E.部署图F.协作图G.类图答案:G B D F D F3、统一过程中的核心工作流有:需求工作流、分析工作流、设计工作流、实现工作流、测试工作流。

4、在协作图中通过________表示出消息的时间顺序。

消息编号5、Rational Rose2003具有非常友好的图形用户界面,其初始界面主要包括标题栏、菜单栏、工具栏、模型浏览器窗口、文档窗口、模型图窗口、日志窗口、状态栏等部分。

6、Rational Rose2003用户界面包含两种工具栏,为用户操作提供了方便,其中,编辑工具栏依赖于所打开的模型图,而标准工具栏则与模型图无关。

7、如果需要在模型图绘制窗口中多放置几个相同的图标,在编辑工具栏中,先单击选择锁定图标,进入“锁定”状态,而不必重复多次地返回道编辑工具栏中重复选择同一个图标。

二、选择题省略。

三、判断题1.用例图中包含关系是指一个用例继承了另一个用例。

(错)2.顺序图中每个对象向下方向伸展的虚线是对象的生命线。

(对)3.协作图是对象图的扩展。

(对)4.只有状态图采用泳道。

(错)5.部署图一般把节点分成处理器和外部软件。

(错)6.协作图和顺序图是等价的。

(对)7.一台计算机有很多零部件,例如:键盘,鼠标,主板,显示器等等,我们可以用一个聚集图来描述,也就是说计算机是一个聚集体。

(对)8.对象之间协作可以通过相互发送消息来实现,也就是消息可以是双向的。

uml期末考试题A卷及答案

uml期末考试题A卷及答案

uml期末考试题A卷及答案一、单选题1.执行者(Actor )与用例之间的关系是()(A )包含关系(B )泛化关系(C )关联关系(D )扩展关系2.在类图中,下面哪个符号表示继承关系()3.在类图中,“ #”表示的可见性是()(A )Public (B )Protected (C )Private (D )Package 4.下面那个类图的表示是正确的()5.下面哪个符号代表部署图的节点()6.生命线是UML 视图中哪个图形的组成部分()(A )类图(B )状态图(C )活动图(D )顺序图7.在类图中,那种关系表达总体与局部的关系()(A )泛化(B )实现(C )依赖(D )聚合8.下面哪个图形代表活动()9.下面哪个UML 视图是描述一个对象的生命周期的()(A )类图(B )状态图(C )协作图(D )顺序图10.下面哪个视图属于UML 语言的交互图()(A )行为图(B )状态图(C )实现图(D )顺序图11.下面哪个符号代表包图()(B) (A) (C) (D)(B) (A) (C) (D)Student Student name : Stringage : Student getName () getAge () StudentName : StringAge: intIntegergetName ()getAge ()(B) (A) (C) (D)(B) (A) (C) (D)12.在UML 协作图中,有多少种关联角色的构造型()(A )1 (B )3 (C )5 (D )713.在类图中,哪种关系表达总体与局部的关系()(A )泛化(B )实现(C )依赖(D )聚合14.在类图中,“ #”表示的可见性是()(A )Public (B )Protected (C )Private (D )Package 15.下面哪个符号表示注释()二、多选题1.下面哪些图形可以清楚地表达并发行为()(A )类图(B )状态图(C )活动图(D )顺序图 2.下面哪些元素构成了组件图形()(A )组件(B )转换(C )关系(D )接口3.部署图中的节点具有以下哪些方面的内容()(A )计算能力(B )基本内存(C )位置(D )接口4.顺序图的用途包括()(A )显示并发进程和激活(B )当不同的类之间存在多个简短的方法时,描述控制流的整体序列(C )显示在协作图中难于描述的事件序列(D )显示涉及类交互而与对象无关的一般形式5.常见的UML 工具有哪些?()(A )Rational Rose (B )Power Designer (C )Visio (D )Visual UML三、填空题(每空2分,共30分)1. UML 中有多种关系,请标出图示是哪种关系:(1)(2)(3)(4)(5)(6)2. UML 提供了一系列的图支持面向对象的分析与设计,其中____(1)___给出系统的静态设计视图;___(2)____对系(B) (A) (C) (D)(B) (A) (C) (D)0..1 0..* employer employee统的行为进行组织和建模是非常重要的;____(3)___和____(4)___都是描述系统动态视图的交互图,其中___(5)___描述了以时间顺序组织的对象之间的交互活动,___(6)____强调收发消息的对象的组织结构。

UML与软件建模期末考试A卷参考答案

UML与软件建模期末考试A卷参考答案

UML-A参考答案一、填空(20 * 1 = 20分)1.UML关系 2.规范化/建档/交流 3.语法 4.用例 5.活动图6.状态机 7.关系 8.细化阶段 9. 构造阶段 10. 对象图11. 依赖关系 12. 类属/泛化关系 13. 关联关系 14. 实现关系 15. 节点16. 组件 17. 关系 18.需求捕获 19. 评估分析模型 20. 名词分析二、判断题(10 *2 =20 )1.对2.错既支持分析,又支持设计等。

3.对4.对5.错协作的行为用交互图来描述。

6.对7.对8.对9.错在初始阶段,用例模型要求至少完成10%以上。

10.错交互图包括顺序图和通信图。

三、简述题(4 * 5 = 20)1 什麽是模型?简述建模的目的。

模型是能动的抽象的认知的结果,它对应认识活动的主体和认识活动的原则。

模型就是对现实的简化。

目的:规范化,可视化,建造,建档。

2 什麽是UML?简述UML的内容及其特点。

UML是指定,呈现,构造方法,记录系统密集的过程的工件。

内容:A)UML语义,给出了基于UML的精确的主模型定义。

B)UML表示法,UML表示法定义了UML符号的表示方法,为开发者或开发工具使用这些图形符号和文本语法,给系统建模提供了标准。

特点:有统一的标准,便于使用人员沟通;面向对象的建模语言;可视化,表示能力强大,提供了扩展机制;容易使用。

3 UML2.0中共有13种图,它们的名称分别是什么?并简要说明其作用。

用例图、类图、对象图、顺序图、通信图、活动图、状态图、组件图、部署图、包图、复合结构图、交互概观图、定时图。

交互概观图是一种顺序图与活动图的混合,从较高的抽象层次描述了对象以及对象之间的交互关系。

定时图从微观的层次描述了对象之间的交互,重点在于定时。

4.聚集和组成之间有什么区别?聚集(聚合关系)是一种特殊的关联关系,表示类之间的关系是整体与部分的关系。

组合是聚合的变种,它加入了一些重要的意义。

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

UML课程测验专业学号姓名一、选择题1、_ B _用于接口、类和协作的行为建模,并强调对象行为的事件顺序;_ C _用于系统的功能建模,并具强调对象间的控制流;_ A _用于描述系统与外部系统及用户之间的交互。

A.用例图B.状态图C.活动图D.类图2、在UML中,对象行为是通过交互来实现的,是对象间为完成某一目的而进行的一系列消息交换。

消息序列可用两种图来表示,强调消息时间次序的图称之为_ (4) _,该图的特点是_ (5) _,强调参加交互的对象的组织图称之为_ (6) _,这两种图是_ (7) _。

(4)A.活动图B.状态图C.顺序图D.通讯图(5)A.有生命线及控制焦点,重点在消息的时间顺序上B.有路径有顺序号,为了一个消息的时间顺序给消息加数字前缀C.是对系统、子系统或类的行为建模D.本质上是一个流程图,显示从活动到活动的信息流(6)A.活动图B.状态图C.顺序图D.通讯图(7)A.同构的,所以可以互相转换B.异构的,所以不可以互相转换C.强调对象行为的事件顺序,常用于对反应式系统建模D.专注于系统的动态视图,状态无法确定,所以不可以互相转换3、用UML建立业务模型是理解企业业务过程的第一步。

业务人员扮演业务中的角色及其交互方式,例如航空公司的售票员是业务人员,电话售票员也是业务人员,他们之间的关系是_ (8) _。

在UML中,用_ (9) ,表示企业业务的工作流。

这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角色和对象。

(8)A.关联关系B.依赖关系C.聚集关系D.概括关系(9)A.活动图B.业务图C.用例图D.交互图4、指出右图中注释所表达的含义。

AAA, BBB, CCC, DDD(A)Class, Message, Iteration, Self-Call(B) Object, Message, Iteration, Self-Call(C) Object, Message, Self-Call, Iteration(D) Class, Message, Self-Call, Iteration5、如图二所示,如果member不是platinum member,在这个活动图的执行过程中,所允许的最大并发线程数是:(A) 1(B) 2(C) 3(D) 4三、阅读下列说明和图,回答问题①至问题④。

某汽车停车场欲建立一个信息系统,已经调查到的需求如下:(1)在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器,示意图如下:(2)当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。

当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。

(3)在停车场内分布着若干个付款机器。

驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。

付清停车费之后,将获得一张出场卡,用于离开停车场。

(4)当汽车到达出口时,驾驶员将出扬卡插入出口处的读卡器。

如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。

若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。

(5)系统自动记录停车场内空闲的停车位的数量。

若停车场当前没有车位,系统将在入口处显示“车位已满”信息。

这时,停车卡打印机将不再出卡,只允许场内汽车出场。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了表一所示的类/用例/状态列表、图三所示的用例图、图四所示的初始类图以及图五所示的描述入口自动栏杆行为的UML 状态图。

图三 用例图图四 初始类图图五 入口护栏的状态图①根据说明中的描述,使用表一给出的用例名称,给出图三中U1、U2和U3所对应的用例。

U1:Car entry;U2:Car exit;U3:Car entry when full;②根据说明中的描述,使用表一给出的类的名称,给出图四中A~D所对应的类。

A:CarPark;B:Barrier;C:EntryBarrier;D:ExitBarrier;③根据说明中的描述,使用表一给出的状态名称,给出图五中S1~S4所对应的状态。

S1:Idle;S2:Await Ticket Take;S3:Await Enable;S4:Await Entry;④简要解释图三中用例U1和U3之间的extends关系的内涵。

U3(Car entry when full)与U1(Car entry)之间是延伸关系(或扩展关系),即描述了驾驶员触发Car entry 用例时,如果车位满,该用例将合并它的延伸用例Car entry when full的行为。

四、阅读以下说明和图,回答问题1至问题3,将解答填入对应栏内。

S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。

为更好地吸引用户,S公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。

商品的分类(Category)不同,促销的方式和内容会有所不同。

注册商家可发布促销信息。

商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。

商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。

用户可选择参与某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。

系统生成相应的一份促销订单(POrder)。

只要用户在优惠活动的时间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。

系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图2-1是该系统类图中的一部分;系统的动态行为采用UML顺序图表示,图2-2是发布促销的顺序图。

图2-1 在线促销系统部分类图图2-2 发布促销顺序图1、识别关联的多重度是面向对象建模过程的重要步骤。

根据说明中给出的描述,完成图2-1中的(1)~(6)。

(1)0..* (2)1 (3)0..* (4)1..* (5)1 (6)0..*2、请从表2-1中选择方法,完成图2-2中的(7)~(10)。

(7) getCategories (8)getCommodities (9)createPromotion (10)addCommodities表3-1 可选消息列表3、关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。

请说明关联和聚集的关系,并说明其不同点。

略五、阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。

采用责任链设计模式(class PurchaseRequest {public double Amount; //public int Number; //public String Purpose; //};class Approver { // 审批者类public Approver(){publicif (successor != null){}publicprivate Approver(2)successor;};class Congress extends Approver {public void ProcessRequest(PurchaseRequest aRequest){if(aRequest.Amount >= 500000){ /* 决定是否审批的代码省略*/ }else (3)super().ProcessRequest(aRequest);}};class Director extends Approver {public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略*/ }};class President extends Approver {public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略*/ }};class VicePresident extends Approver {public void ProcessRequest(PurchaseRequest aRequest){ /* 此处代码省略*/ }};public class rs {public static void main(String[] args) throws IOException {Congress Meeting = new Congress();VicePresident Sam = new VicePresident();Director Larry = new Director();President Tammy = new President();// 构造责任链Meeting.SetSuccessor(null); Sam.SetSuccessor(Tammy(4));Tammy.SetSuccessor(Meeting(5)); Larry.SetSuccessor(Sam(6));// 构造一采购审批请求PurchaseRequest aRequest = new PurchaseRequest();BufferedReader br =new BufferedReader(new InputStreamReader(System.in));aRequest.Amount = Double.parseDouble(br.readLine());(7)Larry.ProcessRequest(aRequest); // 开始审批return ;}}。

相关文档
最新文档