基于ASP.NET的电力发供电企业管理系统.doc_第1页
基于ASP.NET的电力发供电企业管理系统.doc_第2页
基于ASP.NET的电力发供电企业管理系统.doc_第3页
基于ASP.NET的电力发供电企业管理系统.doc_第4页
基于ASP.NET的电力发供电企业管理系统.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南铁道职业技术学院 班组建设湖南铁道职业技术学院毕业论文 hunan railway professional technology college系别名称: 信息工程系 专业名称: 软件(niit) 学生姓名: 赵艳 题 目: 班组建设系统 指导老师: 胡 亮 2008年12月9日第 36 页 共 37 页 目录第1章系统概述21.1选题背景21.2编写目的21.3本人工作31.4基础知识介绍31.4.1asp.net简介31.4.2sql server 2005 简介4第2章系统分析52.1系统需求分析52.1.1系统设计结构62.1.2系统功能62.1.3系统功能模块72.2系统所实现功能82.2.1部门管理82.2.2部门人员管理82.2.3记录管理82.2.4班组记录的查询92.2.5班组记录信息的管理92.2.6其他信息的管理10第3章系统设计123.1本系统采用二层架构123.2.1系统记录管理模块123.2.2系统部门管理模块133.2.3系统部门人员管理模块143.2系统功能流程图143.3数据库介绍153.4部分数据表e-r图163.5数据表设计17第4章系统界面194.1用户登陆194.2用户管理主页204.3记录管理204.4部门管理22第5章程序关键源代码235.1用户登陆部分代码235.2写记录部分代码245.3利用存储过程管理角色部分代码26第6章系统测试286.1数据完整性测试286.2功能测试286.3用户界面测试29总 结30致 谢31参考文献32附:毕业设计任务书33第1章 系统概述1.1 选题背景经过几年的发展,asp.net已成为windows 平台中网站开发的主导技术。由于 asp.net完全建立在.net framework基础之上,因此它可以充分利用.net framework提供的强大功能和类库,从而使用web应用程序开发人员能够轻而易举地使用期盼以的系统功能。从这一点来说,asp.net完全超越了一些web开发技术。虽然asp.net web应用程序可以使用多种语言来开发,但是visual studio.net作为专门针对microsoft的.net战略推出的语言,它对.net framework和asp.net具有最为全面的支持。可以说visual studio.net 是开发asp.net web应用程序的最好语言。结合使用visual studio.net 和asp.net 可以开发出功能强大的web应用程序。所以本人选择(华银电力)cms系统的主要目的是,进一步的了解visual studio.net 的集成开发工具。 掌握c#程序设计的web 开发过程和方法。1.2 编写目的随着国家电力体制改革的不断深入,电力企业面临着日益激烈的市场竞争的严峻挑战,为了提高企业的综合竞争能力,扩展企业的生存发展空间,以追求最大经济效益为最终目标,就必须不断改进和加强企业管理,班组是企业的基础,班组管理水平的高低,将直接影响企业日常的生产和经营活动。由此可见,班组建设也是企业管理的重要课题之一。目前各发供电企业已经建立了企业内部的管理信息系统,它在安全生产管理、办公自动化等方面发挥了重大作用,其中虽然也包含一些班组管理的内容,但从班组建设管理的角度上来看,体现出不系统、不规范、不统一的特征,缺乏可比性和通用性,也完全没有实现信息的上传下达,在管理层与班组之间出现了管理信息的断层与脱节。1.3 本人工作在开发该系统的过程中,我采用了现在较为流行的vc#平台下asp.net技术。为此,我深入学习了asp.net的各种技术知识,还学习了各种相关的网页制作工具: dream weaver mx 2004以及图像处理工具photoshop的使用方法与技巧,同时深入研究了如何利用ado.net技术访问后台数据库、如何利用sql server 2005对数据库加以管理与维护。另外,为了增强系统的实用性,使之能尽量与实际的应用系统相吻合,我对许多同类网站的内容、功能进行了分析与对比,吸取了他们的可取之处,借鉴了一些经验,以便完善本系统。1.4 基础知识介绍1.4.1 asp.net简介asp.net是m的一部分,作为战略产品,不仅仅是 active server page (asp) 的下一个版本;它还提供了一个统一的 web 开发模型,其中包括开发人员生成企业级 web 应用程序所需的各种服务。asp.net 的语法在很大程度上与 asp 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 asp 应用程序中逐渐添加 asp.net 功能,随时增强 asp 应用程序的功能。asp.net 是一个已编译的、基于 .net 的环境,可以用任何与 .net 兼容的语言(包括 visual basic .net、c# 和 jscript脚本语言)创作应用程序。另外,任何 asp.net 应用程序都可以使用整个 .net framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。asp.net 可以无缝地与 wysiwyg html 编辑器和其他编程工具(包括 microsoft visual studio .net)一起工作。这不仅使得 web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 web 页的 gui 和完全集成的调试支持。微软为asp.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出web应用,满足计算向web转移的战略需要。1.4.2 sql server 2005 简介sql server 2000 是microsoft 公司2000年推出的sql server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。 其特点有如下几点: 1) 真正的客户机/服务器体系结构。 2) 图形化用户界面。3) 丰富的编程接口工具。4) sql server与windows nt完全集成。5) 具有很好的伸缩性。 6) 对web技术的支持。7) sql server提供数据仓库功能。第2章 系统分析2.1 系统需求分析班组建设系统是一个面向企业最基本单元管理信息系统,系统基本上解决的目前班组建设的各个方面的问题。并在逻辑上实现了从局到基层班组的多个层面的信息管理和信息互动。系统在浏览中体现出了特有的权限区分,可以限制有些基层班组重要内容的外泄。保证的班组信息的完整性、安全性、独特性。图 1 系统需求分析2.1.1 系统设计结构a)运行在windows环境之下,采用时下流行的b/s结构。b)以实用性为出发点,解决班组人员的实际问题c)可扩展的核心设计,以适应班组在未来不断变化的需求2.1.2 系统功能a)由全局到工区所有班组的广泛管理层面b)浏览分为三级权限c)班组记录的规范化、统一化d)领导对班组工作可以留言和批示e)涵盖面广,包括了班组所有日常管理工作f)展示了不同班组的亮点g)完善统一的记录管理h)界面友好的班组主页和管理主页i)单机版与网络版并行2.1.3 系统功能模块系统前台具体功能模块如图所示:图 2 系统功能模块详细说明如下:(1) 用户管理:所有用户可修改密码、用户名;用户还可以查看自己的用户资料。由班长、技术员、安全员填写,由部门审核人和公司审核人审核。(2) 记录管理:记录包括班长工作日志、安全管理、民主生活、技术培训、班组荣誉五种类型。只有记录人可以写记录,以及查看自己所写的记录。班组合并和迁移管理,并对其基本信息进行管理。(3) 审核管理:只有部门审核人或公司审核人审核记录。审核人可对记录进行查看、删除等操作。(4) 部门管理:所有用户可查看所有的部门信息和部门人员信息。2.2 系统所实现功能在一般的班组管理过程中,主要涉及到以下几个方面:记录管理、部门人员管理和部门管理。2.2.1 部门管理班组建设包括对部门信息的查询、部门信息的修改、删除部门。其中删除部门考虑到此部门人员的安排,而且要判断是否删除此部门下的所有部门;班组建设系统把已删除的部门下的人员迁移到一个固定的部门,如果需要此人员可对进行调职操作。2.2.2 部门人员管理班组建设包括对部门人员信息的查询、人员信息的修改、删除人员、对其人员进行调职。系统可根据部门查询此部门的人员信息及修改人员信息,删除人员就将其安排的角色也并删除。对于人员的调职考虑到此人员权限的设置。2.2.3 记录管理记录是用来记录班组日常事务的,记录分为班长工作日志、安全管理、民主生活、技术培训、班组荣誉五种,由班组里的不同角色进行写记录。记录保存之后要通过部门审核和公司审核,这是记录管理的主要内容。写记录,班长工作日志、民主生活、班组荣誉由班长填写,且班长工作日志每天一次;安全管理记录由安全员填写,每周一次;技术培训由技术员填写,每月一次或两次。审核记录,不同的部门的审核人要对此部门下的班组记录进行审核,班长工作日每月由班组的上级部门的部门领导进行部门审核,每季度由公司工会的班组建设管理员进行公司审核;安全管理由班组安全员对此进行记录,每月由班组的上级部门的部门审核人进行部门审核,每季度由公司审核人进行公司审核; 技术培训:每月由班组技术员组织技术培训工作,可以是学习或考试、描图等活动,由班组技术员对此进行记录,每月由班组的上级部门的部门审核人进行部门审核,每季度由公司审核人进行公司审核。2.2.4 班组记录的查询管理员要对班组的记录进行管理,记录可以根据日期、记录类型、记录主题进行查询,这样才能及时了解班组的管理现状,才有可能使班组处在良好的运行状态。所以,班组管理过程中要提供班组的日志、安全、技术、生活等记录的查询功能,并且能够通过选择的不同部门进行记录查询,方便部门人员查看。2.2.5 班组记录信息的管理班组要记录记录,关于这些记录本身的信息,对班级建设是非常重要的,例如,班组参加了什么活动,班组人员参加了什么技术培训等,所以,对记录本身的信息登记、管理是班级建设的重要内容。2.2.6 其他信息的管理除了以上提到的一些功能外,班级建设系统还应该能对一些其他的信息进行管理。例如:班组迁移、班组合并等,对企业来说,这些变化是有可能的,而且班组的迁移和合并还要考虑到班组人员的安排,班组合并要考虑是合并的方式,本系统分为合并至要合并的部门的其中一个部门或合并至一个新部门。可行性分析此套系统能够配合当前一些小型企业的班组管理,所以在系统的需求上是可行的。在技术上,通过半年多的的学习,运用进行班组管理系统的开发,并实现简单、友好的管理窗口界面。而在技术要求上也是可行的。性能需求:本系统在性能上应达到的要求:1系统软件应该速度快、稳定、可靠、具有很高的实用性;2用户操作上应简单、方便,界面友好、美观;3更快更稳定的执行速度完成要求;4系统软件应支持多用户超负荷并发访问、网络数据共享;5系统软件在结构上具有很好的可扩展性,便于将来的功能扩展和维护;6系统的移植性好;7便于维护与修改。(3)开发平台1硬件:微机一台2操作系统:windows xp3数据库管理系统:sql server 20054开发工具:microsoft visual studio .net 2005第3章 系统设计3.1 本系统采用二层架构本系统采用二层架构,结构图如下:(从本图看,说是3层架构为好)表示逻辑层数据访问逻辑层数据库图 3 二层架构3.2.1 系统记录管理模块班组人员写记录,审核人审核记录,管理员可对记录进行查询、修改、并删除。图 4 记录管理用例图图 5 审核管理用例图图 6 记录管理用例图3.2.2 系统部门管理模块管理员可对查询部门信息、修改部门信息、删除部门、以及班组合并和迁移。图 7 部门管理用例图3.2.3 系统部门人员管理模块管理员可查询部门人员信息、修改人员信息、删除人员、以及人员调职。图 8 部门人员用例图3.2 系统功能流程图前台具体功能流程图,如下所示:图 9 前台流程图3.3 数据库介绍表 1 数据库介绍数据库名称banzu备注:本系统主数据库表名部门人员表部门表详细记录表记录类型表提示表管理员表角色表视图vwrecord记录信息vwrole人员信息proinsertrole增添角色proupdaterole修改角色3.4 部分数据表e-r图(1) 部门人员表部门人员表用户序号用户姓名用户权限用户密码用户编号用户部门图 10 部门人员e.r图(2) 部门表部门表部门编号部门名称图 11 部门表(3) 详细记录表详细记录表记录时间公司审核人公司审核时间记录序号记录人类型编号部门审核人公司审核评语记录主题记录内容部门审核评语部门审核时间审核状态图 12 详细记录e/r图(4) 记录类型表记录类型表类型编号类型名称图 13 记录类型e/r图3.5 数据表设计表 2 部门表表序号1表名部门表含义存储部门的基本信息序号属性名称数据类型长度说明约束1.部门编号varchar255not null主键2.部门名称varchar255not null表 3 部门人员表表序号2表名部门人员表含义存储部门人员的基本信息序号属性名称数据类型长度说明约束1.用户序号int4not null主键2.用户编号varchar255not null3.用户姓名varchar255not null4.用户密码varchar255not null5.用户部门varchar255not null6.用户权限varchar50表 4 角色表表序号3表名role含义存储部门人员角色的基本信息序号属性名称数据类型长度说明约束1.roleidint4not null主键2.rolenamevarchar50not null3.uidint4not null表 5 记录详细表表序号4表名记录详细表含义存储班组记录的详细信息序号属性名称数据类型长度说明约束1.记录序号int4not null主键2.记录人varchar50not null3.记录类型int4not null4.记录主题varcharmax5.记录内容varcharmax6.记录时间datetime87.公司审核人varchar508.公司审核评语varcharmax9.公司审核时间datetime810.部门审核人varchar5011.部门审核评语varcharmax12.部门审核时间datetime813.审核状态varchar50表 6 记录类型表表序号5表名记录类型表含义存储记录类型的基本信息序号属性名称数据类型长度说明约束1.类型编号int4not null主键2.类型名称varchar50not null表 7 管理员表表序号6表名管理员表含义存储管理员的基本信息序号属性名称数据类型长度说明约束1.用户名varchar50not null主键2.用户密码varchar10not null 表 8 提示表表序号7表名提示表含义存储提示信息序号属性名称数据类型长度说明约束1.提示编号int4not null主键2.提示人varchar50not null3.记录编号varchar104.提示内容varcharmax 第4章 系统界面4.1 用户登陆用户登陆后进入系统主页面,注意用户与管理员的区别!系统保存用户名。图 14 用户登陆4.2 用户管理主页前台管理主要包括用户管理、部门管理、记录管理、审核管理。图 15 用户管理主页4.3 记录管理记录人可以写记录,可对自己所写的记录进行查询、修改。对记录主题进行链接,可查看记录的详细信息,并修改记录信息。填写记录图 16 填写记录查询记录记录详细信息、可编辑图 17 查询4.4 部门管理所有用户可查看所有的部门信息和所有的部门人员信息。部门信息图 18 部门管理部门人员信息图 19 人员信息第5章 程序关键源代码5.1 用户登陆部分代码if (this.tbusername.text = | this.tbpwd.text = ) this.labmsg.text = alert(用户名和密码不能为空!); else if (this.radiobuttonlist2.items0.selected) sqlstr = select * from 管理员表 where 管理员= + this.tbusername.text.trim() + and 密码= + this.tbpwd.text.trim() + ; ds = db.getdatadysql(sqlstr); if (ds.tables0.rows.count != 0) sessionusername = this.tbusername.text; sessionlimit = 管理员; response.redirect(./houtai/houindex.aspx); else this.labmsg.text = alert(您的用户名或密码不正确,登录失败!); else sqlstr = select 用户权限,rolename from vwrole where 用户编号= + this.tbusername.text.trim() + and 用户密码= + this.tbpwd.text.trim() + ; ds = db.getdatadysql(sqlstr); if (ds.tables0.rows.count != 0) sessionusername = this.tbusername.text; sessionlimit = ds.tables0.rows00.tostring(); sessionrole = ds.tables0.rows01.tostring(); response.redirect(default.aspx); else this.labmsg.text = alert(您的用户名或密码不正确,登录失败!); 5.2 写记录部分代码string title = this.tbtitle.text.trim(); string neirong = this.ftbinfo.text.trim(); string type = this.droptype.selecteditem.text; sqlstr = select 类型编号 from 记录类型表 where 类型名称= + type + ; ds = db.getdatadysql(sqlstr); int typeid = int.parse(ds.tables0.rows00.tostring(); sqlstr = insert into 记录详细表(记录人,记录类型,记录主题,记录内容,记录时间) values( + sessionusername + , + typeid + , + title + , + neirong + ,getdate(); bool result = db.updatabysql(sqlstr); if (result = true) sqlstr = select max(记录序号) from 记录详细表; ds = db.getdatadysql(sqlstr); string maxid = ds.tables0.rows01.tostring(); sqlstr = select * from 部门人员表 where 用户编号= + sessionusername + ; ds = db.getdatadysql(sqlstr); string dep = ds.tables0.rows06.tostring(); sqlstr = select * from vwrole where 部门编号= + dep.substring(0, dep.length - 3) + and rolename=部门审核人; ds = db.getdatadysql(sqlstr); if (ds.tables0.rows.count != 0) string depuser = ds.tables0.rows03.tostring(); sqlstr = select * from vwrole where 部门编号= + dep.substring(0, 3) + and rolename=公司审核人; ds = db.getdatadysql(sqlstr); if (ds.tables0.rows.count != 0) string companyuser = ds.tables0.rows03.tostring(); sqlstr = insert into 提示表(提示人,提示内容,记录编号) values( + depuser + ,您有记录没审核!,+ maxid +); result = db.updatabysql(sqlstr); if (result = true) sqlstr = insert into 提示表(提示人,提示内容,记录编号) values( + companyuser + ,您有记录没审核!, + maxid + ); result = db.updatabysql(sqlstr); if (result = true) this.labmsg.text = alert(记录保存成功!); clear(); else this.labmsg.text = alert(记录保存不成功!);5.3 利用存储过程管理角色部分代码con.connectionstring = db.getconstr(); sqlstr = select * from vwrole where rolename= + this.droprole.selecteditem.text + and 用户序号= + sessionuid.tostring() + ; ds = db.getdatadysql(sqlstr); if (ds.tables0.rows.count != 0) this.labmsg.text = alert(此用户已存在此角色!); else if (sessionj.equals(1) com = new sqlcommand(proinsertrole, con); com.commandtype = commandtype.storedprocedure; param = com.parameters.add(urolename, sqldbtype.nvarchar, 50); param.value = this.droprole.selecteditem.text.tostring(); param = com.parameters.add(uid, sqldbtype.int); param.value = int.parse(sessionuid.tostring(); param = com.parameters.add(ulimit, sqldbtype.nvarchar, 50); param.value = this.tbulimit.text.tostring(); con.open(); com.executenonquery(); con.close(); this.labmsg.text = alert(增添角色成功!); this.panel1.visible = false; else com = new sqlcommand(proupdaterole, con); com.commandtype = commandtype.storedprocedure; com.parameters.add(urolename, sqldbtype.nvarchar, 50); com.parameters.add(uid, sqldbtype.int); com.parameters.add(ulimit, sqldbtype.nvarchar, 50); com.parameters.add(uroleid, sqldbtype.int); com.parametersurolename.value = this.droprole.selecteditem.text.tostring(); com.parametersuid.value = int.parse(sessionuid.tostring(); com.parametersulimit.value = this.tbulimit.text.tostring(); com.parametersuroleid.value = int.parse(sessionrid.tostring(); con.open(); com.executenonquery(); con.close(); this.labmsg.text = alert(修改角色成功!); this.panel1.visible = false; sqlstr = select * from vwrole where 用户序号= + sessionuid.tostring() + ; databind(); sessionrid = null;第6章 系统测试程序编写完毕,并不是开发工作的结束。在系统正式投入运行的转换工作之前,还需对系统进行一系列的调试即测试。一个网上购物系统,在设计和编程中没有任何错误是不可能的。系统调试的任务是根据系统说明书和系统实施方案,对程序设计的结果进行全面的检查,找出并纠正其中的错误,使可能发生的问题和错误,尽量消灭在系统正式运行之前。系统在开发的各个阶段,都有可能产生错误。为了发现这些错误,测试过程可以分为三个方面:即数据完整性、功能测试和界面测试。6.1 数据完整性测试表 9 数据完整性测试测试目标确保数据库访问方法和进程正常运行,数据不会遭到损坏。方法调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据或对数据的请求。检查数据库,确保数据已按预期的方式填充,并且所有数据库事件都按正常方式出现;或者检查所返回的数据,确保为正当的理由检索到了正确的数据完成标准所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。6.2 功能测试表 10 功能测试测试目标确保测试对象的功能正常,其中包括导航、数据输入、处理和检索等。方法利用有效的和无效的数据来执行各个用例、用例流或功能,以核实: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。各业务规则都得到了正确的应用。完成标准所计划的测试已全部执行。所发现的缺陷已全部解决。6.3 用户界面测试表 11 用户界面测试测试目标核实以下内容:通过浏览测试对象可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(tab 健、鼠标移动和快捷键)的使用窗口的对象和特征(例如:菜单、大小、位置、状态和中心)都符合标准。方法为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。完成标准证实各个窗口都与基准版本保持一致,或符合可接受标准总 结经过一个多月程序设计的实践操作,本系统已基本完成,整个系统大致上完成了所计划的内容,由于本人不怎么熟悉美工,所以本系统在界面布局上有所欠缺。但系统大致能作到一个公司的信息的发布与管理。经过此次对本系统设计的操作与实践让我在思考问题、分析问题、解决问题及综合运用各方面知识的能力上有了大大的提高,同时也加深了我对软件开发过程的深刻理解。更重要的培养了我能通过各种媒体查找学习资料,进行自主学习的能力,让我受益菲浅。“学问未必全在书本上。”学好书本上的东西是远远不够的。在我的思维中,学历与能力并重。在这些过程中,我的思想发生了大的改变,这一点是不言而喻的。我开始学会正确地评估自己,学会一分为二看待问题,学会定义自己的人生目标。存在的不足:偏科现象严重。对自己不感兴趣的课程,我很少在上面花时间,导致某些课程成绩偏差。从毕业设计的经历中获取养分,更进一步地充实自己所有这些,使我越来越深刻地感觉到人生追求的意义。社会的需求已经越来越大,现有的一些技术已经不能满足社会的需求,所以必须不断的追新,不断的学习新的知识和技术,最终能够适应社会,这次的毕业设计我学到的其实不仅仅是技术上的问题,而且更加深刻的体会到是一些道理,自己确实没有好好努力,有好多知识没有掌握好,好多技术不知道怎么运用,而且编程的思想是慢慢养成的,就是之前没有养成这种习惯,所以导致现在的状态,但是我觉得还不晚,现在还可以继续学习,现在体会到编程只要自己好好学和做,肯定可以做得很好.致 谢通过这次毕业设计,使我对以前的所学的课程有更深的理解,从确定项目、制定计划、系统分析、系统设计、总体设计和详细设计到系统调

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论