| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

实验室设备管理系统(课程设计报告)

文***品

贡献于2022-04-21

字数:38061





XX学院
软件学院



课程设计报告







设计名称: 实验设备理系统
设计题目: 实验设备理系统
专业班级: 软件工程班
学生姓名:
学生成绩:
指导教师(职称):
课题工作时间: 2013年12月20日2014年1月8日


软件学院课程设计务书
学生姓 名

学 号

专业
班级
软件工程班
设计题

实验设备理系统
容概:
学年实验室设备情况进行统计更新中:
(1)已彻底损坏作报废处理时详细记录关信息
(2)严重问题(障)修理记录修理日期设备名修理厂家修理费责等
(3)急需缺少设备需申请表形式送交级领导请求批准购买新设备购入立进行设备登记(包括类设备名型号规格单价数量购置日期生产厂家购买等)时更新申请表容
(4)时现设备修理报废情况进行统计查询求够类时间段(某日期前)查询
文献资料:
Java面象程序设计耿祥义张跃编著清华学出版社
SQL Server 数库教程(2008版) 郑阿奇刘启芬顾韵华编民邮电出版社
设计求:
(1)工作专门员负责完成意
(2)件设备作入库登记时均系统类动序编号形成设备号设备报废时时修改相应设备记录领导认
(3)系统数存储少应包含:设备记录修理记录报废记录购买申请
(4)系统输入项少包含:新设备信息修理信息申请购买信息报废信息具体查询统计求
(5)系统输出项少包含:设备购买申请表修理报废注销设备资金统计表
工作期限:

设计工作2013年12月20日2014年01月08日止

指导教师: 院:
日 期:2014年01月06日


课程设计:实验室设备理系统

项目理:

阶段
时间

参员
产生文档
项目理
20131221

确定课题组织组员合理分工

分工明细项目进程表
需求分析
20131222

确定软件功需求性需求运行环境约束编制软件需求规格说明软件系统确认测试准


需求规格说明书
确认测试准

概设计

20131223

建立软件系统总体结构模块间关系定义功模块接口涉全局数库规定涉约束制定组装测试计划


概设计说明书
组装测试计划

数库设计
20131224
根概设计软件必须数库进行分析设计


数库设计说明书
详细设计
20131225
概设计产生功模块逐步细化形成干编程程序模块

模块测试方案
编码
20131226
20140101

根详细设计文档详细设计转化求编程语言数库语言程序程序进行调试程序单元测试验证程序模块详细设计文档致性


源程序清单
测试
单元测试
20140102
20140103

采白盒测试技术进行测试:
1 模块接口测试
2 模块局部数结构测试
3 模块边界条件测试
4 模块中独立执行通路测试
5 模块条错误处理通路测试


单元测试报告
综合测试
20140104

发现接口关种错误

综合测试报告
确认测试
20140104
检查软件否满足软件需求说明书中确认标准

确认测试报告


项目实施
20140104
20140104

完善程序流图
书写软件说明书户手册

项目开发总结报告
终户手册
二 软件需求分析
1 引言
11 编写目
需求说明书详细陈述实验设备理系统提供项功中包括户功性需求非功性需求户提供完整较详系统功运作蓝图时设计员提供完整设计约束便高质量设计编写代码完成系项目预期目标开发员提供参考
需求说明书预期读者项目理设计员开发员户等
12 背景
说明:
a开发软件系统名称:实验设备理系统
b项目务提出者:西安文理学院
c项目开发者:
d项目户:西安文理学院相关理员
e该软件系统系统机构基相互关系:西安文理学院财务理软件系统相应接口
13 定义
LEM实验室设备理系统(Laboratory Equipment Management)

2 务概述
21 目标
着高校规模扩实验室仓库增工理实验设备已变低效解决问题高校实验室设备理系统实现设备理动化
实验室设备理系统贯穿设备购进报废整流程理程帮助理员高效理整高校设备级领导提供审核监督理台

22 户特点
软件户: 西安文理学院相关理员
通常认:户具较高文化水学力具定计算机水验解整LEM系统工作流程注意事项时LEM系统基操作困难执行参考户手册情况需进行专业培训利系统

3 需求规定
31 功性需求规定
311 系统整体功层次图

312 业务流程分析

数流图:


流程详细说明:
(1) 仓库理员统计仓库中设备库存量找出库存量足设备填写购买申请表领导申请表进行审核审核通产生购买报表交购买员
(2) 购买员购买设备购买信息交购买登记员进行购买登记购买登记员查询申请审核表设备分配仓库
(3) 仓库理员购买设备进行入库登记出库登记
(4) 实验室理员负责报废设备进行报废登记处理找出维修设备填写维修申请表领导维修申请表进行审核通产生维修报表交维修员维修员设备送交某修理厂家进行维修
(5) 设备维修完交原实验室实验室理员进行维修登记

312 系统户列表

高校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. 信息维护
32 软件系统数字典
321数流条目
① 登陆信息
输入:设备理员
输出:身份验证1
描述:登陆信息户名+密码+登陆权限

② 查询信息
输入:合法员设备查询操作
输出:设备信息表
描述:查询信息设备名型号类购置日期

③ 维修信息
输入:需维修设备信息
输出:确定维修设备记录
描述:维修信息设备名+修理日期+修理厂家+修理费+负责

④ 新设备
输入:购买设备信息
输出:确定购买新设备记录
描述:新设备类+设备名+型号+规格+单价+数量等

⑤ 报废设备
输入:需报废设备信息
输出:报废设备记录
描述:报废设备类+设备名+型号等

⑥ 审核信息
输入:审核3
输出:级领导
描述:审核信息报废设备信息新设备购买记录


322加工条目
身份验证1统计查询21维修22购买23报废24生产报表31审核32

323文件条目
⑦ 登陆表
输入:身份验证1
输出:身份验证1
数结构:户名+密码+登陆权限

⑧ 设备基信息表
输入:统计查询21
数结构:类+设备名+型号+规格等

⑨ 维修记录表
输入:统计查询21维修22
输出:统计查询21
数结构:设备名+修理日期+修理厂家+修理费+责等

⑩ 新设备表
输入:统计查询21购买22
输出:统计查询21
数结构:类+设备名+型号+规格+单价+数量+生产厂家+购买等

⑪ 报废记录表
输入:报废24统计查询21生产报表31
输出:统计查询21生产报表31
数结构:类+设备名+型号等

⑫ 申请表
输入:统计查询21生产报表31
输出:统计查询21生产报表31购买23
数结构:设备名+型号+规格+数量+负责

33 非功新需求规定
331 精度

软件输入精度:
a输入数字信息精度保留数点两位
b输入公司单位名称必须全称简称者简写
e输入选信息时拉框容备选选择行输入
332 时间特性需求

该软件时间特性求:
a响应时间:7秒钟
b更新处理时间:6秒钟

333 灵活性
该软件灵活性求(需求发生某变化时该软件变化适应力):
a运行环境变化:实现跨台操作
b软件接口变化:设计元化接口实现软件接口间通信
c精度效时限变化:统修改数精度效时限数库容

334 性
系统性指:系统规定条件规定时间完成规定功力

影响性操作流程:
1 新增户时出现信息法提交情况
2 设备购买登记阶段出现设备信息法写入购买信息登记错误

系统LEM系统性求较高具体求:
1 全部录入信息纸质详单购买详单维修详单等准
2 数正确性需方核查
3 动种信息数进行备份
4 报表生成纸质电子报表相致

