软件开发课程设计报告课题:企业设备信息管理系统设计与开发1一、课程设计的目的和意义.......................................................................................2二、需求分析...............................................................................................................2三、系统设计...............................................................................................................4四、数据库设计...........................................................................................................5五、系统测试(运行界面).......................................................................................6六、小结.....................................................................................................................11七、程序源代码.........................................................................................................112一、课程设计的目的和意义目前仪器设备管理水平不是很高。大多数仪器设备管理办法是仪器设备采购进来以后,将仪器设备的基本情况和相关信息登记存档,然后将档案存档。以后档案基本就没人维护,如仪器设备位置变迁、检修情况、仪器设备当前运行状态等信息根本不会体现在仪器设备台帐上,即仪器设备跟踪信息不能及时体现在仪器设备档案上。某些使用仪器设备管理系统的单位,对仪器设备的跟踪信息即使能体现在仪器设备档案上,但仪器设备的缺陷处理及仪器设备缺陷等功能没有实施。整个仪器设备管理信息化仍处于较低水平。本次课程设计就是为了方便仪器设备进行统计及管理工作,将管理任务分成小块,落实到个人并能随时查询仪器设备当前情况和历史情况,对仪器设备的可靠性分析有直接作用,使管理人员从手工计算、统计工作中解脱出来,提高的现代化管理水平。二、需求分析本系统功能主要设计了对设备的管理,主要完成简单的对设备数据库增删查改。对于支持该系统的数据库,建立了5张表,分别是设备表、设备借出情况表、可用设备情况表、设备维修情况表和员工表。这对每一项功能,都有必要的驱动信息和功能上的约束。以设备表为例,设备管理分为四部分:添加设备,删除设备,浏览设备,查询设备。添加设备时应该能对一些有限制的信息做好正确的检查,录入的设备信息应包括设备编号、设备名称、品牌、购买时间、生产时间,并且在信息输入时应及时对信息的合法性进行检查;删除设备可以根据输入设备的名称进行删除;查询设备主要是对具有相关特征的设备信息进行查找;浏览设3备是按照管理员的要求将用户所需的数据抽取出来自动生成报表,该项功能应该能够合理的抽取所需的信息集合,全面合理提供用户所需的数据。本系统的功能层次图:图-1功能层次图设备管理系统设备管理员工管理设备借出情况设备维修情况设备基本情况4三、系统设计图2-设备E-R图设备设备编号设备名称购买时间维修员工员工编号员工姓名员工性别员工年龄借用日期序号维修日期序号借用天数维修状态nmmn品牌生产时间借出5四、数据库设计表1:device设备表序号列名数据类型长度主外键允许空说明1de_novarchar50主键否设备编号2de_namevarchar50否设备名称3de_brandvarchar50否品牌4de_btimevarchar50是购买时间5de_ptimevarchar50是生产时间表2:lend_device设备借出情况表序号列名数据类型长度主外键允许空说明1lend_numint4主键否序号2de_novarchar50否设备编号3de_namevarchar50否设备名称4st_novarchar50否员工编号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外键否设备编号4destroy_datevarchar50否损坏日期5repair_conditionvarchar50是维修状态6表5:staff员工表序号列名数据类型长度主外键允许空说明1st_novarchar50主键否员工编号2st_namevarchar50否员工名称3st_sexvarchar50否员工性别4st_agevarchar50是员工年龄五、系统测试(运行界面)设备表查询7增加修改删除8设备借出表查询9增加修改10删除11六、小结经过一周的课程设计,一个简单的企业设备管理信息系统设计完成了,但也正在这时我真正意识到所学知识的不足,可以说关于这方面的接触才刚刚开始,深有感触,无以言表。关于本系统,虽然对企业设备管理信息进行了系统的基本创建,但我们不可忽略的是这个系统并不完美。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能算是学以致用,从而提高自己的实际动手能力和独立思考的能力。我们在设计中遇到了很多问题。这次课程设计中一个比较陌生的问题就是利用搭建三层架构来完成本次的实验,但是经过老师的视频讲解,一步一步跟着做,最后还是完成了。总之,每一次课程设计不仅是我们学习的好机会,而且是我们锻炼实际动手能力的平台,虽然有难度的东西总会让人很抵触,比如在课设过程中有很多郁闷的时候,一个小小的错误一不小心就花去一大段时间,所以在这个过程中能够磨练人的意志与耐心。七、程序源代码以设备表为例Model层代码、usingSystem;namespaceMaticsoft.Model{///summary///device:实体类(属性说明自动提取数据库字段的描述信息)////summary[Serializable]publicpartialclassdevice12{publicdevice(){}#regionModelprivatestring_de_no;privatestring_de_name;privatestring_de_brand;privatestring_de_btime;privatestring_de_ptime;///summary///////summarypublicstringde_no{set{_de_no=value;}get{return_de_no;}}///summary///////summarypublicstringde_name{set{_de_name=value;}get{return_de_name;}}///summary///////summarypublicstringde_brand{set{_de_brand=value;}get{return_de_brand;}}///summary///////summarypublicstringde_btime{set{_de_btime=value;}get{return_de_btime;}}///summary///////summary13publicstringde_ptime{set{_de_ptime=value;}get{return_de_ptime;}}#endregionModel}}DAL层代码,usingSystem;usingSystem.Data;usingSystem.Text;usingSystem.Data.SqlClient;usingMaticsoft.DBUtility;//PleaseaddreferencesnamespaceMaticsoft.DAL{///summary///数据访问类device////summarypublicpartialclassdevice{publicdevice(){}#regionBasicMethod///summary///是否存在该记录////summarypublicboolExists(stringde_no){StringBuilderstrSql=newStringBuilder();strSql.Append(selectcount(1)fromdevice);strSql.Append(wherede_no=@de_no);SqlParameter[]parameters={newSqlParameter(@de_no,SqlDbType.VarChar,50)};parameters[0].Value=de_no;returnDbHelperSQL.Exists(strSql.ToString(),parameters);}///summary14///增加一条数据////summarypublicboolAdd(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));SqlParameter[]parameters={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)};parameters[0].Value=model.de_no;parameters[1].Value=model.de_name;parameters[2].Value=model.de_brand;parameters[3].Value=model.de_btime;parameters[4].Value=model.de_ptime;introws=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);if(rows0){returntrue;}