东北大学秦皇岛分校java课程设计.docx

上传人:b****5 文档编号:7227858 上传时间:2023-01-22 格式:DOCX 页数:60 大小:753.24KB
下载 相关 举报
东北大学秦皇岛分校java课程设计.docx_第1页
第1页 / 共60页
东北大学秦皇岛分校java课程设计.docx_第2页
第2页 / 共60页
东北大学秦皇岛分校java课程设计.docx_第3页
第3页 / 共60页
东北大学秦皇岛分校java课程设计.docx_第4页
第4页 / 共60页
东北大学秦皇岛分校java课程设计.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

东北大学秦皇岛分校java课程设计.docx

《东北大学秦皇岛分校java课程设计.docx》由会员分享,可在线阅读,更多相关《东北大学秦皇岛分校java课程设计.docx(60页珍藏版)》请在冰豆网上搜索。

东北大学秦皇岛分校java课程设计.docx

东北大学秦皇岛分校java课程设计

1.1.1系统用户列表

高校LEM面向五类用户:

系统管理员,购买登记员,仓库管理员,实验室管理员,上级领导,这几类用户通过高校LEM系统进行设备管理上的交流,而该系统为用户提供不同的功能。

【1】系统管理员

1.注册本系统用户;

2.注销本系统用户;

3.数据库的维护;

4.本人信息维护;

【2】购买登记员

1.将购买员提交的购买信息进行登记,记录有关设备基本信息,设备的购买信息如价格,数量等;

2.查询领导的购买申请审核信息;

3.根据审核信息将购买的设备分配到相应的仓库,将有关详单提交仓库管理员,

4.本人信息维护。

【3】仓库管理员

1.根据购买登记员提交的详单进行入库登记;

2.根据实验室管理员提交的详单进行出库登记;

3.查询统计本仓库中的所有设备的库存量,统计出库存量不足的设备;

4.根据统计信息进行购买申请。

5.本人信息维护;

【4】实验室管理员

1.管理本实验室中各设备,找出需要维修的设备,进行维修申请;

2.对于不能维修的设备,要进行报废记录;

3.查询统计本实验室设备拥有量,统计出数量不足的设备,产生详单提交仓库管理员;

4.对于已维修完成的设备,根据维修员提交维修单进行维修记录;

5.本人信息维护。

【5】上级领导

1.查看购买申请表,对申请进行审核,审核后产生购买订单交于购买员;

2.查看维修申请表,对申请进行审核,审核后产生维修订单交于维修员;

3.个人信息维护。

1.2软件系统数据字典

3.21数据流条目

1登陆信息

输入:

设备管理员

输出:

身份验证1

描述:

登陆信息=用户名+密码+登陆权限

2查询信息

输入:

合法人员对设备的查询操作

输出:

设备信息表

描述:

查询信息=设备名/型号/类别/购置日期

3维修信息

输入:

所需维修设备的信息

输出:

确定维修设备的记录

描述:

维修信息=设备名+修理日期+修理厂家+修理费+负责人

4新设备

输入:

购买设备的信息

输出:

确定购买的新设备的记录

描述:

新设备=类别+设备名+型号+规格+单价+数量等

5报废设备

输入:

所需报废的设备的信息

输出:

报废的设备记录

描述:

报废设备=类别+设备名+型号等

6审核信息

输入:

审核3

输出:

上级领导

描述:

审核信息=报废设备信息/新设备购买记录

 

3.22加工条目

身份验证1,统计查询2.1,维修2.2,购买2.3,报废2.4,生产报表3.1,审核3.2

3.23文件条目

7登陆表

输入:

身份验证1

输出:

身份验证1

数据结构:

用户名+密码+登陆权限

8设备基本信息表

输入:

统计查询2.1

数据结构:

类别+设备名+型号+规格等

9维修记录表

输入:

统计查询2.1,维修2.2

输出:

统计查询2.1

数据结构:

