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:查询读者信息。