《2021-2022年收藏的精品资料企业设备信息管理系统.doc》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料企业设备信息管理系统.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件开发课程设计报告课 题: 企业设备信息管理系统设计与开发 一、课程设计的目的和意义2二、需求分析2三、系统设计4四、数据库设计5五、系统测试(运行界面)6六、小结11七、程序源代码11 一、课程设计的目的和意义目前仪器设备管理水平不是很高。大多数仪器设备管理办法是仪器设备采购进来以后,将仪器设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如仪器设备位置变迁、检修情况、仪器设备当前运行状态等信息根本不会体现在仪器设备台帐上,即仪器设备跟踪信息不能及时体现在仪器设备档案上。某些使用仪器设备管理系统的单位,对仪器设备的跟踪信息即使能体现在仪器设备档案上,但仪器设备的缺陷
2、处理及仪器设备缺陷等功能没有实施。整个仪器设备管理信息化仍处于较低水平。本次课程设计就是为了方便仪器设备进行统计及管理工作,将管理任务分成小块,落实到个人并能随时查询仪器设备当前情况和历史情况,对仪器设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来,提高的现代化管理水平。 二、需求分析 本系统功能主要设计了对设备的管理,主要完成简单的对设备数据库增删查改。对于支持该系统的数据库,建立了5张表,分别是设备表、设备借出情况表、可用设备情况表、设备维修情况表和员工表。这对每一项功能,都有必要的驱动信息和功能上的约束。以设备表为例,设备管理分为四部分:添加设备,删除设备,浏览设备,
3、查询设备。添加设备时应该能对一些有限制的信息做好正确的检查,录入的设备信息应包括设备编号、设备名称、品牌、购买时间、生产时间,并且在信息输入时应及时对信息的合法性进行检查;删除设备可以根据输入设备的名称进行删除;查询设备主要是对具有相关特征的设备信息进行查找;浏览设备是按照管理员的要求将用户所需的数据抽取出来自动生成报表,该项功能应该能够合理的抽取所需的信息集合,全面合理提供用户所需的数据。 本系统的功能层次图: 设备管理系统设备管理员工管理设备借出情况设备维修情况设备基本情况 图-1 功能层次图三、系统设计借出生产时间品牌 设备设备编号设备名称购买时间维修 员工员工编号员工姓名员工性别员工年
4、龄借用日期序号维修日期序号借用天数维修状态nmmn 图2-设备E-R图四、数据库设计表1:device设备表序号列名数据类型长度主外键允许空说明1de_novarchar50主键否设备编号2de_namevarchar50否设备名称3de_brandvarchar50否品牌4de_btimevarchar50是购买时间5de_ptimevarchar50是生产时间 表2:lend_device设备借出情况表 序号列名数据类型长度主外键允许空说明1lend_numint4主键否序号2de_novarchar50否设备编号3de_namevarchar50否设备名称4st_novarchar50否
5、员工编号5st_namevarchar50否员工名称6lend_daysint4否借用天数7lend_datevarchar50否借用日期表3:remian_device可用设备表序号列名数据类型长度主外键允许空说明1remian_numint4主键否序号2de_novarchar50外键否设备编号3de_namevarchar50否设备名称4de_conditionvarchar50是设备状态表4:repair_device设备维修情况表序号列名数据类型长度主键允许空说明1repair_numint4主键否序号2st_novarchar50否维修员工编号3de_novarchar50外键否设
6、备编号4destroy_datevarchar50否损坏日期5repair_conditionvarchar50是维修状态表5:staff员工表序号列名数据类型长度主外键允许空说明1st_novarchar50主键否员工编号2st_namevarchar50否员工名称3st_sexvarchar50否员工性别4st_agevarchar50是员工年龄五、系统测试(运行界面)设备表l 查询l 增加l 修改l 删除 设备借出表l 查询l 增加l 修改l 删除 六、小结经过一周的课程设计,一个简单的企业设备管理信息系统设计完成了,但也正在这时我真正意识到所学知识的不足,可以说关于这方面的接触才刚刚开
7、始,深有感触,无以言表。关于本系统,虽然对企业设备管理信息进行了系统的基本创建,但我们不可忽略的是这个系统并不完美。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能算是学以致用,从而提高自己的实际动手能力和独立思考的能力。我们在设计中遇到了很多问题。这次课程设计中一个比较陌生的问题就是利用搭建三层架构来完成本次的实验,但是经过老师的视频讲解,一步一步跟着做,最后还是完成了。总之,每一次课程设计不仅是我们学习的好机会,而且是我们锻炼实际动手能力的平台,虽然有难度的东西总会让人很抵触,比如在课设过程中有很多郁闷的时候,一个小小的错
8、误一不小心就花去一大段时间,所以在这个过程中能够磨练人的意志与耐心。七、程序源代码 以设备表为例Model层代码、using System;namespace Maticsoft.Model/ / device:实体类(属性说明自动提取数据库字段的描述信息)/ Serializablepublic partial class devicepublic device()#region Modelprivate string _de_no;private string _de_name;private string _de_brand;private string _de_btime;privat
9、e string _de_ptime;/ / / public string de_noset _de_no=value;getreturn _de_no;/ / / public string de_nameset _de_name=value;getreturn _de_name;/ / / public string de_brandset _de_brand=value;getreturn _de_brand;/ / / public string de_btimeset _de_btime=value;getreturn _de_btime;/ / / public string d
10、e_ptimeset _de_ptime=value;getreturn _de_ptime;#endregion ModelDAL层代码,using System;using System.Data;using System.Text;using System.Data.SqlClient;using Maticsoft.DBUtility;/Please add referencesnamespace Maticsoft.DAL/ / 数据访问类device/ public partial class devicepublic device()#region BasicMethod/ /
11、是否存在该记录/ public bool Exists(string de_no)StringBuilder strSql=new StringBuilder();strSql.Append(select count(1) from device);strSql.Append( where de_no=de_no );SqlParameter parameters = new SqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;return DbHelperSQL.Exists(strSql.ToString(
12、),parameters);/ / 增加一条数据/ public bool Add(Maticsoft.Model.device model)StringBuilder strSql=new StringBuilder();strSql.Append(insert into device();strSql.Append(de_no,de_name,de_brand,de_btime,de_ptime);strSql.Append( values ();strSql.Append(de_no,de_name,de_brand,de_btime,de_ptime);SqlParameter par
13、ameters = new SqlParameter(de_no, SqlDbType.VarChar,50),new SqlParameter(de_name, SqlDbType.VarChar,50),new SqlParameter(de_brand, SqlDbType.VarChar,50),new SqlParameter(de_btime, SqlDbType.VarChar,50),new SqlParameter(de_ptime, SqlDbType.VarChar,50);parameters0.Value = model.de_no;parameters1.Value
14、 = model.de_name;parameters2.Value = model.de_brand;parameters3.Value = model.de_btime;parameters4.Value = model.de_ptime;int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if (rows 0)return true;elsereturn false;/ / 更新一条数据/ public bool Update(Maticsoft.Model.device model)StringBuilder st
15、rSql=new StringBuilder();strSql.Append(update device set );strSql.Append(de_name=de_name,);strSql.Append(de_brand=de_brand,);strSql.Append(de_btime=de_btime,);strSql.Append(de_ptime=de_ptime);strSql.Append( where de_no=de_no );SqlParameter parameters = new SqlParameter(de_name, SqlDbType.VarChar,50)
16、,new SqlParameter(de_brand, SqlDbType.VarChar,50),new SqlParameter(de_btime, SqlDbType.VarChar,50),new SqlParameter(de_ptime, SqlDbType.VarChar,50),new SqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = model.de_name;parameters1.Value = model.de_brand;parameters2.Value = model.de_btime;pa
17、rameters3.Value = model.de_ptime;parameters4.Value = model.de_no;int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if (rows 0)return true;elsereturn false;/ / 删除一条数据/ public bool Delete(string de_no)StringBuilder strSql=new StringBuilder();strSql.Append(delete from device );strSql.Append
18、( where de_no=de_no );SqlParameter parameters = new SqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if (rows 0)return true;elsereturn false;/ / 批量删除数据/ public bool DeleteList(string de_nolist )StringBuilder strSql=new
19、StringBuilder();strSql.Append(delete from device );strSql.Append( where de_no in (+de_nolist + ) );int rows=DbHelperSQL.ExecuteSql(strSql.ToString();if (rows 0)return true;elsereturn false;/ / 得到一个对象实体/ public Maticsoft.Model.device GetModel(string de_no)StringBuilder strSql=new StringBuilder();strS
20、ql.Append(select top 1 de_no,de_name,de_brand,de_btime,de_ptime from device );strSql.Append( where de_no=de_no );SqlParameter parameters = new SqlParameter(de_no, SqlDbType.VarChar,50);parameters0.Value = de_no;Maticsoft.Model.device model=new Maticsoft.Model.device();DataSet ds=DbHelperSQL.Query(st
21、rSql.ToString(),parameters);if(ds.Tables0.Rows.Count0)return DataRowToModel(ds.Tables0.Rows0);elsereturn null;/ / 得到一个对象实体/ public Maticsoft.Model.device DataRowToModel(DataRow row)Maticsoft.Model.device model=new Maticsoft.Model.device();if (row != null)if(rowde_no!=null)model.de_no=rowde_no.ToStri
22、ng();if(rowde_name!=null)model.de_name=rowde_name.ToString();if(rowde_brand!=null)model.de_brand=rowde_brand.ToString();if(rowde_btime!=null)model.de_btime=rowde_btime.ToString();if(rowde_ptime!=null)model.de_ptime=rowde_ptime.ToString();return model;/ / 获得数据列表/ public DataSet GetList(string strWher
23、e)StringBuilder strSql=new StringBuilder();strSql.Append(select de_no,de_name,de_brand,de_btime,de_ptime );strSql.Append( FROM device );if(strWhere.Trim()!=)strSql.Append( where +strWhere);return DbHelperSQL.Query(strSql.ToString();/ / 获得前几行数据/ public DataSet GetList(int Top,string strWhere,string f
24、iledOrder)StringBuilder strSql=new StringBuilder();strSql.Append(select );if(Top0)strSql.Append( top +Top.ToString();strSql.Append( de_no,de_name,de_brand,de_btime,de_ptime );strSql.Append( FROM device );if(strWhere.Trim()!=)strSql.Append( where +strWhere);strSql.Append( order by + filedOrder);retur
25、n DbHelperSQL.Query(strSql.ToString();/ / 获取记录总数/ public int GetRecordCount(string strWhere)StringBuilder strSql=new StringBuilder();strSql.Append(select count(1) FROM device );if(strWhere.Trim()!=)strSql.Append( where +strWhere);object obj = DbHelperSQL.GetSingle(strSql.ToString();if (obj = null)re
26、turn 0;elsereturn Convert.ToInt32(obj);/ / 分页获取数据列表/ public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)StringBuilder strSql=new StringBuilder();strSql.Append(SELECT * FROM ( );strSql.Append( SELECT ROW_NUMBER() OVER ();if (!string.IsNullOrEmpty(orderby.Trim()
27、strSql.Append(order by T. + orderby );elsestrSql.Append(order by T.de_no desc);strSql.Append()AS Row, T.* from device T );if (!string.IsNullOrEmpty(strWhere.Trim()strSql.Append( WHERE + strWhere);strSql.Append( ) TT);strSql.AppendFormat( WHERE TT.Row between 0 and 1, startIndex, endIndex);return DbH
28、elperSQL.Query(strSql.ToString();/*/ / 分页获取数据列表/ public DataSet GetList(int PageSize,int PageIndex,string strWhere)SqlParameter parameters = new SqlParameter(tblName, SqlDbType.VarChar, 255),new SqlParameter(fldName, SqlDbType.VarChar, 255),new SqlParameter(PageSize, SqlDbType.Int),new SqlParameter(
29、PageIndex, SqlDbType.Int),new SqlParameter(IsReCount, SqlDbType.Bit),new SqlParameter(OrderType, SqlDbType.Bit),new SqlParameter(strWhere, SqlDbType.VarChar,1000),;parameters0.Value = device;parameters1.Value = de_no;parameters2.Value = PageSize;parameters3.Value = PageIndex;parameters4.Value = 0;pa
30、rameters5.Value = 0;parameters6.Value = strWhere;return DbHelperSQL.RunProcedure(UP_GetRecordByPage,parameters,ds);*/#endregion BasicMethod#region ExtensionMethod#endregion ExtensionMethodBLL层代码,using System;using System.Data;using System.Collections.Generic;using Maticsoft.Common;using Maticsoft.Mo
31、del;namespace Maticsoft.BLL/ / device/ public partial class deviceprivate readonly Maticsoft.DAL.device dal=new Maticsoft.DAL.device();public device()#region BasicMethod/ / 是否存在该记录/ public bool Exists(string de_no)return dal.Exists(de_no);/ / 增加一条数据/ public bool Add(Maticsoft.Model.device model)retu
32、rn dal.Add(model);/ / 更新一条数据/ public bool Update(Maticsoft.Model.device model)return dal.Update(model);/ / 删除一条数据/ public bool Delete(string de_no)return dal.Delete(de_no);/ / 删除一条数据/ public bool DeleteList(string de_nolist )return dal.DeleteList(de_nolist );/ / 得到一个对象实体/ public Maticsoft.Model.devi
33、ce GetModel(string de_no)return dal.GetModel(de_no);/ / 得到一个对象实体,从缓存中/ public Maticsoft.Model.device GetModelByCache(string de_no)string CacheKey = deviceModel- + de_no;object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);if (objModel = null)tryobjModel = dal.GetModel(de_no);if (objModel
34、!= null)int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt(ModelCache);Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);catchreturn (Maticsoft.Model.device)objModel;/ / 获得数据列表/ public DataSet GetList(string strWhere)return dal.GetLi
35、st(strWhere);/ / 获得前几行数据/ public DataSet GetList(int Top,string strWhere,string filedOrder)return dal.GetList(Top,strWhere,filedOrder);/ / 获得数据列表/ public List GetModelList(string strWhere)DataSet ds = dal.GetList(strWhere);return DataTableToList(ds.Tables0);/ / 获得数据列表/ public List DataTableToList(DataTable dt)List modelList = new List();int rowsCount = dt.Rows.Count;if (rowsCount 0)Maticsoft.Model.