JAVA语言程序设计报告.docx
- 文档编号:29347101
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:31
- 大小:1.50MB
JAVA语言程序设计报告.docx
《JAVA语言程序设计报告.docx》由会员分享,可在线阅读,更多相关《JAVA语言程序设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言程序设计 报告