34 输入输出求
输入:
a 输入数数字信息符合输入精度求
b 输入选信息完全拉框完成
输出:
a 输出数符合输出精度求
b 输出数格式字体统
34障处理求
服务器死机时求服务器必须2时恢复数必须3时恢复

4 运行环境规定
41 设备

运行该软件需硬设备包括:
1 处理器型号:Intel Core2
2 存容量:100G
3 硬盘:120G
42 支持软件
1 操作系统:windows7操作系统版
2 数库:Sql Server 2008 R2版数库
3 MyEclipse开发工具
5文化政策需求
引起户文化突出现敏感应出现字眼图片符合国家基法律法规新国家营销市场战略相关政策国社会义政策相违背

三:软件设计
1实验室设备理系统模块结构图


2界面设计
(1) 登录界面

(2)意注册理员登录界面

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

4理系统中3模块详细设计
① 级领导操作模块

②设备理员操作模块

③ 统功操作模块



5数库设计
1 模型图


2 ER图

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实验室理员表(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
审核时间


四编码单元测试
1户登录界面:
package comniitgui_event

import comniitlogical*
import javaawt*
import javaawtevent*
import javaxswing*

public class Login extends JFrame {
**
*
*
private static final long serialVersionUID 1L

控件声明
private JLabel lPosition lName lPasswd lTitle
private JComboBox cbPosition cbName
private JPasswordField pfPasswd
private JButton bConfirm bCancel
private Container con
private JPanel[] pCon

private User info

public Login() {
super(户登录)
控件初始化
con getContentPane()
lPosition new JLabel(身 份:)
lName new JLabel(户名:)
lPasswd new JLabel(密 码:)
lTitle new JLabel(实验室设备理系统)
lTitlesetForeground(ColorRED)
pfPasswd new JPasswordField()
bConfirm new JButton(确定)
bCancel new JButton(取消)

String[] aPosition new String[] { 系统理员 仓库理员 实验室理员购买登记员 级领导 }
cbPosition new JComboBox(aPosition)

int index cbPositiongetSelectedIndex()
if (index 0) {
info new Administration()
} else if (index 1) {
info new StoreManager()
} else if (index 2) {
info new LabManager()
} else if (index 3) {
info new BuyManager()
} else {
info new OverLeader()
}
数组初始化
pCon new JPanel[5]
String[] cName infogetIdByPosition(info)
cbName new JComboBox(cName)
for (int i 0 i < pConlength i++)
pCon[i] new JPanel()
}

public void launch() {
控件添加
consetLayout(new GridLayout(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 (int i 0 i < pConlength 1 i++)
conadd(pCon[i])

控件设置
pfPasswdsetEchoChar('*')
pfPasswdsetColumns(10)
setBounds(400 100 400 400)
setVisible(true)
setDefaultCloseOperation(JFrameEXIT_ON_CLOSE)

添加监听器
cbPositionaddActionListener(new ListenAction())
bConfirmaddActionListener(new ListenAction())
bCanceladdActionListener(new ListenAction())
pfPasswdaddKeyListener(new ListenKey())
}

定义钮拉框处理器
class ListenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (egetSource() bConfirm) {点击确定钮
infosetuId(cbNamegetSelectedItem()toString())
infosetuPasswd(new String(pfPasswdgetPassword()))
infosetuPosition(cbPositiongetSelectedItem()toString())
if (infologin(info)) {
new Main(info)launch()
setVisible(false)
pfPasswdsetText(null)
} else {
JOptionPaneshowMessageDialog(new Login() 户名密码身份错误)
pfPasswdsetText(null)
}
} else if (egetSource() cbPosition) {身份拉框改变时
int index cbPositiongetSelectedIndex()
if (index 0) {
info new Administration()
} else if (index 1) {
info new StoreManager()
} else if (index 2) {
info new LabManager()
} else if (index 3) {
info new BuyManager()
} else {
info new OverLeader()
}
String[] cName infogetIdByPosition(info)

刷新户名列表
cbNameremoveAllItems()
for (int i 0 i < cNamelength i++)
cbNameaddItem(cName[i])
} else {
Systemexit(0)
}
pfPasswdsetText(null)
}
}

定义键盘处理器
class ListenKey extends KeyAdapter {
@SuppressWarnings(staticaccess)
public void keyPressed(KeyEvent e) {
if (egetKeyText(egetKeyCode())compareToIgnoreCase(ENTER) 0) {
bConfirmdoClick()
}

}
}

}

}

2界面:
package comniitgui_event

import javaxswing*
import comniitlogical*
import javaawtevent*
public class Main extends JFrame {
**
*
*
private static final long serialVersionUID 1L
private JTabbedPane tp
private JPanel p[]

private User info

public Main() {
super(实验室设备理系统)
tp new JTabbedPane()
p new JPanel[8]

}

public Main(User info){

this()
thisinfoinfo
p[0] new UserManage()
p[1] new EquipIn()
p[2] new EquipOut()
p[3] new Register(info)
p[4] new Apply(info)
p[5] new Checks(info)
p[6] new Search()
p[7]new PasswdModyfy(info)

}

public void launch() {
tpaddTab(户理 p[0])
tpaddTab(设备入库 p[1])
tpaddTab(设备出库 p[2])
tpaddTab(设备登记 p[3])
tpaddTab(设备申请 p[4])
tpaddTab(审核申请 p[5])
tpaddTab(统计查询 p[6])
tpaddTab(信息维护 p[7])

if(info instanceof Administration){
tpsetEnabledAt(1 false)
tpsetEnabledAt(2 false)
tpsetEnabledAt(3 false)
tpsetEnabledAt(4 false)
tpsetEnabledAt(5 false)
tpsetEnabledAt(6 false)
}else if(info instanceof StoreManager){
tpsetEnabledAt(0 false)
tpsetEnabledAt(3 false)
tpsetEnabledAt(5 false)
tpsetSelectedIndex(1)
}else if(info instanceof LabManager){
tpsetEnabledAt(0 false)
tpsetEnabledAt(1 false)
tpsetEnabledAt(2 false)
tpsetEnabledAt(5 false)
tpsetSelectedIndex(3)
}else if(info instanceof BuyManager){
tpsetEnabledAt(0 false)
tpsetEnabledAt(1 false)
tpsetEnabledAt(2 false)
tpsetEnabledAt(4 false)
tpsetEnabledAt(5 false)
tpsetSelectedIndex(3)
}else if(info instanceof OverLeader){
tpsetEnabledAt(0 false)
tpsetEnabledAt(1 false)
tpsetEnabledAt(2 false)
tpsetEnabledAt(3 false)
tpsetEnabledAt(4 false)
tpsetSelectedIndex(5)
}
getContentPane()add(tp)
setSize(1280 780)
setVisible(true)
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
Systemexit(0)
}
})
}
}

3设备申请:
package comniitgui_event

import javaxswing*

import comniitlogical*

import javaawt*
import javaawtevent*
import comniitdata*
import javasql*

