机房管理系统的设计与实现计算机毕业设计(论文).doc

上传人:laozhun 文档编号:3945339 上传时间:2023-03-28 格式:DOC 页数:50 大小:7.82MB
返回 下载 相关 举报
机房管理系统的设计与实现计算机毕业设计(论文).doc_第1页
第1页 / 共50页
机房管理系统的设计与实现计算机毕业设计(论文).doc_第2页
第2页 / 共50页
机房管理系统的设计与实现计算机毕业设计(论文).doc_第3页
第3页 / 共50页
机房管理系统的设计与实现计算机毕业设计(论文).doc_第4页
第4页 / 共50页
机房管理系统的设计与实现计算机毕业设计(论文).doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《机房管理系统的设计与实现计算机毕业设计(论文).doc》由会员分享,可在线阅读,更多相关《机房管理系统的设计与实现计算机毕业设计(论文).doc(50页珍藏版)》请在三一办公上搜索。

1、机房管理系统目 录第一章引言111项目背景112 管理信息系统概述113系统开发的意义1第二章系统分析22. 1组织结构分析22. 2系统功能分析52. 3用户需求分析82. 4设计流程图11第三章 系统设计153.1 项目规划153.2 数据库设计15第四章 系统实施164.1 关键技术164.2 主窗体设计17第五章 总结18致 谢19参考文献20附录21第一章引言11专案背景高等学校的计算机实验室在逐年上升,近年来我院教育规模扩大,机房的规模和档次也不断地扩大提高,实验室是学院非常重要的工作之一,只需设置好课程基本信息和排课的各项限制条件后,其余事情则由计算机来完成。具有安排课速度快、准

2、确率高,并能自动计算教师教学工作量,多种格式的班级、教师、全校课程表的输出。12 管理信息系统概述管理信息系统(MIS)的概念是1961年美国人J。D。GALLAGHER首先提出来的,是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是企业中信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。 用统一标准处理和提供信息,排除使用前后矛盾的不完整的数据。 完整、及时提供在管理及决策中需要的数据。 利用指定的数据关系式分析数据,客观预测未来。 向各级管理机构提供不同详细程度的报告,缩短分析和解释时间。 用最低的费用最短的时间提供尽

3、可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。13本系统开发的意义.NET自从发布以来受到了业界的瞩目,国外的软件公司已经把.NET技术应用到实际的项目当中,而且得到了很好的效果。还有一个问题成为大家议论的焦点,JAVA和.NET究竟那一个更好? 对于这个问题我觉得不能说哪个好或则是哪个坏。因为每个物体都有自己的优点和缺点,所以我们根据自己公司的发展方向或项目的具体情况来确定用什么产品就可以了。我原来很喜欢DELPHI,喜欢她简洁、快速的开发环境。但接触了.NET之后决定,没有特殊要求就用.NET了。因为.NET整合了DELPHI快速开发环境(听说.NET是由DE

4、LPHI设计师设计的,CSDN里说的吧?!)和JAVA系统构架。Borland的产品很不错,但她毕竟要运行在微软的操作系统上,过去微软开发环境做得不好,但现在有了Visual Studio.NET。我国中小企业有70%是零售企业,企业经营涉及进、销、存多个环节,涉及商品种类繁多,业务量大,库存管理复杂,使用手工管理已无法胜任。如何采用先进的计算机系统管理进货、库存、销售等诸多环节也已成为趋势及必然。在前面研究的基础上设计和开发了一套基于SQL Server 2000数据库,采用.net语言作为开发语言的一个机房管理系统。第二章系统分析2.1组织结构分析 这个图分为高级管理员,普通管理员,和游客

5、。高级管理员可以在管理模块,添加,删除,编辑,查看,申请实验,申请实习这类的工作。老师可以在里面申请实验室,实习。高级管理员普通管理员老师老师老师老师老师申请申请申请申请申请添加,删除,编辑,查看 图4-2 结构分析图2.2系统功能分析通过调查,要求系统需要有以下功能:(1) 要有良好的人机界面,并提供换肤功能。(2) 支持多人操作,要求有较好的权限分配功能。(3) 在查询,修改,添加要有一对多的关系,可以多行的产生记录。(4) 为了方便用户查询,要求支持多条件查询。(5) 支持报表。2.3用户需求分析(1) 教师维护(分任课教师和实验指导教师)(2) 课程维护(3) 班级维护(4) 实验室维

