毕业设计论文定稿_第1页
毕业设计论文定稿_第2页
毕业设计论文定稿_第3页
毕业设计论文定稿_第4页
毕业设计论文定稿_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题目:电信维护系统学院:软件学院专业名称:软件工程班级学号:学生姓名:指导教师:二O一四年六月毕业设计(论文)任务书I、毕业设计(论文)题目:电信维护系统业设计(论文)使用的原始资料(数据)及设计技术要求:原始材料数据:相关的STRUTS框架知识相关电信运营的原理知识相关电信维护系统资料及技术资料技术要求:本系统采用MVC(Model-View-Controller)模式数据库采用Oracle11g需要用到的Java相关技术有jsp技术、servlet技术、jdbc技术、STRUTS框架。能够满足实际应用需要,界面美观大方,易于使用业设计(论文)工作内容及完成时间:工作内容:查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅相关资料。通过查询资料了解该系统要如何做,及要做哪些东西。设计出大体上的功能模块,画出模块图。通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和需要注意的地方。对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。最后,整理各阶段的设计记录文档,写成论文稿。完成时间:第1周—第4周开题(查资料、技术方案、实验方案等)第5周—第13周需求分析,概要设计第14周—第15周详细设计,编码第16周—第17周调试程序,撰写毕业论文第18周总结,答辩要参考资料:张彬.电信增值业务:北京邮电大学出版社聂敏.现代通信系统计费原理:电子工业出版社耿祥义,张跃平.Java大学实用教程[M].北京:电子工业出版社,2008.05孙玉.电信网络总体概念讨论:人民邮电出版社胡庄君.中国电信发展分析:社会科学文献出版社埃克尔.Thinkinginjava:机械工业出版社,2007.08陈龙.电信运营支撑系统:人民邮电出版社漆晨曦.电信市场经营分析方法和案例:人民邮电出版社hristopherP.Benlight.Acriticalsuccessfactorsmodelforeprimplement.IEEEsoftware.1999:16-30AnatolyAkkerman,AlexanderTotok,、VijayKaramcheti.InfrastructureforAutomaticDynamicDeploymentOfJ2EEApplicationinDistributedEnvironments软件学院java102012学院专业类班学生(签名):陶雪峰日期:自2014年02月20日至2014年6月27日指导教师(签名):助理指导教师(并指出所负责的部分):系(室)主任(签名):附注:任务书应该附在已完成的毕业设计说明书首页。学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌航空大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。作者签名: 日期:导师签名: 日期:摘要随着电子信息技术与网络技术的飞速发展,各行各业的竞争也愈加激烈,各企业在各自的传统运营方式上开始加大信息技术的投入以适应多变的市场经济,在软件方面尤为明显,大量资金及人员的注入以进一步提升自己在业内的服务质量与市场竞争力,并且取得了很好的成效。电信行业的三大巨头运营商:移动、联通、电信每年都在软件方面投入大量的资源以努力适应新时代背景的发展要求,进入新的领域,推出新的业务,探索新的商业模式,改变不合时宜的思维和观念,如此,或许运营商才能更好地迎接挑战,抓住机遇,实现持续发展。经过翻阅相关书籍以及互联网上对电信行业的了解及学习,本系统用了B/S架构以及MVC技术,本系统的功能主要是实现电信运营商营业员对电信运营商推出的业务录入系统,维护相关业务信息,帮助客户开通和暂停所对应的业务,能够打印出客户所需的账单报表。关键字:电信软件业务MVCB/S架构AbstractWiththerapiddevelopmentofelectronicinformationtechnologyandnetworktechnology,ithasbecomeevenmoreintensecompetitioninallwalksoflife,allenterprisesoperatingontheirtraditionalwayofbeginningtoincreaseinvestmentininformationtechnologytoadapttochangingmarketeconomy,especiallyintermsofsoftware,massiveinjectionoffundsandpersonneltofurtherenhancetheirservicequalityintheindustryandmarketcompetitiveness,andachievedgoodresults.BigThreetelecomoperatorsintheindustry:Mobile,ChinaUnicom,Telecomhasinvestedannuallyinthebillingsoftwarealotofresourcesinanefforttomeetthedevelopmentrequirementsofthenewerabackground,intonewareas,theintroductionofnewbusiness,exploringnewbusinessmodelschangingoutdatedthinkingandideas,soperhapsoperatorsinordertobettermeetthechallengesandseizetheopportunitytoachievesustainabledevelopment.AfterreadthebooksandthetelecommunicationsindustryknowledgeandlearningontheInternet,thesystemusestheB/SarchitectureandMVCtechnology,thefeaturesofthissystemistoachievetelecomoperatorssalespersontelecomoperatorstolaunchoperationsintothesystem,maintenancerelevantbusinessinformationtohelpcustomersopenandsuspendthecorrespondingbusinesscustomerscanprintoutthebillingstatementsrequired.Keywords:TelecomSoftwareBusinessMVCB/SArchitecture引言课题的来源、目标和意义因为计算机的硬件性能的限制、软件开发的成本高及难度大,以及电信运营者服务意识不到位,运营商间的竞争意识的淡漠,只能以自动化为目标,以记账收费的简单功能实现,但是现如今,这样简单的功能显然不能适应电信行业业务的发展趋势,并且不能满足用户的服务需求,更不用说适应市场经济。然而随着电子技术与科技的进步,慢慢的可以满足日渐成熟的电信行业的系统要求。在电信提供的所有业务中,其中有一种业务是Unix实验室出租业务。用户需要向电信运营商申请一个Unix账号,就可以远程登陆Unix实验室,使用Unix系统。任何用户登陆电信运营商提供的Unix实验室的Unix系统时,Unix系统都会记录该账号的登入和登出信息,这些信息都会在系统日志文件中保存。用户使用电信运营商提供的Unix实验室的服务需要缴纳一定的费用。因此,电信运营商需要一套系统,将用户登陆实验室的时间长度数据采集起来,以作为对用户的收费依据。本系统的主要任务是提供对于数据的查询和管理功能。日志数据存入数据库后,可以通过本系统来实现查询和管理功能。管理员登陆本系统后,可以进行角色管理、账务账号管理、业务账号管理、账单管理以及报表数据查询等操作。那么本系统实现这些功能的意义何在呢?本系统是随着电信产业和计算机产业的发展而不断成长起来的。系统是否能有效、安全地运行,在很大程度上影响着电信行业本身的运行效率和信誉,同时也是其业务正常发展的保证。系统的功能描述TelcomSys系统具有的功能:“角色管理”、“管理员管理“资费管理、“账务账号管理”、“业务账号管理”、“账单管理、“报表”、“个人信息”、“修改密码”以下是系统的功能描述图关键技术简介JAVA语言Java是一种面向对象编程语言,它的编程风格非常类似于C/C++,包含了C++中的面向对象的核心技术,舍弃了一些C++中比较复杂的特性(运算符重载、指针等)。Java语言的特点非常鲜明:封装、继承、多态、抽象。为什么会选择JAVA语言呢?1)Java语言是健壮的。2)Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。Java的安全检查机制使得Java更具健壮性。3)Java语言是平台无关的。4)Java语言是可移植的。5)Java语言是一个支持网络计算的面向对象程序设计语言。6)Java语言是一个面向对象的。7)Java语言是安全的。8)Java语言是解释型的。9)Java是高性能的。10)Java语言是多线程的。11)Java语言是动态的。MVC框架MVC全称是Model(模型)View(视图)Control(控制器),它用数据、业务逻辑、界面分离的方法组织代码,将业务逻辑聚集到一个不见里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。使用MVC框架有很多好处,它的特点非常鲜明,耦合性低、重用性高、生命周期成本低、可维护性高、有利软件工程化管理。Struts框架Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。它是建立在MVC模式上的,Struts在Model、View、Control上都有涉及,但它主要的好处在于提供了一个好的Control和一套定制的标签库,也就是说它的重点在Control和View上,因此,它就有MVC所带来的一系列优点,如:结构层次分明,高可重用性,增加了程序的健壮性,便于开发与设计分工,提供集中统一的权限控制、校验、国际化、日志等等;它是个开源软件,并且得到了程序大师们持续而细心的呵护,并且经受了实战的检验,使其功能越来越强大,体系也日臻完善,开发者可以更深入的了解它的内部机制;它对其他的技术和框架具有很好的兼容性在Struts中,可以通过struts-config.xml配置文件配置Action得访问路径,它提供了ActionForm,自动获取Request中的数据,不再需要反反复复的进行request.getParameter(),然后小心翼翼的转换类型。Struts还提供了标签库,可以方便的构建页面并获得额外的便利。作为一个成熟而完整的框架,Struts几乎处处都帮我们做好了贴心安排。需求分析系统功能需求分析概要需求调研根据资料以及自我的理解,一个电信维护系统应该具备以下特点:统一友好的操作界面,保证系统的易用性、美观性,方便用户的操作具备一些基础信息的管理,例如:登陆、查看个人信息、修改密码等在系统中同一账号只能唯一在线,不允许同一账号在不同的地点同一时间同时在线本系统对于不同的用户要赋予不同的权限,这是对用户信息的安全性的保障设置一个超级管理员,他拥有最高权限,可以操作系统内部的所有模块,包括对用户、管理员、各模块的信息等的更改、删除、增加等操作能够对资费标准进行显示,增加以及修改对于客户所需要的并且电信运营商所提供的业务进行开通,暂停及删除等客户能够通过本系统查询自己的消费信息,所开通的业务等详细功能需求调研以及系统用例图功能需求调研本系统应该具有的功能有:角色管理、管理员管理、资费管理、业务账号管理、账务账号管理、账单管理、报表、个人信息、修改密码。每个管理员登陆成功后,都可以使用“个人信息”和“修改密码”功能,以实现个人信息的维护,是否可以使用其他功能取决于该管理员所拥有的权限。个人信息、修改密码:这两个模块需要实现个人信息的维护,其中个人信息所有的信息中有三项是不可以变动的,分别为:管理员账号、角色以及创建时间。角色管理:这个模块需要用来为管理员分配房访问系统功能模块权限,每个管理员至少要被分配一个角色。管理员管理:这个模块需要实现对管理员信息进行操作,增加管理员、查询管理员、修改管理员、删除管理员。增加的管理员必须被赋予一个角色。资费管理:这个模块需要实现的功能有:运营商会提供一些业务,业务内会有具体的一些收费标准,这个模块里面就是保存和修改这些资费标准信息的,运营商可以选择提供或者不提供这些资费标准,如果运营商启用这些标准,那么客户就可以在业务账号模块开通这项业务。业务账号管理:这个模块需要实现的功能是:客户需要开通运营商提供的业务时,需要一个东西来记录某个特点的客户开通了哪些业务,这个模块就是用来记录这些信息的,客户可以再这个模块开通运营商提供的业务。账务账号管理:假如一客户需要使用运营商提供的业务时,系统内需要一个账号来锁定该客户,账务账号就是用来绑定客户用的,一个客户只能拥有一个账务账号,以身份证号码做唯一标识。账单管理:通过这个模块,客户可以查询自己每月的消费记录或历史消费记录。报表:通过这个功能模块,管理员可以把每月的消费报表浏览或打印。系统用例图数据库需求分析本系统的数据库使用了Oracle11g创建,数据库表包括账务信息表(ACCOUNT)、业务信息表(SERVICE)、资费信息表(COST)、账单信息表(BILL)、管理员表(ADMIN)、账单条目条(BILL_ITEM),业务更新备份表(SERVICE_BAK)、服务器信息表(HOST)。账务信息表(ACCOUNT):从账务角度看客户,即每个客户都需要一个账号,有了这个账号才能够通过这个账号开通业务,没有这个账号就不能开通相应的业务,里面包括登陆账号、登陆密码、账号状态、客户姓名等一些基础信息。业务信息表(SERVICE):客户申请了远程登陆业务后,即可以获得一个业务账号对应一台UNIX服务器上的OS账号,即UNIX服务器的IP地址+OS账号,里面包括账务账号ID、服务器地址、登陆账号、登陆密码、业务状态等基础信息。资费信息表(COST):针对TELENET服务的各种资费标准,里面包括资费名称、在线时长、月固定费用、状态等基础信息。账单信息表(BILL):客户(账务账号)每月的总费用信息,里面包括账务账号ID、账单月份、费用、支付方式等基础信息。管理员表(ADMIN):管理员的基础信息,里面包括账号、密码、姓名、电话等基础信息。账单条目条(BILL_ITEM):客户(账务账号)每月的详细费用信息,使用每个服务器应付的费用,里面包括账单ID、业务账号ID、费用等基础信息。业务流程图总体设计和实施方案这一部分通过系统流程图和对系统中每一个模块的功能的简单描述来介绍整个系统总体设计系统结构本系统登陆初始会给一个管理员操作所有模块功能的权限,即可作为系统的超级管理员,而后其他的管理员(用户)都是由这个超级管理员创建添加的,在创建的过程中,会给管理员操作响应模块功能的权限。超级管理员登录系统后可以对系统所有的模块进行操作,包括查询个人信息、修改密码、角色管理、资费管理、业务账号管理、账务账号管理、账单管理、报表,每个模块内又包含了一个至数个功能点,管理员完整的功能模块图如下图其他管理员(用户)登录系统后可以根据具体被分配的权限进行系统操作,如果被赋予了全部的功能模块权限,则可以操作个人信息、修改密码、资费管理、业务账号管理、账务账号管理、账单管理、报表。每个模块下又有一个至数个功能点,用户的功能模块图如下图:功能设计不同权限的用户登陆,所操作的功能模块是不一样的,系统初始管理员(超级管理员)登陆后可以对系统所有的模块进行操作。以下是超级管理员的系统流程:登陆成功后,可以维护个人信息和密码。角色管理,创建不同的角色管理操作对应的模块,即可以赋予不同的角色不同的模块:资费管理、账务账号管理、业务账号管理、账单管理、报表。管理员管理,创建新的管理员并且为其赋予不同的角色以操作不同的模块,这个模块内可以对管理员进行查询、增加、删除、修改。资费管理,创建不同的资费标准以供用户选择,具体的资费标准标准由管理员来添加,可以是:包时、包月、包年等,客户如果需要开通这个资费标准,在资费管理模块可以对此标准进行开通、暂停操作。账务账号管理,为客户开通账务账号,此账务账号对应的是每一个客户,只有有了这个账务账号,客户才能使用运营商提供的业务。业务账号管理,为某账务账号开设业务账号,并且选择具体的资费标准,业务账号与账务账号是多对一关系,开通一个账务账号后可以开设多个业务账号。客户课设业务账号后,则可以使用具体的业务,管理员可以对所有客户的账单进行管理和查询。定期进行报表管理。由初始管理员创建的管理员(用户)则会根据被赋予的权限对系统的功能模块进行操作,登陆成功的用户可以进行个人信息以及密码的维护,可以进行资费管理,账务账号管理,业务账号管理,账单管理,报表管理。实施方案开发工具简介MyeclipseMyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以分为7类:(1)J2EE模型;(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。OracleOracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。引入了共享SQL和多线索服务器体系结构。这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速开发生成基于客户端PC平台的应用程序,并具有良好的移植性。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术实施步骤此系统的开发共经历了以下5个步骤:前期需求调研、系统架构设计、编码、系统调试、系统完善。前期需求调研。了解本系统的业务流程,确定系统的功能,参考类似的系统,确定需求。提出可行性的设计方案,绘制蓝图。系统架构设计。根据需求,根据现有的业务流程确定系统模型,设计系统界面,确定系统设计方案。编码。根据调研以及系统架构,对系统进行编码。按模块以及功能点逐一进行编码。系统调试。对系统各个模块进行单元测试,预算及猜想系统可能出现的问题,在逐一进行排查及测试系统完善。根据系统调试出现的问题进一步完善本系统数据库的设计数据库概念结构设计根据数据库需求分析,本系统共有6个实体:管理员、资费信息、账务信息、业务信息、账单信息、报表信息。以下是各个实体的实体--属性图用户名密码用户名密码管理员管理员管理员实体-属性图资费名称资费编号资费名称资费编号创建日期资费状态创建日期资费状态资费信息资费信息资费信息实体属性图暂停日期暂停日期账务标号账务标号账务状态账务状态账务名称创建日期账务名称创建日期账务信息账务信息账务信息实体—属性图业务状态业务名称业务状态业务名称开通日期开通日期业务编号业务编号业务业务信息业务信息实体—属性图账单费用支付方式账单费用支付方式支付状态账单编号支付状态账单编号账单账单信息账单信息实体—属性图主机名主机名主机所在位置主机所在位置服务器编号服务器编号报表报表信息报表信息实体—属性图系统总E-R图数据库逻辑结构设计数据库表设计ADMIN管理员表存储了管理员的一些基础信息,具体字段信息如下表:名称类型长度是否为空备注IDNUMBER4否主键ADMINCODEVARCHAR50否PASSWORDVARCHAR50否NAMEVARCHAR50否TELEPHONENUMBER11否EMAILVARCHAR50ENROLLDATEDATEACCOUNT账务信息表存储了账务账号一些相关的信息,具体字段信息如下表:名称类型长度是否为空备注IDNUMBER9否主键RECOMMENDER_IDNUMBER9否外键LOGIN_NAMEVARCHAR30非空LOGIN_PASSWORDVARCHAR8非空STATUSCHAR1非空CREATE_DATEDATEPAUSE_DATEDATECLOSE_DATEDATEREAL_NAMEVARCHAR20非空IDCARD_NOCHAR18非空BIRTHDATEDATEGENDERCHAR1非空TELEPHONEVARCHAR15非空EMAILVARCHAR50QQCARCHAR15LAST_LOGIN_TIMEDATELAST_LOGIN_IPVARCHAR15SERVICE业务信息表,保存了一些业务相关的基础信息,具体字段如下表:名称类型长度是否为空备注IDNUMBER10非空主键ACCOUNT_IDNUMBER9非空外键UNIX_HOSTVARCHAR15非空OS_USERNAMEVARCHAR8非空LOGIN_PASSWORDVARCHAR8非空STATUSCHAR1非空CREATE_DATEDATEPAUSE_DATEDATECLOSE_DATEDATECOST_IDNUMBER4非空外键资费信息表(COST),保存了资费标准的一些基础信息,具体字段如下表:名称类型长度是否为空备注IDNUMBER4非空主键NAMEVARCHAR50非空BASE_DURATIONNUMBER11BASE_COSTNUMBER7UNIT_COSTNUMBER7STATUSCHAR1非空DESCRVARCHAR100CREATIMEDATESTARTIMEDATE账单信息表(BILL),账单的一些基础信息,具体字段如下表:名称类型长度是否为空备注IDNUMBER11非空主键ACCOUNT_IDNUMBER9非空外键BILL_MONTHCHAR6非空COSTNUMBER13PAYMENT_MODECHAR1PAY_STATECHAR1账单条目条(BILL_ITEM),账单条目的一些基础信息,具体字段如下表:名称类型长度是否为空备注ITEM_IDNUMBER11非空主键BILL_IDNUMBER11非空外键SERVICE_IDNUMBER10非空外键COSTNUMBER13业务更新备份表(SERVICE_BAK),更新业务记录信息时,一些更新操作的信息,具体字段信息如下表:名称类型长度是否为空备注IDNUMBER10非空主键SERVICE_IDBUNBER9非空外键COST_IDNUMBER4非空外键服务器信息表(HOST),服务器相关的一些基础信息,具体字段如下表:名称类型长度是否为空备注IDVARCHAR15非空主键NAMEVARCHAR20非空LOCATIONVARCHAR20数据库物理数据模型以下是本系统的物理数据模型系统详细设计这一节主要根据系统的每一个模块来介绍整个系统的具体设计方案基础信息登陆功能介绍本系统的登陆输入账号、密码、验证码,js脚本会对输入的三个信息进行合法性校验,如果校验不通过,则在界面显示输入错误的提示,否则提交数据到服务器端登陆判断,在服务器端数据将交给LoginDaoImpl中的findByCodeAndPassword()方法进行验证,在此方法中将查询数据库,检查所录入的账号、密码是否正确,如果正确就成功登陆,进入主页,否则提示输入的账号或者密码错误。系统中,账号的登陆具有唯一性,也就是说在同一时间,不同地点只允许同一账号登陆本系统。故而这里用到了过滤器,即每次如果没有登陆而直接访问系统的模块的话,系统会通过struts中的配置文件检查有没有登陆,如果没有登陆,则不能访问,实现这段功能的代码是LoginInterceptor.java。界面程序流程图:核心代码:erceptor;importjava.util.Map;importcom.opensymphony.xwork2.ActionInvocation;publicclassLoginInterceptor{ publicvoiddestroy(){ } publicvoidinit(){ } publicStringintercept(ActionInvocationai)throwsException{ //从session取出adminMap<String,Object>session=ai.getInvocationContext().getSession(); Objectadmin=session.get("admin"); //判断admin是否为空 if(admin==null){ //为空,说明没登陆过,那么转到登陆页面 return"login"; }else{ //不为空,说明登陆过了,可以调用Action returnai.invoke(); } }}主页主页是本系统的功能导航页,显示当前用户可以操作的功能链接。根据登陆的用户的权限不同,主页上所显示的功能模块也各不相同,如果是超级管理员登陆,则可以操作本系统所有的功能模块。修改密码功能介绍用户登录后,可以修改个人的密码。进入界面后,根据界面的提示按要求填入相应的信息,如果不按照要求填写的话,那么合法性验证将无法通过,合法性校验通过后,数据提交到服务器端后,进行密码的修改操作,如果成功,界面上会出现修改成功的提示,该提示3s后自动消失,如果失败,界面上会出现修改错误的提示,该提示3s后也自动消失。界面程序流程图个人信息用户登录成功后,可以查看自己的个人信息。修改个人信息用户登录后,可以修改自己的个人信息。修改个人信息类似于修改密码,这里不再累述。角色管理角色浏览功能介绍具有“角色管理”权限的管理员登陆后,可以查看所有的角色信息,界面上将会分页列出所有的角色信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示其他所有的页码的链接。界面增加、删除、修改角色功能介绍增加:具有“角色管理”权限的管理员登陆后,可以增加新角色,新加要给角色后,每一个角色至少选择一个权限,并且角色名唯一,不能重复。删除:具有“角色管理”权限的管理员登陆后,可以修改已有角色的数据,其中包括该角色在系统中的访问权限,可以操作的功能模块等修改:具有“角色管理”权限的管理员登陆后,可以删除已有的角色界面程序流程图管理员管理员浏览功能介绍具有“管理员管理”权限的用户登陆后,可以查看所有的用户的信息界面上将会分页列出所有的角色信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示其他所有的页码的链接。界面查询、删除、增加、修改管理员功能介绍具有“管理员管理”权限的管理员登陆后:可以查询管理员信息,也可以根据条件查询,如角色名称。可以删除已有的管理员。可以增加新的角色,管理员账号唯一,并且至少拥有一个角色,也就是说至少能操作系统的一个功能模块。可以修改已有的管理员的信息,管理员账号信息不能修改。界面增加界面:修改界面:程序流程图管理员重置密码具有“管理员管理”权限的管理员登陆后,可以为管理员重置密码,过程类似于6.1.3基础信息模块中的修改密码。资费管理资费编辑功能介绍具有“资费管理”权限的用户登录后,可以查看、修改、增加资费信息,查看资费信息时:界面上将会分页列出所有的资费信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示其他所有的页码的链接。界面核心代码以下是资费分页显示的核心代码://分页查询 publicList<Cost>findByPage(intpage,intpageSize)throwsDAOException{ List<Cost>list=null; Connectioncon=DBUtil.getConnection(); try{ PreparedStatementps=con.prepareStatement(findByPageSql); //小于下一页的最小行 intnextMin=page*pageSize+1; //大于上一页的最大行 intlastMax=(1)*pageSize; ps.setInt(1,nextMin); ps.setInt(2,lastMax); ResultSetrs=ps.executeQuery(); while(rs.next()){ Costc=createCost(rs); if(list==null) list=newArrayList<Cost>(); list.add(c); } }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("分页查询出现错误!",e); }finally{ DBUtil.closeConnection(); } returnlist; }分页部分Jsp代码:<!--分页--> <divid="pages"> <s:iftest="page==1"> <ahref="#">上一页</a> </s:if> <s:else> <ahref="findCost.action?page=<s:propertyvalue="1"/>">上一页</a> </s:else> <s:iteratorbegin="1"end="totalPage"var="p"> <s:iftest="#p==page"> <ahref="findCost.action?page=<s:property/>"class="current_page"><s:property/> </a> </s:if> <s:else> <ahref="findCost.action?page=<s:property/>"><s:property/></a> </s:else> </s:iterator> <s:iftest="page==totalPage"> <ahref="#">下一页</a> </s:if> <s:else> <ahref="findCost.action?page=<s:propertyvalue="page+1"/>">下一页</a> </s:else> </div>以下是增加资费的核心代码:publicvoidinsertCost(Costcost)throwsDAOException{ if(cost==null){ return; } Connectionconn=DBUtil.getConnection(); try{ PreparedStatementps=conn.prepareStatement(insertCostSql); System.out.println(cost.getName()); ps.setString(1,cost.getName()); ps.setObject(2,cost.getBaseDuration()); ps.setObject(3,cost.getBaseCost()); ps.setObject(4,cost.getUnitCost()); ps.setString(5,cost.getDescr()); ps.setString(6,cost.getCostType()); ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("向cost表中插入一行数据时候出错了!",e); }finally{ DBUtil.closeConnection(); } }启用、暂停、删除资费功能介绍具有“资费管理”权限的用户登录后,可以启用、暂停、删除资费,程序流程图核心代码以下是启用资费的核心代码:publicvoidstartById(intid)throwsDAOException{ Connectioncon=DBUtil.getConnection(); PreparedStatementps=null; ResultSetrs=null; intstatus=0; try{ ps=con.prepareStatement(searchStatusById); ps.setInt(1,id); rs=ps.executeQuery(); while(rs.next()){ status=Integer.parseInt(rs.getString(1)); System.out.println("查询出来的status:"+status); } if(status==0){ Calendarcar=Calendar.getInstance(); Datedate=car.getTime(); SimpleDateFormatfdt=newSimpleDateFormat("yyyy-MM-dd"); Stringtime=fdt.format(date); ps=con.prepareStatement(startByIdsql2); ps.setInt(1,1); ps.setString(2,time); ps.setInt(3,id); }else{ ps=con.prepareStatement(startByIdSql); ps.setInt(1,0); ps.setInt(2,id); } ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("启用资费数据失败!",e); }finally{ DBUtil.closeConnection(); } }以下是删除资费的核心代码: privateStringdeleteByIdSql="deletefromCOSTwhereid=?"; publicvoiddeleteById(intid)throwsDAOException{ Connectioncon=DBUtil.getConnection(); try{ PreparedStatementps=con.prepareStatement(deleteByIdSql); ps.setInt(1,id); ps.executeUpdate(); }catch(SQLExceptione){ e.printStackTrace(); thrownewDAOException("删除资费数据失败!",e); }finally{ DBUtil.closeConnection(); } }账务账号管理账务账号浏览功能介绍具有“账务账号管理”权限的用户登录后,浏览账务账号时:界面上将会分页列出所有的账务账号信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示与当前页临近的5个页码的链接界面开通、暂停、删除功能介绍具有“账务账号管理”权限的用户登录后,可以开通、暂停、删除账务账号。开通账务账号只能开通状态为“暂停”的账务账号,开通某一个账务账号,不会同时开通其下属的所有业务账号,需要在“业务账号”模块中单独操作,账务账号开通后,记载开通时间,且删除该账号的暂停时间。暂停账务账号只能暂停状态为“开通”的账务账号,暂停该账务账号时,它下属的所有业务账号都会被暂停,执行暂停操作时,记载该账号的暂停时间。账务账号被删除后,数据依然保留,状态更改为“删除”,并且记录删除时间,账务账号被删除后,不能执行开通、暂停或者修改,删除账务账号时,会删除该账务账号下属的所有业务账号。系统流程图查询、增加、修改功能介绍具有“账务账号管理”权限的用户登录后可以根据查询条件查询账务账号相关信息,例如:身份证、姓名等,并选择某种状态“开通”、“暂停”等,如果数据库中没有查询到相应的数据,则界面只显示相应的表头。增加新的账务账号,其初始状态为开通。可以修改已有账务账号的信息,其中,ID、登陆账号、身份证、生日不能修改程序流程图业务账号管理业务账号浏览具有“业务账号管理”权限的用户登录后,可以浏览所有业务账号的信息,界面上将会分页列出所有的业务账号信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示与当前页临近的5个页码的链接业务账号查询、增加、修改功能介绍具有“业务账号管理”权限的用户登录后:可以查询业务账号相关的信息,也可以根据查询条件查询相关数据,,例如身份证号码、OS账号等,并选择某种状态,例“开通”、“暂停”等。可以增加新的业务账号,新创建的业务账号为开通状态,状态为“暂停”或“删除”的账务账号,不能添加业务账号,身份证号码和账务账号必须匹配,同一服务器上的OS账号必须唯一。可以修改已有的业务账号信息,界面上有许多业务账号的关键数据,如:OS账号,业务账号ID,服务器IP及资费类型,其中只能修改资费类型,修改后的资费类型保存成功后,新的资费标准从下月生效。程序流程图业务账号暂停、开通、删除功能介绍具有“业务账号管理”权限的用户登录后:可以暂停“开通”状态下的业务账号,只能暂停状态为“开通”的业务账号,执行暂停操作时,记录该账号的暂停时间。可以开通“暂停”状态下的业务账号,只能暂停状态为“暂停”的业务账号,假使业务账号所属的账务账号状态为暂停或者删除,则不能开通此业务账号,开通操作后,记录开通时间,并同时删除该账号的暂停时间。可以删除业务账号,业务账号删除后,数据仍然保留,更改状态为“删除”,删除状态的业务账号不能开通、暂停。程序流程图账单管理账单浏览具有“账单管理”权限的管理员登陆后,可以查看所有的账单的数据,界面上将会分页列出所有的账单信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示与当前页临近的5个页码的链接,并且当月的账单并不现实,账单的支付状态有两种“已支付”、“未支付”。并且账单的支付方式有:现金、转账、刷卡。查询账单功能介绍具有“账单管理”权限的管理员登陆后,可以查询账单数据(只能查询最近3年的账单)。程序流程图报表浏览报表功能介绍具有管理报表权限的管理员登陆后,界面上将会分页列出客户的报表信息,每页显示10条数据,如果数据少于或者等于10条,则不显示分页的页码,如果数据多于10条,则显示前10条数据,当前页码为1,并且显示与当前页临近的5个页码的链接,界面故障分析在配置系统环境、系统编码工作时,碰到了许多问题,中途经过了许多次的调试,以下列举一些常见的并且重要的故障:java.lang.NullPointerExceptionNullPointerExcepiton是空指针异常,当一个引用没有被赋值,就是一个空值。如果这种情况下,使用该引用调用其属性或者方法,就会发生NullPointerException异常。在录入系统时间时,因为Myeclipse时间格式与oracle时间的格式不一致,导致时间无法录入。解决办法:将Myclipse里面的Date类型时间使用oracle内置函数to_date(‘’,‘yyyy-mm-dd’)。Oracle中,系统默认的时间格式不符合系统界面所显示的时间格式。解决办法:使用oracle中的内置函数ALTERSESSIONSETNLS_DATE_FORMAT='yyyymmddhh24:mi:ss'将时间格式转换一下。Therequestedresource(/TelecomSys/)isnotavailable解决办法:工程中web.xml文件的</welcome-file-list>没有配置好。在给Web工程添加Struts2支持后,由外部导入的包antlr.2.7.6.jar与Struts2自带的包antlr.2.7.4.jar产生冲突,使程序无法运行。解决办法:移除包antlr.2.7.4.jar,移除操作为:Windows-Preferences-Myeclipse-Projectcapabilities-Strust2,选中antlr.2.7.4.jar点击右边Remove按钮。移除包后,重启Myeclipse,并清除Myeclipse自带的Tomcat中webapps文件夹和work文件夹下的项目部署文件,重新部署项目后问题解决。在jsp页面中编写JavaScript方法后,在按钮事件中调用onClick=”returnxx();”时该语句报错。解决办法:去除对JavaScript的验证。去除步骤为:Windows-Preferences-Myeclipse-validation,将JavaScriptvalidatorforJSfiles一行中Build勾去掉。用jdbc连接数据库,进行数据库操作时,显示为指定标示错误。解决办法:PrepareStatement中?号的个数必须和setObject(“”,””)指定的参数个数相同,Result

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论