public class MaintainApply extends JPanel {
**
*
*
private static final long serialVersionUID 1L
private JLabel lpId
private JTextField tf
private JButton bApply bAgain bDelete
private JPanel pUp pDown
private JTable t
private JScrollPane jsp

private User user
private LabManager lm
private MaintainApplyData maInfo

public MaintainApply(User user) {
super(new BorderLayout())
thisuser user

lpId new JLabel(固定资产编号)
tf new JTextField()
tfsetColumns(15)

bApply new JButton(申请)
bAgain new JButton(重置)
bDelete new JButton(取消申请)
pUp new JPanel()
pDown new JPanel()

lm new LabManager()
maInfo new MaintainApplyData()
String[] head new String[] { 序列号 固定资产编号 申请 申请时间 }
Object[][] data lmgetMaintainApplyAll()
t new JTable(data head)
tsetRowHeight(25)
jsp new JScrollPane(t)

pUpadd(lpId)
pUpadd(tf)
pUpadd(bApply)
pUpadd(bAgain)
pDownadd(bDelete)

add(pUp BorderLayoutNORTH)
add(jsp BorderLayoutCENTER)
add(pDown BorderLayoutSOUTH)

添加监听器
bApplyaddActionListener(new ListenButton())
bAgainaddActionListener(new ListenButton())
bDeleteaddActionListener(new ListenButton())
}

处理器
class ListenButton implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (egetSource() bApply) { 申请钮
maInfosetpId(new Integer(tfgetText()))
maInfosetuId(usergetuId())
maInfosetDate(new Date(SystemcurrentTimeMillis()))
lmadd(maInfo)
bAgaindoClick()
} else if (egetSource() bAgain) { 重置钮
tfsetText(null)
} else if (egetSource() bDelete) { 删钮
int selectedIndex 1
for (int i 0 i < tgetRowCount() i++) {
if (tisRowSelected(i) true)
selectedIndex i
}
if (selectedIndex 1) {
JOptionPaneshowMessageDialog(null 请先选择某项)
return
} else {
int option JOptionPaneshowConfirmDialog(null 否确定删?
提示 JOptionPaneYES_NO_CANCEL_OPTION)
if (option JOptionPaneYES_OPTION) {
maInfosetId(new Integer(tgetValueAt(selectedIndex 0)
toString()))
lmdelete(maInfo)
}
}
}
刷新数表
remove(jsp)
String[] head new String[] { 序列号 固定资产编号 申请 申请时间 }
Object[][] data lmgetMaintainApplyAll()
t new JTable(data head)
tsetRowHeight(25)
tvalidate()
jsp new JScrollPane(t)
add(jsp BorderLayoutCENTER)
validate()
}
}
}


4设备入库:
package comniitgui_event

import javaawtBorderLayout
import javaawtCursor

import javaxswing*
import javaawt*

import comniitlogical*

import javaawtevent*
import javasqlDate

import comniitdata*

public class EquipIn extends JPanel {
**
*
*
private static final long serialVersionUID 1L
private JLabel leId lsId liNum lPara
private JTextField tfiNum
private JComboBox cbeId cbsId
private JButton bIn bAgain bDelete
private JPanel pUp pDown
private JScrollPane jsp
private JTable t

private StoreManager sma
private InData inInfo

public EquipIn() {
super(new BorderLayout()) 设置布局理器

控件初始化
leId new JLabel(设备编号)
lsId new JLabel(仓库编号)
liNum new JLabel(入库数量)
lPara new JLabel(参数设置)
lParasetForeground(ColorRED)

tfiNum new JTextField()
tfiNumsetColumns(10)

bIn new JButton(入库)
bAgain new JButton(重置)
bDelete new JButton(删)

pUp new JPanel()
pDown new JPanel()

sma new StoreManager()
inInfo new InData()

String[] eId smageteId()
String[] sId smagetsIdAll()
cbeId new JComboBox(eId)
cbsId new JComboBox(sId)

String[] head new String[] { 设备编号 仓库编号 入库时间 入库数量 }
Object[][] data smagetInAll()
t new JTable(data head)
tsetRowHeight(25)
jsp new JScrollPane(t)

添加控件
pUpadd(leId)
pUpadd(cbeId)
pUpadd(lsId)
pUpadd(cbsId)
pUpadd(liNum)
pUpadd(tfiNum)
pUpadd(bIn)
pUpadd(bAgain)
pUpadd(lPara)

pDownadd(bDelete)

add(pUp BorderLayoutNORTH)
add(jsp BorderLayoutCENTER)
add(pDown BorderLayoutSOUTH)

添加监听器
bInaddActionListener(new ListenButton())
bAgainaddActionListener(new ListenButton())
bDeleteaddActionListener(new ListenButton())
lParaaddMouseListener(new ListenMouse())
}

定义钮处理器
class ListenButton implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (egetSource() bIn) { 点击入库钮
inInfoseteId(cbeIdgetSelectedItem()toString())
inInfosetsId(cbsIdgetSelectedItem()toString())
inInfosetDate(new Date(SystemcurrentTimeMillis()))
inInfosetNum(new Integer(tfiNumgetText()))
smaadd(inInfo)
bAgaindoClick()
} else if (egetSource() bAgain) { 点击重置钮
tfiNumsetText(null)
} else if (egetSource() bDelete) { 点击删钮
int selectedIndex 1
for (int i 0 i < tgetRowCount() i++) {
if (tisRowSelected(i) true)
selectedIndex i
}
if (selectedIndex 1) {
JOptionPaneshowMessageDialog(null 请先选择某项)
return
} else {
int option JOptionPaneshowConfirmDialog(null 否确定删?
提示 JOptionPaneYES_NO_CANCEL_OPTION)
if (option JOptionPaneYES_OPTION) {
inInfoseteId((String) tgetValueAt(selectedIndex 0))
inInfosetsId((String) tgetValueAt(selectedIndex 1))
inInfosetDate((Date) tgetValueAt(selectedIndex 2))
smadelete(inInfo)
}
}
}

刷新数表
remove(jsp)
String[] head new String[] { 设备编号 仓库编号 入库时间 入库数量 }
Object[][] data smagetInAll()
t new JTable(data head)
tsetRowHeight(25)
tvalidate()
jsp new JScrollPane(t)
add(jsp BorderLayoutCENTER)
validate()
}
}

定义鼠标处理器
class ListenMouse extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
lParasetCursor(new Cursor(CursorHAND_CURSOR))
}

public void mousePressed(MouseEvent e) {
new ParameterSet()
}
}
}

5户理
package comniitgui_event

import javaawtBorderLayout
import javaawtGridLayout
import javaawtevent*
import javaawt*

import javaxswing*

import comniitlogical*

