企业用电管理系统设计Word格式文档下载.doc
《企业用电管理系统设计Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《企业用电管理系统设计Word格式文档下载.doc(54页珍藏版)》请在冰豆网上搜索。
2.2数据需求分析 2
3系统设计 3
3.1功能模块设计 3
3.2数据库概念设计 4
3.2.2E-R图 4
3.3数据库逻辑设计 5
3.4数据库物理设计 5
3.5数据库表间联系 6
4系统实现 6
4.1登陆模块实现 6
4.2查询模块实现 7
4.3添加模块实现 8
4.4删除模块实现 9
4.5修改模块实现 10
4.6生成电费单模块实现 10
5代码调试与功能测试 11
5.1测试方案 11
5.2测试结果 12
6收获与体会 16
参考文献 17
附 录 18
附录1源程序部分清单 18
3
企业用电管理系统设计
1课题内容和要求
1.1课题描述
系统设计的的信息有:
(1)用电企业(用电企业编号、用电企业名、地址、电话、联系人);
(2)电费信息(谷价、峰价);
(3)用电情况(用电企业编号、谷电量、峰电量、年月、年合计用电量、年合计用电费)。
1.2课题要求
要求能够进行如下操作:
(1)能够统计各个用电企业的月耗电量以及电费;
(2)能够统计查询各个用电企业的总的谷电量和峰电量;
(3)能够统计该地区的峰谷电量比例以及电费情况;
(4)能维护基本数据;
(5)用户分级管理,人机界面良好。
2需求分析
2.1对功能的规定
1、理解需求
理解需求是在问题及其最终解决方案之间架设桥梁的第一步。
开发者只有和用户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。
下面是对系统的终端用户和客户调研后得到的需求规格说明书。
(1)由于使用者为相关电力部门及学习使用,系统开始时,便可以进入到欢迎界面。
(2)进入到系统之后,友好的界面可以很清晰的分为企业信息管理跟企业用电信息管理两大选择。
(3)点击企业信息管理,下拉菜单中选项可以实现对企业信息的查询、添加、修改、删除操作。
(4)点击企业用电管理信息,下拉菜单中选项可以实现对企业用电管理信息的查询、添加、修改和删除操作。
(5)系统客户端运行在Windows平台下,服务器可以运行在Windows或Unix平台下。
系统还应该有一个较好的图形用户界面。
(6)系统应该有很好的可扩展性。
2、需求分析
需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,确定系统的功能需求。
这个步骤是对理解需求的升华,直接关系到该系统的质量。
分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。
2.2对性能的规定
1、精度
在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。
如:
根据关键字精度的不同,查找可分为精确查找和泛型查找,精确查找可精确匹配系统使用者所知道的企业名称及编号快速便捷的查询所要知道的信息。
2、时间特性要求
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。
3、灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
2.2数据需求分析
数据字典
(1)factory
名称:
factory
别名:
无
描述:
企业的基本信息
组成:
factory=(num+facname+repname+tel+usefnum+usegnum+usemoney)
(2)worker
worker
员工及管理员的基本信息
worker=(id+workername+password+level)
3系统设计
3.1功能模块设计
3.2数据库概念设计
3.2.1实体属性图
3.2.2E-R图
3.3数据库逻辑设计
企业(编号,企业名,法人代表)
电价(峰电量,谷电量,峰电价,谷电价,总电费)
系统用户(编号,姓名,密码,权限)
3.4数据库物理设计
表一:
列名
数据类型
允许Null值
num
varchar(50)
是
facname
repname
tel
usefnum
int
usegnum
usemoney
001
新华书店
陈国勇
17802590001
1314
1022
2333
002
苏果超市
陈博文
17802590002
1516
2253
2863
003
微软公司
毕世勇
17802590003
3685
2467
4952
004
乐天玛特
丁小杰
17802590004
3011
2794
3105
005
三厂中学
陈家勇
17802590005
2422
1974
2875
表二:
id
否
workername
password
[level]
111
张三
123456
112
李四
113
熊大
2
114
熊二
3.5数据库表间联系
数据库中所建的两张表factory与worker之间并没有任何直接的联系,一个代表的是企业信息,一个代表的是员工信息。
4系统实现
4.1登陆模块实现
privateclassButtonactionPerformedimplementsActionListener
//为登陆按钮ButtonactionPerformed添加事件监视器
{
publicvoidactionPerformed(ActionEvente)//从worker表中获得元组信息进行登陆,下面为获得元组登陆代码
{
a=username2.getText();
s=password2.getText();
try
{
conn=DriverManager.getConnection(url,user,password);
conn.setAutoCommit(true);
System.out.println("
和数据库已经建立连接!
!
"
);
stmt=(Statement)conn.createStatement();
rs=(ResultSet)stmt.executeQuery("
select*fromworker"
if(c.equals(a)&
&
b.equals(s))
message.setText("
姓名和密码不能为空"
}
elseif(true)
while(rs.next())
if(rs.getString
(2).equals(a)&
rs.getString(3).equals(s)&
rs.getInt(4)==level)
{
message.setText("
数据库连接成功!
if(level==1)
{
operate2app2=newoperate2();
app2.setLocationRelativeTo(null);
}
else
operateapp3=newoperate();
app3.setLocationRelativeTo(null);
else
用户名和密码或者身份不正确"
}
rs.close();
stmt.close();
conn.close();
4.2查询模块实现
//为查询按钮ButtonactionPerformed添加事件监视器
{
publicvoidactionPerformed(ActionEvente)
//从worker表中获取元组,并且显示在系统上
facname=search.getText();
try
conn=DriverManager.getConnection(url,user,password);
conn.setAutoCommit(true);
System.out.println("
stmt=(Statement)conn.createStatement();
rs=(ResultSet)stmt.executeQuery("
select*fromfactory"
while(rs.next())
if(rs.getString
(2).equals(facname))
text1.setText(rs.getString
(1));
text2.setText(rs.getString
(2));
text3.setText(rs.getString(3));
text4.setText(rs.getString(4));
text5.setText("
+(rs.getInt(5)));
text6.setText("
+rs.getInt(6));
text7.setText("
+rs.getInt(7));
4.3添加模块实现