《oracle能源收费系统.doc》由会员分享,可在线阅读,更多相关《oracle能源收费系统.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流oracle能源收费系统学 号: 2009131104课 程 设 计课程名大型数据库题 目能源管理收费系统学 院计算机科学与信息工程学院专 业软件专业班 级学生姓名指导教师2011 年12月23日重庆工商大学课程设计成绩评定表学院:计信学院 班级:09软件一班 学生姓名:杨波 学号:2009131104项目分值优秀(100x90)良好(90x80)中等(80x70)及格(70x60)不及格(x60)评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较
2、认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、
3、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写
4、比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名: 年 月 日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 重庆工商大学 题 目: 能源管理收费系统已知技术参数和设计要求:根据所学习的oracle数据库,完成能源收费系统的设计,其中界面的设 计使用C#实现,数据库部分则有oracle数据库完成 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 能源管理收费系统(该题目可以由2个同学一
5、起完成、每个同学完成相应任务) 1、系统功能的基本要求: 由同学A完成: (1)用户基本信息的录入:包括用户的单位、部门、姓名、联系电话、住址 (2)用户水、电、气数据的录入(每个月的数据的录入); (3)水、电、气价格的管理 由同学B完成: (1)工号的管理 (2)查询、统计的结果打印输出。 (3)系统维护时间安排:12月10日至于12月26日指导教师签名: 年 月 日目录 一可行性研究报告1.1设计背景.71.2开发背景.71.3系统所需实现功能.7二 需求分析2.1用户需求分析.82.2管理员需求分析.82.3系统需求分析.82.4系统功能结构图.82.5数据流图.9 2.5.1总体数据
6、流图.9 2.5.2一层数据流图.9 2.5.3二层数据流图.102.6数据字典.11三 概要设计3.1主界面设计.123.2系统E-R图.12 3.2.1用户信息实体图.12 3.2.2管理员信息实体图.13 3.2.3账号信息管理实体图.13 3.2.4能源信息实体图.14 3.2.5历史信息实体图.14 3.2.6总体E-R图.143.3数据库设计.15 3.3.1关系模式.15 3.3.2相应的表及其结构.15四 各模块详细设计说明4.1主界面描述.164.2用户功能描述.174.3管理员功能描述.18五 详细设计5.1流程图.185.2调试分析.19 5.2.1登录界面.19 5.2
7、.2普通用户功能.21 5.2.3管理员功能.24六 用户使用说明6.1用户使用说明.27七 参考文献7.1管理员功能描述.27八 总结8.1管理员功能描述.27九 程序源代码9.1管理员功能描述.28 能源管理收费系统 作者:杨波,阮海 指导教师:刘波 一 可行性分析1.1设计背景随着时代的发展,用户对效率要求越来越高,老式的人工能源收费已经不能满足用户的要求,特别是对于大的能源收费管理,人们不仅查询和缴纳费用不方便,管理员也不方便对用户的管理,如果有了一个软件能够方便的管理这些繁琐的事情,将大大的提高整个流程,所以设计一个能源收费管理系统是非常有必要的。该系统的设计主要是用于帮助一个小型能
8、源收费站点的管理,通过该系统,用户可以很方便的查询自己每月份所需要交纳的水,电,气费用,而管理员则可以通过该系统方便的管理用户,并且及时的将每月的水电气费用和用户所需缴纳的费用放入该系统中,从而帮助管理员和用户更方便有效的完成自己的工作。1.2开发环境该能源收费管理系统的开发与运行环境如下:开发环境:Windows 7;辅助工具:C#,word绘图工具;数据库管理系统:oracle数据库;运行环境:Windows XP/7;1.3系统所需要实现的主要功能 系统总体功能要求是为了方便用户操作,和查看能源消费情况,并且帮助管理员更有效,方便的管理用户和能源收费。将其细分可分为用户,管理员和系统三方
9、面的需求,其主要功能如下:(1) 用户基本信息的录入:包括用户的单位、部门、姓名、联系电话、住址;(2) 用户水、电、气数据的录入(每个月的数据的录入);(3) 水、电、气价格的管理;(4) 工号的管理;(5) 查询、统计的结果打印输出;(6) 系统维护; 二 需求分析2.1 用户需求分析(1) 用户通过账号,密码登录该系统后才能进行后面的步骤;(2) 用户可以查看自己的个人信息(包括用户的单位、部门、姓名、 联 系电话、住址);(3) 用户可以查询自己的消费记录和水,电,气数据的具体价格及变 化;(4)用户可以修改自己的个人信息和个人密码;(5)用户可以查看自己所缴纳费用的历史记录。2.2
10、管理员需求分析(1) 管理员也需通过账号,密码登陆以后才能进行后面的步骤;(2) 管理员可以查看和修改用户的基本信息(包括用户的单位、部门、 姓名、联系 电话、住址);(3) 管理员可以添加和删除用户;(4) 管理员可以对所有用户使用的水,电,气数据进行录入(每个月 的数据的录入);(5) 管理员可以修改相应的水,电,气价格的数据;(6) 管理员可以修改用户的密码。2.3 系统需求分析(1) 对计算机的配置要求一般,所需的开销较小;(2) 开发工具为.NET(C#)和oracle数据库;能源管理系统2.4 系统功能结构图账号密 码管理登 录 系 统历 史 记 录管理能 源 信 息管理个 人 信
11、 息管理2.5 数据流图:由于该系统的设计主要涉及到用户的查询和管理员的管理,而他们之间的联系相对较少,所以数据流图相对较为简单,数据的总体流程2.5.1总体数据流图能源管理收费系统登录管理员登录提示登录用户登录提示管理用户信息查看个人信息管理账号,密码查看收费信息管理能源费用查看历史记录管理历史记录修改密码顾客信息数据库 管理员信息 账号信息能源费用记录历史信息2.5.2 一层数据流图用户表1 个人 信息 存放查看数据库能源信息表 2 费用 信息存放用户需缴纳费用存放历史纪录表 3 历史 记录查看历史记录存放修改账号信息表 4 密码 信息2.5.3 二层数据流图用户表1 用户 信息 管理和修
12、改存放数据库 2 能源 信息管理员能源信息表能源价格录入存放 3 费用 信息能源费用录入存放管理与录入历史纪录表 4 历史 记录存放管理账号密码账号管理表 5 账号 信息2.6 数据字典名字:用户信息描述:描述用户的个人基本信息定义:由用户的姓名,性别,所在的单位,联系电话,地址和用户编号组成位置:用户信息表名字:能源使用信息描述:描述了用户使用能源的情况定义:由用户水,电,气的价格,使用量,用户编号和月份组成位置:能源使用信息表名字:历史信息描述:记录了用户所有的能源使用信息定义:由用户编号,用户使用水,电,气总量组成位置:历史信息表名字:管理员信息描述:记录了管理员的个人信息定义:由管理员
13、姓名,性别,联系电话,地址,所属部门和管理员编号组成位置:管理员信息表名字:不成功提示描述:返回用户各种操作不成功的原因 ;不返回系统级错误 ;定义:用户人为操作失败的原因位置:建立用户,登录处理名字:成功提示描述:当删除用户成功后返回给用户的相关信息 ;定义:包含删除用户的用户名和删除该用户对系统的影响 ;位置:建立用户,登录处理名字:账号密码信息描述:记录了管理员和用户的账号,密码信息,用于登录该系统定义:由管理员和用户的账号,密码组成位置:账号密码表 三 概要设计3.1 主界面的设计为了实现上述的各项功能,我们需要设计一个可以直接使用并且帮助管理员和用户直接使用的菜单运行界面,该界面能将
14、上述的所有功能具体的实现,能真正的供管理员和用户使用,用户和管理员通过该图形界面的相关操作便可以直接得到他们想要的得到的结果,由于下面将详细的讲述该系统的使用发法,所以这里不在将图进行展示。3.2 系统E-R图根据上缅的数据流图和数据字典,我们可以画出相应的E-R图3.2.1用户信息实体图所在单位部门用户编号用户姓名地址联系电话用户信息3.2.2管理员信息实体图管理员编号所在部门管理员姓名联系电话地址管理员信息管理员密码账号,密码信息用户账号用户密码管理员账号3.2.3账号,密码信息管理实体图3.2.4能源信息气价格电价格水价格月份缴纳气费缴纳电费用户编号缴纳水费历史信息总应缴纳费用应缴纳气费
15、使用气量使用电量应缴纳电费月份用户编号使用水量应缴纳水费能源信息3.2.5历史信息实体图总加纳用3.2.6总以E-R图n1查看历史信息1组成nn1n查看管理能源使用情况用户1nnn录入管理登录nnn1n登录账号密码信息管理员3.3 数据库设计3.3.1 关系模式用户(用户编号,姓名,联系电话,部门,所在单位)管理员(管理员编号,管理员姓名,管理员地址,联系电话,部门,所在单位)能源的价格(用户编号,姓名,月份,需缴水费,需缴电费,需缴气费)历史信息(用户编号,姓名,月份,已缴纳水费,已缴纳电费,已缴纳气费)账号信息(用户编号/管理员编号,账号,密码)3.3.2 相应的表及其选项(1)用户信息表
16、字段名数据类型是否为空是否主键说明u_idvarchar否是用户编号u_manevarchar是否姓名u_conmpanyvarchar是否所在单位u_deptvarchar是否部门u_telvarchar是否联系电话u_addressvarchar是否地址(2)用户信息表字段名数据类型是否为空是否主键说明u_idvarchar否是管理员编号u_manevarchar是否姓名u_conmpanyvarchar是否所在单位u_deptvarchar是否部门u_telvarchar是否联系电话u_addressvarchar是否地址(3)能源信息表字段名数据类型是否为空是否主键说明s_timeDa
17、tetime否否用户编号e_timeDatetime否否姓名p_waterFloat是否需缴水价p_eletricityFloat是否需缴电价p_gasfloat是否需缴气价p_idint是是月份(4)能源信息表字段名数据类型是否为空是否主键说明s_timeDatetime否否用户编号e_timeDatetime否否姓名p_waterFloat是否已缴水价p_eletricityFloat是否已缴电价p_gasfloat是否已缴气价p_idint是是月份(5)账号信息表字段名数据类型是否为空是否主键说明namechar否是用户编号账号passwchar是否密码 四 各模块详细设计说明4.1主界
18、面描述: if (RadioButton1.Checked) /选中的为普通用户 string mySel=select count(*) as iCount from userinfo where userid=+userid+and info=客户; /若存在该用户则返回 iCount等于1 OracleCommand myCmd1 = new OracleCommand(mySel,conn);若选择了普通用户,程序就会重此开始执行,这里我的select语句设置了两个判断条件,分别是(用户名:userid和info:客户)。数据库在查询的时候必须满足这两个条件才会进行下一步操作。Coun
19、t(*) as iCount 的意思是若查到一条数据,则返回iCount等于1,两条则返回iCount等于2。else /选中的为管理员 string mySel = select count(*) as iCount from userinfo where userid= + userid+ and info=管理员; /若存在该用户则返回iCount等于1 OracleCommand myCmd1 = new OracleCommand(mySel, conn);管理员一致,只是在查询条件info语句时改为管理员。4.2用户功能描述:不同用户显示不同姓名:string userid = R
20、equest.QueryStringuserid.ToString();将登录页面输入的用户名赋给userid;mySel = select * from userinfo where userid= + userid + ;sql语句,查询userid那一行;OracleCommand myCmd = new OracleCommand(mySel, conn);OracleDataReader Dr; 定义一个数据读写器变量Dr;Dr = myCmd.ExecuteReader();将刚刚查询语句返回的那一行赋给Dr;Dr.Read();将这一行读出来;name = Dr姓名.ToStri
21、ng();将姓名这一列的值赋值给name;Label2.Text = name.ToString ();显示出来;查看个人信息:string MySel = select 姓名,单位,部门,住址,联系电话 from userinfo where userid=+userid+;查询水电气费:string month = DropDownList1.ItemsDropDownList1.SelectedIndex.Value;将用户选择的当前那一项赋值给month;(如:三月份)string MySel = select 水费,电费,气费 from costinfo where 月份= + mo
22、nth + and userid= +userid + ;退出:Response.Redirect(default.aspx);返回登录界面。修改密码:string userid = Request.QueryStringuserid.ToString();将登录页面输入的用户名赋给userid;string MySel = update userinfo set password= + pwd3 + where password= + pwd1 + and userid= + userid + ;这里用两个查询条件 ,特别是userid这个条件,是避免任意一用户输入错误修改到其他用户的密码,
23、因为userid是登录进来的那个用户的用户名,也就是说只能修改本人的密码。OracleCommand Ocd = new OracleCommand(MySel, conn);4.3管理员功能描述:查看客户信息;string MySel = select 姓名,userid,单位,部门,住址,联系电话 from userinfo where info=客户;只显示客户的信息,不显示管理员的信息。OracleDataAdapter Apt = new OracleDataAdapter(MySel ,conn);添加客户信息:string MySel = insert into userinfo
24、 values( + name + , + danwei + , + bumen + , + adress + , + tel + , + info + , + userid + , + pwd + );OracleCommand Ocd = new OracleCommand(MySel ,conn);添加水电气费:string MySel = insert into costinfo values( + name + , + userid + , + month+ , + shuifei + , + dianfei + , + qifei + );OracleCommand Ocd = n
25、ew OracleCommand(MySel, conn);修改密码代码与普通用户一致。 五 详细设计5.1流程用户基本信息图能源使用情况用户端用户历史记录查询修改密码登陆用户基本信息管理员端管理员能源价格管理修改用户密码数据的录入5.2调试分析5.2.1登陆界面:此模块分为普通用户和管理员的登陆。现有一普通用户,用户名为:2009131101; 密码为:131101;现有一管理员, 用户名为:2009131104; 密码为:131104;若此时有一管理员登陆,但是他选择的是普通用户,则系统会显示:若此时密码输入错误,则系统会显示:若用户没输密码,则系统会显示:若用户没输用户名,则系统会显示:
26、若点击取消按钮,则系统会显示:5.2.2普通用户功能:若现有一普通用户,姓名:老牛;用户名:2009131101;密码:131101;此时他输入了正确的用户名、密码,则系统弹出普通用户的界面:特别注意的是这里:不同的用户会显示不同的名称,若用一管理员登陆,得:进入到本页面后,可以进行个人信息查询,点击“点击查看”按钮,得:可以进行水电费查询。如果此时为一月份,用户选择一月份,点击“查询”,得:如果此时为五月份,用户选择五月份,点击“查询”,得:用户可以选择一 十二月份查询,如:如果现在是六月份,用户选择查询七月份,则系统不会返回结果。因为数据库还没有七月份的值,而七月份的值需要管理员到了七月底
27、根据工作人员查到用户用了多少水电气添加到数据库里,然后用户才能查询到值。用户可以修改密码。假如就是这个老牛用户,他现在的密码是131101,将它改为13110;数据库原始值:密码(password)=131101修改后:查看数据库:密码(password)=13110;证明修改成功。在本页面点击“退出”,系统将返回登录页面。5.2.3管理员功能:若现有一管理员,姓名:杨波;用户名:2009131104;密码:131104;此时他输入了正确的用户名、密码,则系统弹出管理员的界面:进入到本页面后,因为是管理员,所有可以查看客户信息,点击“点击查看”按钮,得:可以添加客户信息,只不过必须一次性输入全
28、部信息,考虑到程序设计的复杂性,这里没有做得很完善,请谅解。添加用户如:重新查看客户信息,可以马上看到我们添加的客户。如:“小五 2009131109 交通大学 土木工程系 南平六公里 13945687542”管理员管理每月的水电气费,使客户能方便的查看到该缴多少费用,所以管理员可以添加客户本月水电气费用。这里最理想的情况是管理员不用输入月份,而是根据系统时间自动识别月份添加,但是由于相关知识缺乏,该功能未能实现,请谅解。假设现在有一客户水电气费用需要添加。如:(姓名:老牛;用户名:2009131101;月份:七;水费:24;电费:11;气费:45)再进入到普通用户“老牛”查看。可以修改密码:
29、管理员杨波原密码为131104;修改为13110;查看数据库若两次新密码输入不一致,则系统显示为: 六 用户使用说明用户说明: 用户如果想要进入该系统,需要有正确的账号和密码,在提示的地方将相应的账号,密码输入后点击确定即课进入该系统的用户使用界面,如果输入错误,系统将给予提示。在查看个人信息框中,点击旁边的“点击查看”按钮即可查看用户的个人信息,在查询水,电,气费框中,选定查询的月份,点击“查询”按钮即可查询相应的费用信息。同时在该界面的右下角,用户可以修改自己的账号信息。管理员说明: 管理员如果想要进入该系统,需要有正确的账号和密码,在提示的地方将相应的账号,密码输入后点击确定即课进入该系统的管理员使用界面,如果输入错误,系统将给予提示。在添加用户信息栏中添加用户的信息,检查确认后,点击“确认”按钮即可完成新用户的添加,添加水,电,气费用的使用方法与之一样,同时管理员也有修改其密码的功能。 七 参考文献Oracle 9i&10g编程艺术:深入数据库体系结构 (人民邮电出版社) -作者:Thomas KyteC#面向对象程序设计(人民邮电出版社) -作者:郑宇军 八 总结 通过对该能源收费系统的设计,我们基本能实现其主要功能,该系统的设计要求我们要更好更仔细的去设计每一个模块,通过不断地设计和修改,再加上老师的建议和辅导,设计完成后使我们所学习到的知识有了很大