public class UserManage extends JPanel {

**
*
*
private static final long serialVersionUID 1L
private JLabel[] lArray new JLabel[7]
private JButton[] bArray new JButton[3]
private JTextField[] tfArray new JTextField[2]
private JPasswordField[] pfArray new JPasswordField[2]
private JPanel[] pArray new JPanel[4]
private JComboBox cbPosition cbSL
private JScrollPane jsp
private JTable t

private Administration Admin
private StoreManager sma
private LabManager lm

public UserManage() {
super(new BorderLayout()) 设置布局理器

控件初始化
lArray[0] new JLabel(注册身份)
lArray[1] new JLabel(户名)
lArray[2] new JLabel(姓名)
lArray[3] new JLabel(密码)
lArray[4] new JLabel(确认密码)
lArray[5] new JLabel(编号)
lArray[6] new JLabel(参数设置)

bArray[0] new JButton(注册)
bArray[1] new JButton(重置)
bArray[2] new JButton(删)

for (int i 0 i < 2 i++) {
tfArray[i] new JTextField()
tfArray[i]setColumns(10)
pfArray[i] new JPasswordField()
pfArray[i]setColumns(10)
pArray[i] new JPanel()
}
pArray[2] new JPanel()
pArray[3] new JPanel(new GridLayout(2 1))

String[] position new String[] { 系统理员 仓库理员 实验室理员 购买登记员
级领导 }
cbPosition new JComboBox(position)
cbSL new JComboBox()

Admin new Administration()
sma new StoreManager()
lm new LabManager()
String[] head new String[] { 户名 姓名 身份 }
Object[][] data AdmingetAll()
t new JTable(data head)
tsetRowHeight(25)
jsp new JScrollPane(t)

属性设置
lArray[5]setVisible(false)
cbSLsetVisible(false)
lArray[6]setForeground(ColorRED)

控件添加
pArray[0]add(lArray[0])
pArray[0]add(cbPosition)
pArray[0]add(lArray[1])
pArray[0]add(tfArray[0])
pArray[0]add(lArray[2])
pArray[0]add(tfArray[1])

pArray[1]add(lArray[3])
pArray[1]add(pfArray[0])
pArray[1]add(lArray[4])
pArray[1]add(pfArray[1])
pArray[1]add(lArray[5])
pArray[1]add(cbSL)
pArray[1]add(bArray[0])
pArray[1]add(bArray[1])
pArray[1]add(lArray[6])

pArray[2]add(bArray[2])

pArray[3]add(pArray[0])
pArray[3]add(pArray[1])

add(pArray[3] BorderLayoutNORTH)
add(jsp BorderLayoutCENTER)
add(pArray[2] BorderLayoutSOUTH)

添加监听器
bArray[0]addActionListener(new ListenAction())
bArray[1]addActionListener(new ListenAction())
bArray[2]addActionListener(new ListenAction())
cbPositionaddActionListener(new ListenAction())
lArray[6]addMouseListener(new ListenMouse())
}

定义钮拉框动作处理器
class ListenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
AdminsetuId(tfArray[0]getText())
AdminsetuName(tfArray[1]getText())
AdminsetuPasswd(new String(pfArray[0]getPassword()))
AdminsetuPosition(cbPositiongetSelectedItem()toString())
if (egetSource() bArray[0]) { 点击注册钮
if (tfArray[0]getText()equals()
|| new String(pfArray[0]getPassword())toString()
equals()) {
JOptionPaneshowMessageDialog(null 户名密码空)
bArray[1]doClick()
return
}
String[] strKey new String[] { AdmingetuId()
AdmingetuPosition() }
if (AdmingetKey()contains(strKey)) {
JOptionPaneshowMessageDialog(null 户已存)
bArray[1]doClick()
return
}
if (new String(pfArray[0]getPassword())equals(new String(
pfArray[1]getPassword()))) {
JOptionPaneshowMessageDialog(null 密码致)
bArray[1]doClick()
return
}
Adminadd(Admin)
if (cbPositiongetSelectedItem()equals(仓库理员)) {
smasetuId(tfArray[0]getText())
smasetsId(cbSLgetSelectedItem()toString())
Adminadd(sma)
} else if (cbPositiongetSelectedItem()equals(实验室理员)) {
lmsetuId(tfArray[0]getText())
lmsetlId(cbSLgetSelectedItem()toString())
Adminadd(lm)
}
bArray[1]doClick()
} else if (egetSource() bArray[1]) { 点击重置钮
tfArray[0]setText(null)
tfArray[1]setText(null)
pfArray[0]setText(null)
pfArray[1]setText(null)
} else if (egetSource() bArray[2]) { 点击删钮
int selectedIndex 1
for (int i 0 i < tgetRowCount() i++) {
if (tisRowSelected(i) true)
selectedIndex i
}
if (selectedIndex 1) {
JOptionPaneshowMessageDialog(null 请先选择某项)
return
} else {
int option JOptionPaneshowConfirmDialog(null 否确定删?
提示 JOptionPaneYES_NO_CANCEL_OPTION)
if (option JOptionPaneYES_OPTION) {
AdminsetuId((String) tgetValueAt(selectedIndex 0))
AdminsetuPosition((String) tgetValueAt(selectedIndex
2))
Admindelete(Admin)
}
}
} else if (egetSource() cbPosition) { 改变身份拉框时
if (cbPositiongetSelectedItem()equals(仓库理员)) {
lArray[5]setText(仓库编号)
lArray[5]setVisible(true)
cbSLsetVisible(true)
cbSLremoveAllItems()
String[] sId AdmingetsIdAll()
for (int i 0 i < sIdlength i++)
cbSLaddItem(sId[i])
} else if (cbPositiongetSelectedItem()equals(实验室理员)) {
lArray[5]setText(实验室编号)
lArray[5]setVisible(true)
cbSLsetVisible(true)
cbSLremoveAllItems()
String[] sId AdmingetlIdAll()
for (int i 0 i < sIdlength i++)
cbSLaddItem(sId[i])
} else {
lArray[5]setVisible(false)
cbSLsetVisible(false)
}
}
刷新数表
remove(jsp)
String[] head new String[] { 户名 姓名 身份 }
Object[][] data AdmingetAll()
t new JTable(data head)
tsetRowHeight(25)
tvalidate()
jsp new JScrollPane(t)
add(jsp BorderLayoutCENTER)
validate()
}
}

定义鼠标事件处理器
class ListenMouse extends MouseAdapter {
public void mouseEntered(MouseEvent e) {
lArray[6]setCursor(new Cursor(CursorHAND_CURSOR))
}

public void mousePressed(MouseEvent e) {
new ParameterSet()
}
}
}


6设备统计查询:
package comniitgui_event

import javaawt*
import javaawteventActionEvent
import javaawteventActionListener

import javaxswing*

import comniitdataInData
import comniitdataOutData
import comniitlogicalLabManager
import comniitlogicalStoreManager

