高校设备管理系统.docx
《高校设备管理系统.docx》由会员分享,可在线阅读,更多相关《高校设备管理系统.docx(22页珍藏版)》请在冰点文库上搜索。
![高校设备管理系统.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/cca93452-f79c-4032-abac-b303719d68db/cca93452-f79c-4032-abac-b303719d68db1.gif)
高校设备管理系统
数据库课程实训报告
题目:
高校设备管理系统
高校设备管理系统设计
1课题内容和要求
1.1课题描述
鉴于高校设备管理的现状以及设备管理信息化的要求,开展计算机辅助设备管理,并在此基础上为上级部门进行决策分析提供帮助,极大地提高了设备管理的工作水平和信息化水平。
系统分析阶段开展的主要工作包括:
收集和分析系统需求、提供系统说明书等。
系统需求分析就是通过系统调查,了解用户实际需求,进行系统分析,提炼出系统需求。
1.2课题要求
1)可以实现高校部门、学院基本信息的增加、删除、修改
2)可以实现设备基本信息的增加、删除、修改
3)可以查询设备基本信息
4)可以汇总输出各单位所属设备清单以及总金额
2需求分析
2.1功能需求分析
本次设备管理系统主要完成任务的登陆数据库、数据查询(实现简单的对数据库的增删改查)模块分析设计与实现,通过设备属性字段查询每一件产品设备零件信息。
实体:
采购员、供应商、设备、设备管理员、部门、购物清单、维修人员。
2.2数据需求分析
通常信息管理系统按照对信息的操作,将系统划分为:
数据采集、数据处理、数据传输以及系统维护等功能组成部分。
所以,通过综合分析,本系统主要需求有:
1.设备基本信息的收集与处理;
2.设备基本信息的存储与维护;
3.方便、快捷地上报设备信息;
4.能进行查询统计并形成各种有价值的信息;
5.具有一定的报表处理功能;
6.将共享的设备信息对外发布,实现浏览查询;7.有辅助系统进行系统的管理与维护。
3系统设计
3.1功能模块设计
图1-1功能模块图(数据流程图)
次设备管理系统主要完成任务的登陆数据库、数据查询(实现简单的对数据库的增删改查)模块分析设计与实现,通过设备属性字段查询每一件产品设备零件信息。
实体:
采购员、供应商、设备、设备管理员、部门、购物清单、维修人员。
3.2数据库概念设计
概念结构是将需求分析抽象为信息结构即概念模型的过程,这样才能更好地、更准确的实现这些需求,是整个数据库设计的关键,它主要特点是能真实、充分地反映现实社会,包括事物和事物之间的联系,能满足用户对数据的处理需求,是对现实世界的一个真实模型,而且还易于理解,也方便用户的操作,对数据的修改和各种模型的转换。
从以上的数据流程图中,我们选择了第二层数据流程图作为设计E-R图的出发点,从分析数据流图和数字字典中可以看出,整个系统功能是围绕“设备管理系统”题进行处理。
ER图如下
3.3数据库逻辑设计
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。
3.4数据库物理设计
3.5数据库表间联系
4系统实现
4.1登陆模块实现
4.2注册模块实现
4.3管理模块实现
5代码调试与功能测试
5.1测试方案
通过程序登陆窗口登陆进入界面对司机信息、客户信息、车辆信息、租金信息进行修改、删除等操作
5.2测试结果
6收获与体会
通过这次课程设计,使我更进一步地掌握了数据库SQLServer2012语句,对它的功能以及应用有了更深一步的了解,对它的操纵更熟练了。
但是同时也让我了解了到自身的许多不足,也发现了以前对这门语言学得不透彻,没有很好地重视它,掌握它。
通过这次数据库课程设计,虽然比起以前有了很大的进步,但还是了解得不够,学习得不够,今后要更加努力学习好一些基础的知识,以备在需要的时候发挥自身的才能。
也有也有一部分原因是一开始对数据库SQLServer2012不熟悉,跟同学一起开发时候能力显得有些不足,开发过程中幸亏跟一组的同学讨论和学习,一段时间后才慢慢开始掌握数据库SQLServer2012,在这过程中,让自己学到了很多东西。
经过这次数据库课程作品的开发,了解到一个系统好不好,要经过反复的使用才能知道,不光光是理论中分析和设计得出来的。
这次设计的设备管理系统也有不少的不足之处:
系统的功能不够完善,只能说是一个简单的设备信息管理系统。
经过这次课程设计,引发了我的很多思考和兴趣,首先是做程序要勤,手勤,眼勤,心勤;其次要有韧性,不怕麻烦,不怕失败,反复调试,反复练习,这样才能找到最佳的程序设计。
在这次课程设计中,让我学到了很多在课堂和书本上学不到的知识,我在这次课程设计中最大的收获有以下几个方面:
一、领略到了数据库设计在计算机领域的重要性。
数据库作为一个永久存储形式在应用中发挥着重要的作用。
在数据库设计中,我明白了数据库设计中不是范式越高越好的。
我们要根据我们的应用来决定,一切应该以需求为首要选择。
二、对变成环境、一些控件的使用和界面的美化方面更加熟悉。
因为《高校设备管理系统》中涉及到很多控件的使用,只有很好的使用这些控件才可以给出一个很好的界面呈现在用户的面前。
这样更有利于数据库和用户之间的交流。
总之,经过这次课程设计,我懂得了很多之前不了解的全新概念,让我受益匪浅。
参考文献
[1]钱雪忠,王燕玲,林挺.数据库原理及技术[M].北京:
清华大学出版社,2011.
[2]钱雪忠,罗海驰,陈国俊.数据库原理及技术课程设计[M].北京:
清华大学出版社,2014.
[3]《数据库原理及应用——SQLServer2012》清华大学出版社
附 录
附录1源程序部分清单
附录1.1登陆代码
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringstr1=textBox1.Text;
stringstr2=textBox2.Text;
if(str1=="sa")
{
if(str2=="123456789")
{
try
{
SqlConnectionmyConnection=newSqlConnection();myConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database=device";
myConnection.Open();
MessageBox.Show("登录成功");
myConnection.Close();
Form6obj=newForm6();
obj.Show();
this.Hide();
}
catch(SqlExceptionee)
{
MessageBox.Show(ee.Message);
}
}
else
{
MessageBox.Show("密码不正确,请重新输入");
textBox2.Focus();
}
}
else
{
MessageBox.Show("用户名不正确,请重新输入");
textBox1.Focus();
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
附录1.2显示模块
privatevoidForm1_Load(objectsender,EventArgse)
{
SqlConnectionmyConnection=newSqlConnection();myConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database=device";
SqlCommandsqlCommand=newSqlCommand();
sqlCommand.Connection=myConnection;
sqlCommand.CommandType=CommandType.Text;
sqlCommand.CommandText="select*fromdevicelist";
sqlDataAdapter=newSqlDataAdapter();
sqlDataAdapter.SelectCommand=sqlCommand;
SqlCommandBuilderbuilder=new
SqlCommandBuilder(sqlDataAdapter);
dsdevicelist=newDataSet();
sqlDataAdapter.Fill(dsdevicelist,"devicelist";
this.BindingContext[dsdevicelist,"devicelist"].PositionChanged+=newEventHandler
(BindManagerBase_PositionChanged);
textBox1.DataBindings.Add(newBinding("Text",dsdevicelist,"devicelist.number"));
textBox2.DataBindings.Add(newBinding("Text",dsdevicelist,"devicelist.name"));
textBox3.DataBindings.Add(newBinding("Text",dsdevicelist,"devicelist.price"));
textBox4.DataBindings.Add(newBinding("Text",dsdevicelist,"devicelist.userno"));
dataGridView1.DataSource=dsdevicelist;
dataGridView1.DataMember="devicelist";
ShowPosition();
setState(true);
}
附录1.3管理模块
用户可使用四个翻页按钮对数据进行快速浏览
privatevoidbutton1_Click(objectsender,EventArgse)
{
this.BindingContext[dsdevicelist,"devicelist"].Position-=1;
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.BindingContext[dsdevicelist,"devicelist"].Position+=1;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
this.BindingContext[dsdevicelist,"devicelist"].Position=0;
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
this.BindingContext[dsdevicelist,"devicelist"].Position=this.BindingContext[dsdevicelist,"devicelist"].Count-1;}
用户可点击修改按钮,在对应的文本框上输入要修改的信息
privatevoidbutton6_Click(objectsender,EventArgse)
{
cur=this.BindingContext[dsdevicelist,"devicelist"].Position;
setState(false);
textBox2.Focus();
}
用户可点击添加按钮,在对应的文本框上输入要添加的信息
privatevoidbutton5_Click(objectsender,EventArgse)
{
cur=this.BindingContext[dsdevicelist,"devicelist"].Position;
textBox1.Text="";textBox2.Text="";
textBox3.Text="";textBox4.Text="";
textBox1.Focus();setState(false);
}
用户可点击保存按钮,系统将自动文本框的信息保存
privatevoidbutton7_Click(objectsender,EventArgse)
{
try
{
DataRowdr=dsdevicelist.Tables["devicelist"].NewRow();
dr["number"]=Convert.ToInt32(textBox1.Text);
dr["name"]=Convert.ToString(textBox2.Text);
dr["price"]=Convert.ToInt32(textBox3.Text);
dr["userno"]=Convert.ToInt32(textBox4.Text);
dsdevicelist.Tables["devicelist"].Rows.Add(dr);
sqlDataAdapter.Update(dsdevicelist,"devicelist");this.BindingContext[dsdevicelist,"devicelist"].Position=this.BindingContext[dsdevicelist,"devicelist"].Count-1;
MessageBox.Show("数据保存成功");
}
catch(Exceptionee)
{
MessageBox.Show("保存数据失败;"+ee.Message);
}
}
用户可点击删除按钮,系统将选定的数据删除
privatevoidbutton9_Click(objectsender,EventArgse)
{
dsdevicelist.Tables["devicelist"].Rows[this.BindingContext[dsdevicelist,"devicelist"].Position].Delete();
sqlDataAdapter.Update(dsdevicelist,"devicelist");
}
用户可点击查询按钮,在弹出的对话框中输入关键字对信息进行查询
privatevoidForm2_Load(objectsender,EventArgse)
{
try
{
mySqlConnection=newSqlConnection();
mySqlConnection.ConnectionString="server=localhost;uid=sa;pwd=123456789;database=device";
DataSetmyDataSet=newDataSet();
mySqlDataAdapter=newSqlDataAdapter("select*fromdevicelist",mySqlConnection);
mySqlDataAdapter.Fill(myDataSet,"devicelist");
myDataView=myDataSet.Tables["devicelist"].DefaultView;
dataGridView1.DataSource=myDataView;
}
catch(Exceptionee)
{
MessageBox.Show(ee.Message);
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
myDataView.RowFilter=textBox1.Text;