JAVA语言程序设计报告.docx

上传人:b****5 文档编号:29347101 上传时间:2023-07-22 格式:DOCX 页数:31 大小:1.50MB
下载 相关 举报
JAVA语言程序设计报告.docx_第1页
第1页 / 共31页
JAVA语言程序设计报告.docx_第2页
第2页 / 共31页
JAVA语言程序设计报告.docx_第3页
第3页 / 共31页
JAVA语言程序设计报告.docx_第4页
第4页 / 共31页
JAVA语言程序设计报告.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

JAVA语言程序设计报告.docx

《JAVA语言程序设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA语言程序设计报告.docx(31页珍藏版)》请在冰豆网上搜索。

JAVA语言程序设计报告.docx

JAVA语言程序设计报告

 

JAVA语言程序课程设计

 

设计题目:

实验室设备管理系统

第一章问题定义

每学年要对实验室设备使用情况进行统计、更新,其中:

(1)对于已彻底损坏的作报废处理,同时详细记录有关信息。

(2)对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等。

(3)对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。

新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。

(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。

系统目标与范围说明书

项目名称:

实验室设备管理系统。

问题:

目前系统式手工操作,费时费力,效率低下。

项目目标:

建立一个高效率、自动化操作实验室设备管理的计算机系统。

项目规模:

开发成本应该不超过5万元。

初步设想:

用学校现有的物力和人力资源开发该系统。

可行性研究:

为了全面分析该系统开发的可能性,建议进行大约2周的可行性研究。

可行性研究成本不超过5000元。

第二章可行性研究

2.1系统建设目标

在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。

随着高校规模的扩大,实验室及仓库的增多,人工管理实验设备已变得过于低效,为了解决这一问题,高校实验室设备管理系统将实现设备管理的自动化。

实验室设备管理系统将贯穿于设备从购进到报废的整个流程的管理过程,帮助管理员高效地管理整个高校的所有设备,并给上级领导提供一个审核监督管理的平台,提供整个实验室管理的效率,使总体管理水平上升到一个新的高度。

本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。

2.2可行性分析

可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。

这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。

当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析:

1.技术可行性

技术可行性是指:

根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。

针对于本系统,本系统属于一个普通的MIS系统。

在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个简单的数据库应用类的系统。

其基本操作还是对存在数据库进行添加、删除、查找、编辑等。

所以就单纯的数据库应用来看,暂不存在太大的技术问题。

并且本系统的开发我利用access作为本系统的数据库,把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。

使用eclipse作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。

因此,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,它在技术上是可行的。

2.经济可行性

经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。

首先,实验室设备管理系统地实现的硬件支持只是一台简单的计算机,如今的性能较好的计算机的价格已经十分低廉。

而本系统的成功开发,将为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率。

3.运行可行性

运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。

本系统为一个普通的信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件;而且将来的操作界面简洁易操作,实验室设备管理人员无需培训即可很快学会如何进行操作。

因此,本系统在运行上是可行的。

4.法律可行性

整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律抵触的方面。

因此,本系统在法律上是可行的。

按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。

第三章系统的需求分析

3.1实验室设备管理系统的需求陈述

设备管理人员在实验室管理系统中完成对实验室设备的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动。

新的学年,管理员首先根据学校的需求在实验室设备管理系统中进行设备的查找。

实验室设备管理系统需要具有以下的功能:

3.2使用结构化方法进行系统分析

3.2.1系统功能建模

流程详细说明:

(1)仓库管理员统计仓库中设备的库存量,找出库存量不足的设备,填写购买申请表,领导对此申请表进行审核,审核通过后,产生购买报表交给购买员。

(2)购买员将购买的设备及购买信息交给购买登记员,由他进行购买登记。

购买登记员查询申请审核表,将设备分配到各仓库。

(3)仓库管理员对购买的设备进行入库登记,出库登记。

(4)实验室管理员负责对报废的设备进行报废登记并处理,找出要维修的设备填写维修申请表,领导对维修申请表进行审核,通过后产生维修报表交给维修员,维修员将设备送交某一修理厂家进行维修。

(5)设备维修完后,交还原实验室,由实验室管理员进行维修登记。

3.2.2实验室设备管理系统的E-R图

3.3对系统进行面向对象分析

3.3.1系统用例模型

1.参与者列表

实验室设备管理员:

检查整理设备并统计设备及申请购买设备。

2.用例列表

登录:

用于验证用户权限。

设备管理员:

用于管理设备。

(增加设备、删除设备、申请购买设备)

上级领导:

审核是否购买设备

3.用例图

4.用例规格说明

设备入库

优先级:

主要参与者:

设备管理员

其他关联人员:

上级领导

描述:

该用例描述设备管理员在登录系统后,点击设备入库,完成设备的添加

前置条件:

上级领导同意购买设备

触发条件:

上级领导同意购买设备

后置条件:

设备管理员输入设备信息时,形成设备添加表,并在操作记录中记录

假设:

设备管理员通过正常操作形成设备添加表

3.3.2系统对象模型

1.确定类与对象

设备、设备管理员、上级领导、供应商

2.确定关联

供应商供应设备、设备管理员管理设备、上级领导审核申请表、设备管理员向上级领导提出申请。

3.确定属性

设备的属性有大小、颜色

4.确定服务

设备管理员负责设备的一系列管理

5.系统类图

第四章系统的概要设计

4.1系统体系结构图

本系统的软件体系结构图

4.2数据库设计

实验室设备管理系统数据设计

物理实现

(1)实体表

【1】用户表(UserInfo)

字段

类型

备注

uId

Varchar(15)

用户名,主键

uName

Varchar(15)

姓名

uPasswd

Varchar(15)

密码

uPosition

Varchar(15)

身份,主键

【2】仓库管理员表(StoreManagerInfo)

字段

类型

备注

uId

Varchar(15)

用户名,主键

sId

Varchar(15)

仓库编号,外键约束于仓库表

【3】实验室管理员表(LabManagerInfo)

字段

类型

备注

uId

Varchar(15)

用户名,主键

lId

Varchar(15)

仓库编号,外键约束于实验室表

【4】仓库表(StoreInfo)

字段

类型

备注

sId

Varchar(15)

仓库编号,主键

sName

Varchar(15)

仓库名称

sPlace

Varchar(15)

所在校区

【5】实验室表(LabInfo)

字段

类型

备注

lId

Varchar(15)

实验室编号,主键

lName

Varchar(15)

实验室名称

lPlace

Varchar(15)

所在校区

 

【5】设备表(EquipInfo)

字段

类型

备注

eId

Varchar(15)

设备编号,主键

eName

Varchar(15)

设备名称

eStandard

Varchar(15)

规格型号

eProCompany

Varchar(15)

生产厂商

eType

Varchar(15)

设备类型

【6】固定资产表(PropertyInfo)

字段

类型

备注

pId

Varchar(15)

固定资产编号,主键

eId

Varchar(15)

所属设备编号,外键约束于设备表

lId

Varchar(15)

所在实验室编号,外键约束于实验室表

(2)关系表

【1】入库登记表(InInfo)

字段

类型

备注

eId

Varchar(15)

设备编号,主键,外键约束于设备表

sId

Varchar(15)

仓库编号,主键,外键约束于仓库表

iDate

DateTime

入库时间,主键

iNum

int

入库数量

【2】出库登记表(OutInfo)

字段

类型

备注

eId

Varchar(15)

设备编号,主键,外键约束于设备表

sId

Varchar(15)

仓库编号,主键,外键约束于仓库表

lId

Varchar(15)

实验室编号,主键,外键约束于实验室表

iDate

DateTime

出库时间,主键

iNum

int

出库数量

(3)记录表

【1】购买申请表(BuyApplyInfo)

字段

类型

备注

baId

Varchar(15)

序列号,主键

eId

Varchar(15)

设备编号,外键约束于设备表

smName

Varchar(15)

申请人,外键约束于仓库管理员表

baDate

DateTime

申请时间

baNum

Int

申请数量

【2】维修申请表(MaintainInfo)

字段

类型

备注

maId

Varchar(15)

序列号,主键

pId

Varchar(15)

固定资产编号,外键约束于固定资产表

lmName

Varchar(15)

申请人,外键约束于实验室管理员表

maDate

DateTime

申请时间

【3】购买登记表(BuyInfo)

字段

类型

备注

bId

Varchar(15)

序列号,主键

eId

Varchar(15)

设备编号,外键约束于设备表

bPrice

Money

购买单价

bDate

DateTime

购买时间

bNum

Int

购买数量

【4】维修记录表(MaintainInfo)

字段

类型

备注

mId

Varchar(15)

序列号,主键

pId

Varchar(15)

固定资产编号,外键约束于固定资产表

mDate

DateTime

维修时间

【5】报废记录表(DiscardInfo)

字段

类型

备注

dId

Varchar(15)

序列号,主键

pId

Varchar(15)

固定资产编号,外键约束于固定资产表

dDate

DateTime

报废时间

【6】购买审核表(BuyCheckInfo)

字段

类型

备注

bcId

Varchar(15)

序列号,主键

baId

Varchar(15)

申请序列号,外键约束于购买申请表

olName

Varchar(15)

审核人,外键约束于上级领导表

bcDate

DateTime

审核时间

【7】维修审核表(MaintainCheckInfo)

字段

类型

备注

mcId

Varchar(15)

序列号,主键

maId

Varchar(15)

申请序列号,外键约束于维修申请表

olName

Varchar(15)

审核人,外键约束于上级领导表

mcDate

DateTime

审核时间

第五章系统的详细设计及其实现

5.1登录界面

代码实现(部分)

packagesrc;

importjava.awt.AlphaComposite;

importjava.awt.GradientPaint;

importjava.awt.Graphics;

importjava.awt.Graphics2D;

importjava.awt.Image;

importjava.awt.RenderingHints;

importjava.awt.Toolkit;

importjavax.swing.*;

importjava.awt.event.*;

importjava.awt.GridBagConstraints;

importjava.awt.GridBagLayout;

importjava.text.SimpleDateFormat;

importjava.util.Date;

publicclassLogoimplementsActionListener{

publicstaticfinalStringlogoon="登录";

publicstaticfinalStringhelpt="帮助";

publicstaticfinalStringlogooff="退出";

publicstaticfinalStringuser="用户:

";

publicstaticfinalStringpassword="密码:

";

privatejavax.swing.JTextFielduserText;

privatejavax.swing.JPasswordFielduserpwd;

privatejavax.swing.JPaneljp=newjavax.swing.JPanel(){

publicvoidpaintComponent(Graphicsg){

super.paintComponent(g);

if(!

isOpaque()){return;}

Graphics2Dg2d=(Graphics2D)g;

intwidth=getWidth();

intheight=getHeight();

GradientPaintgradientPaint=newGradientPaint(0,0,java.awt.Color.green,width/2,height/2,java.awt.Color.yellow,false);

g2d.setComposite(opaque);

g2d.setPaint(gradientPaint);

g2d.fillRect(0,0,width,height);

g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF);

}

};

privatejavax.swing.JButtonlogoin=null;

privateJFramelogo_Frame=newJFrame(logoon);

publicLogo(){

try{

UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

}catch(Exceptionexe){System.err.print(exe.getMessage());}

JFrame.setDefaultLookAndFeelDecorated(true);

Toolkittools=logo_Frame.getToolkit();

Imagelogo=tools.getImage("res/logo.jpg");

logo_Frame=newJFrame(logoon);

logo_Frame.setIconImage(logo);

jp.setLayout(newGridBagLayout());

jp.setBackground(java.awt.Color.pink);

javax.swing.ImageIconpic=newjavax.swing.ImageIcon("res/logo1.jpg");

javax.swing.JLabelpicture=newjavax.swing.JLabel(pic);

setupComponent(picture,0,0,GridBagConstraints.ABOVE_BASELINE_LEADING,1,true);

javax.swing.JLabelusers=newjavax.swing.JLabel(user);

setupComponent(users,0,1,1,1,false);

javax.swing.JLabelpas=newjavax.swing.JLabel(password);

setupComponent(pas,0,2,1,1,false);

userText=newjavax.swing.JTextField(12);

userText.requestFocus();

userText.addKeyListener(newKeyListener(){

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyReleased(KeyEvente){}

publicvoidkeyPressed(KeyEvente){

if((e.getKeyChar()==KeyEvent.VK_ENTER)&&(userText.getText().trim()!

="")){

userpwd.requestFocus();

}

}

});

setupComponent(userText,1,1,1,1,false);

userpwd=newjavax.swing.JPasswordField(12);

userpwd.addKeyListener(newKeyListener(){

publicvoidkeyTyped(KeyEvente){}

publicvoidkeyPressed(KeyEvente){

if((e.getKeyChar()==KeyEvent.VK_ENTER)&&(userpwd.getText().trim()!

="")){

logoin.requestFocus();

}

else{

userpwd.requestFocus();

}

}

publicvoidkeyReleased(KeyEvente){

}

});

userText.setFocusable(true);

}

});

