问答题[说明]
现需在某城市中选择一个社区建一个大型超市,使该城市的其他社区到该超市的距离总和最小。用图模型表示该城市的地图,其中顶点表示社区,边表示社区间的路线,边上的权重表示该路线的长度。
现设计一个算法来找到该大型超市的最佳位置,即在给定图中选择一个顶点,使该顶点到其他各顶点的最短路径之和最小。算法首先需要求出每个顶点到其他任一顶点的最短路径,即需要计算任意两个顶点之间的最短路径;然后对每个顶点,计算其他各顶点到该顶点的最短路径之和;最后,选择最短路径之和最小的顶点作为建大型超市的最佳位置。
问答题[说明]学生信息管理系统旨在用微型计算机对全校的学生事务进行管理,其内容包括新生管理、成绩管理、重修管理、毕业资格审定以及随机查询和打印报表等。教务人员在进入系统时,系统通过注册登录来提供用户的访问权限,系统会检查用户的合法性,如不合法,系统拒绝用户进入,如是合法用户,则根据命令要求类型处理。本系统主要有新生管理、成绩管理、重修处理、资格审定四大功能,分别进行不同的管理。新生管理首先按照各专业录入新生信息,录入时若录入的信息不完整,则给出提示信息,要求用户录入完整信息;若新生库中已经存在该生信息了,则给出提示信息,保证不重复录入新生信息。在录入阶段,会显示新生库中的记录,可以进行浏览、删除、修改等操作,以便用户录入正确无误的新生信息。录入完毕后,打印编好学号和分好班次的新生名单并将新生记录写入学生信息库。成绩管理使用一般方法和特殊方法对学生成绩进行管理。分别按照这两种方法进行成绩的录入和计算。成绩处理完毕后,合并到学生成绩库,可以对学生成绩总库进行浏览、修改、删除、插入、查找等操作,同时提供成绩查询功能,可按照学号、姓名、课程号、课程名称、专业班级查询学生成绩,最后打印各种形式的学生成绩单。重修处理首先对学生重修总体情况进行浏览,可以查询未交费学生重修情况、某个学生重修情况等,打印各种形式的重修单和重修证。另外进行重修交费登记,输入某个重修学生学号,则显示该生相关信息(姓名、专业等)、重修课程信息、重修总学分、应交金额等,交费登记后,写入重修表和交费表。资格审定主要对毕业生的毕业资格进行审定,计算毕业生的已修学分,审定后填写资格库,显示审定结果,打印毕业生资格表和毕业证书等。学生信息管理系统顶层图如图10-1所示;学生信息管理系统的第0层DFD图如图10-2所示,其中,加工3的细化图如图10-3所示,加工4的细化图如图10-4所示。[数据流图10-1][数据流图10-2][数据流图10-3][数据流图10-4]
问答题阅读下列说明和数据流图,回答问题1至问题3。[说明]图书管理系统旨在用计算机对图书进行管理,包括图书的购入、借阅、归还以及注销。管理人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便掌握图书的流通情况。系统要实现以下四方面的功能:购入新书、读者借书、读者还书以及图书注销。(1)购入新书:需要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期等信息,写入图书目录文件中。(2)读者借书:填写借书单,包括读者号、欲借图书分类目录号,系统首先检查该读者号是否有效,若无效,则拒绝借书,否则进一步检查该读者所借图书是否超过最大限制数,若已达到最大借阅数,则拒绝借书,否则读者可以借出该书,登记图书分类目录号、图书流水号、读者号和借阅日期等,写回到借书文件中去。(3)读者还书:根据图书流水号,从借书文件中读出和该图书相关的借阅记录,表明还书日期,再写回借书文件中;如果图书逾期未还,则处以相应罚款。(4)图书注销:将一些过时或无保留价值的图书注销,从图书文件中删除相关记录。(5)流通查询:管理员可以对图书流通情况进行查询,包括某位读者、某种图书和全局图书,给出流通情况统计表。以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。图1-1是顶层数据流图,图1-2是第0层数据流图,图1-3是第1层数据流图。[图1-1][图1-2][图1-3][数据字典](1)数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+(d)+借阅日期还书单=(e)+还书日期(2)文件说明文件名:目录文件组成:分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+(f)1.根据题意,指出数据流图中缺失的数据流(a)的名称,并指出该数据流的起点。
问答题【说明】某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为3个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。1.病人初次来该医院看病,首先购买病历,记录病人基本情况。2.病人看病前要挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。3.病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。4.所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。医院收费系统的顶层图如图3—2所示;医院收费系统的第0层D四图如图3—3所示。其中,加工1的细化图如图3—4所示,加工2的细化图如图3-5所示。假定顶层图是正确的,“定价表”文件已由其他系统生成。【数据流图】1.【问题1】指出哪张图的哪些文件可以不必画出。
问答题[说明]某订单管理系统的部分UML类图如下图所示。在图中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如下表所示。各个类的部分属性和方法说明类成员说明ProductListArrayList<Product>productsProductStringcode产品编号Stringdescription产品描述doubleprice产品单价Booleanequals(Objectobject)若两个产品相同则返回true,否则返回falseOrderItemProductproduct订单项中的产品intquantity产品的订购数量ProductgetProduct()获取订单项中的产品OrderArrayList<OrderItem>items订单中包含的订单项OrderListArrayList<Order>orders订单voidaddOrder(Orderorder)向订单列表中添加新订单intgetNumberOfOrders()获取订单列表中的订单总数SalesSystemProductListcatalog产品目录OrderListsales订单列表voidstatistic()依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如上图中OrderList与Order之间的聚集关系。for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接受集合中每个元素的变量,其语法格式如下:for(用来接受集合中元素的变量:需要遍历的对象集合)如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。下面的Java程序1和Java程序2分别给出了类OrderList和方法statistic的Java代码。[Java程序1]importjava.util.*;publicclassOrderList______{privateArrayList<Order>orders;publicOrderList(){this.orders=newArrayList<Order>();}publicvoidaddOrder.(Orderorder){this.orders.add(order);}publicIterator<Order>iterator(){return______;}publicintgetNumberOfOrders()}returnthis.orders.size();}}[Java程序2]importJava.util.*;publicclassSalesSystem{privateProductListcatalog;privateOrderListsales;privatestaticPrintWriterstdOut=newPrintWriter(System.out,true);publicvoidstatistic(){for(Productproduct:______){intnumber=0;for(Orderorder:______){for(______:order){if(product.equals(item.getProduct()))number+=item.getQuantity();}}stdOut.println(product.getCode()+""+product.getDescription()+""+number+""+number*product.getPrice());}}//其余的方法未列出}
问答题【算法说明】下面是一段插入排序的程序,将R[k+1]插入到R[1...k]的适当位置。R[0]=R[k+1];j=k;while(R[j]>R[0])R[j+1]=R[j];j--;R[j+1]=R[0];【流程图】【测试用例设计】(while循环次数为0、1、2次)表3测试用例表1.【问题1】指出算法的流程图中(1)~(3)处的内容。
问答题[说明] 以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。 [JAVA代码] //定义自己的异常类 class CCircleException extends Exception // 定义类 CCircle class CCircle private double radius; public void setRadius ( double r ) (1) if ( r<0 ) (2) else (3) Public void show ( ) System. out. println ( "area="+3.14*radius*radius ); public class ciusample public static void main ( String args[] ) CCircle cir=new CCircle( ); (4) cir. setRadius ( -2.0 ) (5) System. out. println ( e+" throwed" ) ; cir. show( ) ;
问答题[说明]某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。[需求分析结果]1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-9所示。系统记录训练场地安排的信息。表3-9训练安排表球队名称场地名称训练时间解放军一号球场2008-06-0914:00-18:00解放军一号球场2008-06-1209:00-12:00解放军二号球场2008-06-1114:00-18:00山西一号球场2008-06-1009:00-12:003.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表3-10所示。表3-10比赛安排表A组:甲队…乙队场地名称比赛时间裁判比分解放军…北京一号球场2008-06-1715:00李大明天津…山西一号球场2008-06-1719:00胡学梅B组甲队…乙队场地名称比赛时间裁判比分上海…安徽二号球场2008-06-1715:00丁鸿平山东…辽宁二号球场2008-06-1719:00郭爱琪4.所有球员、教练和裁判可能出现重名情况。[概念模型设计]根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。1.实体联系图(图3-20)2.关系模式教练(教练编号,姓名,年龄)队员(队员编号,姓名,年龄,身高,体重,(a)球队(球队名称,代表地区,成立时间,(b)场地(场地名称,场地规模,位置)训练记录((c))裁判(裁判编号,姓名,年龄,级别)比赛记录((d))1.[问题1]根据问题描述,补充4个联系,完善图3-20的实体联系图。
问答题[说明] 干部信息管理系统(CMIS)是用于对干部信息进行管理的特定系统。利用该系统,干部科可以对本单位干部信息进行管理,根据不同命令对信息进行增、删、改、内部调动,打印人事表格,进行统计、检索。干部科输入的系统命令需要合法性检查才能被接受、处理。系统命令可以是检索命令、统计命令、打印命令、维护命令中的任何一种。干部科的输入的干部信息数据包括输入信息、检索项、统计项、打印项、维护项等条目。一个完整的输入信息应包括干部的档号、干部的姓名、干部的性别、干部的年龄、干部的级别、干部的职称、干部的政治面貌等内容。系统进行检索处理时可以根据干部的档号、姓名或年龄进行简单检索,也可以根据“档号+姓名”或者“性别+年龄”进行组合检索。系统进行统计处理时,可以根据干部的性别、年龄或职称进行简单统计,也可以根据“年龄+职称”或“性别+职称”进行综合统计。通过系统授权,用户可以对系统进行维护。当用户需要对系统进行维护时,输入维护命令,得到合法性确认后,可以对系统数据库信息进行修改维护。维护命令包括:增加命令,根据输入信息增加干部信息;修改命令,根据修改项修改干部信息;检索命令,根据检索项检索干部信息。系统可以输出统计信息、人事表格、检索信息以供干部科用户使用。 干部信息管理系统的顶层图如图9-1所示;干部信息管理系统的第0层DFD图如图9-2所示,其中,加工3的细化图如图9-3所示。1. [问题1] 数据流图9-1缺少了一条数据流(在图9-2中也未给出该数据流),请给出此数据流的起点和终点,并采用说明中的词汇给出此数据流名。
问答题【说明】图书管理系统详细记录图书库存情况、读者信息及读者借阅记录(包括借书日期和还书日期)。新书入库时要为该书编制图书卡片,包括分类目录号、图书流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期。同一个书名由于版次、作者等不同有可能存在多“种”图书,其间用“分类目录号”区分。系统为每一位合法读者编制一个唯一的借书证号,读者需要提供姓名、单位。一个读者最多可以同时借阅5本图书。借阅图书时,新添借阅记录,并将对应的“归还标记”字段置为“false”,表示“尚未归还”;归还图书时,将相应的“归还标记”字段置为“true”,表示“已经归还”。一本书可能供多位读者借阅,同一本书读者可以重复借阅。如图9-17所示为该系统的E-R图。1.【问题1】实体间的联系有“一对一”、“一对多”和“多对多”,指出“借阅”联系属于哪一种?“借阅”关系模式的外键是什么?有主键吗?为什么?
问答题阅读下列说明和图,回答问题1至问题3。【说明】某汽车数字仪表板将完成下述功能:(1)通过模/数转换,实现传感器和微处理器的接口。(2)在发光二极管面板上显示数据。(3)指示速度(mph)、行驶里程、油耗(mpg)等。(4)指示加速或减速。以下是经分析得到的数据流图,有些地方有待填充,假定顶层数据流图是正确的。图9-14是顶层数据流图,图9-15是第0层数据流图,图9-16是第1层数据流图,其中A是加工1的细化图,B是加工2的细化图。图中,△sps表示转速sps的瞬时变化值,若△sps>0则汽车加速,△sps<0则减速,△sps=0则匀速。假定题中提供的顶层图是正确的,请回答下列问题。
问答题
问答题【说明】某大型旅店为了便于管理,欲开发一个客房管理系统。希望实现客房预订、入住登记、账务结算、退房,以及将服务项目记入客人账单。旅客包括散客和团体,散客预订或入住时需要提供姓名、性别、身份证和联系电话,团体则提供团体名称、负责人的姓名、性别、身份证和联系电话,以及团体人数。对于散客,还要提供换房。旅店还提供了很多服务项目,比如早餐。对每一个入住客人,服务列表记录了住宿期间的各项服务,包括服务类型、日期、数量等。当然,客人也可以不要任何服务。旅店的客房有一个唯一的房间号,分为不同的类别,不同的房间床位数和价格不同。为了有效的管理,需要记录每天的客房状态。客房的状态有:空闲、占用、已预订和维修。·客人入住后,客房处于占用状态。·客人退房后,客房处于空闲状态。·客人预订后,客房处于已预订状态。·预订客人入住后,客房处于占用状态。·预订客人取消预订后客房处于空闲状态。·需要维修时客房处于维修状态。·维修完成后客房处于空闲状态。该系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,如图9-12所示是该系统的类图的一部分,图9-13描述了客房状态的转变情况。1.【问题1】请用如图9-12所示的属性和方法的名称给出客人类的属性和方法(注意;团体类中的负责人姓名等与散客的对应属性含义相同,不必区分)。
问答题[说明]0-1背包问题可以描述为:有n个物品,对i=1,2,…,n,第i个物品价值为vi,重量为wi(vi和wi为非负数),背包容量为W(W为非负数),选择其中一些物品装入背包,使装入背包物品的总价值最大,即,且总重量不超过背包容量,即,其中,xi∈{0,1),xi=0表示第i个物品不放入背包,xi=1表示第i个物品放入背包。
问答题阅读下列算法说明和流程图,根据回答下列问题。[说明]某机器上需要处理n个作业job1,job2,…,jobn,其中:(1)每个作业jobi(1≤i≤n)的编号为i,jobi有一个收益值p[i]和最后期限值d[i];(2)机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;(3)job1~jobn的收益值呈非递增顺序排列,即p[1]≥p[2]≥...≥p[n];(4)如果作业jobi在其期限之内完成,则获得收益p[i];如果在其期限之后完成,则没有收益。为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图8-22是基于贪心策略求解该问题的流程图。(1)整型数组J[]有n个存储单元,变量k表示在期限之内完成的作业数,J[1..k]存储所有能够在期限内完成的作业编号,数组J[1..k]里的作业按其最后期限非递减排序,即d[J[1]]≤...≤d[J[k]]。(2)为了便于在数组J中加入作业,增加一个虚拟作业job0,并令d[0]=0,J[0]=0。(3)算法大致思想是:先将作业job1的编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行判定,看其能否插入到数组J中。若能,则将其编号插入到数组J的适当位置,并保证J中作业按其最后期限非递减排列;否则不插入。jobi能插入数组J的充要条件是:jobi和数组J中已有作业均能在其期限之内完成。(4)流程图中的主要变量说明如下。i:循环控制变量,表示作业的编号。k:表示在期限内完成的作业数。r:若jobi能插入数组J,则其在数组J中的位置为r+1。q:循环控制变量,用于移动数组J中的元素。
问答题阅读以下说明和图,回答问题1至问题4,将解答填入对应栏内。【说明】某音像制品出租商店欲开发一个音像管理信息系统,管理音像制品的租借业务。需求如下:1.系统中的客户信息文件保存了该商店的所有客户的用户名、密码等信息。对于首次来租借的客户,系统会为其生成用户名和初始密码。2.系统中音像制品信息文件记录了商店中所有音像制品的详细信息及其库存数量。3.根据客户所租借的音像制品的品种,会按天收取相应的费用。音像制品的最长租借周期为1周,每位客户每次最多只能租借6件音像制品。4.客户租借某种音像制品的具体流程如下。(1)根据客户提供的用户名和密码,验证客户身份。(2)若该客户是合法客户,查询音像制品信息文件,查看商店中是否还有这种音像制品。(3)若还有该音像制品,且客户所要租借的音像制品数小于等于6个,就可以将该音像制品租借给客户。这时,系统给出相应的租借确认信息,生成一条新的租借记录并将其保存在租借记录文件中。(4)系统计算租借费用,将费用信息保存在租借记录文件中并告知客户。(5)客户付清租借费用之后,系统接收客户付款信息,将音像制品租借给该客户。5.当库存中某音像制品数量不能满足客户的租借请求数量时,系统可以接受客户网上预约租借某种音像制品。系统接收到预约请求后,检查库存信息,验证用户身份,创建相应的预约记录,生成预约流水号给该客户,并将信息保存在预约记录文件中。6.客户归还到期的音像制品,系统修改租借记录文件,并查询预约记录文件和客户信息文件,判定是否有客户预约了这些音像制品。若有,则生成预约提示信息,通知系统履行预约服务,系统查询客户信息文件和预约记录文件,通知相关客户前来租借音像制品。
问答题[问题2]
收费部门业务活动数据库的部分关系模式设计如下,请根据说明补充完整,并给出其主键。
A.员工({{U}} (1) {{/U}}、姓名、{{U}} (2) {{/U}}、{{U}} (3) {{/U}})
B.队别(队别标志号、队名、{{U}} (1) {{/U}}、{{U}} (2) {{/U}})
问答题问题:2.3 (5分)
现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。
赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球队。赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言。请根据该要求,对图2-1进行修改,画出修改后的实体间联系和联系的类型。
问答题阅读下列函数说明和C代码,回答下面问题。
[说明]
冒泡排序算法的基本思想是:对于无序序列(假设扫描方向为从前向后,进行升序排列),两两比较相邻数据,若反序则交换,直到没有反序为止。一般情况下,整个冒泡排序需要进行众(1≤k≤n)趟冒泡操作,冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换。若数据初态为正序时,只需1趟扫描,而数据初态为反序时,需进行n-1趟扫描。在冒泡排序中,一趟扫描有可能无数据交换,也有可能有一次或多次数据交换,在传统的冒泡排序算法及近年的一些改进的算法中[2,3],只记录一趟扫描有无数据交换的信息,对数据交换发生的位置信息则不予处理。为了充分利用这一信息,可以在一趟全局扫描中,对每一反序数据对进行局部冒泡排序处理,称之为局部冒泡排序。
局部冒泡排序的基本思想是:对于N个待排序数据组成的序列,在一趟从前向后扫描待排数据序列时,两两比较相邻数据,若反序则对后一个数据作一趟前向的局部冒泡排序,即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置。扫描第—对数据对,若反序,对第2个数据向前冒泡,使前两个数据成为,有序序列;扫描第二对数据对,若反序,对第3个数据向前冒泡,使得前3个数据变成有序序列;……;扫描第i对数据对时,其前i个数据已成有序序列,若第i对数据对反序,则对第i+1个数据向前冒泡,使前i+1个数据成有序序列;……;依次类推,直至处理完第n-1对数据对。当扫描完第n-1对数据对后,N个待排序数据已成了有序序列,此时排序算法结束。该算法只对待排序列作局部的冒泡处理,局部冒泡算法的名称由此得来。
以下为C语言设计的实现局部冒泡排序策略的算法,根据说明及算法代码回答问题1和问题2。
[变量说明] #define N=100 //排序的数据量
typedef struct{ //排序结点
int key;
info datatype;
......
}node; node SortData[N];
//待排序的数据组
node类型为待排序的记录(或称结点)。数组SortData[]为待排序记录的全体称为一个文件。key是作为排序依据的字段,称为排序码。datatype是与具体问题有关的数据类型。下面是用C语言实现的排序函数,参数R[]为待排序数组,n是待排序数组的维数,Finish为完成标志。
[算法代码] void Part-BubbleSort (node R[], int
n) { int=0 ;
//定义向前局部冒泡排序的循环变量 //暂时结点,存放交换数据
node tempnode; for (int i=0;i<n-1;i++)
; if (R[i].key>R[i+1].key)
{
{{U}} (1) {{/U}} while ({{U}}
(2) {{/U}})
{ tempnode=R[j] ;
{{U}} (3) {{/U}}
R[j-1]=tempnode ;
Finish=false ;
{{U}} (4)
{{/U}} } // end while
} // end if } // end for} // end
function
问答题阅读以下UML类图及其说明,根据要求回答问题1~问题4。[说明]某客户信息管理系统中保存着两类客户的信息:①个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。②集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话以及职位。该系统除了可以保存客户信息之外,还具有以下功能:①向系统中添加客户(addCustomer);②根据给定的客户标识在系统中查找该客户(getCustomer);③根据给定的客户标识从系统中删除该客户(removeCustomer);④创建新的联系人(addContact);⑤在系统中查找指定的联系人(getContact);⑥从系统中删除指定的联系人(removeContact)。该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表5-20所示的类。{{B}}表5-20客户信息管理系统类表{{/B}}{{B}}类名{{/B}}{{B}}说明{{/B}}CustomerlnformationSystem客户信息管理系统IndividualCustomer个人客户InstitutionalCustomer集团客户Contact联系人描述该客户信息管理系统的UML类图如图5-12所示。
