《数据库原理及应用课程设计能源管理收费系统设计与实现(共15页).docx》由会员分享,可在线阅读,更多相关《数据库原理及应用课程设计能源管理收费系统设计与实现(共15页).docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库原理及应用课程设计报告能源管理收费系统设计与实现姓名:XXX班级:11级计师学号:XXXXXXXXXXXXX完成时间:2013年6月5日西南大学计算机与信息科学学院2013-6-51 需求分析1.1背景分析信息化建设是供电局建设的重要部分,是一项基础性、长期性和经常性的工作,其建设水平是供电局整体管理水平、供电局形象和地位的重要标志。信息技术的发展可谓日新月异,然而它在管理电费上的应用却比较滞后。近几年,各校的供电局信息化建设都在如火如荼地进行着,“供电局信息化管理”被提的很多,但就目前全国供电局的总体情况来看,大多仍处于信息性阶段,我们仍然在摸索怎样才能更有效
2、地让这些信息技术手段为管理电费服务。供电局相对一般单位而言,拥有更多更专业的人才,掌握着更多的技术和信息,有更活跃的思维,理应在这条路上走在前端。如何将信息化技术引入到现代供电局管理中来,已是摆在我们每一个人员面前的课题。为了在供电局信息化管理方面的探索,我选择了“电费系统”的开发作为自己的课程设计课题。通过这篇课程论文,我将对这段时间的学习作做一回顾,并详细论述采用在BS模式下ASP技术分析、设计、开发供电局的电费系统的过程。该系统基本满足了用户(供电局)在电费管理方面的需求,用户界面友好。系统对用户数据有效地实现了信息电子化处理,从而降低了人工劳动并增加的信息的准确性。本系统采用Power
3、Builder与SQL Server作为开发工具,通过数据库的连接,让PowerBuilder运行在服务器端,每当用户进入系统,可以查询每月的能源用量,收费情况。1.2功能分析通过对系统的初步调查,明确了系统开发的目标为:按照管理信息系统的原理和方法,采用相对成熟、先进的信息技术和手段,支持供电局能源收费管理全过程,该系统基本满足了用户(供电局)在电费管理方面的需求,系统对用户数据有效地实现了信息电子化处理,从而降低了人工劳动并增加的信息的准确性。系统需主要完成的功能有:u 用户登录:用户能登陆该系统,并使每次进入统时会自动提示并验证用户身份,达到安全管理的目的。u 用户管理:方便管理员进行用
4、户信息的增加,删除,修改以及对用户权限的的设置。u 能源管理:增加能源的种类、更改能源的单价等。u 信息查询:使用户能够进行能源单价和能源用量以及用户需缴纳费用的查询。u 用户交费:查询出能源使用情况及需缴纳费用之后可以通过网上银行进行自助缴费。为了创建一个能源管理收费系统的概貌并实现基本功能,需要完成以下模块:图1.2-1 系统构造模型1.3运行环境1.硬件环境硬件环境:硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型互动交流系统,因此对计算机硬件的要求不高,比较经济,只要配备如表1-1所示的就可以:表1-1 系统开发环境基本配置表内容最低配置建议配
5、置主机PP以上内存256MB256MB以上硬盘80GB80GB以上显示器 SVGA以上2.软件环境操作系统: Windows 2000/Windows XP数据库:SQL Server 2000软件开发语言:ASP该软件的界面美观大方,软件运行稳定。3.系统开发模式B/S模式C/S,即Client/Server,采用Intranet技术,适用于局域网环境,可重用性差。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。本系统基于互联网,而B/S,即Browser/Server模
6、式是一种非常合适的体系结构,客户端采用浏览器,WEB服务器采用Windows 2000 Server+IIS, 数据库服务器采用 Windows 2000 Server+SQL Server,IIS服务器通过ODBC与数据库连接,WEB服务器平台采用微软PowerBuilder技术。WEB 服务器作为中间层服务器,单独放置在一台主机上隔离外界与数据库,起到了信息服务器和防火墙的作用。采用B/S网络结构具有以下优点:一是简化了客户端,只需在客户端安装浏览器软件(IE或Netscape),不用在不同的客户端上安装不同的客户运用程序;二是简化了系统的开发和维护,B/S结构的所有功能都在WEB服务器上
7、实现,使开发和维护工作大大减;三是用户的操作使用更加简单;四是网上的信息发布更加便利。(3)B/S模式的三层结构B/S(Browser/Server)即浏览器/服务器结构的简称。从图1-1的B/S结构图来看,该结构的核心是中间层服务器,包括WEB服务器和相关的接口程序。WEB服务器负责接收WEB浏览器的WEB页请求和数据请求,并处理WEB页请求。数据库接口程序将数据请求转换成数据库服务器能够接受的形式(如SQL),并送到数据库服务器。在数据库服务器根据数据请求执行相应的数据库操作(如查询、修改、统计等)后,数据库接口程序再将数据结果转换送回WEB服务器。WEB服务器将结果处理成WEB浏览器能够
8、接受的形式(如HTML)后,发送WEB浏览器。WEB浏览器解释执行结果并将其显示出来6。图1-1 Browser/Server模式的三层分布结构2 总体设计2.1功能模块设计系统从功能模块的角度上划分为以下几个功能模块:人员管理、能源管理、能源查询、用户缴费四大部分,以下是该系统的功能模块图见下图2-1:图2-1 系统模块图以下是各个模块具体实现功能介绍:1.人员管理功能:(1) 用户信息管理:用户登录、用户信息查询。(2) 管理员权限管理:1) 注册用户信息:包括添加用户的工号,姓名,单位,住址,电话等信息。2) 修改用户信息:包括修改用户的工号,姓名,单位,住址,电话等信息。3) 删除用户
9、信息:可以删除任意用户的信息。2.能源管理:(1) 能源用量管理:包括每月能源使用量的查询与预计。(2) 能源价格管理:能源价格的调整更新。3.能源查询 :查询能源情况,包括水、电、气等的单价和用户使用量。4.用户缴费信息查询:根据用户能源使用情况及能源价格由系统计算并给出用户需要交费的情况,可查到水、电、气等的用量及单价、费用、总价等。3 数据库设计3.1数据库概念结构设计概念结构设计的主要任务是根据用户需求设计数据库的概念数据模型。概念模型独立于具体的数据库管理系统,它描述的是从用户角度看到的数据库,反映了用户的现实环境,而与数据库将来怎样实现无关。在需求分析基础上设计出能够满足用户各种需
10、求的实体及它们之间的关系,从而为以后的逻辑结构设计作好铺垫。本系统实体E-R图: (1)数据库的管理员概念结构:(ER图)(2)数据库的能源概念结构:(ER图)(3)数据库的管理员概念结构:(ER图)(4)关系图:(ER图)3.2数据库逻辑结构设计逻辑设计是将现实世界的概念数据模型设计成为适应于特定数据库管理系统的逻辑数据模式。逻辑数据模式也被简称为逻辑模型或数据模式,关系数据库的数据模式是关系模式。如果数据库采用关系数据库,则需要把E-R图或类图描述的概念数据模型转换为等价的关系模式及其约束。1 权限表:字段名数据类型是否为空是否主键说明numberchar否是工号passwordchar否
11、否密码granchar否否是否管理员2. 能源单价表:字段名数据类型是否为空是否主键说明monthlong否是月份waterDecimal是否水单价electricityDecimal是否电单价gasDecimal是否气单价3.能源用量表:字段名数据类型是否为空是否主键说明monthlong否是月份numberchar否是工号waternumDecimal是否用水量electricitynumDecimal是否用电量gasnumDecimal是否用气量4.用户权限表:字段名数据类型是否为空是否主键说明numberChar否是工号nameChar是否姓名companyChar是否单位depart
12、mentChar是否部门addressChar是否住址phoneChar是否电话4 详细设计4.1系统总体结构设计开放式机房互动交流系统对用户进行权限设置,保证合法用户最大限度的获得自己的合法操作。用户的每次操作,系统都会对用户的身份作出验证,保证系统的最大安全性。由于系统的数据都保存在数据库中,所以当访问数据时,都要使用ADO进行数据访问,这样可以避免系统直接访问数据库,保证数据的安全。开放式机房互动交流系统主要包括以下功能:(1)用户信息查询(2)能源价格查询(3)能源用量查询系统的总体工作示意图如图4-1所示:图4-1 系统工作示意图4.2 系统登录模块的设计在这个能源管理收费系统中,由
13、登录主界面进行管理员权限确定,从而进入管理界面或是查询界面。在进行用户登录的时候,要求检验用户名和密码的一致性,否则不能登录。过程如下:输入:用户名和密码。处理:检验用户名和密码的一致性。输出:管理界面或是查询界面。根据上述功能介绍,得到该模块的程序流程图,如图4-1所示:图4-1 能源管理登陆模块流程图5 系统实现5.1登录模块的实现本页面为能源管理收费系统提供一个登录的界面。选择登陆身份:是否为管理员,点击登录,进入登陆界面。用户登录界面,如图5-1所示:*这是用户登录界面*图5-1 用户登录界实现的程序代码为:string pwd,gransle_1.text=trim(sle_1.te
14、xt)sle_2.text=trim(sle_2.text)gonghao=sle_1.textpwd=sle_2.textif sle_1.text= or sle_2.text= thenmessagebox(提示,请键入必要的信息,Information!)end if/if sle_1.text and sle_2.text then select Qualification.gran into :gran from Qualification where Qualification.number=:gonghao and Qualification.password=:pwd; if
15、 sqlca.sqlcode0 or sqlca.sqlcode=100 thenmessagebox(错误,无此用户,请检查用户名和密码+sqlca.sqlerrtext,Information!)elseif gran=rb_1.text thenopen(w_user)elseif gran=rb_2.text thenopen(w_manager)end ifend ifsle_2.text=sle_1.text=rb_1.checked=true5.2系统主界面设计登录以后,如果是管理员则进入信息管理模块:*这是能源价格管理模块*(下图)图5.2-2*这是能源用量管理模块*(上图)图
16、5.2-3实现的程序代码为:tab_1.tabpage_1.dw_1.settransobject(sqlca)tab_1.tabpage_1.dw_1.retrieve()int ll_infoif dw_1.deletedcount()0 or dw_1.modifiedcount()0 thenll_info=messagebox(提示,数据已经改动,确认修改?,Information!,yesno!,2)choose case ll_infocase 1dw_1.update()case 2returnend chooseend ifif dw_1.update()0 thencomm
17、it using sqlca;messagebox(提示,成功修改数据库,information!)end iftab_1.tabpage_2.dw_2.settransobject(sqlca)tab_1.tabpage_2.dw_2.retrieve()int ll_infoif dw_2.deletedcount()0 or dw_2.modifiedcount()0 thenll_info=messagebox(提示,数据已经改动,确认修改?,Information!,yesno!,2)choose case ll_infocase 1dw_2.update()case 2return
18、end chooseend ifif dw_2.update()0 thencommit using sqlca;messagebox(提示,成功修改数据库,information!)end iftab_1.tabpage_3.dw_3.settransobject(sqlca)tab_1.tabpage_3.dw_3.retrieve()int ll_infoif dw_3.deletedcount()0 or dw_3.modifiedcount()0 thenll_info=messagebox(提示,数据已经改动,确认修改?,Information!,yesno!,2)choose c
19、ase ll_infocase 1dw_3.update()case 2returnend chooseend ifif dw_3.update()0 thencommit using sqlca;messagebox(提示,成功修改数据库,information!)end iftab_1.tabpage_4.dw_4.settransobject(sqlca)tab_1.tabpage_4.dw_4.retrieve()int ll_infoif dw_4.deletedcount()0 or dw_4.modifiedcount()0 thenll_info=messagebox(提示,数
20、据已经改动,确认修改?,Information!,yesno!,2)choose case ll_infocase 1dw_4.update()case 2returnend chooseend ifif dw_4.update()0 thencommit using sqlca;messagebox(提示,成功修改数据库,information!)end if5.3 普通用户则进入用户查询模块实现的程序代码为:if ddlb_1.text= thenmessagebox(提示,请选择要查询的月份,Information!)elseyuefen=ddlb_1.textdw_1.settrans
21、object(sqlca)dw_1.retrieve(gonghao)dw_2.settransobject(sqlca)dw_2.retrieve(yuefen)dw_3.settransobject(sqlca)dw_3.retrieve(gonghao,yuefen)end if参考文献1 陈明. 软件工程学教程M.科技出版社,2002.2 萨师煊,王珊. 数据库系统概论(第三版)M . 高等教育出版社,2000.3汪晓平,钟军主编.PowerBuilder 9.0 网络开发技术M.北京:人民邮电出版社,2003.124王健南主编.PowerBuilder 9.0 数据库管理项目精解M.
22、北京:航空工业出版社,2006.10.5傅雅慧.戚红军.高宁军主编.基于Web开发科研管理与服务信息系统J.中华医学科研管理杂志,2004,03:89-91.总 结遇到的问题及解决方案(1) 在进行了需求分析后就开始画业务流程图、数据流图和E-R图等,但是发现画了很多次在后面的设计中总会有没想到的部分,主要原因在于对整个系统不太熟悉,没有系统的规划,后来通过自顶向下的方法,一步一步的分析并画出功能分析图,然后才进行具体的其他设计工作。(2) 在建立数据库的各基本表的过程中,总会出现错误,有语法错误,有变量同名错误,后来通过整体先进行逻辑结构设计先确定各变量名,边写SQL语言边执行,慢慢的出错就少了。(3) 在将设计的界面与数据库连接时总是连接不上,后来通过老师的指导慢慢的把不对的地方改了就连接成功了。专心-专注-专业