public class Search extends JPanel {

**
*
*
private static final long serialVersionUID 1L
private JRadioButton rbStore rbLab rbeId rbSingleeId
private JComboBox cbStore cbLab cbeId
private JLabel lStore lLab leId
private JTable t
private JScrollPane jsp
private JPanel pUp pDown p

private StoreManager sma
private InData inInfo

public Search() {
super(new BorderLayout())

rbStore new JRadioButton(仓库库存统计 true)
rbLab new JRadioButton(实验室库存统计)
rbeId new JRadioButton(设备 true)
rbSingleeId new JRadioButton(单设备)

sma new StoreManager()
inInfo new InData()

cbStore new JComboBox(smagetsIdAll())
cbLab new JComboBox(smagetlIdAll())
cbeId new JComboBox(smageteId())

lStore new JLabel(仓库编号)
lLab new JLabel(实验室编号)
leId new JLabel(设备编号)
cbLabsetVisible(false)
lLabsetVisible(false)
leIdsetVisible(false)
cbeIdsetVisible(false)

pUp new JPanel()
pDown new JPanel()
p new JPanel()
pUpadd(rbStore)
pUpadd(lStore)
pUpadd(cbStore)
pUpadd(rbLab)
pUpadd(lLab)
pUpadd(cbLab)

pDownadd(rbeId)
pDownadd(rbSingleeId)
pDownadd(leId)
pDownadd(cbeId)

psetLayout(new GridLayout(2 1))
padd(pUp)
padd(pDown)

inInfosetsId(cbStoregetSelectedItem()toString())
String[] head new String[] { 设备编号 仓库编号 库存量 }
Object[][] data smagetCountKunCunAll(inInfo)
t new JTable(data head)
tsetRowHeight(25)
jsp new JScrollPane(t)

add(p BorderLayoutNORTH)
add(jsp BorderLayoutCENTER)

添加监听器
rbStoreaddActionListener(new ListenAction())
rbLabaddActionListener(new ListenAction())
rbeIdaddActionListener(new ListenAction())
rbSingleeIdaddActionListener(new ListenAction())
cbStoreaddActionListener(new ListenAction())
cbLabaddActionListener(new ListenAction())
cbeIdaddActionListener(new ListenAction())
}

定义处理器
class ListenAction implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (egetSource() rbStore) {
rbLabsetSelected(false)
} else if (egetSource() rbLab) {
rbStoresetSelected(false)
} else if (egetSource() rbeId) {
rbSingleeIdsetSelected(false)
} else if (egetSource() rbSingleeId) {
rbeIdsetSelected(false)
}
StoreManager sma new StoreManager()
LabManager lm new LabManager()
String[] head null
Object[][] data null
InData idInfo new InData()
OutData odInfo new OutData()
idInfoseteId(cbeIdgetSelectedItem()toString())
idInfosetsId(cbStoregetSelectedItem()toString())
odInfoseteId(cbeIdgetSelectedItem()toString())
odInfosetlId(cbLabgetSelectedItem()toString())
if (rbStoreisSelected()) {
lStoresetVisible(true)
cbStoresetVisible(true)
lLabsetVisible(false)
cbLabsetVisible(false)
rbLabsetSelected(false)
head new String[] { 设备编号 仓库编号 库存量 }
if (rbeIdisSelected()) {
leIdsetVisible(false)
cbeIdsetVisible(false)
rbSingleeIdsetSelected(false)
data smagetCountKunCunAll(idInfo)
} else {
leIdsetVisible(true)
cbeIdsetVisible(true)
rbeIdsetSelected(false)
data smagetCountKunCun(idInfo)
}
} else {
lStoresetVisible(false)
cbStoresetVisible(false)
lLabsetVisible(true)
cbLabsetVisible(true)
rbStoresetSelected(false)
head new String[] { 设备编号 实验室编号 库存量 }
if (rbeIdisSelected()) {
leIdsetVisible(false)
cbeIdsetVisible(false)
rbSingleeIdsetSelected(false)
data lmgetCountKunCunAll(odInfo)
} else {
leIdsetVisible(true)
cbeIdsetVisible(true)
rbeIdsetSelected(false)
data lmgetCountKunCun(odInfo)
}
}

刷新数表
remove(jsp)
t new JTable(data head)
tsetRowHeight(25)
tvalidate()
jsp new JScrollPane(t)
add(jsp BorderLayoutCENTER)
validate()
}
}
}

package shebeiguanli

*
*

Title实验室设备理系统报废记录查询页面


* @author gengdexin
*


import javaio*
import javanet*
import javasql*
import javalang*
import javaxsql*

import javaawt*
import javaawtevent*
import javaxswing*
import comborlandjbcllayout*
import comborlanddbswing*

public class Frame6 extends JFrame {
JPanel contentPane
JLabel jLabel1 new JLabel()
XYLayout xYLayout1 new XYLayout()
JLabel jLabel2 new JLabel()
JLabel jLabel3 new JLabel()
JTextField jTextField1 new JTextField()
JLabel jLabel4 new JLabel()
JTextField jTextField2 new JTextField()
JPanel jPanel1 new JPanel()
XYLayout xYLayout2 new XYLayout()
JScrollPane jScrollPane1 new JScrollPane()
JLabel jLabel5 new JLabel()
JTextField jTextField3 new JTextField()
public Frame6() {
enableEvents(AWTEventWINDOW_EVENT_MASK)
try {
jbInit()
}
catch(Exception e) {
eprintStackTrace()
}
}
private void jbInit() throws Exception {
contentPane (JPanel) thisgetContentPane()
contentPanesetLayout(xYLayout1)
thissetSize(new Dimension(600 500))
thissetTitle(实验室设备理系统)
thisaddHierarchyBoundsListener(new Frame6_this_hierarchyBoundsAdapter(this))
jLabel1setFont(new javaawtFont(SansSerif 0 25))
jLabel1setForeground(Colorred)
jLabel1setText(实验室设备理系统)
contentPanesetForeground(Colorblack)
jLabel2setFont(new javaawtFont(SansSerif 0 30))
jLabel2setText(设备报废记录查询)
jLabel3setFont(new javaawtFont(SansSerif 0 20))
jLabel3setText(设备名称)
jTextField1setText()
jLabel4setEnabled(true)
jLabel4setFont(new javaawtFont(SansSerif 0 20))
jLabel4setText(设备型号)
jTextField2setText()
jTextField2addActionListener(new Frame6_jTextField2_actionAdapter(this))
jPanel1setLayout(xYLayout2)
jLabel5setFont(new javaawtFont(SansSerif 0 25))
jLabel5setForeground(Colorred)
jLabel5setText(该报废设备详细信息)
jTextField3setText()
contentPaneadd(jLabel1 new XYConstraints(200 0 30050))
contentPaneadd(jLabel2 new XYConstraints(200 47 300 58))
contentPaneadd(jLabel3 new XYConstraints(47 102 101 42))
contentPaneadd(jTextField1 new XYConstraints(128 108 112 34))
contentPaneadd(jTextField2 new XYConstraints(361 107 109 36))
contentPaneadd(jPanel1 new XYConstraints(75 166 453 277))
jPanel1add(jScrollPane1 new XYConstraints(14 8 433 221))
jScrollPane1getViewport()add(jTextField3 null)
jPanel1add(jLabel5 new XYConstraints(112 240 1 1))
contentPaneadd(jLabel4 new XYConstraints(278 111 1 1))
}

protected void processWindowEvent(WindowEvent e) {
superprocessWindowEvent(e)
if (egetID() WindowEventWINDOW_CLOSING) {
Systemexit(0)
}
}

void Select() {
try {
String str1 str2
str1 jTextField1getText()
str2 jTextField2getText()
Connection con null
String url jdbcodbcshebeiguanli
String user
String password
ClassforName(sunjdbcodbcJdbcOdbcDriver)
con DriverManagergetConnection(urluserpassword)
Statement stmt concreateStatement()
PreparedStatement pstmt conprepareStatement(
use shebeiguanli select * from 报废记录 where 设备型号 and 设备名 )
pstmtsetString(2 str1)
pstmtsetString(1 str2)
ResultSet res pstmtexecuteQuery()
String id
String name
String guigedanjiadaychangjiapeonum
String outputarea 设备型号 + 设备名称 + 报废记录 + 责 +'\n'

if(resnext()){
do{
id resgetString(1)
name resgetString(2)
dayresgetString(5)
peoresgetString(7)
outputarea+ +id+ +name+ +day+ +peo+ +\n
jTextField3setText(outputarea)
}
while(resnext())
}
else{
jTextField3setText(存)
}
}catch (ClassNotFoundException e) {
Systemoutprintln(egetMessage())
}catch (SQLException edd) {
eddprintStackTrace()
Systemoutprintln(eddgetMessage())
}
}


void this_ancestorMoved(HierarchyEvent e) {

}

void jTextField2_actionPerformed(ActionEvent e) {
Select()
}
}