6、护(5) 学期维护(6) 星期维护(7) 节次维护(8) 周次维护2.4 用户设计流程图管理员一般用户游客1学年 学期实验室查询2学年 学期实验室查询3学年 学期实验室查询4学年 学期实验室查询5学年 学期实验室查询实验班级实验名称:课程名称:申请 提交1学年 学期实验室查询2学年 学期实验室查询3学年 学期实验室查询4学年 学期实验室查询5学年 学期实验室查询用户密码权限修改备注用户密码权限修改备注用户密码权限修改备注用户密码权限修改备注用户名:密码:权限:日期:申请人:结果:是否成功:周次节次班级实验名称实验室周次节次周次节次周次节次周次节次周次节次排序 输出打印 确认安排第三章 系统设计

7、3.1 项目规划实验室安排管理系统是一个典型的数据库应用程序,由登录模块、主接口、基本信息模块,规划功能模块如下:1登陆模块 用户的身份判断用户的权限,验证密码身份后进入主接口后显示不同的模块.2.添加模块(高级管理员) 用户进行添加.3.管理修改模块(最高管理员) 对所有用户进行管理,包括修改,删除4.管理密码修改模块 记录当前用户名,修改当前用户密码.5.课程管理添加管理模块 添加课程名和相应的任课教师6.课程管理修改管理模块 对当前所有课程的修改,删除.5.班级管理添加管理模块 添加班级名和相应的人数6.班级管理修改管理模块 对当前所有班级的修改,删除.7.实验申请模块 申请实验8.实验

8、修改模块 人数,学年,学期,周, 星期,节数,班级名,任课教师来确定实验室,指导老师9.实习申请模块 学年,学期,周,班级名,任课教师来申请实习,并自动在实习表中生成10条记录10.实验修改模块学年,学期,周,班级名,任课教师来修改实习3.2数据库设计(1) 用户表b_admin 用来保存用户的信息。用户表的结构如表所示。 表3-1 用户表结构数据项说明数据项名数据类型备注IDuserIDintprimary key,用户名:userNamevarchar(20)not null,密码:userPwdvarchar(20)not null,用户权限:userIdentityvarchar(20

9、)not null(2) 班级表db_class 用来保存班级的信息。班级表的结构如表所示。 表3-2 班级表结构数据项说明数据项名数据类型备注班级编号:classNumberintprimary key,班级名称:classNamevarchar(30)null,人数:classPeopleintnull,系:classDepartmentvarchar(30)null,(3) 课程表db_course 用来保存课程。课程表的结构如表所示。 表3-3 课程表结构数据项说明数据项名数据类型备注课程编号:courseNumberintprimary key,课程名称:courseNamevarc

10、har(30)not null,(4) 任课教师表db_rk_teachar 用来保存任课老师的信息。任课教师表的结构如表所示。表3-4 任课教师结构数据项说明数据项名数据类型备注任课教师编号:rkNumberintprimary key,任课教师姓名:rkTeacharchar(10)null,(5) 实验教师表db_sy_teachar 用来保存实验老师的信息。实验教师表的结构如表所示。 表3-5实验教师结构数据项说明数据项名数据类型备注实验教师编号:syNumberintprimary key,实验教师姓名:syTeacharchar(10)null,(6) 实验室表db_lab 用来保

11、存实验室。实验室表的结构如表所示。 表3-6 实验室结构数据项说明数据项名数据类型备注实验室编号:labNumberintprimary key,实验室名称:labNamechar(30)null,(7) 实验室安排表db_lab_arrange 用来保存实验室安排。实验室安排表的结构如表所示。 表3-7实验室安排结构数据项说明数据项名数据类型备注安排编号:arrangeNmberintprimary key安排周:arrangeWeekvarchar(30)null安排节数:arrangeSectionvarchar(30)null安排实验名称:arrangeNamevarchar(30)n

