实验室设备管理系统实验报告_第1页
实验室设备管理系统实验报告_第2页
实验室设备管理系统实验报告_第3页
实验室设备管理系统实验报告_第4页
实验室设备管理系统实验报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档个人课程设计报告院 系 计算机与通信工程学院 专业 计算机(中加)学号20106098姓名角 色 A日期2013/6/20个人课程设计报告一项目概述1.1目的因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。存档以后,档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化 仍处于较低水平。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。同时基于实验室管理者对设备的的使用情况进行统计和更新提供轻松快捷的管理方式,利用计算机管理系统管理我校的实验设备势在必行,也方便广大用户可以随时随地的借用实验设备进行学习和研究。1.2 任务对项目进行可行性研究,需求分析,项目开发计划,以及中期的总控模块开发,参与软件的设计和测试。1.3 开发环境硬件环境:建议硬件配置PII以上256M内存60G硬盘空间。软件环境:需要安装Microsoft Access 4.0以上的版本,基本上Microsoft Windows系统用户都有。数据库:Microsoft Access 4.0以上1.4 参考资料C#数据库精通作者:王华杰清华大学出版社出版C#程序设计教程作者:李春葆清华大学出版社出版二项目中本人参与实现的部分1. 描述所参与阶段的内容2.1.1概述我主要参与到分析部分和设计、测试。开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。这就是需求分析。在设计时,把各模块详细化设计,初步定义将要使用的基本函数,要使用的变量,全局变量,局部变量,SQL语句的函数执行(传人的语句为参数,然后操作语句),用户登录的验证,权限设置,数据库表的导入与导出,打印输出显示表,通过对表的操作,修改反馈回数据库等。2.1.2开发目标系统实现前,人力与费用相对减少;处理速度提高(短时间内显示查询结果);查询的绝对精度,并在限定时间内尽可能完成目标。系统实现后,能够及时反映实验室的设备情况,能够让实验室管理员及时做好对实验室的布置,从而提高了工作运行效率和效果和资金的节省。2.1.3 对现有系统的分析现有系统大多采用SQL作为数据库,而ACCESS数据库相对于SQL来说,更多的用户都安装有,而且速度,效率一点不比SQL慢,而且不需要服务器,缺点是存储大量数据(100M以上)的时候效率下降。本软件采用ACCESS数据库,对于实验室的设备信息存储,一年大约存1KB的大小,所以ACCESS数据库非常适合。2.1.4 技术可行性分析顶层数据流图设备管理员实验室设备管理系统上级领导登录信息无效登录信息申请/维修/报废/查询操作处理结果审核信息审核结果0层数据流图用户1身份验证2.1处理要求2.2审核登录信息无效登录信息合法信息合法信息处理要求处理结果审核信息审核结果终端显示器上级领导1层数据流图1身份验证2.1统计查询2.2维修2.3购买2.4 报废3审核合法信息查询信息维修设备新设备报废设备申请设备批准批准申请设备设备基本信息表D1维修记录表申请表新设备表报废记录表D4D3D2D5用户本实验室设备管理系统,要求对实验室设备进行统计查询,对设备维修、报废情况的处理记录,能够申请购买新设备、更像申请表等。本系统还要求用户登入具有一定的权限,能执行相关的操作。当设备需要报废和购买还需要得到上级领导的审核批准。现有系统大多采用SQL作为数据库,而ACCESS数据库相对于SQL来说,更多的用户都安装有,且不需要服务器。本软件采用ACCESS数据库,对于实验室的设备信息存储,一年大约存1KB的大小,所以ACCESS数据库非常适合。2.1.5 数据描述静态数据1)基础信息设备信息表结构:ID类别设备名型号规格单价购置日期生产厂家经办人状态设备信息表各字段具体描述:字段名称类型长度是否为NULL备注IDint2否主键,自动添加类别varchar20是设备名varchar20是型号varchar20是规格varchar20是单价double4是购置日期date4是生产厂家varchar30是经办人varchar10是状态varchar6否设备申请表结构:ID类别设备名型号规格单价申请日期数量经办人状态设备申请表各字段具体描述:字段名称类型长度是否为NULL备注IDint2否主键,自动添加类别varchar20是设备名varchar20是型号varchar20是规格varchar20是单价double4是申请日期date4是数量int2是经办人varchar10是状态varchar6否设备修理表结构:修理号ID类别设备名型号规格修理费用修理日期修理厂家经办人状态设备修理表各字段具体描述:字段名称类型长度是否为NULL备注修理号int2否主键,自动添加IDint2否参照设备表ID类别varchar20是设备名varchar20是型号varchar20是规格varchar20是修理费用double4是修理日期date4是修理厂家varchar30是经办人varchar10是状态varchar6否2.1.6 E-R图用户管理实验室设备存放故障维修报表密码登入权限名称类别设备名称型号类别数量生产厂家购买人单价规格型号修理日期维修费用维修人或者修理厂家规格数量购买日期设备编号2. 描述此部分实现的具体过程。2.1.1分析部分需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求。它的另外一种定义认为需求是“用户所需要的并能触发一个程序或系统开发工作的说明”。有些需求分析专家拓展了这个概念:“从系统外部能发现系统所具有的满足于用户的特点、功能及属性等”。这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的。所以我从它的定义(从用户需要进一步转移到了系统特性)为出发点撰写:需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。不难发现:并没有一个清晰、毫无二义性的“需求”术语存在,真正的“需求”实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对。系统分析员和客户需要确保所有项目风险承担者在描述需求的那些名词的理解上务必达成共识。任何文档形式的需求仅是一个模型,一种描述。而这次试验,我们既是客户,又是受委托人,除了题目中一些硬性的要求,其他如语言,环境,界面设计等都是我们主观的去写,这样还是比较简单的。2.1.2 设计部分1.软件初运行状态,数据库未链接,用户权限为游客。2.手动链接数据库后,自动跳转到设备信息页面,打印全部的设备信息,实现了设备信息模块功能,在管理员用户登录后,可以右键对设备进行操作。3.查看设备申请表信息表,实现了设备申请模块功能,申请过的设备才能进行购买。4.查看设备修理清单信息表,实现了设备修理模块功能,可以记录设备的修理信息,报废信息。5.自定义查询,输入相关的信息,可以查找到设备。6.通过自定义查询搜索出的设备。7.新建申请表,填好信息将自动插入到设备信息表中。三个人遇到的困难与获得的成果3.1需求分析方面困难:如何去撰写需求报告呢,需求报告要有什么内容呢,如何写才能清楚的交代客户想要的软件呢,才能让下一步的人员的工作正确运作。成果:知道了常用的需求现在业务如何运作。希望计算机做何事。每天思考完软件的设计,归纳总结,列出已有和未有的事件,反复调研,直到完善。如何撰写调研报告明确客户需要作何事情,事情多少,时间限制。客户可提供的软件,硬件,网络和通讯环境等。客户可参加共同开发的人力和素质。分析工作量,确定底价。 引导、启发被调查对象。收集资料根据现有的组织机构,资料(数据样本、文件、凭证等)存档。查找以往该方面软件的资料(运用网络)。知道了规范的需求分析报告必须的内容。数据流程图。数据字典和数据库描述。功能与性能需求。只考虑高层次的数据流程图。根据已有经验,构思数据模型(E-R图)。软件的接口与环境。3.2软件设计方面1. 在ACCESS数据库中,用的命名空间是usingSystem.Data.OleDb;区别于SQL的是usingSystem.Data.SqlClient;2. 在窗体间传递数据的问题,例如:在FORM1中定义FORM2,form2 = newForm2(this);,需要传递窗体实例,以窗体FORM1为参数,传给其他窗体,这样其他窗体就可以调用FORM1的变量,函数,当然函数要public3. 在窗体关闭时要检查数据是否保存完成,不然之前的修改都白干了。还有关闭时要断开与数据库的链接,不断数据库将一直被占用。if(conn.State=ConnectionState.Open)try save_data(page); finally conn.Close(); 4. 第一次运行软件时,需要创建数据库文件,创建字符串Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:visualstudio 2012Projectsshebeisysshebeidb.accdb;Jet OLEDB:Database Password=admin,由于创建的版本过高,可能导致低版本的数据库不兼容,所以改进了创建字符串,并设置了密码,提高安全度。Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;JetOLEDB:Database Password=nicaibudao;JetOLEDB:Engine Type=55. 在写SQL语句时,如果不加会出错,如sqlcmd = CREATE TABLE 设备信息 (ID autoincrement(1,1) primary key,类别varchar(20),设备名varchar(20),型号varchar(20),规格varchar(20),单价double,购置日期 date,生产厂家varchar(30),经办人varchar(10),状态varchar(6);这样写将导致把换行回车符也添加进语句中:修正后sqlcmd = CREATE TABLE 设备信息 (ID autoincrement(1,1) primary key,类别varchar(20),设备名varchar(20),型号varchar(20),规格varchar(20),单价 double,购置日期 date,生产厂家varchar(30),经办人varchar(10),状态varchar(6);6. 写完SQL语句要使用OleDbCommand类来处理语句cmd = newOleDbCommand(sqlcmd, conn);cmd.ExecuteNonQuery();7. 接收从数据库里返回的表单信息,填充到内存中的DataSet中,可以更好维护数据库,防止它崩溃。8. 填充用到OleDbDataAdapter类sqlcmd = SELECT * FROM 设备信息;adapter = newOleDbDataAdapter(sqlcmd, conn);adapter.Fill(ds, 设备信息);9. 我们要输出显示表,就要用到dataGridView1控件,该控件可以直接引用DataSet中的数据 ,数据源,数据源,BindingSource类 ,可以将DataSet绑定到dataGridView1中,一旦DataSet发生变化,dataGridView1也会变化,这是个封装好的控件。bind = newBindingSource();bind.DataSource = ds.Tables设备信息;/dt0;this.Text = 实验室设备管理系统 设备信息;this.dataGridView1.DataSource = bind;this.bindingNavigator1.BindingSource = bind;10. 身份的权限设置:定义一个全局变量shenfen,0为游客,1为管理员if (shenfen = 0)dataGridView1.ReadOnly = true;dataGridView1设置只读,不可增删改写。可以注销,shenfen = 011. 切换查看其它的表,更改数据源就好,顺便换一下窗体的标题。sqlcmd = SELECT * FROM 修理清单;adapter = newOleDbDataAdapter(sqlcmd, conn);adapter.Fill(ds, 修理清单);bind.DataSource = ds.Tables修理清单;this.Text = 实验室设备管理系统 修理清单;12. 不写trycatch(Exception ex),不让编译,不知道该说是VS2012的优点还是缺点,优点是更安全运行程序,缺点是编写时很麻烦。13. 执行数据库增删改写的命令也是用到OleDbCommand类cmd = newOleDbCommand(s, conn);cmd.ExecuteNonQuery();14. 在更改数据库时要先定义OleDbCommandBuilder类,否则SQL语句不可执行OleDbCommandBuilderscb = newOleDbCommandBuilder(adapter);15. 设备状态的改变,例如,购买按钮的单机事件,若设备未被批准,不允许购买操作,否则,弹出购买窗口,填写相关信息,更新设备信息表if (dataGridView1.Rowsrow_xz.Cells状态.Value.ToString() != 批准)MessageBox.Show(申请未被批准,不允许购买!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Question);else form6.ShowDialog();16. 自定义查询,逐个判断TEXT里的信息,非空则添加进字符串里,如switch (comboBox1.SelectedIndex) case 0: sql = select * from 设备信息;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论