class Frame6_this_hierarchyBoundsAdapter extends javaawteventHierarchyBoundsAdapter {
Frame6 adaptee

Frame6_this_hierarchyBoundsAdapter(Frame6 adaptee) {
thisadaptee adaptee
}
public void ancestorMoved(HierarchyEvent e) {
adapteethis_ancestorMoved(e)
}
}

class Frame6_jTextField2_actionAdapter implements javaawteventActionListener {
Frame6 adaptee

Frame6_jTextField2_actionAdapter(Frame6 adaptee) {
thisadaptee adaptee
}
public void actionPerformed(ActionEvent e) {
adapteejTextField2_actionPerformed(e)
}
}


7设备申请:
package comniitgui_event

import javaawt*
import javaawtevent*
import javaxswing*

import javasqlDate

import comniitdataBuyApplyData
import comniitlogical*

public class BuyApply extends JPanel {

**
*
*
private static final long serialVersionUID 1L
private JLabel leId lNum
private JPanel pUp pDown
private JButton bApply bAgain bDelete
private JTable t
private JScrollPane jsp
private JComboBox cbeId
private JTextField tfNum

private User user
private StoreManager sma
private BuyApplyData baInfo

public BuyApply(User user) {
super(new BorderLayout()) 设置布局理器
thisuser user

控件初始化
leId new JLabel(设备编号)
lNum new JLabel(申请数量)
bApply new JButton(申请)
bAgain new JButton(重置)
bDelete new JButton(删)

sma new StoreManager()
baInfo new BuyApplyData()

String[] head new String[] { 序列号 设备编号 申请 申请时间 申请数量 }
Object[][] data smagetBuyApplyAll()
t new JTable(data head)
tsetRowHeight(25)
jsp new JScrollPane(t)
String[] eId smageteId()
cbeId new JComboBox(eId)

tfNum new JTextField()
tfNumsetColumns(15)

pUp new JPanel()
pDown new JPanel()

控件添加
pUpadd(leId)
pUpadd(cbeId)
pUpadd(lNum)
pUpadd(tfNum)
pUpadd(bApply)
pUpadd(bAgain)

pDownadd(bDelete)

add(pUp BorderLayoutNORTH)
add(jsp BorderLayoutCENTER)
add(pDown BorderLayoutSOUTH)

添加监听器
bApplyaddActionListener(new ListenButton())
bAgainaddActionListener(new ListenButton())
bDeleteaddActionListener(new ListenButton())
}

定义钮处理器
class ListenButton implements ActionListener {
public void actionPerformed(ActionEvent e) {
if (egetSource() bApply) { 点击申请钮
baInfoseteId(cbeIdgetSelectedItem()toString())
baInfosetuId(usergetuId())
baInfosetDate(new Date(SystemcurrentTimeMillis()))
baInfosetbaNum(new Integer(tfNumgetText()))
smaadd(baInfo)
bAgaindoClick()
} else if (egetSource() bAgain) { 点击重置钮
tfNumsetText(null)
} else if (egetSource() bDelete) { 点击删钮
int selectedIndex 1
for (int i 0 i < tgetRowCount() i++) {
if (tisRowSelected(i) true)
selectedIndex i
}
if (selectedIndex 1) {
JOptionPaneshowMessageDialog(null 请先选择某项)
return
} else {
int option JOptionPaneshowConfirmDialog(null 否确定删?
提示 JOptionPaneYES_NO_CANCEL_OPTION)
if (option JOptionPaneYES_OPTION) {
baInfosetId(new Integer(tgetValueAt(selectedIndex 0)
toString()))
smadelete(baInfo)
}
}
}

刷新数表
remove(jsp)
String[] head new String[] { 序列号 设备编号 申请 申请时间 申请数量 }
Object[][] data smagetBuyApplyAll()
t new JTable(data head)
tsetRowHeight(25)
tvalidate()
jsp new JScrollPane(t)
add(jsp BorderLayoutCENTER)
validate()
}
}
}

8审核申请:
package comniitgui_event
import javaawt*
import javaawtevent*
import javasqlDate

import javaxswing*

import comniitdata*
import comniitlogical*
class MaintainCheck extends JPanel{
**
*
*
private static final long serialVersionUID 1L
private JLabel lLeftlRight
private JPanel pLeftpRightpCenterpCUppCDown
private JButton bUpbDown
private JTable tLefttRight
private JScrollPane jspLeftjspRight

private User user
public MaintainCheck(User user){
thisuseruser
lLeftnew JLabel(未审核列表)
lRightnew JLabel(已审核列表)
bUpnew JButton(通)
bDownnew JButton(通)
pLeftnew JPanel()
pRightnew JPanel()
pCenternew JPanel()
pCUpnew JPanel()
pCUpadd(bUp)
pCDownnew JPanel()
pCDownadd(bDown)
pCentersetLayout(new GridLayout(21))
pCenteradd(pCUp)
pCenteradd(pCDown)
OverLeader olnew OverLeader()
String[] headRightnew String[]{审核表序列号申请表序列号审核审核时间审核结果}
Object[][] dataRightolgetMaintainCheckAll()
tRightnew JTable(dataRightheadRight)
tRightsetRowHeight(25)
jspRightnew JScrollPane(tRight)
String[] headLeftnew String[]{序列号固定资产编号申请申请时间}
Object[][] dataLeftolgetMaintainApplyAll()
tLeftnew JTable(dataLeftheadLeft)
tLeftsetRowHeight(25)
jspLeftnew JScrollPane(tLeft)
pLeftsetLayout(new BorderLayout())
pRightsetLayout(new BorderLayout())
pLeftadd(lLeftBorderLayoutNORTH)
pLeftadd(jspLeftBorderLayoutCENTER)
pRightadd(lRightBorderLayoutNORTH)
pRightadd(jspRightBorderLayoutCENTER)
setLayout(new GridLayout(13))
add(pLeft)
add(pCenter)
add(pRight)
bUpaddActionListener(new ListenButton())
bDownaddActionListener(new ListenButton())
}
class ListenButton implements ActionListener{
public void actionPerformed(ActionEvent e){
int selectedIndex 1
for (int i 0 i < tLeftgetRowCount() i++) {
if (tLeftisRowSelected(i) true)
selectedIndex i
}
if (selectedIndex 1) {
JOptionPaneshowMessageDialog(null 请先选择某项)
return
} else {
int option JOptionPaneshowConfirmDialog(null
否确定审核申请? 提示 JOptionPaneYES_NO_CANCEL_OPTION)
if (option JOptionPaneYES_OPTION) {
MaintainCheckData info new MaintainCheckData()
infosetaId(new Integer(tLeftgetValueAt(selectedIndex 0)toString()))
infosetuId(usergetuId())
infosetDate(new Date(SystemcurrentTimeMillis()))
if(egetSource()bUp){
infosetResult(通)
}else if(egetSource()bDown){
infosetResult(通)
}
OverLeader olnew OverLeader()
oladd(info)
}
}
刷新
remove(jspLeft)
remove(jspRight)
OverLeader olnew OverLeader()
String[] headRightnew String[]{审核表序列号申请表序列号审核审核时间审核结果}
Object[][] dataRightolgetMaintainCheckAll()
tRightnew JTable(dataRightheadRight)
tRightsetRowHeight(25)
tRightvalidate()
jspRightnew JScrollPane(tRight)
String[] headLeftnew String[]{序列号固定资产编号申请申请时间}
Object[][] dataLeftolgetMaintainApplyAll()
tLeftnew JTable(dataLeftheadLeft)
tLeftsetRowHeight(25)
tLeftvalidate()
jspLeftnew JScrollPane(tLeft)
pLeftsetLayout(new BorderLayout())
pRightsetLayout(new BorderLayout())
pLeftadd(lLeftBorderLayoutNORTH)
pLeftadd(jspLeftBorderLayoutCENTER)
pRightadd(lRightBorderLayoutNORTH)
pRightadd(jspRightBorderLayoutCENTER)
setLayout(new GridLayout(13))
validate()
}
}
}


