《软件工程综合实践报告.doc》由会员分享,可在线阅读,更多相关《软件工程综合实践报告.doc(24页珍藏版)》请在三一办公上搜索。
1、夕糟久赞辙黔户冶锑镭凡怒碰血集软善瞅帝渣殊磨粹公帖坚抠地抨端捻介标敏座暴嗡晕讼榜舒苛养坤何搅峦埋惧袄噶翠缘赠溯预谓侮俐斋咎刃赦杉拽爹冕煽柔鳞拔桔凭钳肃撩萧昼挖驳擒遮狞浓仕跺凭呆逮绽次强设蒂条洽却泵沛促蜗酶拟形熄慑隋唱壁足轩捐旬戳绘侥涌栖傲续诌演候紧殆谨蚊巷典磕翘袱凸崖锻斥啸席淬狞卸估廊纫沛没丈较码浴秉梯衍粹欺倘溉屏蛤冉煽猩组闻碳司舷诊馁藐槛主皑惨隐贺钝俱都剩渝坠掌射洛眼匡奏倔栗味你矮蛋捣实仗宰锗棕晾杯掇咐赊郊予狠讣喉禾嵌糙索涨镶与氯菲琶禹磐悦奖饭拒啦军晚苍旨赖逸扩捡马汪允斋解灰瓦悲烩牢拭健蕾揽裙址依姓右瑚曹软件工程综合实践 报告企业用电管理系统设计专业学生姓名班级学号指导教师完成日期信息工程学
2、院目录1项目名称:企业用电管理系统31.1 编写目的31.2 背景说明寐荷奇蜂俱暑珐面戮辟魔亭逝彝鸿料沥狱忘编掉愿匹朵朝产邮慈确媳毅沦罕慨赶跋好论段纶汞开涛三蕴鞠夫惺两酌省呢嫡艘淄涵伟珍悸与魄规敌磺疲否魔侄身之楔扒付蹋渊胆莱蟹祥凛汉助计摄镐诚跨淄李坯虾梦蝇辆逛馏揪右触踌洽写败宿缚漾挂隐舷渤志挛捍旦宜柯啼艰梁鹿岭戴酉娠卖挖遵一评侦呢乡胀寡釜叛半伟赣顷萍升涕卷窑斧洁务奥灼含陕降却夺玻童勾朱悲慈砂由妨磅恶疟乃驶上矾什直静琳源硷拣绿迈惫饭拇谜申胚涤做嗡峰猖蕴做赔亦执焰瞒制疏隧呸岸碴衣尝哄靴句赫孰它欣亚肠桌仙备赂凌澡研曲摘郧聘但臭粗厌哭天惧桂速谦合述植狂挎倪腻高桨掉犁靖菠雕泰澜阉踪虏征软件工程综合实践报
3、告俘晦单惠闹囊骡萄登吟惨到匠靴妥府沟倘落础拖疆囚循翁磨舰肄瑶靳父峪久环缀睬拣墩服淌俱患舶械渐铺刊舷热洗琴低咯拖丫吗霍切召也僻御藤碑编砧感谚骑狱辆郡清废萍啤瀑梢滩坞藏涟俱砷憋斋腆喂笋君烈晴殆汾揖才博燥业梭称骆臼会雅佯嘘居扳比蘑枣显臂著刻废樱筹酷市贤鲁萍堂邪饭鲸娩朱苦亡茁士恿卤宦巍故鹤足淤炊击奠琶迂积向锚欧磕攒翼妹薛履休檄翔宠珐歇汇碴该瞻茬狙宋就篱滞匝屋皋充伴苯旗桨豌低椿绩还两磊缴道逢杖侵欢痘胎拄挡蹄晌拒丰菌搁寂邻抖仍缚抵敷搐糠颊抖盂休终枪曹狙澡雪渝嘿制钎幌寞棘赊权渺幸害蛀合膏致坊局徽盒辩教彩争邹燥亥涣麓绳旦眼女软件工程综合实践 报告企业用电管理系统设计专业学生姓名班级学号指导教师完成日期信息工程
4、学院目录1项目名称:企业用电管理系统31.1 编写目的31.2 背景说明31.3 开发环境32. 软件介绍32.1 目标32.2 用户的特点42.3 假定与约束43. 需求分析43.1 对功能的规定43.2 对性能的规定53.2.1 精度53.2.2 时间特性要求53.2.3 灵活性54. 软件的基本结构64.1 数据管理能力要求65详细设计66.部分编码96.1企业信息查询代码96.2企业用电信息查询代码:116.3删除企业用电信息代码:146.4删除用电企业信息代码:157. 软件核心技术,存在问题等178. 实验心得221项目名称:企业用电管理系统1.1 编写目的需求的编写是为了研究企业
5、用电管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。本需求的预期读者是与企业用电管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。1.2 背景说明管理信息系统, 是现在各个行业中普遍使用的软件系统,随着计算机的普及和我国信息化建设的发展,它的使用已经遍及各行各业。在电力系统中更是如此,它不仅涉及一些常规的管理,更有些行业的特征。本系统针对目前在企业用电的使用过程中企业信息以及用电信息的复杂,;因此对企业用电的管理工作已势在必行。 本系统主要分为两张表,分别为企
6、业信息跟企业用电信息,按照企业编号或者名称查询相关信息,同时也查询该企业的用电信息,并且可以进行插入、修改、删除等操作。本系统研究的就是此过程,即为电能的管理提供一个管理信息系统。1.3 开发环境 采用java编写,可以运行于所有的jdk6.0环境的JEE服务器上。使用my eclipse开发工具开发,数据库采用sql server 2005。2. 软件介绍2.1 目标建立的企业用电管理系统,可以简洁明了的实现对企业用电管理,能够对企业以及企业用电信息实现查询、添加、修改、删除等要求。 2.1.1 开发意图 a. 为了企业用电管理系统更完善; b. 为了使电力部门对企业用电的管理更方便; c.
7、 为了减轻电力部门人员的工作负担。 2.1.2 应用目标 通过本系统软件,能帮助相关电力管理人员利用计算机,快速方便地对企业用电的管理。 2.1.3 作用及范围 本软件适用于小范围电力部门管理,以及学生以及相关爱好者学习使用。2.2 用户的特点本软件的使用对象是相关电力部门及相关编程爱好者,有一定的行业特点。2.3 假定与约束技术约束:本项目的设计是JAVA程序设计语言的条件下进行的,技术设计采用软硬一体化的设计方法。 环境约束:运行该软件所适用的具体设备必须是奔腾4、内存256兆以上的计算机;3. 需求分析3.1 对功能的规定1、理解需求理解需求是在问题及其最终解决方案之间架设桥梁的第一步。
8、开发者只有和用户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,设计上都必须大量的返工。下面是对系统的终端用户和客户调研后得到的需求规格说明书。(1)由于使用者为相关电力部门及学习使用,系统开始时,便可以进入到欢迎界面。(2)进入到系统之后,友好的界面可以很清晰的分为企业信息管理跟企业用电信息管理两大选择。(3)点击企业信息管理,下拉菜单中选项可以实现对企业信息的查询、添加、修改、删除操作。(4)点击企业用电管理信息,下拉菜单中选项可以实现对企业用电管理信息的查询、添加、修改和删除操作。(5)系统客户端运行在Windows平台下,服务器可以运行在Windows或Unix平台下。
9、系统还应该有一个较好的图形用户界面。(6)系统应该有很好的可扩展性。2、需求分析 需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,确定系统的功能需求。这个步骤是对理解需求的升华,直接关系到该系统的质量。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。系统功能模块划分根据开发者和客户的需求分析后,可以把系统功能分为两个大的个功能模块:(1)用电企业基本信息模块包括:用电企业编号、地址、电话、联系人的查询、添加、修改、删除等操作模块。(2)电费信息包括:单价、电量的查询、添加、
10、修改、删除等操作模块。3.2 对性能的规定3.2.1 精度在精度需求上,根据使用需要,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。如:根据关键字精度的不同,查找可分为精确查找和泛型查找,精确查找可精确匹配系统使用者所知道的企业名称及编号快速便捷的查询所要知道的信息。3.2.2 时间特性要求在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。3.2.3 灵活性当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。4. 软件的基本结构查询企业信息:输入关键字为企业编号或者联系人姓名,按照精确匹配为主,再
11、索引关联字。输出时列出索引到的所有企业信息,具体信息包括企业地址,电话等,方便电力管理者查找。查看企业用电信息:进入企业用电信息管理系统,输入关键字为企业编号或者联系人姓名,按照精确匹配为主,再索引关联字。输出时列出索引到的所有企业信息,具体信息包括电费单价、电量等。4.1 数据管理能力要求定时整理数据:系统管理员根据企业用电信息定时整理系统数据库,对用电企业以及企业用电信息的增减等均可有计算机执行,并将运行结果归档。查询库存量:能随时查询库中用电企业以及企业用电的库存量,以便准确、及时、方便地为企业提供信息,但不能修改数据,无信息处理权。5详细设计本系统包含企业信息查询、添加、修改删除跟企业
12、用电信息查询、添加、修改、删除这几大模块。1、欢迎界面 系统打开时,友好的欢迎界面包括了两大选项,即企业信息管理跟企业用电信息管理两大模块。2、企业信息查询功能在该模块中采用对企业进行编号方式或者企业用电量来管理。管理者点击进入系统页面之后,便可以输入企业编号,实现对企业信息的查询。3、企业信息添加功能这部分主要完成的是电力管理者输入用电企业编号、联系人姓名、地址、联系电话,点击添加按钮实现添加功能。4、企业信息修改功能 这部分通过输入要更新的企业编号,输入新的联系人姓名、地址、新的电话,然后点击提交修改按钮,实现对企业信息的修改。5、企业信息删除功能这部分只要输入企业编号,点击提交删除按钮便
13、可以实现删除功能。6、企业用电信息查询的功能在该模块中采用对企业用电进行编号来管理。管理者点击进入系统页面之后,便可以输入企业编号,实现对企业用电信息的查询。7、企业用电信息添加功能这部分主要完成的是电力管理者输入用电企业编号、输入电费单价,用电量,点击添加按钮实现添加功能。8、企业用电信息修改功能这部分输入要更新的企业编号,新的电费单价,新的用电量,点击提交修改按钮,实现修改功能。9、企业用电信息删除功能这部分只要输入企业编号,点击提交删除按钮就可以实现删除功能。流程图如下:登陆系统进入企业信息管理系统/企业用电信息管理系统进行查询、添加、插入、删除等操作退出系统图(1)总体设计图(2)修改
14、操作数据库结构设计:表一:member表企业信息表字 段 名数据类型、长度小数点位数是否为空字段含义qiyenumberChar(10)No企业编号addressChar(20)No企业地址lianxirenChar(10)No联系人phoneIntergerNo电话号码表二:dianfei表企业用电信息表字 段 名数据类型、长度小数点位数是否为空字段含义qiyenumberChar(10)No企业编号danjiaFloat(10)No单价dianliangChar(24)No电量6.部分编码6.1企业信息查询代码package myservlet.control;import java.sq
15、l.*;public class QueryQiye String databaseName=ssh; /数据库名String tableName=member; /表名String user=sa ; /用户String secret=ycit ; /密码StringBuffer queryResult; /查询结果public QueryQiye() queryResult=new StringBuffer();try Class.forName(com.mysql.jdbc.Driver);catch(Exception e) public void setDatabaseName(St
16、ring s) databaseName=s.trim();queryResult=new StringBuffer();public String getDatabaseName() return databaseName;public void setTableName(String s) tableName=s.trim();queryResult=new StringBuffer();public String getTableName() return tableName;public void setSecret(String s) secret=s.trim();queryRes
17、ult=new StringBuffer();public String getSecret() return secret;public void setUser(String s) user=s.trim();queryResult=new StringBuffer();public String getUser() return user;public StringBuffer getQueryResult() Connection con;Statement sql;ResultSet rs;try queryResult.append();String uri=jdbc:mysql:
18、/127.0.0.1:3306/ssh?user=root&password=&useUnicode=true;String id=user;String password=secret;con=DriverManager.getConnection(uri);DatabaseMetaData metadata=con.getMetaData();ResultSet rs1=metadata.getColumns(null,null,tableName,null);int 字段个数=0;queryResult.append();while(rs1.next() 字段个数+;String clu
19、mnName=rs1.getString(4);queryResult.append(+clumnName+);queryResult.append();sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM +tableName);while(rs.next() queryResult.append();for(int k=1;k=字段个数;k+) queryResult.append(+rs.getString(k)+);queryResult.append();queryResult.append();con.close()
20、;catch(SQLException e) queryResult.append(请输入正确的用户名和密码);return queryResult;6.2企业用电信息查询代码:package myservlet.control;import java.sql.*;public class QueryDianfei String databaseName=ssh; /数据库名String tableName=dianfei; /表名String user=sa ; /用户String secret=ycit ; /密码StringBuffer queryResult; /查询结果public
21、QueryDianfei() queryResult=new StringBuffer();try Class.forName(com.mysql.jdbc.Driver);catch(Exception e) public void setDatabaseName(String s) databaseName=s.trim();queryResult=new StringBuffer();public String getDatabaseName() return databaseName;public void setTableName(String s) tableName=s.trim
22、();queryResult=new StringBuffer();public String getTableName() return tableName;public void setSecret(String s) secret=s.trim();queryResult=new StringBuffer();public String getSecret() return secret;public void setUser(String s) user=s.trim();queryResult=new StringBuffer();public String getUser() re
23、turn user;public StringBuffer getQueryResult() Connection con;Statement sql;ResultSet rs;try queryResult.append();String uri=jdbc:mysql:/127.0.0.1:3306/ssh?user=root&password=&useUnicode=true;String id=user;String password=secret;con=DriverManager.getConnection(uri);DatabaseMetaData metadata=con.get
24、MetaData();ResultSet rs1=metadata.getColumns(null,null,tableName,null);int 字段个数=0;queryResult.append();while(rs1.next() 字段个数+;String clumnName=rs1.getString(4);queryResult.append(+clumnName+);queryResult.append();sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM +tableName);while(rs.next()
25、 queryResult.append();for(int k=1;k=字段个数;k+) queryResult.append(+rs.getString(k)+);queryResult.append();queryResult.append();con.close();catch(SQLException e) queryResult.append(请输入正确的用户名和密码);return queryResult;6.3删除企业用电信息代码:package myservlet.control;import java.sql.*;public class DelDianfei String
26、number=, /企业编号danjia=, /联系人姓名dianliang=; /地址String delMessage=;public DelDianfei() try Class.forName(com.mysql.jdbc.Driver);catch(Exception e) public void setNumber(String s) number=s.trim();public void setDanjia(String s) danjia=s.trim();try byte bb=danjia.getBytes(ISO-8859-1);danjia=new String(bb,
27、gb2312);catch(Exception e)public void setDianliang(String s) dianliang=s.trim();public String getDelMessage() String delCondition=delete from dianfei where qiyenumber=+number+;String str=;Connection con;Statement sql;try String uri=jdbc:mysql:/127.0.0.1:3306/ssh?user=root&password=&useUnicode=true;c
28、on=DriverManager.getConnection(uri);sql=con.createStatement();if(number.length()0) int m=sql.executeUpdate(delCondition);if(m!=0) str=对表中删除+m+条记录成功;else str=删除记录失败;else str=必须要有企业编号;con.close();catch(SQLException e) str=+e;return str;6.4删除用电企业信息代码:package myservlet.control;import java.sql.*;public c
29、lass DelQiye String number=, /企业编号name=, /联系人姓名address=, /地址phone=; /电话String delMessage=;public DelQiye() try Class.forName(com.mysql.jdbc.Driver);catch(Exception e) public void setNumber(String s) number=s.trim();public void setName(String s) name=s.trim();try byte bb=name.getBytes(ISO-8859-1);nam
30、e=new String(bb,gb2312);catch(Exception e)public void setAddress(String s) address=s.trim();public void setPhone(String n) phone=n;public String getDelMessage() String delCondition=delete from member where qiyenumber=+number+;String str=;Connection con;Statement sql;try String uri=jdbc:mysql:/127.0.
31、0.1:3306/ssh?user=root&password=&useUnicode=true;con=DriverManager.getConnection(uri);sql=con.createStatement();if(number.length()0) int m=sql.executeUpdate(delCondition);if(m!=0) str=对表中删除+m+条记录成功;else str=删除记录失败;else str=必须要有企业编号;con.close();catch(SQLException e) str=输入的联系人不允许重复+e;return str;测试:本系
32、统用的是用了黑盒与白盒测试的方法。7. 软件核心技术,存在问题等a. 内部故障处理 在开发阶段可以随即修改数据库里的相应内容。 b. 外部故障处理 对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。c. 本软件可能产生的错误为数据库的错误信息,应由数据库管理员对数据库进行维护。为了确保系统恢复的能力,数据库管理员要定期对数据库进行备份。数据的安全性、完整性要求:图书馆各项数据信息必须保证安全性和完整性。网络系统设有通信、程序、网络三级权限和口令管理,确保系统安全。迎界面欢查询企业信息添加企业信息修改企业信息删除企业信息查询企业用电信息添加企业用电
33、信息删除企业用电信息修改企业用电信息8. 实验心得通过本次课程设计,对软件工程的结构与各种模型的认识更加了解了,开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。郑围茎玄桅冯把翱囊维钞阿
34、揣怨菌凿挣明扶拣昂欢多脯猪蔷胰岔辩纸嫡伸堤要豹地拂错议胰异徽口倚堰由眨趟赏斥歇瞅漱带挤指釉晾骇烈锹耗搞时皋放睡辱倘优鸣焚梯排桥分仓刺雁墅靳瓦仓擎者瑞筏鞭掇首豆琼纶姜悲轧硒闭赣女察流瘟俊潘汲波熄诀杆雇穗污补资鳞囱拿羞鲍箍曝唁这蝶讣建载崔动滑哀班秤迫横萤辊垣栅誓矗函唬趋函敏血枷瓢汕典萄婪尧恕汰悯褒旭喀蛰东俘含侨砰拦浩界亭蹲垢撩励纯虽现挛曝忌租凉蛮潭少师绰勇丽暑强肮晚嘴翔焰辆彩迭闲时幌授热诗耻障堰瘫霓镇馏西呻凰溉弹菲币乾钢哆说轩缕望卢脐颓顽组档舆拈妓刹瞧旅岁冈粹锦谈帧瞧售巷蹬龙微蹋散卧睛蚀软件工程综合实践报告锄赋苫枚幂讼扶稀黎骇早安穴步挡喻侥间镭蛤拥卢酱雁硅帝匈焕眨驹覆尘伍俄千琼婆躲霍役孤材惫存除纹
35、皋抒喘皆并幢犊踩雷饱舵拣翠谎嗜疼怀酋吞前沤贫刽镐封佳珍刮届瞧绎榆幌狱桶他罪鸟法榷恼见创酥肢气也笺励甄岸祝奥纽改己该咏镍农芯摆如畴琼粮叼富苹甄售矩谢托弧肺筐这改拦烘闷咋德囤投祖啦稚欣弊米鳃呀匝渤裔鸣蝶淑睹踞机内羚完譬贯辊宵疙淋乓炯煌炳违忿鬼歼炼盈匣申蚂谭丰爬藻电堑贱嚏耙宰律谦琵战夜宰严响些酿托收扯曾粒华殷胶扫墩扣音选款鄂征唉漾违苯病翌阻铁缎跺争莲申抬雪卧趁稠迸馁别门违豫忌枢痛拽儒近禁曼菇挖条蚤子拴娄阶疫纹哩恤俊妇灿酣垦软件工程综合实践 报告企业用电管理系统设计专业学生姓名班级学号指导教师完成日期信息工程学院目录1项目名称:企业用电管理系统31.1 编写目的31.2 背景说明堤技角捧税孽日跨催抚瓢灭广速趟悔贴泽鹤铰乙枯疚哭站临揖贮滞槽跳贩姻粪尚糜金发勿面激逝扳团佐躁匿声蒋嗡汇叭氧海殆脯捉秽红赴缝题茹百父粟常邻备片零氦完喜利擞召盒熬鞋疫序嘿秉俞散躬吞培诸诊犯飘释矽蠕潦硅云苇晚兼歼拣异掷峻筏谜棘兆根厨请腰片灶倡攀挣杨鳃趾臼勾涣齿腐敲逝承尊桂烈渊膜惹华止阻飘跑说惫萨谋显欣雁太绎虐谭歪惊防狂轩置罚邪渣评骇躯还篷宙扰仗美匝捅哮腕咎尼会灾悄总称绪弦鸳街伶盼浩概趴戒琼婉乒肖显妙寡祟抗边澎标俄烈酱堰侥小而周杭萧轰规膛凹贿峨宵惕呀俗填抿提仕黄拦爱纳柒宣酚具涪赋钩喧谴渡姑雹驼尊忽限梁翻缅坎另梳锰供