收藏 分享(赏)

实验室设备管理系统实验报告.doc

上传人:精品资料 文档编号:10513709 上传时间:2019-11-24 格式:DOC 页数:18 大小:866.92KB
下载 相关 举报
实验室设备管理系统实验报告.doc_第1页
第1页 / 共18页
实验室设备管理系统实验报告.doc_第2页
第2页 / 共18页
实验室设备管理系统实验报告.doc_第3页
第3页 / 共18页
实验室设备管理系统实验报告.doc_第4页
第4页 / 共18页
实验室设备管理系统实验报告.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、个人课程设计报告院 系 计算机与通信工程学院 专业 计算机(中加)学号 20106098姓 名角 色 A日期 2013/6/20个人课程设计报告一项目概述1.1 目的因为现在各个高校内教学设备众多但自动管理水平相比过低,很多高校管理设备都采用在设备购进以后将设备的基本情况和相关信息登记存档。存档以后,档案基本就没人记录与维护,至于以后设备的变迁或损坏都不会记录在设备档案中,即不能体现设备的即时状态。而有些即使有设备管理系统的单位,就算是能把设备的即时信息体现在设备档案上,但设备的缺陷处理及设备缺陷等功能没有实施,设备检修的备品备件情况和检修成本核算没有实现,整个学校教学设备管理信息化 仍处于较

2、低水平。将管理任务分成小块,落实到个人并能随时查询设备当前情况和历史情况,对设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来。同时基于实验室管理者对设备的的使用情况进行统计和更新提供轻松快捷的管理方式,利用计算机管理系统管理我校的实验设备势在必行,也方便广大用户可以随时随地的借用实验设备进行学习和研究。1.2 任务对项目进行可行性研究,需求分析,项目开发计划,以及中期的总控模块开发,参与软件的设计和测试。1.3 开发环境硬件环境:建议硬件配置PII以上256M内存60G硬盘空间。软件环境:需要安装Microsoft Access 4.0以上的版本,基本上Microsoft

3、Windows系统用户都有。数据库:Microsoft Access 4.0以上1.4 参考资料C#数据库精通作者:王华杰清华大学出版社出版C#程序设计教程作者:李春葆清华大学出版社出版二项目中本人参与实现的部分1. 描述所参与阶段的内容2.1.1 概述我主要参与到分析部分和设计、测试。开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将最终会给系统带来极大损害的部分,并且以后再对它进行修改也极为困难。这就是需求分析。在设计时,把各模块详细化设计,初步定义将要使用的基本函数,要使用的

4、变量,全局变量,局部变量,SQL 语句的函数执行(传人的语句为参数,然后操作语句),用户登录的验证,权限设置,数据库表的导入与导出,打印输出显示表,通过对表的操作,修改反馈回数据库等。2.1.2 开发目标系统实现前,人力与费用相对减少;处理速度提高(短时间内显示查询结果);查询的绝对精度,并在限定时间内尽可能完成目标。系统实现后,能够及时反映实验室的设备情况,能够让实验室管理员及时做好对实验室的布置,从而提高了工作运行效率和效果和资金的节省。2.1.3 对现有系统的分析现有系统大多采用SQL作为数据库,而ACCESS数据库相对于SQL来说,更多的用户都安装有,而且速度,效率一点不比SQL慢,而

5、且不需要服务器,缺点是存储大量数据(100M以上)的时候效率下降。本软件采用ACCESS数据库,对于实验室的设备信息存储,一年大约存1KB的大小,所以ACCESS数据库非常适合。2.1.4 技术可行性分析顶层数据流图设备管理员实验室设备管理系统上级领导登录信息无效登录信息申请/维修 /报废/查询操作处理结果审核信息审核结果0 层数据流图1身份验证2.1处理要求2.2审核登录信息无效登录信息合法信息合法信息处理要求处理结果审核信息审核结果终端显示器上级领导1 层数据流图用户1身份验证2.1统计查询2.2维修2.3购买2.4 报废3审核合法信息查询信息维修设备 新设备报废设备申请设备批准 批准 申

6、请设备设备基本信息表D1 维修记录表 申请表 新设备表报废记录表D4D3D2 D5用户本实验室设备管理系统,要求对实验室设备进行统计查询,对设备维修、报废情况的处理记录,能够申请购买新设备、更像申请表等。本系统还要求用户登入具有一定的权限,能执行相关的操作。当设备需要报废和购买还需要得到上级领导的审核批准。现有系统大多采用SQL作为数据库,而ACCESS数据库相对于SQL来说,更多的用户都安装有,且不需要服务器。本软件采用ACCESS数据库,对于实验室的设备信息存储,一年大约存1KB的大小,所以ACCESS数据库非常适合。2.1.5 数据描述 静态数据1)基础信息设备信息表结构:ID 类别 设