设备名+修理日期+修理厂家+修理费+责任人等

10新设备表

输入:

统计查询2.1,购买2.2

输出:

统计查询2.1

数据结构:

类别+设备名+型号+规格+单价+数量+生产厂家+购买人等

11报废记录表

输入:

报废2.4,统计查询2.1,生产报表3.1

输出:

统计查询2.1,生产报表3.1

数据结构:

类别+设备名+型号等

12申请表

输入:

统计查询2.1,生产报表3.1

输出:

统计查询2.1,生产报表3.1,购买2.3

数据结构:

设备名+型号+规格+数量+负责人

三:

软件设计

1实验室设备管理系统模块结构图

2界面设计

(1)登录界面

(2)任意注册管理人员登录后界面

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

4管理系统其中的3个模块的详细设计

1上级领导操作模块

②设备管理员操作模块

3统功能操作模块

 

5数据库设计

1.模型图

2.E-R图

3.物理实现

(1)实体表

【1】用户表(UserInfo)

字段

类型

备注

uId

Varchar(15)

用户名,主键

uName

Varchar(15)

姓名

uPasswd

Varchar(15)

密码

uPosition

Varchar(15)

身份,主键

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

字段

类型

备注

uId

Varchar(15)

用户名,主键

sId

Varchar(15)

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

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

字段

类型

备注

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

审核时间

 

四、编码与单元测试

1、用户登录界面:

packagecom.niit.gui_event;

