《JAVA语言程序设计报告.doc》由会员分享,可在线阅读,更多相关《JAVA语言程序设计报告.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 JAVA语言程序课程设计 设计题目: 实验室设备管理系统 实验室设备管理系统专心-专注-专业第一章 问题定义每学年要对实验室设备使用情况进行统计、更新,其中:(1)对于已彻底损坏的作报废处理,同时详细记录有关信息。(2)对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等。(3)对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够
2、按类别和时间段(某日期之前)查询。系统目标与范围说明书项目名称:实验室设备管理系统。问题:目前系统式手工操作,费时费力,效率低下。项目目标:建立一个高效率、自动化操作实验室设备管理的计算机系统。项目规模:开发成本应该不超过5万元。初步设想:用学校现有的物力和人力资源开发该系统。可行性研究:为了全面分析该系统开发的可能性,建议进行大约2周的可行性研究。可行性研究成本不超过5000元。第二章 可行性研究2.1 系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。随着高校规模的扩大,实验室及仓库的增多,人工管理实验设备已变得过于
3、低效,为了解决这一问题,高校实验室设备管理系统将实现设备管理的自动化。实验室设备管理系统将贯穿于设备从购进到报废的整个流程的管理过程,帮助管理员高效地管理整个高校的所有设备,并给上级领导提供一个审核监督管理的平台,提供整个实验室管理的效率,使总体管理水平上升到一个新的高度。本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。2.2 可行性分析可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性
4、分析:1. 技术可行性技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。针对于本系统,本系统属于一个普通的MIS系统。在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个简单的数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。并且本系统的开发我利用access作为本系统的数据库,把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。使用eclipse作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的
5、指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。因此,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,它在技术上是可行的。2. 经济可行性经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。首先,实验室设备管理系统地实现的硬件支持只是一台简单的计算机,如今的性能较好的计算机的价格已经十分低廉。而本系统的成功开发,将为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许
6、多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率。3. 运行可行性运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。本系统为一个普通的信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件;而且将来的操作界面简洁易操作,实验室设备管理人员无需培训即可很快学会如何进行操作。因此,本系统在运行上是可行的。4. 法律可行性整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。因此,本系统在法律上是可行的。按上述四方面进行可行性
7、分析、研究后,我们认为该项目是可行的。第三章 系统的需求分析3.1 实验室设备管理系统的需求陈述设备管理人员在实验室管理系统中完成对实验室设备的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动。新的学年,管理员首先根据学校的需求在实验室设备管理系统中进行设备的查找。实验室设备管理系统需要具有以下的功能:3.2 使用结构化方法进行系统分析3.2.1系统功能建模流程详细说明:(1) 仓库管理员统计仓库中设备的库存量,找出库存量不足的设备,填写购买申请表,领导对此申请表进行审核,审核通过后,产生购买报表交给购买员。(2) 购买员将购买的设备及购买信息交给购买登记员,由他进行购买登记。购买登
8、记员查询申请审核表,将设备分配到各仓库。(3) 仓库管理员对购买的设备进行入库登记,出库登记。(4) 实验室管理员负责对报废的设备进行报废登记并处理,找出要维修的设备填写维修申请表,领导对维修申请表进行审核,通过后产生维修报表交给维修员,维修员将设备送交某一修理厂家进行维修。(5) 设备维修完后,交还原实验室,由实验室管理员进行维修登记。3.2.2 实验室设备管理系统的E-R图3.3 对系统进行面向对象分析3.3.1 系统用例模型1. 参与者列表 实验室设备管理员:检查整理设备并统计设备及申请购买设备。 2. 用例列表登录:用于验证用户权限。设备管理员:用于管理设备。(增加设备、删除设备、申请
9、购买设备)上级领导:审核是否购买设备3. 用例图4. 用例规格说明设备入库优先级:高主要参与者:设备管理员其他关联人员:上级领导描述:该用例描述设备管理员在登录系统后,点击设备入库,完成设备的添加前置条件:上级领导同意购买设备触发条件:上级领导同意购买设备后置条件:设备管理员输入设备信息时,形成设备添加表,并在操作记录中记录假设:设备管理员通过正常操作形成设备添加表3.3.2 系统对象模型1. 确定类与对象设备、设备管理员、上级领导、供应商2. 确定关联供应商供应设备、设备管理员管理设备、上级领导审核申请表、设备管理员向上级领导提出申请。3. 确定属性设备的属性有大小、颜色4. 确定服务设备管
10、理员负责设备的一系列管理5. 系统类图第四章 系统的概要设计4.1 系统体系结构图本系统的软件体系结构图4.2 数据库设计实验室设备管理系统数据设计物理实现(1) 实体表【1】 用户表(UserInfo)字段类型备注uIdVarchar(15)用户名,主键uNameVarchar(15)姓名uPasswdVarchar(15)密码uPositionVarchar(15)身份,主键【2】 仓库管理员表(StoreManagerInfo)字段类型备注uIdVarchar(15)用户名,主键sIdVarchar(15)仓库编号,外键约束于仓库表【3】实验室管理员表(LabManagerInfo)字段
11、类型备注uIdVarchar(15)用户名,主键lIdVarchar(15)仓库编号,外键约束于实验室表【4】仓库表(StoreInfo)字段类型备注sIdVarchar(15)仓库编号,主键sNameVarchar(15)仓库名称sPlaceVarchar(15)所在校区【5】实验室表(LabInfo)字段类型备注lIdVarchar(15)实验室编号,主键lNameVarchar(15)实验室名称lPlaceVarchar(15)所在校区【5】设备表(EquipInfo)字段类型备注eIdVarchar(15)设备编号,主键eNameVarchar(15)设备名称eStandardVarc
12、har(15)规格型号eProCompanyVarchar(15)生产厂商eTypeVarchar(15)设备类型【6】固定资产表(PropertyInfo)字段类型备注pIdVarchar(15)固定资产编号,主键eIdVarchar(15)所属设备编号,外键约束于设备表lIdVarchar(15)所在实验室编号,外键约束于实验室表(2) 关系表【1】 入库登记表(InInfo)字段类型备注eIdVarchar(15)设备编号,主键,外键约束于设备表sIdVarchar(15)仓库编号,主键,外键约束于仓库表iDateDateTime入库时间,主键iNumint入库数量【2】出库登记表(Ou
13、tInfo)字段类型备注eIdVarchar(15)设备编号,主键,外键约束于设备表sIdVarchar(15)仓库编号,主键,外键约束于仓库表lIdVarchar(15)实验室编号,主键,外键约束于实验室表iDateDateTime出库时间,主键iNumint出库数量(3) 记录表【1】购买申请表(BuyApplyInfo)字段类型备注baIdVarchar(15)序列号,主键eIdVarchar(15)设备编号,外键约束于设备表smNameVarchar(15)申请人,外键约束于仓库管理员表baDateDateTime申请时间baNumInt申请数量【2】维修申请表(MaintainInf
14、o)字段类型备注maIdVarchar(15)序列号,主键pIdVarchar(15)固定资产编号,外键约束于固定资产表lmNameVarchar(15)申请人,外键约束于实验室管理员表maDateDateTime申请时间【3】购买登记表(BuyInfo)字段类型备注bIdVarchar(15)序列号,主键eIdVarchar(15)设备编号,外键约束于设备表bPriceMoney购买单价bDateDateTime购买时间bNumInt购买数量【4】维修记录表(MaintainInfo)字段类型备注mIdVarchar(15)序列号,主键pIdVarchar(15)固定资产编号,外键约束于固定
15、资产表mDateDateTime维修时间【5】报废记录表(DiscardInfo)字段类型备注dIdVarchar(15)序列号,主键pIdVarchar(15)固定资产编号,外键约束于固定资产表dDateDateTime报废时间【6】 购买审核表(BuyCheckInfo)字段类型备注bcIdVarchar(15)序列号,主键baIdVarchar(15)申请序列号,外键约束于购买申请表olNameVarchar(15)审核人,外键约束于上级领导表bcDateDateTime审核时间【7】维修审核表(MaintainCheckInfo)字段类型备注mcIdVarchar(15)序列号,主键m
16、aIdVarchar(15)申请序列号,外键约束于维修申请表olNameVarchar(15)审核人,外键约束于上级领导表mcDateDateTime审核时间第五章 系统的详细设计及其实现5.1登录界面代码实现(部分)package src;import java.awt.AlphaComposite;import java.awt.GradientPaint;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Image;import java.awt.RenderingHints;import java.a
17、wt.Toolkit;import javax.swing.*;import java.awt.event.*;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.text.SimpleDateFormat;import java.util.Date;public class Logo implements ActionListenerpublic static final String logoon = 登录;public static final String helpt = 帮助;pub
18、lic static final String logooff =退出;public static final String user = 用 户:;public static final String password = 密 码:;private javax.swing.JTextField userText;private javax.swing.JPasswordField userpwd;private javax.swing.JPanel jp = new javax.swing.JPanel()public void paintComponent(Graphics g)super
19、.paintComponent(g);if(!isOpaque()return;Graphics2D g2d = (Graphics2D) g;int width = getWidth();int height = getHeight();GradientPaint gradientPaint = new GradientPaint(0,0,java.awt.Color.green,width/2,height/2,java.awt.Color.yellow,false);g2d.setComposite(opaque);g2d.setPaint(gradientPaint);g2d.fill
20、Rect(0, 0, width,height);g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF);private javax.swing.JButton logoin = null;private JFrame logo_Frame = new JFrame(logoon);public Logo()tryUIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName();catch(E
21、xception exe)System.err.print(exe.getMessage();JFrame.setDefaultLookAndFeelDecorated(true);Toolkit tools = logo_Frame.getToolkit();Image logo = tools.getImage(res/logo.jpg);logo_Frame = new JFrame(logoon);logo_Frame.setIconImage(logo);jp.setLayout(new GridBagLayout();jp.setBackground(java.awt.Color.
22、pink);javax.swing.ImageIcon pic = new javax.swing.ImageIcon(res/logo1.jpg);javax.swing.JLabel picture = new javax.swing.JLabel(pic);setupComponent(picture,0,0,GridBagConstraints.ABOVE_BASELINE_LEADING,1,true);javax.swing.JLabel users = new javax.swing.JLabel(user);setupComponent(users,0,1,1,1,false)
23、;javax.swing.JLabel pas = new javax.swing.JLabel(password);setupComponent(pas,0,2,1,1,false);userText = new javax.swing.JTextField(12);userText.requestFocus();userText.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyReleased(KeyEvent e)public void keyPressed(KeyEvent e
24、)if(e.getKeyChar() = KeyEvent.VK_ENTER )&(userText.getText().trim() != )userpwd.requestFocus(););setupComponent(userText,1,1,1,1,false);userpwd = new javax.swing.JPasswordField(12);userpwd.addKeyListener(new KeyListener()public void keyTyped(KeyEvent e)public void keyPressed(KeyEvent e)if(e.getKeyCh
25、ar() = KeyEvent.VK_ENTER) & (userpwd.getText().trim() != )logoin.requestFocus();elseuserpwd.requestFocus();public void keyReleased(KeyEvent e);userText.setFocusable(true););int height = (int)(d.getHeight()-240)/2;logo_Frame.add(jp);logo_Frame.setAlwaysOnTop(true);logo_Frame.setLocation(width, height
26、);logo_Frame.setSize(350, 240);logo_Frame.pack();logo_Frame.validate();logo_Frame.setVisible(true);public void actionPerformed(ActionEvent e)public static void main(String args) / TODO 自动生成方法存根new Logo();public void setupComponent(JComponent component,int gridx,int gridy,int gridwidth,int ipadx,bool
27、ean fill)final GridBagConstraints gridBagConstrains = new GridBagConstraints();gridBagConstrains.gridx = gridx;gridBagConstrains.gridy = gridy;gridBagConstrains.insets = new java.awt.Insets(5,3,3,3);if(gridwidth1)gridBagConstrains.gridwidth = gridwidth;if(ipadx 0)gridBagConstrains.ipadx = ipadx;if(f
28、ill)gridBagConstrains.fill = GridBagConstraints.HORIZONTAL;jp.add(component,gridBagConstrains);5.2主菜单界面 代码实现(部分)package src;import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.text.SimpleDateFormat;import java.util.Date;public class My_MainFrame private final static javax.swin
29、g.ImageIcon icon = new javax.swing.ImageIcon(res/logo1.jpg);private JFrame frame = new javax.swing.JFrame();private JMenuBar menuBar = null;private JToolBar toolBar = null;private JSplitPane splitPane = null;private JScrollPane scrollPane = null;private JPanel panel = null;private JTabbedPane tabbed
30、Pane = new javax.swing.JTabbedPane();private JButton stuff_in = null;private JButton product_in = null;private JButton stuff_quit = null;private JButton stuff_stock = null;private JButton product_stock = null;private JButton yield_draw = null;private JButton yield_off = null;private JButton yield_sc
31、rap = null; private JButton product_out = null;private JButton product_return = null;private JButton product_cancle = null;private JButton handle_record = null;private JButton flotsam_record = null;private JButton product_out_record = null;private JButton stuff_old_record = null;private JButton prod
32、uct_old_record = null;private JButton help = null;private JButton about = null;private JButton exit_system = null;private String sql = null;public My_MainFrame() public My_MainFrame(String name)tryUIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName();catch(Exception exe)System.er
33、r.print(exe.getMessage();java.awt.Toolkit tool = frame.getToolkit();Image image = tool.getImage(res/logo.jpg);java.awt.Dimension dimn = tool.getScreenSize();String title = 实验室设备管理系统-+name;frame.setTitle(title);frame.setIconImage(image);frame.setFocusable(true);frame.setLayout(new java.awt.BorderLayo
34、ut();frame.setJMenuBar(createJMenuBar();frame.add(createJToolBar(),North);frame.add(createSplitPane(),Center);frame.addWindowListener(new WindowListener()public void windowActivated(WindowEvent e)public void windowClosed(WindowEvent e)public void windowClosing(WindowEvent e)String name = frame.getTi
35、tle().trim().substring(8);SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);Date date = new Date(System.currentTimeMillis();String day = sdf.format(date);String s =+day+,+name+,+退出+;String sql = insert into handle_record values(+s+);USeDB.UpdateDB(sql);stuff_in = new javax.swing.JButt
36、on(image6);stuff_in.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)AddStuffIn(零件买入););javax.swing.ImageIcon image7 = new javax.swing.ImageIcon(res/stuffquit.jpg);stuff_quit = new javax.swing.JButton(image7);stuff_quit.addActionListener(new ActionListener()public void
37、 actionPerformed(ActionEvent e)AddStuffQuit(零件退货););javax.swing.ImageIcon image5 = new javax.swing.ImageIcon(res/stuffstock.jpg);stuff_stock = new javax.swing.JButton(image5);stuff_stock.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String tit = 设备编号,设备名,设备名,收货员,检验员
38、,单位,数量,规格,颜色,存放处,时间,备注;String sql = select * from stuff_in;AddTable(零件库存,tit,sql););javax.swing.ImageIcon image8 = javax.swing.JButton(image18);exit_system.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String name = frame.getTitle().trim().substring(8);SimpleDateFor
39、mat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);Date date = new Date(System.currentTimeMillis();String day = sdf.format(date);String s =+day+,+name+,+退出+;String sql = insert into handle_record values(+s+);USeDB.UpdateDB(sql);frame.dispose();System.exit(0););return scrollPane;其他截图管理系统其中的3个模块的详细设计
40、 上级领导操作模块设备管理员操作模块 统功能操作模块第六章 系统测试1 设计测试用例测试方案:本测试方案采用黑盒法设计基本的测试方案,在黑盒法测试方案中,采用等价划分技术。测试的模块: 用户登陆模块 设备查询模块 报废记录查询模块 维修记录更新模块 维修记录查询模块 购买设备申请模块 退出系统模块 2 软件测试结果用例1项目/软件实验室设备管理系统编制时间 2017-06功能模块名 用户登陆模块用例编号 用户登录表功能特性 用户身份验证 测试目的 验证是否输入合法的信息,允许合法登陆,阻止非法登陆 测试数据 用户名= administration 密码=admin 登陆权限=系统管理员 操作步
41、骤 操作描述 数 据 期望结果 实际结果 测试状态 1 输入用户名和密码和登陆权限. 用户名=administration 密码= admin 登录显示进入后的页面。同期望结果。正常 2 输入用户名和密码和登陆权限. 用户名= administration 密码=无密码错误!同期望结果。正常项目/软件实验室设备管理系统编制时间 2017-06功能模块名 设备查询模块用例编号 设备记录表功能特性 查询实验室设备情况 测试数据 设备型号=E002 设备名=计算机 规格=eeeeee 单价=5000 购买日期=2017-06生产厂商=联想 数量=1操作步骤 操作描述 数 据 期望结果 实际结果 测试
42、状态 1 输入设备型号,设备名设备型号=E002设备名=计算机 设备型号=E002 设备名=计算机 规格=eeeeee 单价=5000 购买日期=2014-01-02生产厂商=联想 数量=1同期望结果。正常 2 输入设备型号,设备名 设备名=计算机设备型号=E003无记录同期望结果。正常用例3项目/软件实验室设备管理系统编制时间 2017-06功能模块名 报废记录查询模块用例编号 报废记录表功能特性 查询实验室设备报废情况 测试数据 设备编号= E002 设备名=计算机 报废日期=2017-06操作步骤 操作描述 数 据 期望结果 实际结果 测试状态 1 输入设备编号,设备名设备编号=E002设备名=计算机 报废日期2014-01-03 设备编号= E002 设备名=计算机 报废日期=2014-01-03 同期望结果。正常 2 输入设备编号,设备名 设备名=计算机设备编号= E003无记录同期望结果。正常实验内容总结本次实验要求我们自己动手设计完成一个实验室设备管理系统,经过两个多星期的实验,开