7、备名 型号 规格 单价 购置日期 生产厂家 经办人 状态设备信息表各字段具体描述:字段名称 类型 长度 是否为NULL 备注ID int 2 否 主键,自动添加类别 varchar 20 是设备名 varchar 20 是型号 varchar 20 是规格 varchar 20 是单价 double 4 是购置日期 date 4 是生产厂家 varchar 30 是经办人 varchar 10 是状态 varchar 6 否设备申请表结构:ID 类别 设备名 型号 规格 单价 申请日期 数量 经办人 状态设备申请表各字段具体描述:字段名称 类型 长度 是否为NULL 备注ID int 2 否

8、主键,自动添加类别 varchar 20 是设备名 varchar 20 是型号 varchar 20 是规格 varchar 20 是单价 double 4 是申请日期 date 4 是数量 int 2 是经办人 varchar 10 是状态 varchar 6 否设备修理表结构:修理号 ID 类别 设备名 型号 规格 修理费用 修理日期 修理厂家 经办人 状态设备修理表各字段具体描述:字段名称 类型 长度 是否为NULL 备注修理号 int 2 否 主键,自动添加ID int 2 否 参照设备表ID类别 varchar 20 是设备名 varchar 20 是型号 varchar 20 是

9、规格 varchar 20 是修理费用 double 4 是修理日期 date 4 是修理厂家 varchar 30 是经办人 varchar 10 是状态 varchar 6 否2.1.6 E-R 图用户 管理 实验室设备存放故障维修报表密码登入权限名称类别设备名称型号类别数量生产厂家购买人单价 规格型号修理日期维修费用维修人或者修理厂家规格数量购买日期设备编号2. 描述此部分实现的具体过程。2.1.1 分析部分需求的定义包括从用户角度(系统的外部行为) ,以及从开发者角度(一些内部特性)来阐述需求。它的另外一种定义认为需求是“用户所需要的并能触发一个程序或系统开发工作的说明” 。有些需求分

10、析专家拓展了这个概念:“从系统外部能发现系统所具有的满足于用户的特点、功能及属性等” 。这些定义强调的是产品是什么样的,而并非产品是怎样设计、构造的。所以我从它的定义(从用户需要进一步转移到了系统特性)为出发点撰写:需求是指明必须实现什么的规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。不难发现:并没有一个清晰、毫无二义性的“需求”术语存在,真正的“需求”实际上在人们的脑海中,这个人们主要是指客户,但一般情况下,用户并不能描述自己的需要,只就需要系统分析人员根据用户的自己语言的描述整理出相关的需要再进一步和客户核对。系统分析员和客户需要确保所有项目风险承担者在描述需求的那

11、些名词的理解上务必达成共识。任何文档形式的需求仅是一个模型,一种描述。而这次试验,我们既是客户,又是受委托人,除了题目中一些硬性的要求,其他如语言,环境,界面设计等都是我们主观的去写,这样还是比较简单的。2.1.2 设计部分1.软件初运行状态,数据库未链接,用户权限为游客。2.手动链接数据库后,自动跳转到设备信息页面,打印全部的设备信息,实现了设备信息模块功能,在管理员用户登录后,可以右键对设备进行操作。3.查看设备申请表信息表,实现了设备申请模块功能,申请过的设备才能进行购买。4.查看设备修理清单信息表,实现了设备修理模块功能,可以记录设备的修理信息,报废信息。5.自定义查询,输入相关的信息

12、,可以查找到设备。6.通过自定义查询搜索出的设备。7.新建申请表,填好信息将自动插入到设备信息表中。三个人遇到的困难与获得的成果3.1 需求分析方面困难:如何去撰写需求报告呢,需求报告要有什么内容呢,如何写才能清楚的交代客户想要的软件呢,才能让下一步的人员的工作正确运作。成果:知道了常用的需求 现在业务如何运作。 希望计算机做何事。 每天思考完软件的设计,归纳总结,列出已有和未有的事件,反复调研,直到完善。如何撰写调研报告 明确客户需要作何事情,事情多少,时间限制。 客户可提供的软件,硬件,网络和通讯环境等。 客户可参加共同开发的人力和素质。 分析工作量,确定底价。 引导、启发被调查对象。收集