9信息维护(修改密码):
package comniitgui_event

import javaxswing*
import javaawt*
import javaawtevent*
import comniitlogical*
public class PasswdModyfy extends JPanel{

**
*
*
private static final long serialVersionUID 1L
private JLabel lOPasswdlNPasswdlCPasswd
private JPasswordField pfOPasswdpfNPasswdpfCPasswd
private JButton bModifybAgain
private JPanel[] pnew JPanel[4]
private User user
public PasswdModyfy(User user){
thisuseruser
lOPasswdnew JLabel(原密码)
lNPasswdnew JLabel(新密码)
lCPasswdnew JLabel(确认密码)
pfOPasswdnew JPasswordField()
pfOPasswdsetColumns(15)
pfNPasswdnew JPasswordField()
pfNPasswdsetColumns(15)
pfCPasswdnew JPasswordField()
pfCPasswdsetColumns(15)
bModifynew JButton(修改)
bAgainnew JButton(重置)
for(int i0i p[i]new JPanel()
p[0]add(lOPasswd)
p[0]add(pfOPasswd)
p[1]add(lNPasswd)
p[1]add(pfNPasswd)
p[2]add(lCPasswd)
p[2]add(pfCPasswd)
p[3]add(bModify)
p[3]add(bAgain)

setLayout(new GridLayout(41))
add(p[0])
add(p[1])
add(p[2])
add(p[3])

添加监听器
bModifyaddActionListener(new ListenButton())
bAgainaddActionListener(new ListenButton())
}
class ListenButton implements ActionListener{
public void actionPerformed(ActionEvent e){
if(egetSource()bModify){
usersetuPasswd(new String(pfNPasswdgetPassword()))
if(pfNPasswdgetPassword()toString()equals()){
JOptionPaneshowMessageDialog(null 密码空)
return
}
if(userlogin(user)){
JOptionPaneshowMessageDialog(null 原密码错误)
bAgaindoClick()
return
}
if(new String(pfNPasswdgetPassword())equals(new String(pfCPasswdgetPassword()))){
JOptionPaneshowMessageDialog(null 密码致)
bAgaindoClick()
return
}
if(userupdate(user)1){
JOptionPaneshowMessageDialog(null 密码修改成功您重新登录)
bAgaindoClick()
}
}else{
pfOPasswdsetText(null)
pfNPasswdsetText(null)
pfCPasswdsetText(null)
}
}
}
}

五:软件测试
1. 设计测试例
测试方案:
测试方案采黑盒法设计基测试方案黑盒法测试方案中采等价划分技术
测试模块:
⑴ 户登陆模块
⑵ 设备查询模块
⑶ 报废记录查询模块
⑷ 维修记录更新模块
⑸ 维修记录查询模块
⑹ 购买设备申请模块
⑺ 退出系统模块
2. 软件测试结果
例1
项目软件
实验室设备理系统
编制时间 
20140102
功模块名
户登陆模块
例编号 
户登录表
功特性
户身份验证
测试目
验证否输入合法信息允许合法登陆阻止非法登陆
测试数
户名 administration 密码admin 登陆权限系统理员
操作步骤
操作描述

期结果
实际结果
测试状态
1
输入户名密码登陆权限
户名administration 密码 admin 登录
显示进入页面
期结果
正常
2
输入户名密码登陆权限
户名 administration 密码0000000

密码错误
期结果
正常

项目软件
实验室设备理系统
编制时间 
20140102
功模块名
设备查询模块
例编号 
设备记录表
功特性
查询实验室设备情况
测试数
设备型号E002 设备名计算机 规格eeeeee 单价5000 购买日期20140102
生产厂商联想 数量1
操作步骤
操作描述

期结果
实际结果
测试状态
1
输入设备型号设备名
设备型号E002设备名计算机
设备型号E002 设备名计算机 规格eeeeee 单价5000 购买日期20140102
生产厂商联想 数量1
期结果
正常
2
输入设备型号设备名
设备名计算机
设备型号E003
记录
期结果
正常
例3
项目软件
实验室设备理系统
编制时间 
20140103
功模块名
报废记录查询模块
例编号 
报废记录表
功特性
查询实验室设备报废情况
测试数
设备编号 E002 设备名计算机 报废日期20140103
操作步骤
操作描述

期结果
实际结果
测试状态
1
输入设备编号设备名
设备编号E002设备名计算机 报废日期20140103
设备编号 E002 设备名计算机 报废日期20140103
期结果
正常
2
输入设备编号设备名
设备名计算机
设备编号 E003
记录
期结果
正常

例4
项目软件
实验室设备理系统
编制时间 
20140104
功模块名
设备申请模块
例编号 
申请表
功特性
查询求购买设备信息
测试数
设备名计算机 规格eeeeee 数量5 生产厂家联想
操作步骤
操作描述

期结果
实际结果
测试状态
1
输入设备名规格数量生产厂家
设备名计算机 规格eeeeee 数量5 生产厂家联想
数库申请表中添加记录
期结果
正常


六: 实验结
㈠实验容总结
次实验求动手设计完成实验室设备理系统求实验室设备进 行统计查询设备维修报废情况处理记录够申请购买新设备拨更新申请表等系统求户登陆具定权限执行相关操作设备需报废购买需级领导审核批准
两星期实验开始先该理系统进行需求分析出次实验理系统需设备理员级领导两角色画出系统顶层数流图配备相应数字典进入软件设计阶段理系统分成三模块:系统功模块设备理员操作模块级领导模块模块细分成具体操作模块设计系统ER图建立关系数表软件编码阶段设计系统功界面添加相应代码数库相连接实现系统功软件测试调试时测试数输入相应功界面测试系统否正常实现相应功时进行相应改进

㈡心体会
通实验室设备理系统设计认识软件开发程实际描述现实世界程现实世界软件模型转化程中核心程课程设计程中遇许问题需求分析阶段完全正确握住系统功描述设计数流图时出现问题学讨程中解决问题
次实验次难锻炼机会加深理知识理解丰富实践验整体程序开发具体软件设计全面掌握事工作坚实基础该系统许意方户界面设计够美观真正实现数库时候读取写入方便类型全部设varchar型等等时间仓促力限制进步改善次实验提高实际操作力前理升实践感性认识升理性认识真正做学
西安wen理学院软件学院

文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

实验室建设与设备管理处处长述职报告

实验室建设与设备管理处处长述职报告第一篇:2014年实验室建设与设备管理处处长述职报告2014年实验室建设与设备管理处处长述职报告各位领导,各位老师,上午好!现在我代表实验室建设与设备管理处述职,接受各位领导和老师的评议。实验室建设与设备管理处成立于2014年9月23日,还差7天成立整整4个月。近4个月来,我处认真组织发展战略大讨论活动,加强全处教职工思想政治工作,紧紧围绕学校教

l***g 12年前 上传527   0

c++超市管理系统课程设计报告

c++超市管理系统课程设计报告第1章 任务描述本次C++实践课题为“超市管理系统”。要求功能有A、添加商品信息,有商品编号、商品名、供应商代号、进货价、售出价、存货数等。进货:若商品已存在,只需修改存货数;若不存在,需增加新纪录。B、售出:输入商品编号,修改相应的存货数与销售额。C、查询:查询商品,销售额。

文***品 2年前 上传554   0

Web系统开发课程设计报告

录入学生基本信息的功能学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。1.2、修改学生基本信息的功能

N***u 4年前 上传1240   0

物业管理系统课程设计报告

物业管理系统课程设计报告目 录第一章 前 言 11. 物业管理系统研究的意义 12. 数据库开发简介 13. asp.net简介 2第二章 数据库设计 31.选择数据库管理系统 32.数据流图 32.1 住户管理 32.2 财政管理 32.3 设备管理 42.4 投诉信息管理 42.5 物业管理 52.6系统功能结构图 53.数据字典 63.1数据项

文***享 3年前 上传887   0

物流信息系统课程设计报告

课程设计指导教师评定成绩表项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,

知***享 4年前 上传949   0

某中学的排课管理系统课程设计报告

学号《某中学的排课管理系统》课程设计报告题目:某中学的排课管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 设计内容及要求 21.1研究的目的和意义 21.2数据字典 21.3全系统的数据项 31.4数据流图 4二、 概要设计 42.1E-R图 4学生实体E-R图 42.

文***享 1年前 上传298   0

物流系统课程设计报告书