importcom.niit.logical.*;

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassLoginextendsJFrame{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

//控件声明

privateJLabellPosition,lName,lPasswd,lTitle;

privateJComboBoxcbPosition,cbName;

privateJPasswordFieldpfPasswd;

privateJButtonbConfirm,bCancel;

privateContainercon;

privateJPanel[]pCon;

privateUserinfo;

publicLogin(){

super("用户登录");

//控件初始化

con=getContentPane();

lPosition=newJLabel("身份:

");

lName=newJLabel("用户名:

");

lPasswd=newJLabel("密码:

");

lTitle=newJLabel("实验室设备管理系统");

lTitle.setForeground(Color.RED);

pfPasswd=newJPasswordField();

bConfirm=newJButton("确定");

bCancel=newJButton("取消");

String[]aPosition=newString[]{"系统管理员","仓库管理员","实验室管理员",

"购买登记员","上级领导"};

cbPosition=newJComboBox(aPosition);

intindex=cbPosition.getSelectedIndex();

if(index==0){

info=newAdministration();

}elseif(index==1){

info=newStoreManager();

}elseif(index==2){

info=newLabManager();

}elseif(index==3){

info=newBuyManager();

}else{

info=newOverLeader();

}

//数组初始化

pCon=newJPanel[5];

String[]cName=info.getIdByPosition(info);

cbName=newJComboBox(cName);

for(inti=0;i

pCon[i]=newJPanel();

}

publicvoidlaunch(){

//控件添加

con.setLayout(newGridLayout(5,1));

pCon[0].add(lPosition);

pCon[0].add(cbPosition);

pCon[1].add(lName);

pCon[1].add(cbName);

pCon[2].add(lPasswd);

pCon[2].add(pfPasswd);

pCon[3].add(bConfirm);

pCon[3].add(bCancel);

pCon[4].add(lTitle);

add(pCon[4]);

for(inti=0;i

con.add(pCon[i]);

//控件设置

pfPasswd.setEchoChar('*');

pfPasswd.setColumns(10);

setBounds(400,100,400,400);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//添加监听器

cbPosition.addActionListener(newListenAction());

bConfirm.addActionListener(newListenAction());

bCancel.addActionListener(newListenAction());

pfPasswd.addKeyListener(newListenKey());

}

//定义按钮,下拉框处理器

classListenActionimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

if(e.getSource()==bConfirm){//点击确定按钮

info.setuId(cbName.getSelectedItem().toString());

info.setuPasswd(newString(pfPasswd.getPassword()));

info.setuPosition(cbPosition.getSelectedItem().toString());

if(info.login(info)){

newMain(info).launch();

setVisible(false);

pfPasswd.setText(null);

}else{

JOptionPane.showMessageDialog(newLogin(),"用户名,密码或身份错误");

pfPasswd.setText(null);

}

}elseif(e.getSource()==cbPosition){//身份下拉框改变时

intindex=cbPosition.getSelectedIndex();

if(index==0){

info=newAdministration();

}elseif(index==1){

info=newStoreManager();

}elseif(index==2){

info=newLabManager();

}elseif(index==3){

info=newBuyManager();

}else{

info=newOverLeader();

}

String[]cName=info.getIdByPosition(info);

//刷新用户名列表

cbName.removeAllItems();

for(inti=0;i

cbName.addItem(cName[i]);

}else{

System.exit(0);

}

pfPasswd.setText(null);

}

}

//定义键盘处理器

classListenKeyextendsKeyAdapter{

@SuppressWarnings("static-access")

publicvoidkeyPressed(KeyEvente){

if(e.getKeyText(e.getKeyCode()).compareToIgnoreCase("ENTER")==0){

bConfirm.doClick();

}

}

}

}

}

2、主界面:

packagecom.niit.gui_event;

importjavax.swing.*;

importcom.niit.logical.*;

importjava.awt.event.*;

publicclassMainextendsJFrame{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

privateJTabbedPanetp;

privateJPanelp[];

privateUserinfo;

publicMain(){

super("实验室设备管理系统");

tp=newJTabbedPane();

p=newJPanel[8];

}

publicMain(Userinfo){

this();

this.info=info;

p[0]=newUserManage();

p[1]=newEquipIn();

p[2]=newEquipOut();

p[3]=newRegister(info);

p[4]=newApply(info);

p[5]=newChecks(info);

p[6]=newSearch();

p[7]=newPasswdModyfy(info);

}

publicvoidlaunch(){

tp.addTab("用户管理",p[0]);

tp.addTab("设备入库",p[1]);

tp.addTab("设备出库",p[2]);

tp.addTab("设备登记",p[3]);

tp.addTab("设备申请",p[4]);

tp.addTab("审核申请",p[5]);

tp.addTab("统计查询",p[6]);

tp.addTab("个人信息维护",p[7]);

if(infoinstanceofAdministration){

tp.setEnabledAt(1,false);

tp.setEnabledAt(2,false);

tp.setEnabledAt(3,false);

tp.setEnabledAt(4,false);

tp.setEnabledAt(5,false);

tp.setEnabledAt(6,false);

}elseif(infoinstanceofStoreManager){

tp.setEnabledAt(0,false);

tp.setEnabledAt(3,false);

tp.setEnabledAt(5,false);

tp.setSelectedIndex

(1);

}elseif(infoinstanceofLabManager){

tp.setEnabledAt(0,false);

tp.setEnabledAt(1,false);

tp.setEnabledAt(2,false);

tp.setEnabledAt(5,false);

tp.setSelectedIndex(3);

}elseif(infoinstanceofBuyManager){

tp.setEnabledAt(0,false);

tp.setEnabledAt(1,false);

tp.setEnabledAt(2,false);

tp.setEnabledAt(4,false);

tp.setEnabledAt(5,false);

tp.setSelectedIndex(3);

}elseif(infoinstanceofOverLeader){

tp.setEnabledAt(0,false);

tp.setEnabledAt(1,false);

tp.setEnabledAt(2,false);

tp.setEnabledAt(3,false);

tp.setEnabledAt(4,false);

tp.setSelectedIndex(5);

}

getContentPane().add(tp);

setSize(1280,780);

setVisible(true);

addWindowListener(newWindowAdapter(){

publicvoidwindowClosing(WindowEvente){

System.exit(0);

}

});

}

}

3、设备申请:

package

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

当前位置:首页 > 自然科学 > 天文地理

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

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