《面向对象课程设计报告----实验室设备管理系统.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计报告----实验室设备管理系统.docx(34页珍藏版)》请在优知文库上搜索。
1、面向对象课程设计报告实验室设备管理系统任务分配及完成情况姓名承担任务自评成绩郑雄风代码部分、调试测试。优汤晨煜整体框架、报告撰写优实验室设备管理系统设计报告1课程设计任务概述目的:完成一份管理实验室设备的软件。主要完成的任务:对实验室设备进行系统化管理。功能模块:用户管理,合法用户许可访问;A信息录入,包括记录的追加和插入; 信息删除; 信息修改; 信息排序和查询; 数据的导入/导出; 简单的帮助。2系统分析与建模2.1系统功能分析1主界面,包含所有功能的集合2用户等陆,分为两个功能。用户登录和用户查询,其中用户登陆是通过输入用户名和密码进行登陆,用户注册是自己设定用户和密码。3查询,直接进行
2、查询信息,但是无法进行修改和删除等功能。4设备管理,分为管理和添加两个功能。其中添加包括设备编号,设备名称,设备状态,制造商,购买状态。管理分为查询和删除两个功能,可以通过设备编号和设备名称来查找。5系统管理,分为保存,导入,导出。退出功能。保存是将信息录入,导入是导入文件,导出是导出文件,退出是直接退出主界面。5帮助是关于系统和联系作者。2.2用例图及用例说明2.1.1管理员登陆用例(I)管理员登陆用例描述UseCase名称登陆执行者管理员事件流A输入用户名B输入密码C若密码不正确无法登陆D若无用户名新增管理员后置条件若新增用户正确,则增加管理员新的用户及密码(2)管理员登陆用例图2.1.2
3、管理员对实验设备添加用例(1)管理员对实验设备添加用例描述UseCase名称设备添加执行者管理员事件流A选择添加功能B添加设备编号C添加设备名称D设备状态E制造商F购买状态后置条件系统更新数据库(2)管理员对实验设备添加用例图2.1.3管理员对实验设备管理用例(I)管理员对实验设备管理用例描述UseCase名称设备管理执行者管理员事件流A选择查询还是删除B删除C选择排序D选择设备编号还是设备名称后置条件系统更新数据库(2)管理员对实验设备管理用例图2.1.4管理员对系统管理用例(1)管理员对系统管理用例描述UseCase名称系统管理执行者管理员事件流A选择功能B保存所有操作C导入文件D导出文件
4、E退出后置条件系统更新数据库(2)管理员对系统管理用例图2.1.5整体用例框图3系统设计3.1系统类图Devicednum:Stringdname:Stringindustry:Stringindate:Stringdtime:String+Device(dnum:String,dname:String,industry:String,indate:String,dtime:String)+IoStringO:String+DeviceO+getDnameO:String+setDname(dname:String):void+getDnumO:String+setDnum(dnum:Stri
5、ng):void+getDtimeO:String+setDtime(dtime:String):void+getlndustry:String+setlndustry(industry:String):void+getlndate:String+setlndate(indate:String):void+writebject(out:ObjectOutputStream):void+readbject(in:ObjectInputStream):void设备类C()User+username:Stringpassword:String+getUsernameO:StringsetUserna
6、me(username:String):void+getPasswordO:String+setPassword(password:String):void+User(username:String,password:String)+writebject(out:ObjectOutputStream):void+readbject(in:ObjectInputStream):void用户类JDBCUtiles-DBDRVER:String-USER:StringURL:SMnrPASSWORD:Strmg+getConnectionO:COnneCtion+release(stmt:State
7、mentrS:ReSUltSeLCOnn:COnneCtion):Void+release(stmt:Statement,Conn:ConneCtion):VOid数据库类3.2系统活动图 删除 3. 3系统时序图,介比O“Qfr 估 ZO日术成助0402.1 F鼬川厂。;口0用户操作21史上a;h.;.o3Q%f.iSO,通拧孤立:2任”;息014:能泣C任Qn()5:保。0、51ThtG彳f.;FO5.11也”;2备“总0用户对设备信息修改操作4系统实现/*用户界面*/packageUI;importjava.awt.BorderLayout;importjava.awt.EventQue
8、ue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenuItem;importjava.awt.event.ActionListener;importjava.awt.evenl.ActionEvent;publicclassFirstMenuextendsJFrameprivateJPanelContentPane;*Lau
9、nchtheapplication.*/publicstaticvoidmain(Stringargs)EventQueue.invokeLater(newRunnable()publicvoidrun()try(FirstMenuframe=newFirstMenu();frame.setVisibIe(true);)catch(Exceptione)e.printStackTrace();1)1);*Createtheframe.*/publicFirstMenuOsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,10
10、0,800,500);ContentPane=newJPanel();contentPane.setBorder(newEmptyBorder(5,5,5,5);SetContentPane(ContentPane);contentPane.setLayout(null);JMenuBartnenuBar=newJMenuBar();menuBar.setBounds(10,0,844,21);contentPane.add(menuBar);JMenumenu=newJMenu(u7528u6237u9009u62E9);menuBar.add(menu);JMenuItemmenuitem
11、=newJMenuItem(u7528u6237u767Bu5F55);menuitem.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEvente)UserLoginO;)1);menu.add(menultem);JMenuItemmntmNewMenuItem=newJMenuItem(u7528u6237u6CE8u518C);mntmNewMenuItem.addActionListener(newActionListenerOpublicvoidactionPerformed(ActionEv
12、ente)AddUser();1);menu.add(mntmNewMenuItem);JMenumenu_2=newJMenu(,u8BBEu5907u67E5u8BE2);menuBar.add(menu_2);JMenuItemmenultem_l=newJMenuItem(,u67E5u8BE2);menultem_I.addActionListener(newActionListenerO(publicvoidactionPerfbrmed(ActionEvente)Deviced();)1);menu_2.add(menultem_1);1publicvoidUserLoginOU
13、serLoginuserlogin=newUserLogin();userlogin.show();2publicvoidAddUser()UserAdduseradd=newUserAdd();useradd.show();3protectedvoidDeviced()/TODOAuto-generatedmethodstubDeviceddeviced=null;try(deviced=newDeviced();Icatch(ClassNotFoundExceptione)/TODO自动生成的catch块e.printStackTrace();)deviced.show();*用户操作界面
14、*/packageUI;importjava.awt.EventQueue;importjava.awt.FileDialog;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.JMenuBar;importjavax.swing.JMenu;importjavax.swing.JMenultem;importjavax.swing.JOptionPane;importjavax.swing.KeyStroke;importservice.DeviceService;importjava.awt.event.*;importjava.util.Vector;importjavax.swing.JTextFieId;importjava.awt.*;importjava.io.IOException;publicclassMenuextendsJFrameimpleme