UML图书管理系统建模实例
- 格式:ppt
- 大小:676.50 KB
- 文档页数:113
22-Àý×Ó1import java.applet.*;import java.awt.*;public class Example22_1 extends Applet{ Image img;public void start(){ img=getImage(getCodeBase(),"vintdev.jpg");}public void paint(Graphics g){g.drawImage(img,2,2,this);}}22-Àý×Ó2import java.applet.*;import java.awt.*;public class Example22_2 extends Applet{ Image img;int height,width;public void start(){ img=getImage(getCodeBase(),"vintdev.jpg");height=img.getHeight(this);width=img.getWidth(this);}public void paint(Graphics g){g.drawImage(img,22,72,width,height,this);g.drawImage(img,2+width,2+height,width,height,this);}}22-Àý×Ó3import java.applet.*;import java.awt.*;public class Wuqiong extends Applet{ static Image img; Canvas canvas; static int width,height; public void init(){ setLayout(new GridLayout(3,1));add(new Button("×£ºÃ")); add(new Button("½ø²½"));canvas=new Mycanvas();add(canvas);width=getSize().width;height=getSize().height;}public void start(){ img=getImage(getCodeBase(),"Tom1.jpg");}}class Mycanvas extends Canvas{ public void paint(Graphics g){g.drawImage(Wuqiong.img,0,0,Wuqiong.width,(Wuqiong.height)/3,this) ;}}22-Àý×Ó4import java.applet.*;import java.awt.*;import java.awt.event.*; public class Example22_4 extends Applet implements MouseListener {final int number=38; int count=0;Image[] card=new Image[number];public void init(){ addMouseListener(this);for(int i=0;i<number;i++){card[i]=getImage(getCodeBase(),"jiafei"+i+".jpg"); }}public void paint(Graphics g){if((card[count])!=null)g.drawImage(card[count],10,10,card[count].getWidth(this),card[coun t].getHeight(this),this);}public void mousePressed(MouseEvent e){ count++;if(count>number)count=0;repaint();}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseClicked(MouseEvent e){}}22-Àý×Ó5import java.applet.*;import java.awt.*;import java.awt.event.*; public class Example22_5 extends Applet implements Runnable{final int number=59; int count=0;Thread mythread;Image[] pic=new Image[number];public void init(){ for(int i=0;i<number;i++){pic[i]=getImage(getCodeBase(),"tom"+i+".jpg"); }}public void start(){ mythread=new Thread(this);mythread.start();}public void stop(){ mythread=null;}public void run(){while(true){if(count>59)count=0;repaint();count++;try{mythread.sleep(200); }catch(InterruptedException e){}}}public void paint(Graphics g){if((pic[count])!=null)g.drawImage(pic[count],10,10,pic[count].getWidth(this),pic[count]. getHeight(this),this);}}22-Àý×Ó6import java.applet.*;import java.awt.*;import java.awt.event.*;class Imagecanvas extends Canvas{Toolkit tool; Image myimage;Imagecanvas(){ getSize();tool=getToolkit();//µÃµ½Ò»¸öToolkit¶ÔÏó¡£myimage=tool.getImage("apple.jpg");//ÓÉtool¸ºÔð»ñȡͼÏñ¡£}public void paint(Graphics g){g.drawImage(myimage,10,10,myimage.getWidth(this),myimage.getHeight (this),this);}public Dimension getPreferredSize(){return new Dimension(160,100);}}public class Example22_6{ public static void main(String args[]){Imagecanvas canvas=new Imagecanvas();Frame frame=new Frame();frame.setLayout(new BorderLayout());frame.add(canvas,"Center");frame.add("South",new Label());frame.add("West",new Label());frame.add("North",new Label());frame.setSize(400,300);frame.setVisible(true);frame.pack();frame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}}22-Àý×Ó7import java.applet.*;import java.awt.*;import java.awt.event.*;class Imagecanvas extends Canvas implements MouseListener{final int number=59; int count=0; Toolkit tool;Image[] card=new Image[number];Imagecanvas(){ getSize(); tool=getToolkit(); addMouseListener(this);for(int i=0;i<number;i++){card[i]=tool.getImage("tom"+i+".jpg"); }}public void paint(Graphics g){if((card[count])!=null)g.drawImage(card[count],10,10,card[count].getWidth(this),card[coun t].getHeight(this),this);}public Dimension getPreferredSize(){return new Dimension(160,100);}public void mousePressed(MouseEvent e){ count++;if(count>number-1)count=0;repaint();}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseClicked(MouseEvent e){}}public class Example226{ public static void main(String args[]){Imagecanvas canvas=new Imagecanvas();Frame frame=new Frame(); frame.setLayout(new BorderLayout()); frame.add(canvas,"Center");frame.add("South",new Label());frame.add("West",new Label()); frame.add("North",new Label());frame.setSize(400,300);frame.setVisible(true); frame.pack(); frame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}}22-Àý×Ó8import java.awt.*;import java.awt.event.*;public class Frame_Icon{ public static void main(String args[]){Frame frame=new Frame();Toolkit tool= frame.getToolkit();//µÃµ½Ò»¸öToolkit¶ÔÏó¡£Image myimage=tool.getImage("apple.jpg");//ÓÉtool¸ºÔð»ñȡͼÏñ¡£ //ÉèÖô°¿ÚµÄͼ±êÊÇmyimageÖ¸¶¨µÄͼÏóapple.jpg£ºframe.setIconImage(myimage);frame.setSize(400,300);frame.setVisible(true);frame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}}。
图书馆管理系统1 系统功能需求①借阅者可以通过网络查询书籍信息和预定书籍。
②借阅者能够借阅书籍和还书。
③图书管理员能够处理借阅者的借阅和还书请求.④系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。
⑤系统主要包括以下几个模块:◆基本数据维护模块◆基本业务模块◆数据库管理模块◆信息查询模块2 基本数据维护模块基本数据维护模块包括的主要功能模块:①添加借阅者帐户②修改更新借阅者帐户信息③添加书目④修改和更新书目信息⑤添加书籍⑥删除书籍3 基本业务模块基本业务模块包含的功能:①借书②还书③书籍预留④取消书籍预定4 数据库模块数据库模块的功能:①借阅信息管理②书籍信息管理③帐户信息管理④书籍预留信息管理5 信息查询模块信息查询模块主要是查询数据库中的相关信息:①查询书籍信息②查询借阅者信息◆系统的参与者主要有三类:读者(也可称为借阅者)、图书馆管理员、图书馆管理系统维护者.1、系统中的类读者类Reader图书馆人员类LibraryStaff图书馆管理员类LibraryManager 系统管理员类SystemManager 图书馆馆长类LibraryBoos图书馆数据库类LibraryDatabase图书馆资源数据库ResourcesDatabase 图书馆读者数据库ReaderDatabase图书馆工作人员数据库LibraryStaffbase图书馆资源类LibraryResources实物书籍类BooksResources电子书籍类ElectronicResources 书类Book Magazine杂志类各类的关系图2、画出系统的用例图。
借阅者请求服务的用例图ReaderLibraryDatabase+part of1图书馆工作人员用例图LibraryStaffLibraryBoss3、画出系统的时序图●系统管理员添加书籍的时序图●系统管理员添加借阅者帐户的时序图●系统管理员删除书目的时序图●图书管理员处理书籍借阅的时序图●图书管理员处理书籍归还的时序图●借阅者查询书籍信息的时序图●借阅者预留书籍的时序图4、画出系统的状态图●书的状态图●借阅者帐户的状态图5、画出系统的活动图借阅者的活动图图书管理员的活动图●系统管理员的活动图✧系统管理员维护借阅者帐户的活动图系统管理员进行书目信息维护的活动图系统管理员维护书籍信息的活动图。
Rational Rose建模工具及实例设计—图书管理系统一、图书管理系统的需求分析(一)系统功能模块对于图书管理系统进行详细了解和分析,一个功能完全,满足基本需要的系统,必须包括以下的几个模块。
(1)基本数据维护功能模块(2)基本业务功能模块(3)数据库维护功能模块(4)信息查询功能模块(5)安全/使用管理功能模块(6)帮助功能模块1、基本数据维护功能基本数据维护功能模块,如图7图7基本数据维护功能模块2、基本业务功能需求模块基本业务功能需求功能模块,如图8图8基本业务功能需求功能模块(二)数据库维护功能数据库维护功能模块,如图9:图9数据库维护功能模块3、查询功能需求查询功能需求模块图,如图10:图10查询功能需求4、安全使用管理功能需求安全使用管理功能需求模块图,如图11:图11安全使用管理功能需求二、系统的UML基本模型(一)用例设计介绍选择菜单[File-New]打开如图12所示的“Create New Model”对话框,点击[Cancel]按钮。
此时,Rational Rose会自动加载本身的一些构架模型。
加载完成后,就可以开始设计自己的模型,在此之前保存该模型,并将该模型取名为“图书管理系统”。
1、确定系统用例设计的内容图书管理系统用于对书籍的借阅以及对读者信息进行统一的管理,凡是有关这些操作的内容都属于系统的范围,比如读者要借书、还书、预留书籍,工作人员查看读者信息了查看书籍信息等。
2、对参与者的确定需要分析系统设计的问题领域,明确系统运行的主要任务。
根据图书管理系统的需求分析,可以得到如下任务:●读者要借书籍●读者要还书籍●读者要预留书籍●读者要撤销预留书籍●工作人员根据读者要求提供服务●工作人员进行查询,修改信息这个用例图的参与者严格说有两个,一个是图书馆工作人员,一个读者,而实际系统使用的主要操作者是图书馆工作人员,读者没有操作系统的权限,只是想工作人员提供请求服务的信息。
图书馆管理系统一、用例图该图书馆管理系统的用例图如下:图1:图书馆管理系统的用例图二、系统的顺序图(1)借书顺序图(2)还书顺序图(3)罚款顺序图1、借书顺序图图2:图书馆管理系统借书顺序图顺序图说明:(1)login():登录系统。
(2)checkstu_card():对读者信息进行验证,检查是否符合本图书馆借书条件。
(3)showinformation():显示该读者的基本信息函数。
(4)borrow():读者借书函数。
(5)getreaders():取得读者信息函数。
看该读者是否符合借书条件,若符合,则返回可借信息。
(6)gettitle():取得书目信息。
(7)getreservation():检验书籍是否被预订函数。
(8)getnoreservation():书籍没被预订或取消预订函数。
(9)create(borrower,item):创建书籍外借函数。
2、还书顺序图图3:图书馆管理系统还书顺序图顺序图说明:(1)login():登录系统。
(2)getitem():取得书籍条目信息。
(3)update():对图书馆书籍条目和借阅者信息进行更新条目。
3、罚款顺序图图4:图书馆管理系统的罚款顺序图顺序图说明:管理员扫描图书,图书显示过期天数,罚款金额按过期天数累加三、系统的状态图图5:图书馆的书籍状态图四、系统的活动图1.借书活动图管理员首先要扫描读者的借书证,检验证件是否符合图书馆借书条件,若该读者的借书数量还未达到最大规定数量,并且其所借书籍均未属于过期范围,则符合借书条件。
则再扫描书籍条形码,检查书籍是否是不可借书籍或者已经被预订,若被预订,则取消预订,方可借书。
在这些条件都符合时则更新书籍信息和读者的借阅信息,记录好借书的时间。
图6:图书馆管理系统的借书活动图2、还书活动图图书管理员对书籍进行扫描,若书籍已经过期,则要求读者还请欠款才能还书,读者缴应交罚款后,更新书目信息和读者信息。
图书馆管理系统UML建模分析与设计一、图书馆管理系统的需求分析系统的功能需求主要包括以下几点:1.借阅者可以通过网络查询书籍信息和预定信息;2.借阅者能够借阅书籍和还书;3.图书管理员能够处理借阅者的借阅和还书请求;4.系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者的账户,增加和删除书籍。
二、系统的用例图1.借阅者请求服务的用例图return the book用例图说明:search foe book:书籍查询用例。
reserve the book:书籍预定用例。
login the system:登录系统,用户可以登录系统以便进行借阅信息查询以及预定书籍等操作。
query info:查询借阅信息。
login the system:借阅书籍。
return the book:归还书籍。
return with fine:还书时交纳罚金,如果借阅者所借书籍超过借阅期限未还,还书时候就要交纳罚金。
2.图书馆管理员处罚借书、还书等的用例图remove reservation用例图说明Get book: 书籍归还处理。
lend book:书籍借阅处理。
remove reservation: 删除书籍预定信息。
get with fine:还书时收取罚金。
check user count:检查用户借阅凭证的合法性。
图书馆管理员在借阅者借书时候要检查用户借阅凭证的合法性。
3.系统管理员进行系统维护的用例图用例图说明:remove or update borrower:删除或更新借阅者账户信息。
add borrower:添加借阅者账户。
remove book:删除书籍。
add book:增加书籍。
remove or update title:删除或更新书目。
add title:增加书目。
query book info:书籍信息查询。
query borrower info:查询读者信息。
图书馆管理系统1系统功能需求①借阅者可以通过网络查询书籍信息和预定书籍。
②借阅者能够借阅书籍和还书。
③图书管理员能够处理借阅者的借阅和还书请求。
④系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者帐户,增加和删除书籍。
⑤系统主要包括以下几个模块:基本数据维护模块基本业务模块数据库管理模块信息查询模块2基本数据维护模块基本数据维护模块包括的主要功能模块:①添加借阅者帐户②修改更新借阅者帐户信息③添加书目④修改和更新书目信息⑤添加书籍⑥删除书籍3基本业务模块基本业务模块包含的功能:①借书②还书③书籍预留④取消书籍预定数据库模块数据库模块的功能:①借阅信息管理②书籍信息管理③帐户信息管理④书籍预留信息管理5信息查询模块信息查询模块主要是查询数据库中的相关信息:①查询书籍信息②查询借阅者信息系统的参与者主要有三类:读者(也可称为借阅者)、图书馆管理员、图书馆管理系统维护者。
1、系统中的类读者类Reader图书馆人员类LibraryStaff 图书馆管理员类LibraryMa nager系统管理员类SystemMa nager 图书馆馆长类LibraryBoos△图书馆数据库类LibraryDatabase 图书馆资源数据库ResourcesDatabase 图书馆读者数据库ReaderDatabase图书馆工作人员数据库LibraryStaffbase图书馆资源类LibraryResources实物书籍类BooksResources 电子书籍类ElectronicResources 书类Book Magazine杂志类实用标准文档各类的关系图实用标准文档2、画出系统的用例图。
借阅者请求服务的用例图Readern实用标准文档图书馆工作人员用例图处理读者借书图书馆管理员验证use处理读者还书标记读者还ResourcesDatabase1添加书目SystemManager 删除书目parr of跟新书目LibraryStaff 1系统管理员验证添加书籍+part of1LibraryDatabase删除书籍A+part of1LibraryManager A删除读者用户添加读者用户1LibraryBoss馆长验证LibraryStaffbase添加图书图书馆工作人员删除图书馆工作人员图书馆工作人员权限分配System标记读者已借书储存图书馆管理员账户信息/、 1ReaderDatabase实用标准文档3、画出系统的时序图系统管理员添加书籍的时序图系统管理员添加借阅者帐户的时序图sd系统管理员添加借阅者帐户的时序图SystemManager LibraryStaffbase ReaderDatabase Reader7:将开设的新账户给读者sd系统管理员添加书籍时序图实用标准文档系统管理员删除书目的时序图图书管理员处理书籍借阅的时序图LibraryManagerLibraryStaffbaseResourcesDatabaseReaderDataBaseReader验证身份)iwti I ill! rill llvi Illi-Mi iinliillviililHillilmliliriHilllni iili-will itcrilill Mi IliVFilli8:该书信息I ra 'inr Bailiui ■ ■■■; mi rt10 :借阅成功1仁将书给读者2:返回信息< -----------3:发出借书请求4 :输入 ReaderlD()■JuiaiiuBiiiauuaiii^naiLuiiiMJii iua JIII , iaji iiMani ILOJ niiiBiiiau6:返回读者信息7 :输入书籍ID()5:记录读者借书9:标记该书借岀图书管理员处理书籍归还的时序图sd 图书管理员处理书籍归还的时序图仁验证身份()二8:更新书状态10 :将书归还书库借阅者查询书籍信息的时序图sd 借阅者查询书籍信息的时序图3 :使用终端机器查询书籍()LibraryManager LibraryStaffbase ResourcesDatabase ReaderDatabase Reader LibraryResourcesReaderReaderDatabaseResourcesDatabase1 :验证身份()►Alllll-Hliai+vi liil-Hliaitvi llllil-iliiAilllivll liiMilil2:返回信息LibraryResourcesM ----------- >7:告之读者已还书2 :返回验证信息5 :标记该书已还6 :读者该书已还9 :还书成功:3:发出还书请求4 :输入书籍ID()4:返回书籍信息和馆藏地点5:到馆藏地点取书实用标准文档借阅者预留书籍的时序图sd借阅者预留书籍的时序图Reader ReaderDatabase ResourcesDatabase仁验证身份()2:返回验证信息3 :使用终端机器预留书籍()5:返回书籍信息和馆藏地点4、画出系统的状态图书的状态图外借状态4 :预留书籍信息在馆状态m --------------------.entry/读者在馆阅读借阅者帐户的状态图entry/被读者预留entry/读者借书do/Reader 借书.exit/书被归还未借书状态借书状态entry/Reader没有借书entry/Reader已经还书,exit/Reader 借书entry/读者借书entry/读者预留书籍[exit/读者还书J欠款状态entry/读者借书超过日期‘exit/读者还书并且交齐欠款实用标准文档5、画出系统的活动图借阅者的活动图进入图书馆Reader进入刷卡终端该项服务结束结束离开图书馆将书给图书馆管刷卡输入ReaderlD键盘输入Readerld查询书籍资料借书下载电子资料还书登陆查询终端机将书还给图书馆管理人员验证成功享受Reader各项服卜护务理人员\f图书馆管理人员处理借书请求图书馆管理人员处理还书请求输入查询资料信息登陆账户进入电子资料数据库借书成功还书成功信息得到相关资料下载或阅览电子资源继续另外一个服务实用标准文档图书管理员的活动图重新等待实用标准文档系统管理员的活动图系统管理员维护借阅者帐户的活动图系统管理员进行书目信息维护的活动图系统管理员维护书籍信息的活动图。
信息学部实验报告课程名称:UML实验名称:图书管理系统实验类型:□验证性□综合性□设计性实验日期:学生姓名:学号:班级:专业:学部:指导教师:成绩:评语:2011年—2012年第二学期图书管理系统一、实验目的实操系统建模---图书管理系统,熟悉掌握ROSE软件各部分的实际功能。
二、实验内容及步骤用例图:借阅者用例图:图书管理员用例图:系统管理员用例图:类图:参与者的基本类图:Administrator主角1主角2业务实体类:类之间的关系示例:1.“借阅者查找图书”用例序列图:借阅者查找图书序列图:借阅者查找图书协作图:Borrower2.“借阅者查询个人信息”用例借阅者查询个人信息序列图:借阅者查询个人信息协作图:Borrower 3. “借阅者预订图书”用例借阅者预订图书序列图:借阅者预订图书协作图:4.“图书管理员处理借阅”用例图书管理员处理借阅序列图:图书管理员处理借阅协作图:Libiarian5.“图书管理员处理图书还书”用例图书管理员处理图书还书序列图:图书管理员处理图书还书协作图:6.“系统管理员查询书籍”用例系统管理员查询书籍信息序列图:系统管理员查询书籍信息协作图:7.“系统管理员添加书籍”用例系统管理员添加书籍序列图系统管理员添加书籍协作图::8.“系统管理员删除书籍”用例系统管理员删除书籍序列图:系统管理员删除书籍协作图:1.2修改图书信息:Administrator9“系统管理员查询借阅者信息”用例系统管理员查询借阅者信息序列图:系统管理员查询借阅者信息协作图::Administrator11.“系统管理员添加借阅者”用例系统管理员添加借阅者序列图:系统管理员添加借阅者协作图:1.1添加借阅者信息::Borrower12.“系统管理员删除借阅者”用例系统管理员删除借阅者序列图:系统管理员删除借阅者协作图:主角1主角213.“系统管理员修改借阅者信息”用例系统管理员修改借阅者信息序列图:系统管理员修改借阅者信息协作图:14.“系统管理员添加书目”用例系统管理员添加书目序列图:系统管理员添加书目协作图::15.“系统管理员删除书目”用例系统管理员删除书目序列图:系统管理员删除书目协作图:图书状态图:借阅者状态图:借阅者活动图:图书管理员活动图:系统管理员管理借阅者信息活动图:系统管理员图书信息活动图:系统管理员维护书目信息活动图三、实验心得通过此次系统的理论知识整理以及实验步骤的操作,让我进一步熟悉了ROSE软件的各部分的实际功能和应用。
图书管理系统Rose模型设计过程一、模型总体设计1 创建系统的Use Case 视图Use Case框图显示系统中的使用案例与角色及其相互关系,角色是与所建系统交互的对象(人或物),使用案例是系统提供的高级功能模块,演示了人们如何使用案例。
首先创建主Use Case框图,显示系统的总体视图。
下图是图书馆管理系统的用例图,所建系统的需求组成所有使用案例和角色设置。
这个框图中有系统角色、系统用例和它们之间的关系。
Borrower图1.1图1.1中有两个系统角色:借阅者和图书管理员,四个系统使用案例:借阅图书、归还图书、预约图书和取消预约。
较好的描述了系统的使用功能:借阅者通过图书管理员可以借阅书刊、归还书刊、预约书刊和取消预约,所有这些操作要通过图书管理员来完成,也就是说图书管理员是本系统的直接使用者。
本系统的系统角色Borrower可以是一个人,也可以是其他的图书馆,能够对图书进行借阅和预约。
图1.2描述了系统的另一个方面的功能——系统维护的功能。
本系统的维护是由图书管理员来维护的,他可以增加书籍、删除或更新书籍、增加条款、删除条款、增加新的借阅者、删除或更新借阅者。
这个用例用到了其他的一些用例:Add Title用例、Remove or Update Title用例、Add Item用例、Remove Item用例、Add Borrower用例和Remove or Update Borrower用例。
Remove or Update Borrower图1.22 创建系统的Logical 视图首先在Logical视图中创建Sequence框图和Collaboration框图,也就是Interaction框图。
Interaction 框图一步一步显示使用案例的流程。
包括:流中需要什么对象;对象相互发送什么消息;什么角色启动流;消息按什么顺序发送。
图1.3是系统添加新用户的Sequence 框图。
在添加的时候要查找是否数据库中有该用户的信息,如果没有的话则进行添加,用户信息有四个字段:用户姓名、用户地址、邮政编码、国家地区。
22-Àý×Ó1import java.applet.*;import java.awt.*;public class Example22_1 extends Applet{ Image img;public void start(){ img=getImage(getCodeBase(),"vintdev.jpg");}public void paint(Graphics g){g.drawImage(img,2,2,this);}}22-Àý×Ó2import java.applet.*;import java.awt.*;public class Example22_2 extends Applet{ Image img;int height,width;public void start(){ img=getImage(getCodeBase(),"vintdev.jpg");height=img.getHeight(this);width=img.getWidth(this);}public void paint(Graphics g){g.drawImage(img,22,72,width,height,this);g.drawImage(img,2+width,2+height,width,height,this);}}22-Àý×Ó3import java.applet.*;import java.awt.*;public class Wuqiong extends Applet{ static Image img; Canvas canvas; static int width,height; public void init(){ setLayout(new GridLayout(3,1));add(new Button("×£ºÃ")); add(new Button("½ø²½"));canvas=new Mycanvas();add(canvas);width=getSize().width;height=getSize().height;}public void start(){ img=getImage(getCodeBase(),"Tom1.jpg");}}class Mycanvas extends Canvas{ public void paint(Graphics g){g.drawImage(Wuqiong.img,0,0,Wuqiong.width,(Wuqiong.height)/3,this) ;}}22-Àý×Ó4import java.applet.*;import java.awt.*;import java.awt.event.*; public class Example22_4 extends Applet implements MouseListener {final int number=38; int count=0;Image[] card=new Image[number];public void init(){ addMouseListener(this);for(int i=0;i<number;i++){card[i]=getImage(getCodeBase(),"jiafei"+i+".jpg"); }}public void paint(Graphics g){if((card[count])!=null)g.drawImage(card[count],10,10,card[count].getWidth(this),card[coun t].getHeight(this),this);}public void mousePressed(MouseEvent e){ count++;if(count>number)count=0;repaint();}public void mouseReleased(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseClicked(MouseEvent e){}}22-Àý×Ó5import java.applet.*;import java.awt.*;import java.awt.event.*; public class Example22_5 extends Applet implements Runnable{final int number=59; int count=0;Thread mythread;Image[] pic=new Image[number];public void init(){ for(int i=0;i<number;i++){pic[i]=getImage(getCodeBase(),"tom"+i+".jpg"); }}public void start(){ mythread=new Thread(this);mythread.start();}public void stop(){ mythread=null;}public void run(){while(true){if(count>59)count=0;repaint();count++;try{mythread.sleep(200); }catch(InterruptedException e){}}}public void paint(Graphics g){if((pic[count])!=null)g.drawImage(pic[count],10,10,pic[count].getWidth(this),pic[count]. getHeight(this),this);}}22-Àý×Ó6import java.applet.*;import java.awt.*;import java.awt.event.*;class Imagecanvas extends Canvas{Toolkit tool; Image myimage;Imagecanvas(){ getSize();tool=getToolkit();//µÃµ½Ò»¸öToolkit¶ÔÏó¡£myimage=tool.getImage("apple.jpg");//ÓÉtool¸ºÔð»ñȡͼÏñ¡£}public void paint(Graphics g){g.drawImage(myimage,10,10,myimage.getWidth(this),myimage.getHeight (this),this);}public Dimension getPreferredSize(){return new Dimension(160,100);}}public class Example22_6{ public static void main(String args[]){Imagecanvas canvas=new Imagecanvas();Frame frame=new Frame();frame.setLayout(new BorderLayout());frame.add(canvas,"Center");frame.add("South",new Label());frame.add("West",new Label());frame.add("North",new Label());frame.setSize(400,300);frame.setVisible(true);frame.pack();frame.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}}22-Àý×Ó7import java.applet.*;import java.awt.*;import java.awt.event.*;class Imagecanvas extends Canvas implements MouseListener{final int number=59; int count=0; Toolkit tool;Image[] card=new Image[number];Imagecanvas(){ getSize(); tool=getToolkit(); addMouseListener(this);for(int i=0;i<number;i++){card[i]=tool.getImage("tom"+i+".jpg"); }。
图书管理系统UML分析图
一、图书管理类图
类:图书类(实体类),书目类,图书管理界面类(控制类),学生类(实体类),书籍类(实体类),借书界面类,还书界面类,预约界面类
上图为图书管理类图
二、图书管理活动图
动作状态:用户登录,验证登录,管理图书,验证图书等几部分组成…..
三、图书管理用例图
参与者:图书管理员,学生
用例:学生部分(新增,修改,删除学生信息),图书部分(新增,修改,删除图书信息),以及借书,还书,用户登录
用例图如下图所示:
图书管理用例图
分类器角色:学生,管理员,图书,显示图书信息界面
】添加图书
】修改图书信
息
】查询图书
协作图
五、图书管理部署图
包:用户层,服务器,学生图书数据库
对象:学生,管理员等…
节点:学生端,管理员端,服务器端,学生图书信息数据库…
图书管理部署图
组件:管理员,学生,图书
依赖关系:学生依赖图书和管理员,图书依赖管理员
组件图
七、图书管理顺序图
对象:管理员,系统,书目,图书信息
八、图书管理状态图(借书状态图)
状态:空闲状态,查书目,借阅,预约,取消预约等
输入书目编号
图书管理状态图。
图书管理系统的UML建模设计以图书管理系统为例,结合Rational Rose2003工具软件绘制图形,详细阐述UML 的建模过程。
1需求分析描述图书信息管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者、图书管理员和系统管理员3方面的需求。
对借书者来说主要是查询个人信息、查询图书信息、预定当前正在被别人借阅的图书、借阅图书和返还图书等;图书管理员是系统的主要使用者,负责借书处理和还书处理,当读者预定的图书借出给定预定者后取消图书预定;系统管理员主要负责系统的维护工作,涉及到读者信息管理,图书信息管理,系统状态维护等.2模型建立1)用例模型的建立本系统共设置四个活动者。
分别是TT_People、TT_Registrar、TT_Reade r和TT_Database.其中TT_People泛指与系统发生关系的人;TT_Regis trar为系统管理员,负责添加、修改图书信息;TT_Reader为所有读者,读者可能发生借书、续借、还书的行为;TT_Database为存储各种信息的数据库对象.另:考虑到现实图书馆中还存在“图书馆管理员”这一角色,但其所起的作用仅为代替读者完成各种系统操作,故没有设置此活动者.系统中共有五个用例.TT_Addinfo、TT_Modifyinfo、TT_Borrow、TT_Renew和TT_Return。
TT_Addinfo表示管理员添加图书信息;TT_Modifyinfo表示修改图书信息;TT_Borrow表示读者借阅图书;TT_Renew表示读者续借图书;TT_Return表示读者归还图书。
用例图如图2所示。
图书管理系统协作图读者借书协作图管理员修改读者信息协作图读者预定协作图图书管理系统对象图图书管理系统类图在用例分析基础上,根据需求可建立起系统的静态数据模型,即建立系统类图,以及相关的关系和方法。
在面向对象分析中,一般只考虑与问题描述域和系统功能相关的对象.在对系统进行分析时,这里把系统的类对象抽象为图书管理、图书流通两方面.针到这两部分可以分化为以下相关类:图书类(lib_Book)、图目类(lib_Category)、订书类(lib_Order)、报表类(lib_Form)、读者类(lib_Reader)、流通书类(lib_CirBook)、部门类(lib_Depa rtment)、出版社类(lib_Publish)等。
图书管理系统UML建模图书管理系统UML建模:1.1、确定系统涉及的总体信息(1)读者:借书还书书籍预定(2)图书馆管理员:书籍借出处理书籍归还处理预定信息处理(3)系统管理员:增加书目删除或更新书目增加书籍减少书籍增加读者帐户信息删除或更新读者帐户信息书籍信息查询读者信息查询1.2.确定系统的参与者(1)分析系统所涉及的问题领域和系统运行的主要任务:?分析使用该系统主要功能部分的是哪些人谁将需要该系统的支持以完成其工作系统的管理者与维护者(2)图书馆管理系统的参与者:读者(借阅者)图书馆管理员图书馆管理系统维护者1.3.确定系统的用例1.3.1借阅者请求服务的用例(1)查询借阅者信息(2)查询书籍信息(3)增加书目(4)删除或更新书目(5)增加书籍(6)删除书籍(7)添加借阅者帐户(8)删除或更新借阅者帐户1.3.2 图书馆管理员处理借书、还书等的用例(1)处理书籍借阅(2)处理书籍归还(3)删除预定信息1.3.3系统管理员进行系统维护的用例(1)查询借阅者信息(2)查询书籍信息(3)增加书目(4)删除或更新书目(5)增加书籍(6)删除书籍(7)添加借阅者帐户(8)删除或更新借阅者帐户1.4.使用Rational Rose绘制用例图的步骤(具体详见教材P83-92)1.创建用例图2.用例图工具栏按钮简介3.工具栏的定制4.添加参与者与用例5.添加参与者与用例之间的关系6.添加用例之间的关系1.5.图书馆管理系统的用例图1.5.1借阅者请求服务的用例图。