小区ADSL上网计费系统.doc
《小区ADSL上网计费系统.doc》由会员分享,可在线阅读,更多相关《小区ADSL上网计费系统.doc(32页珍藏版)》请在冰点文库上搜索。
精品毕业论文、毕业设计,优质的论文服务:
精品论文网
小区ADSL上网计费系统
姓 名
系别、专业
导师名称、职称
完成时间
目录
摘要 1
Abstract 2
前言 1
1开发语言和开发工具简介 2
1.1Java技术简介 2
1.2Java开发工具 2
1.3Struts技术简介 3
1.4Hibernate技术简介 4
2系统分析 5
2.1系统的必要性和可行性 5
2.2需求分析 5
3系统概要设计 6
3.1总体设计 6
3.1.1系统功能设计 6
3.1.2系统功能结构图:
6
3.2数据库设计 9
3.3数据库表设计 11
4系统详细设计及实现 14
4.1用户登入功能设计及实现 14
4.2管理员功能模块设计及实现 15
4.3用户功能模块设计及实现 15
5运行与测试 21
5.1软件测试的目的和原则 21
5.2软件的运行与安装 24
5.2.1J2EE应用程序的构建与部署 24
5.2.2具体运行过程以及的期维护 24
结论 26
参考文献 27
致谢 28
精品毕业论文、毕业设计,优质的论文服务:
精品论文网
提供毕业设计(论文)和图文教程、视频教程等一揽子解决方案
摘要
本小区ADSL上网计费系统是一个应用于小区ADSL上网管理的软件,实现了向ADSL用户提供各种各样的满足个性化需求的应用服务的功能。
本设计完成了系统中的用户自查询模块,实现了管理记费和用户查询的功能。
该系统使用Java语言,采用Oracle、PL-Sql、Hibernate,Spring,Struts,Jsp,Javascript,Html等技术,基于Tomcat+Eclipse+SunOS5.8开发平台开发设计的,整个系统基于MVC模式(M-模型层,V-视图层,C-控制器)完成了程序界面的设计及自查询功能模块的具体实现.使用Oracle完成了数据库具体设计,完整了整个系统的开发。
用户通过本模块可以在线查询自身的信息(个人信息、上网记录、记费帐单、使用品牌)。
它具有良好的可操作性,可靠性高、健壮性好,可扩充性和可维护性的特点。
完全可以满足用户自助服务的需求。
关键词:
JavaJspHibernateStrutsOracle
Abstract
ThisvillageADSLrecordfeesystemisanapplicationincommunitymanagementsoftwareofADSL,realizingtheusertoprovideallkindsofADSLmeetstherequirementsofpersonalizedservice.Thisdesignhascompletedtheuserinquiresthemodulesystem,managementfeeandrememberthefunctionofuserqueries.
ThissystemUSESJavalanguage,useOracle,PL-Sql,Hibernate,Jsp,Struts,are,aswellasHtmlandJavascript,technology,basedontheEclipseTomcat++SunmicrosystemOS5.8developmentplatform,thesystemofexploitationdesignbasedonMVCmode(M-modellayer,V-viewlayer,C-controller)completedtheprograminterfacedesignandtherealizationofthefunctionmoduleinquires.UseOracledatabasespecificdesign,completethewholesystemofthedevelopment.
Thismodulecanonlineuserthroughitsinformationquery(personalinformation,theInternetrecords,bill,usefee.Ithasgoodmaneuverability,highreliabilityandgoodrobustness,scalabilityandmaintainability.Cancompletelysatisfycustomerdemandofself-service.
KeyWords:
JavaJspHibernateStrutsOracle
5
前言
近年来,随着计算机走进千家万户,标志着现代社会已经进入了信息时代,单独的一台孤立的计算机已不能满足人民日益增长的需求,于是,互联的进入了人民的生活、工作,使得人与人之间的信息交流突破了地域,国界的限制。
因此,在数字化通讯的时代里,互联网运营也受到了极大的挑战。
在小区物业管理方面,也面临着成本的增高的状况。
从市场的角度看,通信领域竞争在不断加剧,传统的单纯出售基础的通话服务的利润正在逐步减少,未来市场的竞争将不只是基础的通话服务的竞争,更是服务方式和服务种类的竞争。
为了更好的为用户服务,小区物业都会提供户管理系统,来对客户资料进行管自理,使管理突破时空限制,提高管理效率与水平,使用户在时候任何地点都可以通过网络进行与小区计费系统的信息交流,满足用户需求,实现小区计费系统网络化,信息化,现代化方向发展。
本课题就试图使用java技术来实现一个最基本的小区ADSL上网计费系统。
本系统通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便电信运营商和客户之间的信息交流和信息共享。
1开发语言和开发工具简介
1.1Java技术简介
Java是近代出现的新一代面向对象程序设计语言,由Sun公司推出,起初用于家电产品上的软件编程。
后来,经过Sun公司的不断推出新的版本,目前版本已达到1.6。
Java是一种简单的、面向对象的、分布式的、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言[1]。
Java语言的特点:
简单,面向对象,多线程,分布式,跨平台,安全性
1.2Java开发工具
*JDK
JDK(JavaDevelopmentKit)是一个写Java的applet和应用程序的程序开发环境。
它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成[2]。
1.Java编译器(Javac命令)
Java编译器将Java源代码文件编译成可执行的Java字节码。
Java源代码文件的扩展名为.java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。
源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。
2.Java解释器(java命令)
Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。
*ECLIPSE
根据需求分析及功能分析,选用Eclipse集成开发工具及Oracle数据库来开发此系统。
1.Eclipse的起源和发展
Eclipse的前身是IBM的VisualAge。
由于意识到VisualAge存在难以扩展、底层技术较为脆弱、很难与WebSphereStudio软件集成等诸多问题,进一步发展甚为困难,同时也面临包括Symantec公司的VisualCafé、Borland公司的JBuilder等开发工具的竞争压力,IBM决定创建一个更开放的,并且可以为IBM其他开发工具提供支持的一体化开发平台。
1998年11月,IBM专门成立了一个项目开发小组,开始开发该平台,2000年新一代开发平台诞生,这就是大家所熟悉的Eclipse。
2000年11月,IBM做出了一个重大决定,将Eclipse采用开放源码的授权和运作模式发布,以增强业界对Eclipse的关注度并加快其推广应用速度。
随后,IBM于2001年12月向外界宣布,捐赠价值4千万美元的Eclipse源码给开源社区;成立由成员公司组成的Eclipse协会(EclipseConsortium),以便支持并促进Eclipse开源项目。
事实证明,IBM的决策非常英明。
Eclipse受到广泛关注,蜂拥而至的用户使得其下载服务器一度阻塞,给业界带来了久违的震撼!
IBM趁热打铁,在EclipseCon2004上宣布成立一个独立的、非盈利性的基金会,由该基金会负责管理和指导Eclipse开发,目前其成员多达近百家知名公司,其中包括Borland、RationalSoftware、RedHat、Sybase、Google和Oracle等业界巨头[5]。
Eclipse开发状态非常活跃,目前成熟稳定的版本是3.2,正在开发的版本是3.3,已经成为业界主要的非微软软件开发平台。
2.Eclipse的优势
目前全球有上百万人在使用Eclipse进行开发。
为什么Eclipse拥有如此众多的用户,这与Eclipse集众多特性于一身有很大关系。
Eclipse是开放源代码的软件。
这意味着Eclipse不仅可以免费使用,还可以通过研究源代码学习世界上顶尖开发人员的编程技术,并可以共享遍布全球的开发人员所贡献的公共开放源代码库。
Eclipse是真正可扩展并可配置的。
Eclipse采用插件机制,犹如一个花瓶,你可以随时向花瓶里面插花,也可以很容易将不再需要的花取出。
Eclipse支持众多的开发语言而不仅仅是Java。
Eclipse只是给开发人员提供了一个能够扩展系统功能的最小核心,基于扩展点的插件体系结构使得Eclipse支持多种语言成为可能。
只要安装相应语言的插件,Eclipse就可以支持该种语言的开发。
目前,Eclipse已经可以支持C、COBOL、PHP、Perl、Python等多种语言。
Eclipse提供了对多重平台特性的支持。
开发者可以使用他们感觉最舒适、最熟悉的平台,例如Windows、Linux等。
Eclipse对每个平台都有其单独的图形工具包,这使得应用程序具有接近本地操作系统的外观和更好的性能。
1.3Struts技术简介
Struts是Apache软件基金支持下的开源的MVC框架,在多年的WEB应用开发实践中,Struts作为一个经典的Web应用开发框架始终一枝独秀.。
用Struts实现MVC架构。
MVC(Model-View-Controller)由TrygveReenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。
根据界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制器三部分[6]。
模型(Model)是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,独立于具体的界面表达和I/O操作。
视图(View)把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。
它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。
控制器(Controller)是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。
通常一个视图对应一个控制器。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。
如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。
这实际上是一种模型的变化传播机制[9]。
Struts框架最早是作为ApacheJakarta项目的组成部分问世运做,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts框架很好的结合了Jsp,JavaServlet,JavaBean,Taglib等技术。
在Struts中,承担MVC中控制器角色的是ActionServlet。
ActionServlet是一个通用的控制组件。
这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。
它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。
另外控制组件也负责用相应的请求参数填充ActionForm(FromBean),并传给动作类(ActionBean)。
动作类访问核心商业逻辑,即访问JavaBean或调用EJB。
最后动作类把控制权传给后续的JSP文件,由JSP文件生成视图。
所有这些控制逻辑利用Struts-config.xml文件来配置。
在Struts框架中,视图主要由JSP生成页面完成,Struts提供丰富的JSP标签库,这有利于分开表现逻辑和程序逻辑。
模型以一个或多个JavaBean的形式存在。
在Struts中,主要存在三种Bean,分别是:
Action,ActionForm,EJB或者JavaBean[12]。
Struts框架没有具体定义模型层的实现,在实际开发中,模型层通常是和业务逻辑紧密相连的,并且要对底层数据进行操作。
下面介绍一种开发策略,将Hibernate引入到Struts框架的模型层中,使用它来进行数据封装和映射,提供持久化的支持。
1.4Hibernate技术简介
在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦和浪费时间的。
Hibernate是一个面向JAVA的对象/关系数据库的映射工具,用来把对象模型表示的对象映射到基于SQL关系模型数据结构中去。
Hibernate不仅仅管理JAVA类到数据库表的映射(包括JAVA数据类型SQL数据类型的映射),还提供数据查询和数据获取的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。
对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑。
Hibernate可能不是最好的解决方案。
但对于那些基于JAVA中间层应用中实现面向消息的业务模型和商业逻辑的应用,Hibernate是最有用的。
精品毕业论文、毕业设计,优质的论文服务:
精品论文网
提供毕业设计(论文)和图文教程、视频教程等一揽子解决方案
2系统分析
2.1系统的必要性和可行性
一、必要性:
随着人们生活水平的不断提高,信息技术的飞速发展,传统的通讯业务服务已不能满足人们的生活节奏。
对于物业管理部门来说,由于服务种类的增多,必须急于降低成本。
对于电信行业,未来市场的竞争将不只是基础的通话服务的竞争,更是服务方式和服务种类的竞争。
由于IP技术在通信领域中统治地位的确立,未来通信市场的竞争,将围绕着互联网及其相关服务展开,并且由于信息时代个性化需求的特征。
目前电信运营商面对日益激烈的全方位市场竞争,提高竞争力、增加客户满意度、减少客户流失、提高效益成为电信运营商必须要考虑的问题。
因此,设计这个系统,通过网络资源的整合,使电信运营商需要在提供基础服务的同时,广泛开拓增值服务市场,向用户提供各种各样的满足个性化需求的应用服务,是有其必要性的。
二、可行性:
(1)经济可行性:
该系统需要两台服务器,一台NAS网络接入服务器,一台AAA服务器,运行安装TOMCAT服务器即可,但对于物业管理部门来说,其产生的效益是完全可行的。
(2)操作可行性:
计算机在生活小区居民的家庭中已有一定的比例,而这些计算机已不在单单是一个孤立的计算机,而是网络中的一个结点,而此系统可方便这些用户查询自身的上网记录和自身信息等,所以是可行的。
(3)技术可行性:
本系统采用Java语言,基于Tomcat+Eclipse+SunOS5.8开发平台,采用JSP,Oracle,Hibernate技术,使用Struts框架,开发者掌握这些技术就可以具备开发此系统的能力,这些技术都是公开的,且开发者容易掌握的。
所以,技术方面也是可行的[12]。
2.2需求分析
1.数据需求:
此系统主要完成用户自身信息的查询功能,因此,需要的数据信息包括:
用户信息:
包括用户帐号和密码等信息。
帐单信息,包括用户日帐单信息,月帐单信息,年帐单信息。
品牌信息,包括包月,流量,小时等。
2.功能需求:
功能需求分析的任务是弄清用户对目标系统数据处理功能所提出的需求。
本系统的功能需求有:
(1)用户通过自已的用户名和密码进入系统。
(2)用户可以查询自已的上网记录。
(3)用户可以查询日报表。
(4)用户可以查询月报表。
(5)用户可以查询年报表。
(6)用户可以查询品牌类型信息。
3系统概要设计
3.1总体设计
本模块的主要功能是客户端通过个人用户帐号和密码登录系统,实现对个人所有信息的查询,是用户利用网络通过此系统对用户个人信息查询的主要途径。
3.1.1系统功能设计
其主要功能如下:
(1)用户登录
ADSL用户通过合法帐号和密码进入系统,实现对用户信息的查询操作。
通过设置用户密码保证用户信息的安全性。
(2)日清单查询
查询用户在某一时段的上网历史记录。
(3)日帐单查询
用户可以输入指定的某天查询某日的消费情况
(4)月帐单查询
用户可以输入指定的月份查询某月的消费情况
(5)年帐单查询
用户可以查询输入指定的年份查询某年的总的消费情况
(6)品牌查询
用户可以查询品牌类型信息
3.1.2系统功能结构图:
此系统基于Struts框架进行设计,利用JSP+JavaBean+Action进行编程。
通过对所做模块的功能需求分析,可以分为管理员和用户二大模块,管理员有六大功能:
系统管理、营业管理、品牌管理、帐单管理、帐务管理、用户管理,用户有三大功能:
帐单管理、客户信息管理、品牌查询,系统用例如图3-1所示。
图3-1系统用例图
本系统使用Struts框架搭建而成,基于MVC的模式,在客户端使用jsp和用户进行交互,对于用户的请求由action进行处理,转而调用相应的模型层。
在模型层调用业务逻辑层,对于处理后的结果再由action转发到相应的jsp,呈现给用户。
客户端登录:
(1)jsp页面接收用户转入的用户名、密码等信息。
(2)通过http发送到服务器端。
(3)服务器端接收用户的请求,交给WEB容器,由容器调用相就的Action。
(4)服务器端验证通过后,将处理的结果返回给客户端。
.
图3-2Struts模型图
成功
不成功
图3-3系统流程图
流程图详解:
ADSL用户打开浏览器,输入网址,进入登陆界面,输入用户名和密码,点击登陆后,由浏览器发出一个登陆请求,容器获得请求后,转发到相应的action中,在action中调用登陆的业务逻辑层中的方法,判断用户身份的合法性,如果用户为合法用户,在action中跳转到用户主界面,如果不成功而返回到登陆界面,并提示用户错误信息。
用户进行重新登陆。
3.2数据库设计
数据库设计就是设计程序所需数据的类型、格式、长度和组织方式。
因为数据库应用系统主要是处理大量的数据,所以数据库设计的优劣,直接影响整个数据库应用系统的性能和执行速率。
根据本系统的功能需求分析,本系统的数据库可包括八个表,分别是用户表(users),帐单明细表(radacct),日帐单信息表(userday),月帐单信息表(usermonth),年帐单信息表(useryear),品牌信息表(products),品牌类型表(productstype),用户帐号表(radcheck)。
系统E-R图3-4如下:
图3-4系统E-R图
3.3数据库表设计
1)年帐单信息表
该表包含用户登录名,登录服务器名,退出时间,资费代号,登录时间长度等信息。
具体如表3.1。
表3.1UserYear表
字段名
类型
字段宽度
小数位数
索引
Login_name
字符型
20
Login_ip
字符型
32
logout_date
日期型
8
lab_ip
字符型
32
time_duration
数值型
8
2
2)月帐单信息表
该表包含用户登录名,登录服务器名,退出时间,资费代号,登录时间长度等信息。
具体如表3.2
表3.2UserMonth表
字段名
类型
字段宽度
小数位数
索引
Login_name
字符型
20
Login_ip
字符型
32
logout_date
日期型
8
lab_ip
字符型
32
time_duration
数值型
8
2
3)日帐单信息表
该表包含用户登录名,登录服务器名,退出时间,资费代号,登录时间长度等信息。
具体如表3.3。
表3.3UserDay表
字段名
类型
字段宽度
小数位数
索引
Login_name
字符型
20
Login_ip
字符型
32
logout_date
日期型
8
lab_ip
字符型
32
time_duration
数值型
8
2
4)资费信息表
该表包含资费号,资费名,月租费base_fee,资费单价,折扣等信息;其中资费号作为主键,资费名唯一。
具体如表3.4。
表3.4Product表
字段名
类型
字段宽度
小数位数
索引
price_id
数值型
10
主键
pricing_name
字符型
32
唯一
base_fee
数值型
8
2
rate_fee
数值型
4
2
pricing_Desc
字符型
64
2
5)用户表
该表包含用户号,用户名,用户登录名,用户登录密码等用户的详细信息。
用户号作为主键,不可重复,不为空;用户登录名是用户登录的唯一标识,唯一;登录密