13、资料 根据现有的组织机构,资料(数据样本、文件、凭证等)存档。 查找以往该方面软件的资料(运用网络) 。知道了规范的需求分析报告必须的内容。 数据流程图。 数据字典和数据库描述。 功能与性能需求。 只考虑高层次的数据流程图。 根据已有经验,构思数据模型(E-R 图)。 软件的接口与环境。3.2 软件设计方面1. 在 ACCESS 数据库中,用的命名空间是 usingSystem.Data.OleDb;区别于 SQL 的是usingSystem.Data.SqlClient;2. 在窗体间传递数据的问题,例如:在 FORM1 中定义 FORM2,form2 = newForm2(this);,需

14、要传递窗体实例,以窗体 FORM1 为参数,传给其他窗体,这样其他窗体就可以调用 FORM1 的变量,函数,当然函数要 public3. 在窗体关闭时要检查数据是否保存完成,不然之前的修改都白干了。还有关闭时要断开与数据库的链接,不断数据库将一直被占用。if(conn.State=ConnectionState.Open)trysave_data(page);finallyconn.Close();4. 第一次运行软件时,需要创建数据库文件,创建字符串Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:visualstudio 2012Project

15、sshebeisysshebeidb.accdb;Jet OLEDB:Database Password=admin,由于创建的版本过高,可能导致低版本的数据库不兼容,所以改进了创建字符串,并设置了密码,提高安全度。“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data.mdb;JetOLEDB:Database Password=nicaibudao;JetOLEDB:Engine Type=5“5. 在写 SQL 语句时,如果不加会出错,如sqlcmd = “CREATE TABLE 设备信息(ID autoincrement(1,1) pri

16、mary 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,生产厂家var

17、char(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, “设备信息“)

18、;9. 我们要输出显示表,就要用到dataGridView1控件,该控件可以直接引用DataSet中的数据 ,数据源,数据源,BindingSource类 ,可以将DataSet绑定到dataGridView1中,一旦DataSet发生变化,dataGridView1也会变化,这是个封装好的控件。bind = newBindingSource();bind.DataSource = ds.Tables“设备信息“;/dt0;this.Text = “实验室设备管理系统 设备信息“;this.dataGridView1.DataSource = bind;this.bindingNavigato

19、r1.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

20、.Tables“修理清单“;this.Text = “实验室设备管理系统 修理清单“;12. 不写trycatch(Exception ex),不让编译,不知道该说是VS2012的优点还是缺点,优点是更安全运行程序,缺点是编写时很麻烦。13. 执行数据库增删改写的命令也是用到OleDbCommand类cmd = newOleDbCommand(s, conn);cmd.ExecuteNonQuery();14. 在更改数据库时要先定义OleDbCommandBuilder类,否则SQL语句不可执行OleDbCommandBuilderscb = newOleDbCommandBuilder(a

21、dapter);15. 设备状态的改变,例如,购买按钮的单机事件,若设备未被批准,不允许购买操作,否则,弹出购买窗口,填写相关信息,更新设备信息表if (dataGridView1.Rowsrow_xz.Cells“状态“.Value.ToString() != “批准“)MessageBox.Show(“申请未被批准,不允许购买!“, “提示“, MessageBoxButtons.OK, MessageBoxIcon.Question);elseform6.ShowDialog();16. 自定义查询,逐个判断TEXT里的信息,非空则添加进字符串里,如switch (comboBox1.S

22、electedIndex)case 0: sql = “select * from 设备信息“; lx = 0; break;case 1: sql = “select * from 申请表“; lx = 1; break;case 2: sql = “select * from 修理清单“; lx = 2; break;sql += “ where “;if (textBox1.Text != “) sql += “设备名 like %“ + textBox1.Text + “% and “;四对企划与项目开发的体会通过这次的课程,让我体会到了团队项目开发的瀑布式过程,并对数据库应用的软件有

23、了更深一层的了解。更重要的是知道了需求分析的重要性,若无足够的用户参与,系统人员获得的需求是片面的,不完整的,这样系统在需求之初就埋下风险。在开发中就会不断地补充需求,项目就越变越庞大以致超过其计划或重新编写模块。计划并不总是与项目需求规模与复杂性及需求变更实际情况相一致,这使得问题更难解决。实际上,问题根源在于用户需求的改变和开发者对新需求所作的修改。要想把需求变更范围控制到最小,必须一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评价需求变更和新特性的参照框架。说明中包括了对每种变更进行变更影响因素分析的变更控制过程,有助于编写时候更少的重新编写。而且重新编写容易使模块违背强内聚、松耦合的设计原则,特别是如果项目配置管理工作不完善的话,收回变更和删除特性会带来问题。如果你尽早地区别这些可能带来变更的特性,你就能开发一个更为健壮的结构,并能更好地适应它。这样设计阶段需求变更不会直接导致重新编写,同时也有利于减少因变更导致质量的下降。

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报