12、ull安排实验班别:arrangeClassvarchar(30)null安排实验人数:arrangePeoplevarchar(30)null安排实验室:arrangelabvarchar(30)null指导教师:rkTeachervarchar(30)not null实验教师:syTeachervarchar(30)not null申请日期:arrangedatevarchar(30)null学年:yearsvarchar(30)null学期:termvarchar(30)null课程:coursevarchar(30)null学期:xingqivarchar(50)null周:weekv

13、archar(50)null(8) 实习班级表db_practice_class 用来保存实习班级。实习班级表的结构如表所示。 表3-8实验室安排结构数据项说明数据项名数据类型备注实习编号:practiceNumberintprimary key实习课程名称:practiceNamevarchar(30)not null实习内容:practiceContentvarchar(30)not null实习班级:practiceClassvarchar(30)not null实习人数:practicePeopleintnot null实习老师:rkTeacharvarchar(30)not null

14、课程名:coursenamevarchar(30)null学年:yearsvarchar(50)null学期:termvarchar(50)null周:weekvarchar(50)null实习实验室:practicelabvarchar(30)null(9) 周次表db_week 用来保存周次。周次表的结构如表所示。 表3-8周次表安排结构数据项说明数据项名数据类型备注周次编号:weekidintprimary key周次:weekintnot null学年:yearsvarchar(30)null学期:termvarchar(50)(10) 节次表db_section 用来节次。节次表的结

15、构如表所示。 表3-9节次表安排结构数据项说明数据项名数据类型备注节次编号:sectionNumberintprimary key节次:sectionintnot null(11)学年表 db_year 用来保存学年。学年表的结构如表所示。 表3-9节次表安排结构数据项说明数据项名数据类型备注学年编号:yearidintprimary key节次:yearsvarchar(50)not null第四章 系统实施4.1 关键技术4.1.1 Session的优点 Microsoft .NET 是 Microsoft XML Web services 平台。XML Web services 允许应用

16、程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。 Session模型简介,Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW

17、服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。.NET的优点提供标准的面向对象开发环境,不仅可以在本地与对象交互,还可以通过Web Service和.NET Remoting技术在远程与对象交互。提供优化的代码执行环境,使以前让人们头痛的程序版本问题得到了解决。我们可以在同一台机器中安装相同程序的不同版本。而且deployment也得到了改善,微软说是X-COPY,就是说象拷贝文件s一样简单了。 提供代码运行安全性。以前我们担心网页中包含的ActivX控件会执行恶意的代码,但现在不用担心了,因为.NET Framework保障执行代码的安全性。使用JIT(

18、Just In Time Activation)技术,提高代码运行速度。提供标准的框架和强大的开发工具,可以让程序员在实际的开发当中,积累经验。.NET遵循业界标准规范,所以可以让代码(.NET里的代码)可以与其他系互。比如Web Service,COM等等。这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用

19、户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。取得当前用户名,修改密码。这个窗体是可以直接取得管理员的用户名,密码,方便修改密码。安全性能方面的好处是只可以修改当前用户的密码,窗体如下图所示。 图4-1 修改密码图代码如下:private void Button1_Click(object sender, System.EventArgs e)SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettingsa);string newpwd=this.TextBox2.Text.T