intheight=(int)(d.getHeight()-240)/2;

logo_Frame.add(jp);

logo_Frame.setAlwaysOnTop(true);

logo_Frame.setLocation(width,height);

logo_Frame.setSize(350,240);

logo_Frame.pack();

logo_Frame.validate();

logo_Frame.setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

}

publicstaticvoidmain(String[]args){

//TODO自动生成方法存根

newLogo();

}

publicvoidsetupComponent(JComponentcomponent,intgridx,intgridy,intgridwidth,intipadx,booleanfill){

finalGridBagConstraintsgridBagConstrains=newGridBagConstraints();

gridBagConstrains.gridx=gridx;

gridBagConstrains.gridy=gridy;

gridBagConstrains.insets=newjava.awt.Insets(5,3,3,3);

if(gridwidth>1)

gridBagConstrains.gridwidth=gridwidth;

if(ipadx>0)

gridBagConstrains.ipadx=ipadx;

if(fill)

gridBagConstrains.fill=GridBagConstraints.HORIZONTAL;

jp.add(component,gridBagConstrains);

}

}

5.2主菜单界面

代码实现(部分)

packagesrc;

importjava.awt.event.*;

importjava.awt.*;

importjavax.swing.*;

importjava.text.SimpleDateFormat;

importjava.util.Date;

publicclassMy_MainFrame{

privatefinalstaticjavax.swing.ImageIconicon=newjavax.swing.ImageIcon("res/logo1.jpg");

privateJFrameframe=newjavax.swing.JFrame();

privateJMenuBarmenuBar=null;

privateJToolBartoolBar=null;

privateJSplitPanesplitPane=null;

privateJScrollPanescrollPane=null

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1