已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发课程设计报告课题:企业设备信息管理系统设计与开发一、课程设计的目的和意义.2二、需求分析.2三、系统设计.4四、数据库设计.5五、系统测试(运行界面).6六、小结.11七、程序源代码.110一、课程设计的目的和意义目前仪器设备管理水平不是很高。大多数仪器设备管理办法是仪器设备采购进来以后,将仪器设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如仪器设备位置变迁、检修情况、仪器设备当前运行状态等信息根本不会体现在仪器设备台帐上,即仪器设备跟踪信息不能及时体现在仪器设备档案上。某些使用仪器设备管理系统的单位,对仪器设备的跟踪信息即使能体现在仪器设备档案上,但仪器设备的缺陷处理及仪器设备缺陷等功能没有实施。整个仪器设备管理信息化仍处于较低水平。本次课程设计就是为了方便仪器设备进行统计及管理工作,将管理任务分成小块,落实到个人并能随时查询仪器设备当前情况和历史情况,对仪器设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来,提高的现代化管理水平。二、需求分析本系统功能主要设计了对设备的管理,主要完成简单的对设备数据库增删查改。对于支持该系统的数据库,建立了5张表,分别是设备表、设备借出情况表、可用设备情况表、设备维修情况表和员工表。这对每一项功能,都有必要的驱动信息和功能上的约束。以设备表为例,设备管理分为四部分:添加设备,删除设备,浏览设备,查询设备。添加设备时应该能对一些有限制的信息做好正确的检查,录入的设备信息应包括设备编号、设备名称、品牌、购买时间、生产时间,并且在信息输入时应及时对信息的合法性进行检查;删除设备可以根据输入设备的名称进行删除;查询设备主要是对具有相关特征的设备信息进1行查找;浏览设备是按照管理员的要求将用户所需的数据抽取出来自动生成报表,该项功能应该能够合理的抽取所需的信息集合,全面合理提供用户所需的数据。本系统的功能层次图:设备管理系统设备管理员工管理设备借出情况设备维修情况设备基本情况图-1功能层次图2三、系统设计设备编号设备名称品牌生产时间购买时间设备序号序号nn维修日期借用天数借出维修维修状态借用日期mm员工员工编号员工年龄员工姓名员工性别图2-设备E-R图3序号列名数据类型长度主外键允许空说明1lend_numint4主键否序号2de_novarchar50否设备编号3de_namevarchar50否设备名称4st_novarchar50否员工编号5st_namevarchar50否员工名称6lend_daysint4否借用天数7lend_datevarchar50否借用日期序号列名数据类型长度主外键允许空说明1de_novarchar50主键否设备编号2de_namevarchar50否设备名称3de_brandvarchar50否品牌4de_btimevarchar50是购买时间5de_ptimevarchar50是生产时间序号列名数据类型长度主键允许空说明1repair_numint4主键否序号2st_novarchar50否维修员工编号3de_novarchar50外键否设备编号4destroy_datevarchar50否损坏日期5repair_conditionvarchar50是维修状态序号列名数据类型长度主外键允许空说明1remian_numint4主键否序号2de_novarchar50外键否设备编号3de_namevarchar50否设备名称4de_conditionvarchar50是设备状态四、数据库设计表1:device设备表表2:lend_device设备借出情况表表3:remian_device可用设备表表4:repair_device设备维修情况表4序号列名数据类型长度主外键允许空说明1st_novarchar50主键否员工编号2st_namevarchar50否员工名称3st_sexvarchar50否员工性别4st_agevarchar50是员工年龄表5:staff员工表五、系统测试(运行界面)设备表l查询5l增加l修改l删除6设备借出表l查询7l增加l修改8l删除9六、小结经过一周的课程设计,一个简单的企业设备管理信息系统设计完成了,但也正在这时我真正意识到所学知识的不足,可以说关于这方面的接触才刚刚开始,深有感触,无以言表。关于本系统,虽然对企业设备管理信息进行了系统的基本创建,但我们不可忽略的是这个系统并不完美。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能算是学以致用,从而提高自己的实际动手能力和独立思考的能力。我们在设计中遇到了很多问题。这次课程设计中一个比较陌生的问题就是利用搭建三层架构来完成本次的实验,但是经过老师的视频讲解,一步一步跟着做,最后还是完成了。总之,每一次课程设计不仅是我们学习的好机会,而且是我们锻炼实际动手能力的平台,虽然有难度的东西总会让人很抵触,比如在课设过程中有很多郁闷的时候,一个小小的错误一不小心就花去一大段时间,所以在这个过程中能够磨练人的意志与耐心。七、程序源代码以设备表为例Model层代码、usingSystem;namespaceMaticsoft.Model/device:实体类(属性说明自动提取数据库字段的描述信息)/Serializablepublicpartialclassdevice10publicdevice()#regionModelprivatestring_de_no;privatestring_de_name;privatestring_de_brand;privatestring_de_btime;privatestring_de_ptime;/publicstringde_noset_de_no=value;getreturn_de_no;/publicstringde_nameset_de_name=value;getreturn_de_name;/publicstringde_brandset_de_brand=value;getreturn_de_brand;/publicstringde_btimeset_de_btime=value;getreturn_de_btime;/11publicstringde_ptimeset_de_ptime=value;getreturn_de_ptime;#endregionModelDAL层代码,usingSystem;usingSystem.Data;usingSystem.Text;usingSystem.Data.SqlClient;usingMaticsoft.DBUtility;/PleaseaddreferencesnamespaceMaticsoft.DAL/数据访问类device/publicpartialclassdevicepublicdevice()#regionBasicMethod/是否存在该记录/publicboolExists(stringde_no)StringBuilderstrSql=newStringBuilder();strSql.Append(selectcount(1)fromdevice);strSql.Append(wherede_no=de_no);SqlParameterparameters=newSqlParameter(de_no,SqlDbType.VarChar,50);parameters0.Value=de_no;returnDbHelperSQL.Exists(strSql.ToString(),parameters);/12/增加一条数据/publicboolAdd(Maticsoft.Model.devicemodel)StringBuilderstrSql=newStringBuilder();strSql.Append(insertintodevice();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);SqlParameterparameters=newSqlParameter(de_no,SqlDbType.VarChar,50),newSqlParameter(de_name,SqlDbType.VarChar,50),newSqlParameter(de_brand,SqlDbType.VarChar,50),newSqlParameter(de_btime,SqlDbType.VarChar,50),newSqlParameter(de_ptime,SqlDbType.VarChar,50);parameters0.Value=model.de_no;parameters1.Value=model.de_name;parameters2.Value=model.de_brand;parameters3.Value=model.de_btime;parameters4.Value=model.de_ptime;introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if(rows0)returntrue;elsereturnfalse;/更新一条数据/publicboolUpdate(Maticsoft.Model.devicemodel)StringBuilderstrSql=newStringBuilder();strSql.Append(updatedeviceset);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(wherede_no=de_no);SqlParameterparameters=13newSqlParameter(de_name,SqlDbType.VarChar,50),newSqlParameter(de_brand,SqlDbType.VarChar,50),newSqlParameter(de_btime,SqlDbType.VarChar,50),newSqlParameter(de_ptime,SqlDbType.VarChar,50),newSqlParameter(de_no,SqlDbType.VarChar,50);parameters0.Value=model.de_name;parameters1.Value=model.de_brand;parameters2.Value=model.de_btime;parameters3.Value=model.de_ptime;parameters4.Value=model.de_no;introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if(rows0)returntrue;elsereturnfalse;/删除一条数据/publicboolDelete(stringde_no)StringBuilderstrSql=newStringBuilder();strSql.Append(deletefromdevice);strSql.Append(wherede_no=de_no);SqlParameterparameters=newSqlParameter(de_no,SqlDbType.VarChar,50);parameters0.Value=de_no;introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if(rows0)returntrue;elsereturnfalse;14/批量删除数据/publicboolDeleteList(stringde_nolist)StringBuilderstrSql=newStringBuilder();strSql.Append(deletefromdevice);strSql.Append(wherede_noin(+de_nolist+);introws=DbHelperSQL.ExecuteSql(strSql.ToString();if(rows0)returntrue;elsereturnfalse;/得到一个对象实体/publicMaticsoft.Model.deviceGetModel(stringde_no)StringBuilderstrSql=newStringBuilder();strSql.Append(selecttop1de_no,de_name,de_brand,de_btime,de_ptimefromdevice);strSql.Append(wherede_no=de_no);SqlParameterparameters=newSqlParameter(de_no,SqlDbType.VarChar,50);parameters0.Value=de_no;Maticsoft.Model.devicemodel=newMaticsoft.Model.device();DataSetds=DbHelperSQL.Query(strSql.ToString(),parameters);if(ds.Tables0.Rows.Count0)returnDataRowToModel(ds.Tables0.Rows0);elsereturnnull;15/得到一个对象实体/publicMaticsoft.Model.deviceDataRowToModel(DataRowrow)Maticsoft.Model.devicemodel=newMaticsoft.Model.device();if(row!=null)if(rowde_no!=null)model.de_no=rowde_no.ToString();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();returnmodel;/获得数据列表/publicDataSetGetList(stringstrWhere)StringBuilderstrSql=newStringBuilder();strSql.Append(selectde_no,de_name,de_brand,de_btime,de_ptime);strSql.Append(FROMdevice);if(strWhere.Trim()!=)16strSql.Append(where+strWhere);returnDbHelperSQL.Query(strSql.ToString();/获得前几行数据/publicDataSetGetList(intTop,stringstrWhere,stringfiledOrder)StringBuilderstrSql=newStringBuilder();strSql.Append(select);if(Top0)strSql.Append(top+Top.ToString();strSql.Append(de_no,de_name,de_brand,de_btime,de_ptime);strSql.Append(FROMdevice);if(strWhere.Trim()!=)strSql.Append(where+strWhere);strSql.Append(orderby+filedOrder);returnDbHelperSQL.Query(strSql.ToString();/获取记录总数/publicintGetRecordCount(stringstrWhere)StringBuilderstrSql=newStringBuilder();strSql.Append(selectcount(1)FROMdevice);if(strWhere.Trim()!=)strSql.Append(where+strWhere);objectobj=DbHelperSQL.GetSingle(strSql.ToString();if(obj=null)return0;else17returnConvert.ToInt32(obj);/分页获取数据列表/publicDataSetGetListByPage(stringstrWhere,stringorderby,intstartIndex,intendIndex)StringBuilderstrSql=newStringBuilder();strSql.Append(SELECT*FROM();strSql.Append(SELECTROW_NUMBER()OVER();if(!string.IsNullOrEmpty(orderby.Trim()strSql.Append(orderbyT.+orderby);elsestrSql.Append(orderbyT.de_nodesc);strSql.Append()ASRow,T.*fromdeviceT);if(!string.IsNullOrEmpty(strWhere.Trim()strSql.Append(WHERE+strWhere);strSql.Append()TT);strSql.AppendFormat(WHERETT.Rowbetween0and1,startIndex,endIndex);returnDbHelperSQL.Query(strSql.ToString();/*/分页获取数据列表/publicDataSetGetList(intPageSize,intPageIndex,stringstrWhere)SqlParameterparameters=newSqlParameter(tblName,SqlDbType.VarChar,255),newSqlParameter(fldName,SqlDbType.VarChar,255),newSqlParameter(PageSize,SqlDbType.Int),newSqlParameter(PageIndex,SqlDbType.Int),newSqlParameter(IsReCount,SqlDbType.Bit),newSqlParameter(OrderType,SqlDbType.Bit),newSqlParameter(strWhere,SqlDbType.VarChar,1000),18;parameters0.Value=device;parameters1.Value=de_no;parameters2.Value=PageSize;parameters3.Value=PageIndex;parameters4.Value=0;parameters5.Value=0;parameters6.Value=strWhere;returnDbHelperSQL.RunProcedure(UP_GetRecordByPage,parameters,ds);*/#endregionBasicMethod#regionExtensionMethod#endregionExtensionMethodBLL层代码,usingSystem;usingSystem.Data;usingSystem.Collections.Generic;usingMaticsoft.Common;usingMaticsoft.Model;namespaceMaticsoft.BLL/device/publicpartialclassdeviceprivatereadonlyMaticsoft.DAL.devicedal=newMaticsoft.DAL.device();publicdevice()#regionBasicMethod/是否存在该记录/publicboolExists(stringde_no)returndal.Exists(de_no);19/增加一条数据/publicboolAdd(Maticsoft.Model.devicemodel)returndal.Add(model);/更新一条数据/publicboolUpdate(Maticsoft.Model.devicemodel)returndal.Update(model);/删除一条数据/publicboolDelete(stringde_no)returndal.Delete(de_no);/删除一条数据/publicboolDeleteList(stringde_nolist)returndal.DeleteList(de_nolist);/得到一个对象实体/publicMaticsoft.Model.deviceGetModel(stringde_no)returndal.GetModel(de_no);/得到一个对象实体,从缓存中/20publicMaticsoft.Model.deviceGetModelByCache(stringde_no)stringCacheKey=deviceModel-+de_no;objectobjModel=Maticsoft.Common.DataCache.GetCache(CacheKey);if(objModel=null)tryobjModel=dal.GetModel(de_no);if(objModel!=null)intModelCache=Maticsoft.Common.ConfigHelper.GetConfigInt(ModelCache);Maticsoft.Common.DataCache.SetCache(CacheKey,objModel,DateTime.Now.AddMinutes(ModelCache),TimeSpan.Zero);catchreturn(Maticsoft.Model.device)objModel;/获得数据列表/publicDataSetGetList
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年甘肃客运驾驶从业资格考试题库答案
- 2024年安阳客运从业资格证到期换证考试
- 2024年西藏客运从业资格证都考些什么
- 2024年南平c1客运资格证考试
- 2024年六盘水客运从业资格证考试模板
- 医学临床三基(医技)考试题库与答案
- 浙江省台州市玉环市环山小学2023-2024学年六年级上学期数学期中考试试卷
- 股票投资计划书(5篇模版)
- 直线方程的一般式课件
- 广告发布保证金办法
- 电力电缆基础知识专题培训课件
- 石材加工工艺及技术标准
- 数学教师的专业发展-课件
- 六年级上册美术课件-第1课 建筑艺术的美 ▏人美版 (共27张PPT)
- 教培用诊断学少尿无尿多尿课件
- 医院引流管护理考核评价标准
- 培养孩子的好习惯课件
- 二年级上册总复习(表内乘法)-完整版PPT
- 四年级美术上册课件-14.漂亮的房间4-苏少版(共17张PPT)
- 环境规划与管理全套课件完整版电子教案最新板
- 整形外科诊疗规范
评论
0/150
提交评论