 XX大学 物流系统课程设计报告书 学院名称 : 经济与学院 学生姓名 : 专业名称 : 物流管理 班级 : 物流班 时间 : 20XX年5月23日至20XX年6月3日 实验报告正文 1.在第三方物流系统中增加一个货品的操作步骤 实验步骤 (1)在仓储管理系统中,选择【仓储管理】—【基础管理】—【货品管理】

文***品 5年前 上传1603   0

教务管理系统数据库课程设计报告

 《数据库原理》课程设计报告课程名称: 《数据库原理》课程设计 设计题目: 《教务管理系统》 指导教师: 班 级:   学 号: 学生姓名:

文***享 1年前 上传284   0

车辆管理系统实验报告课程设计

 成绩: 《C++程序设计实践》报告专 业: 软件工程 班 级: 学 号: 姓 名: 日期:2016年 X月 X日目录一、设计目的 1二、总体设计 2三、 详细设计(以c

z***u 11个月前 上传285   0

操作系统课程设计报告树型目录文件系统

操作系统课程设计报告题目:树型目录文件系统 学 院 计算机学院 专 业 网络工程 年级班别 班 学 号 学生姓名 指导教师

文***享 3年前 上传549   0

XX加工厂供配电系统设计供配电系统设计报告课程设计

xx大学 供配电系统设计报告 课 题 某加工厂供配电系统设计 专业班级 自动化**** 姓 名 *** 学 号 ***** 指导老师

文***品 4年前 上传1146   0

EDA与数字系统课程设计

 课 程 设 计 任 务 书(2011 ~2012 第三学期)设 计 题 目: EDA与数字系统课程设计 学 院 名 称: 电气与自动化工程学院 专 业(班 级): 自动化2010级 姓 名(学 号): 起 讫 日

文***享 3年前 上传572   0

物流信息系统课程设计

交通与汽车工程学院课程设计说明书课 程 名 称: 物流信息系统设计 课 程 代 码: 1203999 题 目: 饿了么校园客户订餐系统设计 年级/专业/班: 2021级物流管理1班 学 生 姓 名: 李假设兰 学 

郭***林 2年前 上传671   0

驱动程序实验报告操作系统课程设计报告

操作系统课程设计报告班级: 计科 姓名: 学号: 老师: 时间:2012年X月X日一、设计目的操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。本课程设计的目的综合应用学生所学

文***享 1年前 上传306   0

课程设计报告《某中小学视频监控系统设计报告》

计算机网络技术教研室目录第1章 概述 11.1 课程设计的核心任务 21.2 课程设计工作进程 2第2章 需求分析 32.1 用户需求2.2 可行性分析 32.2.1 技术可行性 32.2.2 经济可行性 42.3 系统功能 5第3章 概要设计 73.1 系统设计思想 83.2 系统(或网络)总体结构 83.3 系统规划或总体设计 8第4章 详细设计 93

文***享 3年前 上传583   0

《调速系统课程设计》课程设计教学指导方案

 调速系统 课程设计 教学指导方案 双闭环直流电机调速系统设计 设计题目: 电气信息学院 2016年8月 第一部分 设计指导方案 一、设计题目 题目:《双闭环直流电机调速系统设计》 二、课题要求 1、设计的目的与要求: 设计的目的: 调速系统课程设计的目的是培养学

文***品 5年前 上传1475   0

人力资源管理系统数据库设计《数据库系统原理》课程设计报告

《数据库系统原理》课程设计报告项目名称:人力资源管理系统数据库设计专 业: 计算机科学与技术 年 级: 姓 名: 学 号: 指导老师: (副

文***享 1年前 上传429   0

医药管理信息系统课程设计报告数据库系统原理

《数据库系统原理》课程设计报告课程设计题目:医药管理系统班 级: 姓 名: 学 号: 指导教师: 开始日期: 13.4.10 撰写日期: 13.6.10 目录第1章 概述 11.1 项目

文***品 2年前 上传376   0

某公司自助餐管理系统课程设计报告

学号《某公司自助餐管理系统》课程设计报告题目:某公司自助餐管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年X月X日目录一、 引言 11.1背景与目的 11.2后台数据库SQL Server 2008简介 1二、 系统需求分析 12.1系统功能分析 22.21子模块功能分析 32.2系统功能

文***品 1年前 上传301   0

医院在线预约系统软件工程课程设计报告

 软件工程 课程设计报告课 题: 医院在线预约系统 姓 名: 学 号: 同组姓名: 专业班级: 计科班 指导

文***享 2年前 上传394   0

教学管理系统数据库课程设计报告

《数据库原理与应用》课程设计课程名称 设计题目 专业班级 学生姓名 指导教师

z***u 1年前 上传272   0

数据结构课程设计报告——图书管理系统

课程设计报告 课设课题: 课程设计——图书管理系统 学 院: 电 子 信 息 学 院 专 业: 网 络 工 程 姓 名: 班级学号: 指导教师:

文***享 3年前 上传689   0

《SQL-Server-数据库设计》课程设计报告(图书馆管理系统)

《SQL Server 数据库设计》课程设计报告课题名称:图书馆管理系统_班级:_ 软大班____学号:_ __姓名:___ ___完成日期:_2011-X-X_ _课程设计报告内容项目名称图书馆管理系统数据库设计姓名其他参与人员本人在本 项目中主要完成的工作系统需求分析系统功能分析

文***品 3年前 上传755   0

地震波观测系统的MATLAB仿真报告课程设计

地震波观测系统的MATLAB仿真课程名称 数字信号处理 实验项目 题目6 地震波观测系统的MATLAB仿真 指导教师 学 院 光电信息与通信工程 _ 专 业 电子信息工程 班级/

文***品 3年前 上传773   0

小学数学测试系统C课程设计报告及源程序代码

课 程 设 计 报 告课程名称 C语言课程设计 课题名称 小学数学测试系统 专 业 班 级 学 号 姓 名

文***享 3年前 上传440   0