20、rim();string user=this.TextBox1.Text.Trim();if(Page.IsValid)trycon.Open();string sql=update db_admin set userPwd=+this.TextBox2.Text+ where userName=+this.TextBox1.Text+;SqlCommand cmd=new SqlCommand(sql,con);cmd.ExecuteNonQuery();int i=cmd.ExecuteNonQuery();if(i0)Response.Write ();Response.Write (a

21、lert(更新成功!);Response.Write ();elseResponse.Write ();Response.Write (alert(更新错误!);Response.Write (); catch (SqlException e1)Response.Write ();Response.Write (alert(数据库操作错误:+e1.Message;);Response.Write ()finallycon.Close();4.2.2 查看实验安排窗体设计 随着信息技术的普及,对计算机应用的普及,高等学校的计算机实验室在逐年上升,面对众多的计算机实验课,如何有效安排实验室,成为实

22、验室管理人员的重要工作之一。为了提高实验室安排管理效率,方便教师对实验室的使用情况及时查询和申请实验室,需要设计一个能提供教师实时了解当前实验室教师申请情况,并可以对闲置实验室的申请,最后通过实验室管理员对教师所做的实验申请进行安排管理。本系统基于B/S结构,主要由前台教师对实验室申请和后台基本资料的维护及实验室的安排,主要包括以下功能:登录、申请实验、基本资料维护、实验室安排管理、用户管理,个人设置等。查看修改实验安排根据学年,学期,多少周,查看星期,节数,实验名称,班级,人数,实验室,认课老师,实验老师。优点是帮助管理员快速的查看当前要安排的实验。 图4-2 查看修改实验安排图查看的代码如

23、下:先在html里面写代码关联字段:Text=Text=Text=Text=Text=Text=根据学年,学期,周来查询实验安排private void DDyear_SelectedIndexChanged(object sender, System.EventArgs e)SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettingsa);con.Open ();SqlCommand cmdweek=new SqlCommand (select * from db_week where years=+this.

24、DDyear.SelectedItem.Text.Trim()+ and term=+this.DDterm.SelectedItem.Text.Trim()+ ,con);SqlDataReader sdrweek=cmdweek.ExecuteReader ();this.DDweek.DataSource =sdrweek;this.DDweek.DataValueField =weekid;this.DDweek .DataTextField =week;this.DDweek .DataBind ();sdrweek.Close ();再: private void DGsectio

25、n_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)if(e.Item.ItemType=System.Web.UI.WebControls.ListItemType.EditItem) /编辑时显示实验室下拉框列表 SqlConnection con2 = new SqlConnection(ConfigurationSettings.AppSettingsa); con2.Open (); SqlCommand cmd2=new SqlCommand(); cmd2.Command

26、Text=select * from db_lab; cmd2.Connection=con2; SqlDataAdapter da2=new SqlDataAdapter(); da2.SelectCommand=cmd2; DataSet ds2=new DataSet(); da2.Fill(ds2,db_lab); con2.Close(); ew; (DropDownList)e.Item.FindControl(DDlab).DataBind(); /编辑时显示指导老师下拉框列表 SqlConnection con3 = new SqlConnection(Configuratio

27、nSettings.AppSettingsa); con3.Open (); SqlCommand cmd3=new SqlCommand(); cmd3.CommandText=select * from db_sy_teachar; cmd3.Connection=con3; SqlDataAdapter da3=new SqlDataAdapter(); da3.SelectCommand=cmd3; DataSet ds3=new DataSet(); da3.Fill(ds3,db_sy_teachar); con3.Close(); (DropDownList)e.Item.Fin

28、dControl(DDsy_teachar).DataTextField=syTeachar; (DropDownList)e.Item.FindControl(DDsy_teachar).DataValueField=syNumber; (DropDownList)e.Item.FindControl(DDsy_teachar).DataSource=ds3.Tables0.DefaultView; (DropDownList)e.Item.FindControl(DDsy_teachar).DataBind(); if(e.Item.ItemType=ListItemType.Item|e

29、.Item.ItemType=ListItemType.AlternatingItem) /先判断选择的是哪个模板 判断是否是正常项和交错项e.Item.Attributes.Add(onmouseover,c=this.style.backgroundColor;this.style.backgroundColor=#6699FF);/设一个变量,取出它当前的背景色,把它设置为一个新的颜色e.Item.Attributes.Add(onmouseout,this.style.backgroundColor=c);/使用脚本在用户删除时询问是否要删除(LinkButton)(e.Item.Ce

30、lls9.Controls0).Attributes.Add(onclick,return confirm(你确认删除吗?); con.Close();getlabarrange();4.2 主窗体设计 图4-2 登陆图4.2.1管理员界面管理员可以在里面添加用户,管理用户,修改密码,查看实验安排,申请实验,申请实习,修改申请实验,修改申请实习,添加课程,删除课程,添加班级,删除班级。 图4-3 管理员图5. 普通用户界面 普通用户可以修改自己的帐号密码,申请实验,申请实习,查看实验安排。 图5-4普通用户图第五章:总结通过这次毕业设计,我对编程思想有拉更加深刻的认识,知道前期做好数据分析,流

31、程分析,数据库的设计是多么的重要,要不然后面就会出现很多问题,数据库里面的表不互相关联,或者是字段不对,查询出错等等,使得我开发这个实验室管理系统进度很慢,在这方面老师给拉我很大的帮助。耐心给我们讲解,教我们做系统规划,确定系统的管理职能,画出数据库,和设计出数据库。在我开发实验管理系统的时候遇到的几大难题及解决方法:1.用户权限的问题,不同的用户要进入不同的页面,但是页面的.aspx又要是同一个,后来我同学请教老师和同学解决这个问题拉,就是用Session这个函数来记录用户名再用if来判断显示哪个页面。2.多表查询是最难的,要一次查询出多个表的字段,由于我水平有限,每次都是出错,要不就是一个

32、字段出现一个不出现,我郁闷死拉,后来是在同学的帮助下做出来拉,但是还觉得不够完善。这个实验室管理系统的优点就是方便管理员和老师之间的对话,可以让用户方便的修改,添加删除,编辑数据,大大提高拉工作效率。通过前面的介绍,我们可以看到利用“实验室安排管理系统” 实现了数据资源的高度共享,减少了大量的重复录入与核算工作,同时既保证数据的透明、真实,又保证数据的安全性;不仅可以简单有效地完成学校机房管理员的管理工作。此外,本系统还存在一些需要完善的地方,如系统日志的管理、系统帮助等。另外,由于时间上的仓促,本系统还有部分功能需要进一步完善。致 谢感谢我的导师杨呈永老师,他严谨细致、一丝不苟的作风一直是我

33、工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。 感谢同学们对我的帮助和指点。没有他们的帮助和提供资料对于我来说,要想在短短的几个月的时间里学习到.net知识并完成毕业论文是几乎不可能的事情。参考文献1 于松涛,徐振成编着.精通SQL Server 2000 数据库管理与开发M. 北京:人民邮电出版,2001.2 贾洛特-加龙省(Jalotete,P)着.软件项目管理实践=Software Project Management in practice 2 Management in PracticeM.北京:清华大学出版社,20053 朱如龙.SQL Server数据库

34、应用系统开发技术M.北京:机械工业出版社,2004.4 李万宝,ASP.NET技术详解与应用实例M.北京:机械工业出版社,2005. 5 张培,ASP.NET通用模块及系统开发M.北京:人民邮电出版社,2005. 6 曹洋等编着 .NET经典问题解析M . 北京:中国水利水电出版社,2003.7 江毅等编着 .NET数据库实例编程M.北京:中国水利水电出版社,2005.8 杨文龙,古天龙.软件工程(第二版)M.北京:电子工业出版社,2004.附录:下面是本系统的部分代码.根据不同的用户进入不同的窗体:private void Page_Load(object sender, System.Ev

35、entArgs e)/ 在此处放置用户代码以初始化页面if(!Page.IsPostBack)string username=(string)Sessionusername;if(validateUserClass(string)SessionuserIdentity) /用户管理模块 Literal1.Text = 添加用户;Literal2.Text= 用户管理;Literal3.Text = 修改密码;elseLiteral3.Text=更改账号;if(validateUserClass(string)SessionuserIdentity) /安排管理模块 Literal4.Text

36、= 查看实验安排;Literal5.Text= 申请实验;Literal10.Text = 申请实习;Literal11.Text= 修改申请实验;Literal12.Text = 修改申请实习;elseLiteral4.Text = 实验安排;Literal5.Text= 申请实验;Literal10.Text = 申请实习;if(validateUserClass(string)SessionuserIdentity) /课程管理模块 Literal6.Text = 添加课程;Literal7.Text= 删除课程;if(validateUserClass(string)SessionuserIdentity) /班级管理模块 Literal8.Text = 添加班级;Literal9.Text= 删除班级;public bool validateUserClass(string a)

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号