第1页共7页一、选择题(共40分,每小题2分)1.下面的模型图中,哪个能正确表示“1个教师可以指导0个到多个学生的论文,1个学生必须有1个教师指导其论文”的意思()2.计算机由CUP、内存、硬盘、显示器、鼠标等构成,那么计算机类和鼠标类之间的关系是()A继承关系B关联关系C聚合关系D依赖关系3.下面()图形表示依赖关系。4.关于UML,下面说法正确的是()AUML是一种面向对象的建模方法。BUML是一种形式化的语言,使用UML建立的模型可被计算机编译执行。CUML是一种面向对象的编程语言。DUML是一种面向对象的建模语言,但不是建模方法。5.顺序图和交互图的关系,类似与下面的哪种关系()A类和对象的关系B类和参与者关系CJava和编程语言的关系DUML和Java的关系6.要对一个企业的工作流程建模,下面4种图中的()是最重要的。A交互图B活动图C状态图D类图StudentTeacher10..n10..nATeacherStudent0..n10..n1BTeacherStudent0..n110..nCTeacherStudent10..n0..n1DABCD第2页共7页7.关于参与者,错误的说法是()A参与者是与所建立的系统交互的人或物。B参与者可以是实际的人,也可以其他系统。C参与者是系统的一部分,是用例图的重要组成部分。D参与者之间可以存在泛化关系。8.UML中关联的多重性是指()A一个类有多个方法被另一个类调用。B一个类的实例对象能够与另一个类的多少个实例对象相关联。C一个类的某个方法被另一个类调用的次数。D两个类所具有的相同的方法和属性。9.关于类图的说法正确的是()A类图分为3个层次:对象层、特征层和关系层,其中对象层给出系统中所有反映问题域和系统责任的对象。B类图分为3个层次:对象层、特征层和关系层,其中特征层给出系统中所有反映问题域和系统责任的对象。C类图只是一种辅助模型,不如其他图重要。D类图定义了系统的功能需求,描述了系统的动态行为。10.根据Coad/Yourdon的定义,面向对象的概念不包括()A对象B继承C消息D封装11.使用UML对系统进行动态建模,不能使用以下哪种图()A类图B顺序图C状态图D活动图12.UML的结构事物不包括()A接口B类C协作D状态机13.分析下面的顺序图,并指出哪种说法是正确的()第3页共7页A“求战”、“怎么办”以及“火烧连营”这3条消息并没有严格的次序,比如:“求战”消息有可能在“火烧连营”之前产生。B“:曹操”、“:刘备”以及“:孔明”代表3个类,该顺序图表述了这3个类的实例对象为了完成某一功能的交互情况。C图中的虚线称作“生命线”,表示一个对象在其时间周期内的存在。D“求战”这条消息将调用“曹操”的某一操作。14.类B是类A的子类,每个类B的实例对象都是由1个类C的实例对象和1个或多个类D的实例对象组成,下面的哪个图可正确表示这种关系()求战怎么办火烧连营:刘备:孔明:曹操CDB11111..n11..n1AACDB11111..n11..n1AB第4页共7页CDB1111n1n1ACACDB1111..n111..n1D15.在RUP中,需求分析的大部分工作是在()阶段完成的。A初始阶段B细化阶段C构造阶段D交付阶段16.下面关于部署图的说法中,错误的是()A部署图描述系统运行时的软件和硬件的物理结构,用于对系统的物理方面建模。B处理器和设备的区别在于是否具有计计算能力。C部署图描述的是系统物理模型的布置,实际节点间的连接必须用一段导线、电缆或其它的方式连接。D一个系统可以有多个部署图。17.下面的状态图描述了一辆汽车的状态,指出哪种说法是错误的()第5页共7页A“运动”状态是一个组成状态,由多个简单状态组成。B“前进”状态和“低速”状态有可能同时出现。C汽车在“前进”、“后退”、“高速”及“低速”任何一个子状态下,都有可能转到“停止”状态。D“前进”状态和“低速”状态是两个顺序子状态。18.RationalRose2003不具有下面的哪项功能()A建立软件系统的OOA模型B支持JAVA语言的双项工程C用对象图对系统建模D支持模型的Internet发布19.在UML提供的图中,(1)用于描述系统与外部系统及用户之间的交互;(2)用于按时间顺序描述对象间的交互。(1)A用例图B类图C对象图D配置图(2)A组件图B状态图C协作图D顺序图20.类是一组具有相同属性的和相同操作的对象的抽象描述,类中的每个对象都是这个类的一个(1)。一个对象通过发送(2)来请求另一个对象为其服务。(1)A例证B用例C实例对象D例外(2)A调用语句B消息C命令D口令阅读下面关于“网上选课系统”的陈述,完成二至七题某网上选课系统的需求概述如下:1.系统采用B/S模式;2.该系统供学期开课前学生网上选课之用;3.课程的管理,如“添加课程”、“删除课程”等都由系统管理员来负责;4.学生可使用该系统完成“选择课程”等功能;5.任课教师可以使用该系统查看选课的学生。现有关于该系统模型的部分内容:1.系统中的参与者(Actor)有4类:管理员(Administrator)、学生(Student)、教师(Teacher)及数据库(Database)2.为该系统设计的类(class)共有8个:(1)系统管理员类(Administrator),对现实世界系统管理员的抽象;(2)学生类(Student),对现实世界中与该系统相关的学生的抽象;(3)教师类(Teacher),对现实世界中与该系统相关的教师的抽象;第6页共7页(4)People类,前3个类的父类(5)数据库类(Database),提供和数据库相关的功能,对数据库中的相关数据进行操作;(6)课程类(Course),对现实世界中与该系统相关课程的抽象;(7)界面对象类(FormObject),用于生成系统的界面对象(8)控制对象类(ControlObject),负责系统的业务逻辑功能,如判断用户是否合法、添加的课程是否合理等;根据以上的陈述完成以下题目:二、分析该系统应该存在哪些用例?(6分)三、画出网上选课系统的用例图。(10分)四、下面是“添加课程”用例的事件流,用活动图为其建模。(10分)(1)管理员选择进入管理界面,用例开始。(2)系统提示输入管理员密码。(3)管理员输入密码。(4)系统验证密码。A1:密码错误(5)进入管理界面,系统显示目前所建立的全部课程信息。(6)管理员选择添加课程。(7)系统提示输入新课程信息。(8)管理员输入信息。(9)系统验证是否和已有课程冲突。A2:有冲突(10)系统添加新课程,提示课程添加成功。(11)系统重新进入管理主界面,显示所有课程。(12)用例结束。A1:密码错误(1)系统提示再次输入。(2)用户确认。(3)三次错误,拒绝再次访问。(4)否则进入添加课程事件流第5步。A2:有冲突(1)系统提示冲突,显示冲突课程信息。(2)用户重新输入。(3)继续验证直到无冲突。第7页共7页(4)进入添加课程事件流第10步。五、画出网上选课系统的类图。(10分)六、针对系统中Course类对象的状态变化,建立Course类对象的状态图。(10分)七、画出网上选课系统的“添加课程”用例的顺序图。(14分)第8页共7页一、选择题(共40分,每题2分)1-5CCBDC,6-10BCBAD,11-15ADCAB,16-18DDC,19(1)A(2)D,20(1)C(2)B二、题答案(6分)管理员触发的用例:添加课程(AddCourse)、删除课程(DeleteCourse)、修改课程(ModifyCourse)学生触发的用例:选择课程(SelectCourse)、查询课程(QueryCourse)教师触发的用例:查看选课学生(QueryStudent)三、题答案(10分)四题答案(10分)SelectCourseStudentQueryCourseAddCourseModifyCouseAdministratorDeletCourseTeacherQueryStudentsDataBase第9页共7页用户界面业务逻辑数据库五题答案(10分)系统提示输入密码管理员输入密码选择添加课程系统提示输入各项信息管理员输入课程信息显示添加成功显示添加失败验证密码生成密码对象判断正确否取得系统管理权限验证课程合法否生成课程对象判断是否合法判断添加是否成功[成功]在数据库中查询密码在数据库中查询添加到数据库[不成功]系统提示再次输入[密码不正确][密码正确]系统提示再次输入[不合法][合法]数据库业务逻辑用户界面第10页共7页StudentPeopleAdministratorCourseFormObject0..n10..n10..n10..n10..n10..n1ContorObject0..n10..n11111Database六题答案(10分)阅卷人得分CreatedInDatabaseInScheduleModifiedLockedDeleted创建课程添加课程修改课程[选课人数不超过最大值][选课人数超过最大值][选课人数不超过最大值][学期结束][学期结束]第11页共7页七题答案(14分)改错如图所示,是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正错误。OrderItemIncomeOrderProduct1111仓库管理系统类模型局部解答:根据题意和模型不难得知,一个入库单是由多个入库单项(OrderItem)组成的,因此不可能只涉及一个产品,合理的方式应该是入每个入库单项(OrderItem)与产品一对一关联。即应该绘制为:stu:Studentform:FormObjectcourse:Coursectrl:ControlObjectdb:DataBase1:显示所有课程信息2:添加课程3:输入课程信息4:生成课程对象5:查询课程是否合法6:查询课程7:判断是否合法8:添加课程9:显示添加成功第12页共7页OrderItemIncomeOrderProduct1111