《类图实例和习题ppt课件.ppt》由会员分享,可在线阅读,更多相关《类图实例和习题ppt课件.ppt(25页珍藏版)》请在三一办公上搜索。
1、建立系统静态图的过程是对系统领域问题及其解决方案的分析和设计的过程。静态图设计的主要内容是类图的建立。建立类图的步骤:1.研究分析问题领域,确定系统的需求。2.发现类和对象,明确类的属性和操作。3.发现类之间的静态关系,一般与特殊关系,整体和部分关系,类之间的继承性和多重性。4.设计类与关系。5.绘制类图并编制相应的说明。,部分文档描述:系统为每个读者建立一个账户,并给读者发放读者证,(可以提供读者证号、读者姓名),账户中存储读者的个人信息、借阅信息以及预订信息等,持有读者证可以借阅图书、返还图书、查询图书信息、预订图书和取消预订。 在借阅图书时,需要输入读者所借阅的图书名、ISBN号,然后输
2、入读者的读者证号和姓名,完成后提交所填表格,系统验证读者是否有效。如果读者有效,借阅请求被接受,系统查询读者所借阅的图书是否存在。若存在,则读者可借出图书,系统记录借阅记录,如果读者所借阅的图书已被借出,读者还可预订,该图书。读者如期还书后,系统清除借阅记录,否则需缴纳罚金。读者还可以续借图书,系统还包括图书挂失和读者证挂失等功能。 同时,以上部分操作还需要系统管理员和图书管理员进行参与。 结合以上分析,采用识别类的方法,暂时可以识别出“图书管理系统”中的一些类。,实例:图书管理系统,识别“图书管理系统”中的类(1)寻找名词阅读系统文档和用例(尤其是用例事件流),找出名词或名词短语,注意区别类
3、和属性,筛选后,去除冗余的、与系统无关的、非独立的类。(2)类-职责-协作方法CRC方法,模拟开发人员”处理卡片”的一个过程。开发人员在执行一个处理实例(即一个用例)的同时,将类名赋予的职责和合作者填入卡片,以此来确定类。,(3)根据MVC模式寻找根据用例图找出边界类;在用例图中找出控制类;数据库设计完毕后,可以根据数据表获得实体类。(4)有些类无法通过上述方法找到,可能还需要从后面的动态模型(如时序图和协作图)中通过分析对象来确定。,主要参与者:系统管理员、图书管理员、读者主要用例:Manage User(用户管理)、Manage Book(图书管理)、Manage Reader(读者管理)
4、、Borrow-Lend(借阅管理)等。Manage User:完成系统用户的增加、删除、修改、 查询等功能。2. Manage Book:完成基本信息设置(图书类型设置、 借阅种类设置)和图书信息管理(图书信息设置、 图书信息查询)功能。3. Manage Reader:完成读者办证、读者信息查询、 读者证挂失功能。4. Borrow-Lend:完成借书、还书、续借、超期罚款、 图书预订、取消预订、图书挂失等功能。,图书管理系统的用例,顶层用例图,系统管理员Manage User 子用例图,图书管理员Manage Reader 子用例图,图书管理员Borrow-Lend子用例图,读者Borr
5、ow-Lend子用例图,“图书管理系统”中的类,系统的用户接口可以作为系统的边界类:(如果采用页面形式表示用户接口,可把页面看成边界类)Login(登录)、Main(主界面)、SystemManage(系统管理)、ReadrManage(读者管理)、BookManage(图书管理)、BorrowManage(借阅管理)、FineManage(罚款管理)等窗体为方便管理,设计2个包,Business Package(业务包)、GUI Package(图形用户接口包),2.绘制类图,1.根据以下描述,给出系统的UML类设计方案。系统名称:农夫果园游戏系统任务角色:农夫(Farmer)、市场调查员(
6、Inquirer)、农场主(Boss)系统实物:各种水果(Fruit)、果园(Garden)功能需求:农夫可以根据市场行情种植各种水果;市场调查员可以了解市场行情;农场主可以向农夫、市场调查员发布命令;各种果树都具有种植(plant)、成长(grow)、 收获(harvest)行为;果园是人物和实物进行交易的场所。,2.每个HouseKeeper都有一个Manager负责,有的Manager可能负责多个HouseKeeper,有的Manager可能一个HouseKeeper都没有,下面哪幅图适合描述类HouseKeeper和类Manager的关系?,A,B,3.为下面这段Java代码补充类图。
7、,Public class Student private String name; public void setName(String name) this.name=name; public String getName return this.name;,4.根据下面的陈述绘制类图学生包括本科生、研究生两种。研究生可以利用课余时间担任助教。教师包括讲师和教授两种。一名助教可以为一位讲师或一位教授助课,一位 讲师只能有一名助教,一位教授可以有5名助教。,5.按如下描述绘制出“飞船系统”的类图。“神舟”六号飞船是“神舟”飞船系列的一种,它由轨道舱、返回舱和逃逸救生塔组成。航天员可以在返回舱
8、内驾驶飞船,轨道舱则是航天员工作和休息的场所。在紧急情况下,可以利用逃逸救生塔逃生。在飞船两侧有多个太阳能电池翼,可以为飞船提供电能。,6.按如下描述绘制出“自制机器人系统”的类图这张图的焦点在那些让机器人在路上行走的机制所对应的类上。通过分析可以发现一个虚类Motor和两个由它派生出来的类:SteeringMotor和MainMotor。这两个类都是从父类Motor继承了5个方法:move()、stop()、resetConter()、status()Distance()。这两个类又是另一个类Driver的一部分。类PathAgent和Driver有一个一对一的关系,类PathAgent和CollisionSensor有1对n的关系。,