高校设备管理系统.docx
- 文档编号:5110618
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:42
- 大小:283.79KB
高校设备管理系统.docx
《高校设备管理系统.docx》由会员分享,可在线阅读,更多相关《高校设备管理系统.docx(42页珍藏版)》请在冰点文库上搜索。
高校设备管理系统
数据库课程实训报告
高校设备管理系统
1课题内容和要求
1.1课题描述
设备管理是企、事业单位中的一项主要管理工作,特别是对于企、事业单位的决策者和管理者来说,设备管理工作都是至关重要的,作为计算机应用的一部分,使用计算机对设备信息进行管理,有着手工管理所无法比拟的优点,因此要求系统能够:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,以此来提高设备管理的工作效率,达到预期的目的,从而为用户提供充足的信息和快捷的查询手段以管理相关的设备信息。
1.2课题要求
2需求分析
2.1功能需求分析
本设备管理系统应具备对设备相关信息进行录入,删除,修改,查询,输出,折旧等基本操作,并将其数据传递到数据库中存储。
使用国家标准设备分类编码方法,能够实现对设备代码的维护。
能够使用户方便的进行检索查询相关设备信息。
能够实现对数据的备份和恢复。
具体功能如下图所示:
图2.1
1.设备的添加功能:
添加新的设备,包括:
设备编号、设备名称、设备类别、设备单价等。
2、设备的删除功能:
删除设备的信息,包括:
设备编号、设备名称、设备类别、使用单位等。
3、设备的修改功能:
修改设备的信息,包括:
修改设备编号、设备名称、设备类别、设备单价、折旧率等。
4、设备的查询功能:
查询设备的信息,包括:
设备的编号、名称、类别、使用单位、单价、折旧率等信息。
5、设备的折旧功能:
对现有设备进行折旧计算输出设备的现有价值。
6、数据备份功能:
对数据库中的数据进行备份,用来还原数据库。
7、数据恢复功能:
对数据库进行恢复,是数据库恢复到备份前的状态。
2.2数据需求分析
2.2.1数据流图
D06操作
图2.2数据流图
2.2.2数据字典
(1)数据流的描述
数据流编号:
D01
数据流名称:
验证信息
数据流来源:
用户输入与数据库
数据流去向:
系统判断
数据流组成:
用户名+密码等
数据流量:
1000/天
高峰流量:
3000/天
数据流编号:
D02
数据流名称:
登录信息
数据流来源:
用户输入
数据流去向:
系统判断
数据流组成:
用户名+密码等
数据流量:
1000/天
高峰流量:
3000/天
数据流编号:
D03
数据流名称:
操作信息
数据流来源:
用户输入
数据流去向:
系统选择
数据流组成:
各种功能等
数据流量:
2000/天
高峰流量:
50000/天
数据流编号:
D04
数据流名称:
反馈信息
数据流来源:
用户输入
数据流去向:
系统选择
数据流组成:
输出功能
数据流量:
2000/天
高峰流量:
50000/天
数据流编号:
D05
数据流名称:
操作成功信息
数据流来源:
用户输入
数据流去向:
数据库
数据流组成:
设备信息
数据流量:
5000天
高峰流量:
15000/天
数据流编号:
D06
数据流名称:
操作6信息
数据流来源:
用户输入
数据流去向:
数据库
数据流组成:
国家标准设备信息
数据流量:
5000天
高峰流量:
15000/天
(2)处理逻辑描述
处理逻辑编号:
A01
处理逻辑名称:
输出信息。
输出的数据流:
设备明细帐信息
处理频率:
10次/天
处理逻辑编号:
A02
处理逻辑名称:
功能信息。
输出的数据流:
设备标准信息
处理频率:
10次/天
处理逻辑编号:
A03
处理逻辑名称:
验证信息。
输人的数据流:
用户基本信息
处理频率:
10次/天
(3)数据储存描述
数据存储编号:
P01
数据存储名称:
设备使用明细信息
简述:
设备的基本信息
数据存储组成:
用户名+密码
关键字:
设备编号,单位编号,使用数量,折扣,单价
相关联的处理:
A01
数据存储编号:
P02
数据存储名称:
国家标准设备分类信息
简述:
国家标准设备基本信息
数据存储组成:
用户名+密码
关键字:
设备编号,设备类别,设备名称,生产厂家,单价(元)
相关联的处理:
A02
数据存储编号:
P03
数据存储名称:
设备使用单位信息
简述:
单位基本信息
数据存储组成:
用户名+密码
关键字:
单位编号,单位名称,单位电话,单位地址
相关联的处理:
A02
(4)外部实体的描述
外部实体名称:
用户
简述:
使用设备管理系统的人
输入的数据流:
D02
输出的数据流:
D01,D03
外部实体名称:
设备
简述:
国家标准设备信息
输入的数据流:
D06
以下为具体数据库中使用的表的详细信息:
设备使用明细表
列名
数据类型
长度
是否为空
设备编号
char
20
否
单位编号
char
20
否
使用数量
int
4
是
折扣
float
8
是
单价
float
8
是
设备名称
char
20
是
设备使用单位代码表
列名
数据类型
长度
是否为空
单位编号
char
20
否
单位名称
char
20
是
单位电话
char
20
是
单位地址
char
20
是
国家标准设备分类表
列名
数据类型
长度
是否为空
设备编号
char
20
否
设备类别
char
20
是
设备名称
char
20
是
生产厂家
char
20
是
单价(元)
float
8
是
3系统设计
3.1功能模块设计
1、登陆模块
本模块实现了管理员登陆系统的功能,是系统的第一个用户的接口,通过管理员权限的区别来进入本系统,其他操作者在输入有误的情况下拒绝访问。
图3.1.1登陆界面
2、总金额模块
本模块实现了设备信息的录入功能,能够向设备ID、购买数量进行录入,并对设备的价格进行结算。
3、高校部门模块
本模块实现了部门的信息录入,可以向表中添加删除部门信息,编辑部门信息(部门编号、部门名称、状态、人数、负责业务)
4、高校学院模块
本模块实现了高校学院的信息的修改与删除,可以修改、删除、添加表中高校学院的信息(学院编号、学院姓名、状态、人数、联系电话等)
5、设备管理模块
本模块实现了设备管理功能,对设备进行产品的入库登记、入库记录、库存情况的记录,并查找设备检索设备的种类,对设备进行添加、修改、删除的操作。
3.2数据库概念设计
设备信息表E-R图如图3.2.1所示
图3.2.1设备信息表
购买记录表E-R图如图3.2.2
图3.2.2购买记录表
3.3数据库逻辑设计
设备信息(设备编号,设备名称,设备类型,型号,规格,单价,数量,购买日期,生产厂家,保质期,经办人)
购买记录(记录编号,设备名,类别,型号,规格,单价,数量,日期,生产厂家)
3.4数据库物理设计
图3.4.1
图3.4.2
图3.4.3
图3.4.4
3.5数据库表间联系
图3.5.1数据库表间联系
4系统实现
4..1登录模块
系统显示一个登陆登陆对话框,提示输入用户名和密码。
用户名:
1 密码:
3
private void button1_Click(object sender, EventArgs e) {
string str1 = textBox1.Text; string str2 = textBox2.Text; if (str1 == "sa") {
if (str2 == "123456789") { try {
SqlConnection
myConnection = new SqlConnection();
myConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database=device";
myConnection.Open();
MessageBox.Show("登录成功");
myConnection.Close(); Form6 obj = new Form6(); obj.Show(); this.Hide(); }
catch (SqlException ee) {
MessageBox.Show(ee.Message); } } else
{
MessageBox.Show("密码不正确,请重新输入"); textBox2.Focus(); } } else {
MessageBox.Show("用户名不正确,请重新输入"); textBox1.Focus(); } }
private void button2_Click(object sender, EventArgs e) {
this.Close(); }
4.2修改模块实现
用户可点击修改按钮,在对应的文本框上输入要修改的信息
private void button6_Click(object sender, EventArgs e)
{
cur = this.BindingContext[dsdevicelist, "devicelist"].Position; setState(false); textBox2.Focus();
}
4.3查询模块实现
用户可点击查询按钮,在弹出的对话框中输入关键字对信息进行查询
private void Form2_Load(object sender, EventArgs e) { try {
mySqlConnection = new SqlConnection();
mySqlConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;
database=device";
DataSet myDataSet = new DataSet();
mySqlDataAdapter = new SqlDataAdapter("select * from
devicelist",mySqlConnection);
mySqlDataAdapter.Fill(myDataSet,"devicelist");
myDataView = myDataSet.Tables["devicelist"].DefaultView; dataGridView1.DataSource = myDataView; }
catch(Exception ee) {
MessageBox.Show(ee.Message); } }
private void button1_Click(object sender, EventArgs e) {
myDataView.RowFilter = textBox1.Text; }
4.4添加模块实现
用户可点击添加按钮,在对应的文本框上输入要添加的信息
private void button5_Click(object sender, EventArgs e) {
cur = this.BindingContext[dsdevicelist, "devicelist"].Position;
textBox1.Text = ""; textBox2.Text = "";
textBox3.Text = ""; textBox4.Text = "";
textBox1.Focus(); setState(false);
}
4.5删除模块实现
用户可点击删除按钮,系统将选定的数据删除
private void button9_Click(object sender, EventArgs e)
{
dsdevicelist.Tables["devicelist"].Rows[this.BindingContext[dsdevicelist,"devicelist"]. Position].Delete();
sqlDataAdapter.Update(dsdevicelist,"devicelist"); }
5代码调试与功能测试
5.1测试方案
对各个模板进行添加修改、删除、操作。
5.2测试结果
图5.2.1登陆界面
图5.2.2总金额界面
图5.2.3高校部门界面
图5.2.4高校学院界面
图5.2.5设备管理界面
图5.2.6产品入库记录界面
图5.2.7产品库存情况界面
图5.2.8产品入库登记界面
6收获与体会
整个设计通过了软件和硬件上的调试。
我想这对于自己以后的学习和工作都会有很大的帮助。
在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。
对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。
因此在整个设计过程中大部分时间是用在程序上面的。
很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。
因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。
通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。
其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。
另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮助,使我们获益匪浅。
因此非常感谢老师的教导。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。
我觉得作为一名软件工程专业的学生,这次课程设计是很有意义的。
更重要的是如何把自己平时所学的东西应用到实际中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获应该说是相当大的。
一开始我们从参考书上找来了课题,但是毕竟是参考书,做到后来发现很多程序都是不完整的,这让我们伤透了脑筋。
看着别的小组都弄得有模有样了,可是我们连一个课题都还没有定好。
好不容易又找到了课题,可是结果还是很不尽人意。
程序接线什么的都弄好了,调试也没有问题,可是就是无法达到预期想要的结果。
参考书毕竟只是一个参考,设计这种东西最后还是要靠自己动脑筋。
然后我们大家一起齐心协力,从平时做的实验﹑老师上课的举例﹑书本上的知识以及老师的辅导和其他同学的帮助下终于完成了。
应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。
我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。
小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。
所以我认为这次的课程设计意义很深,和其他同学的共同学习﹑配合﹑努力的过程也很愉快,另外还要感谢老师的耐心辅导。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2011.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2014.
附 录
附录1源程序部分清单
附录1.1登陆代码
packagecom.view;
importcom.model.LoginModel;
importcom.mytools.*;
importcom.sun.awt.AWTUtilities;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.awt.event.MouseMotionAdapter;
importjavax.imageio.ImageIO;
importjavax.swing.*;
importjavax.swing.border.MatteBorder;
importjava.io.*;
importjava.util.Vector;
@SuppressWarnings("serial")
publicclassLoginextendsJFrameimplementsMouseListener{
//全局的位置变量,用于表示鼠标在窗口上的位置
staticPointorigin=newPoint();
//定义组件
ImagePanelbkim=null;
JButtonmin,close,loginqueding;
JComboBox
JPasswordFieldpassword;
String[]allparas={"1"};
@SuppressWarnings("unused")
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Loginlogin1=newLogin();
}
publicvoidsetbutton(JButtonjb){
jb.setContentAreaFilled(false);
jb.setBorderPainted(false);
jb.setFocusPainted(false);
jb.addMouseListener(this);
jb.setOpaque(false);
}
//窗口操作控制菜单
publicvoidwindowsmenu(){
min=newJButton(newImageIcon("image/Loginmin.png"));
min.setBounds(346,0,27,21);
min.setRolloverIcon(newImageIcon("image/LoginminC.png"));
setbutton(min);
min.setToolTipText("最小化");
close=newJButton(newImageIcon("image/Loginclose.png"));
close.setBounds(370,0,29,21);
close.setRolloverIcon(newImageIcon("image/LogincloseC.png"));
setbutton(close);
close.setToolTipText("关闭");
bkim.add(min);
bkim.add(close);
}
//构造函数
publicLogin(){
//设置窗体的样式为当前系统的样式
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){
//TODO:
handleexception
}
Imageloginbk=null;
try{
loginbk=ImageIO.read(newFile("image/loginbk.png"));
}catch(IOExceptione){
//TODO:
handleexception
e.printStackTrace();
}
//窗口背景面板
bkim=newImagePanel(loginbk);
bkim.setLayout(null);
Vector
",allparas);
user=newJComboBox
user.setEditable(true);
user.setBounds(131,145,187,26);
user.setFont(MyFont.login);
user.addMouseListener(this);
JScrollPanejsp=newJScrollPane();
jsp.add(user);
jsp.setBounds(131,145,187,26);
jsp.setEnabled(true);
password=newJPasswordField(50);
password.setEditable(true);
password.setBounds(135,180,178,25);
password.setBorder(newMatteBorder(0,0,0,0,Color.blue));
password.setFont(MyFont.login);
password.setEchoChar('*');
loginqueding=newJButton(newImageIcon("image/loginqueding.png"));
loginqueding.setRolloverIcon(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高校 设备管理 系统