基于SSH框架的电信计费系统——毕业论文_第1页
基于SSH框架的电信计费系统——毕业论文_第2页
基于SSH框架的电信计费系统——毕业论文_第3页
基于SSH框架的电信计费系统——毕业论文_第4页
基于SSH框架的电信计费系统——毕业论文_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

毕毕 业业 设设 计计 中文题目中文题目基于基于 SSHSSH 框架的电信计费系统框架的电信计费系统 英文题目英文题目Telecom Billing System Based On SSH Framework 院 系:计算机与信息工程学院 年级专业: 软件工程(金融服务) 姓 名: 学 号: 指导教师: 职 称: 年 月 摘要 I 摘摘 要要 近几年我国经济快速发展,电信行业也随之发展壮大,因此也出现了许多新的 业务。为了满足新型电信业务 Open Lab 的计费需求,本文研究分析了电信计费系统 所涉及到的业务及其计费流程等,成功开发了专门计算 Open Lab 业务的电信计费系 统。在开发过程中完成系统的需求分析与业务逻辑设计,并且借助 SSH 框架来实现 系统的功能。该计费系统采用了 B/S 的设计模式,使用 MySQL 作为后台数据库,利 用 MyEclipse、PhotoShop 等工具进行开发,主要开发语言为 Java。该计费系统具 有良好的稳定性与易用性,并且能够让业务人员更加快捷地完成计费工作,大大提 高员工的工作效率。 关键词:关键词:计费管理系统;MySQL;SSH ABSTRACT II ABSTRACT With Chinas economic developing rapidly in recent years, the telecommunications industry has also developed and grown, so there are many new businesses. In order to meet the needs of open lab of accounting which are new telecommunications services, this paper analysis the telecom billing system related to the business and accounting processes, and it also successfully developed a special computer open lab business of telecom billing system. In the development process to complete the needs analysis of system and the design of business logic, and it also achieve the function of the system with the help of SSH framework. The billing system uses the B/S design pattern, using MySQL as the background database, using Photoshop, MyEclipse and other tools for development, and the main development language is Java. The charging system has good stability and ease of use, and it can make the business staff to complete the billing more quickly and improving the efficiency of the staff greatly. Key Words: Billing Management System; MySQL; SSH 目录 III 目目 录录 第第 1 1 章章引言引言1 1 1.1 背景和意义.1 1.2 国内外发展现状及趋势.1 1.3 建立电信计费系统的必要性.1 1.4 本文的研究内容.1 第第 2 2 章章需求分析需求分析3 3 2.1 目标.3 2.1.1 系统介绍.3 2.1.2 使用对象.3 2.1.3 系统的核心部分-功能模块3 2.2 需求规定.4 2.3 系统可行性分析.8 2.3.1 经济可行性分析.8 2.3.2 技术可行行分析.8 2.3.3 运行可行行分析.8 2.4 本章小结.8 第第 3 3 章章相关技术概述相关技术概述9 9 3.1 SSH9 3.1.1 Struts.9 3.1.2 Spring.9 3.1.3 Hibernate.10 3.2 JSP.10 3.3 MYSQL 数据库.11 3.4 本章小结11 第第 4 4 章章系统设计系统设计1212 4.1 数据库设计12 4.1.1 数据库的关系模式图12 4.1.2 数据表用途说明12 4.1.3 部分数据表字段说明13 4.2 系统 UI 设计.14 4.3 项目结构说明18 4.4 系统代码讲解18 4.4.1 Factory 模式代码解释 18 4.4.2 部分功能类代码展示19 4.4.3 资费计算代码20 4.5 本章小结21 第第 5 5 章章系统测试系统测试2222 5.1 测试方法22 5.2 测试用例22 目录 IV 5.3 测试总结23 5.4 本章小结24 第第 6 6 章章总结与展望总结与展望2525 6.1 总结25 6.2 展望25 参考文献参考文献2626 致致 谢谢2727 第 1 章 引言 1 第第 1 1 章章引言引言 1.1 背景和意义背景和意义 随着近几年来电信行业的迅猛发展, 在的新型电信业务中,有一种叫做 Unix 实 验室出租的服务业务。只要用户向电信运营商申请一个 Unix 账号(OS 账号) ,就可 以远程登录 Unix 实验室,以使用 Unix 系统。任何用户登录电信运营商提供的 Unix 实验室的 Unix 系统时 AJnix 系统都会记录该 OS 账号的登入和登出信息,这些信息 都保存在 Unix 的系统日志文件中。 用户使用电信运营商提供的 Unix 实验室的服务需要缴纳一定的费用。因而,电 信运营商需要一套系统来帮助他们计算用户使用服务器的时长,以作为对用户的收费 依据。 数据采集程序采集到登录数据之后,首先要将数据进行进一步的解析和匹配等处 理,然后需要将数据发送到服务器端.服务器端得到数据之后,需要将数据保存为数 据文件,同时将数据存入数据库。另外,还需要计费管理系统来实现费用的管理和查 看。 当使用者使用该业务时就会产生相应的费用。为了方便运营商计算费用所以设计 了该计费系统来协助他们记录用户的使用时间从而完成收费。 在这样的背景下,根据客户实际境况,我们提出了电信计费管理系统开发需求。 1.2 国内外发展国内外发展现状及趋势现状及趋势 服务器租用业务国外的发展已经十分成熟。由于近几年我国经济一路高歌猛进, 中小企业的数量也增长迅速,所以有些企业就想利用网络的便利来服务客户以便提高 本身的服务品质,随着而来的高额的服务器购置费成了一大难题,由此一些电信巨头 便开展了服务器租赁业务以此来满足市场的需求。 经过最近几年的大力发展以及借鉴国外的服务器租赁的发展模式,我国目前的发 展趋势较为平稳,有良好的上涨空间,随着企业数量的增长预计此项业务也会随之发 展壮大。 1.3 建立电信计费系统的必要性建立电信计费系统的必要性 如今电信计费管理系统不再是一个简单的后台系统,其作为整个电信行业的核 第 1 章 引言 2 心竞争力的地位渐渐被人们认可,很明显电信计费系统成为整个电信系统的灵魂所 在。它可以有效地提供业务服务,降低公司的运营成本,提高公司的运营效率1。 不管是电信运营商还是各电信分销商都必须重视电信计费系统的研发,这样才能在 将来的电信业务发展中占居有利地位。 1.4 本文本文的的研究内容研究内容 本文主要对电信服务器出租业务进行了解,在熟悉其业务计费的具体流程后设计 了该电信计费系统。 本文一共有六个章节: 第一章描述了研究该系统的背景与意义,并大致讲解了该系统业务的国内和国外 的发展现状; 第二章简要描述了系统的功能需求,并对功能进行了较为详细的设计和分析; 第三章对系统的相关实现技术进行讲解说明,主要涵盖 SSH 框架和 MySQL 的介绍; 第四章简要地分析了现有的几种电信计费软件,并设计和实现了一个基于 SSH 框 架的计费系统; 第五章对本文软件进行了系统测试和对测试结果进行分析; 第六章,总结和展望了这次的毕业设计工作。 第 2 章 需求分析 3 第第 2 2 章章需求需求分析分析 2.1 目标目标 2.1.1 系统介绍系统介绍 在最近几年流行的电信业务中有一个称为服务器出租的业务,在使用该业务时只 需要电信运营商提供服务器这样用户可以通过申请来的账号进行远程登录,从而使用 Unix 服务器上的各种服务,比如 Email、邮件中转站等。 就像出租车一样,用户使用别人出租的资源,就需要交纳一定的费用。而运营商 需要一款计费管理软件,将用户的使用时长收集起来,从而便于进行计费管理。 数据采集程序会把用户的登录时长数据提交给服务器之后服务器就会对提交的数 据进行保存方便之后的费用计算,然后通过整合程序对频繁的登录数据按一定规则进 行整合。另外,还要通过计费管理系统来实现实时计费,同时可以查看报表、账单等。 2.1.2 使用对象使用对象 那些开展该项业务公司的业务工作人员。 2.1.3 系统的核心部分系统的核心部分- -功能模块功能模块 经过前期长时间的调查与分析并对业务进行了实地的模拟考察后,设计了该系统 其拥有的功能如图 2.1。系统重点功能由以下几个模块组成: 1、角色管理模块:这个模块我设计的第一个功能是可以增加角色并且还可以给角 色不同的权限。第二个是使用的人可以在页面上点击链接来编辑已经有了的角色; 2、管理员管理模块:主要实现了对管理员进行角色赋予; 3、资费管理模块:主要实现让管理员可以设定不同的资费从而满足不同用户的需 求; 4、账务账号模块:主要实现用户信息的编辑登记方便业务的使用、计费以及费用 的缴纳; 5、业务帐号模块:在这个模块我根据业务方面的需要设计了业务帐号,在添加同 时会记录下这个账号下使用的是那个业务; 6、账单管理模块:通过这个模块运营商就可以看到每个用户使用套餐所产生的费 用; 7、报表模块:主要作用是展示用户的各种使用数据,方便管理员进行查看和统计。 第 2 章 需求分析 4 图 2.1 系统的功能结构模块图 2.2 需求规定需求规定 2.2.1 顶层用例图顶层用例图 计费系统的顶层用例图如图 2.2 所示: 其中包含以下功能: 角色管理:管理员添加角色分配角色权限,分为添加角色、浏览、修改、删除角色等 管理操作; 管理员管理:针对管理员来分配不同的角色,功能包括对管理员的添加、浏览、修改、 删除; 资费管理:针对不同资费进行管理,分为添加资费、浏览、修改、删除、启用资费; 账务账号:针对使用套餐资费的用户进行管理,分为添加账务账号、浏览、修改、删 除账务账号; 业务账号:针对不同账务账号下关联的业务账号进行管理,分为添加业务账号、浏览、 修改、删除业务账号; 账单管理:针对用户的账单进行管理,分为浏览、查询账单; 报表:针对报表进行查看浏览,就是进行查看报表。 第 2 章 需求分析 5 图 2.2 系统顶层用例图 2.2.2 分层用例图分层用例图 2.2.2.12.2.2.1 角色管理角色管理 角色管理用例图如图 2.3 所示。 图 2.3 角色管理用例图 (1)添加角色 表 2.1 添加角色用例简述 用例名称添加角色 功能简述具有“角色管理”权限的管理员登录后,可以增加新角色 前置条件具有“角色管理”权限的管理员登录成功,且“角色浏览”用例执行 成功 后置条件无 第 2 章 需求分析 6 基本事件流1. 具有“角色管理”权限的管理员登录后单击“角色管理”的功能 链接,则可以进入该页面,然后单击界面上的增加按钮,则进入 增加角色界面; 2. 单击保存按钮数据提交到服务器端后,进行增加角色的操作,如 果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面取消按钮,则回到角色浏览界面。 备注角色名称唯一,不可以重复 (2)修改角色 表 2.2 修改角色用例简述 用例名称修改角色 功能简述具有“角色管理”权限的管理员登录后,可以修改已有角色的数据 前置条件具有“角色管理”权限的管理员登录成功,且“角色浏览”用例执行 成功 后置条件无 基本事件流1. 具有“角色管理”权限的管理员登录后单击“角色管理”的功能 链接,则可以进入该页面,然后点击界面上的修改按钮就可以进入到 角色修改界面; 2. 单击保存按钮数据提交到服务器端后,进行修改角色的操作,如 果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面取消按钮,则回到角色浏览界面。 备注角色名称唯一,不可以重复 2.2.2.22.2.2.2 管理员管理管理员管理 管理员管理用例图如图 2.4 所示。 图 2.4 管理员管理用例图 第 2 章 需求分析 7 (1)增加管理员 表 2.3 增加管理员用例简述 用例名称增加管理员 功能简述具有“管理员管理”权限的管理员登录后,就可以增加新的管理员 前置条件具有“管理员管理”权限的管理员登录成功,且“管理员浏览”用例 执行成功 后置条件无 基本事件流1. 具有“管理员管理”权限的管理员登录后,单击管理员的功能链 接,则可以进入管理员浏览界面,然后单击界面上的增加按钮, 则进入增加管理员界面; 2. 单击保存按钮数据提交到服务器端后,进行增加管理员操作,如 果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到管理员浏览界面。 备注管理员帐号唯一,不能重复;且至少拥有一个角色 (2)修改管理员 表 2.4 修改管理员用例简述 用例名称修改管理员 功能简述具有“管理员管理”权限的管理员登录后,就可以修改已有的管理员 数据 前置条件具有“管理员管理”权限的管理员登录成功,且“管理员浏览”用例 执行成功 后置条件无 基本事件流1. 具有“管理员管理”权限的管理员登录后,单击管理员的功能链 接,则可以进入管理员浏览界面,然后单击界面上的修改按钮, 则进入修改管理员界面; 2. 单击保存按钮数据提交到服务器端后,进行修改管理员操作,如 果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到管理员浏览界面。 备注管理员帐号唯一,不能重复;且至少拥有一个角色 (3)管理员浏览 表 2.5 管理员浏览用例简述 用例名称管理员浏览 功能简述具有“管理员管理”权限的管理员登录后,可以查看所有管理员的信 第 2 章 需求分析 8 息 前置条件具有“管理员管理”权限的管理员成功登录 后置条件可以执行增加管理员、修改管理员或者删除管理员的用例 基本事件流1. 具有“管理员管理”权限的管理员登录后,单击管理员的功能链 接,则可以进入管理员浏览界面,可以查看所有的管理员信息; 2. 单击增加按钮,则执行增加管理员用例; 3. 单击修改按钮,则执行修改管理员用例。 备注无 2.2.2.32.2.2.3 资费管理资费管理 资费管理用例图如图 2.5 所示。 图 2.5 资费管理用例图 (1)增加资费 表 2.6 增加资费用例简述 用例名称增加资费 功能简述具有“资费管理”权限的管理员登录后,可以增加新的资费 前置条件具有“资费管理”权限的管理员登录成功,且资费浏览用例执行成功 后置条件无 基本事件流1. 拥有“资费管理”权限的管理员登录后,单击资费管理的功能链 接,则可以进入资费管理界面,然后单击界面上的增加按钮,则 可以进入增加资费界面; 2. 单击保存按钮数据提交到服务器端后,进行增加资费操作,如果 操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到资费浏览界面。 第 2 章 需求分析 9 备注1. 自费名称唯一,不能重复; 2. 新创建的资费,状态为暂停。 (2)修改资费 表 2.7 修改资费用例简述 用例名称修改资费 功能简述具有“资费管理”权限的管理员登录后,可以修改已有资费的数据 前置条件具有“资费管理”权限的管理员登录成功,且资费浏览用例执行成功 后置条件无 基本事件流1. 拥有“资费管理”权限的管理员登录后,单击资费管理的功能链 接,则可以进入资费管理界面,然后单击界面上的修改按钮,则 可以进入修改资费界面; 2. 单击保存按钮数据提交到服务器端后,进行修改资费操作,如果 操作不成功系统就会弹出提示信息; 3. 如果单击页面的取消按钮,则回到资费浏览界面。 备注1. 自费名称唯一,不能重复; 2. 新创建的资费,状态为暂停。 2.2.2.42.2.2.4 账务账号管理账务账号管理 账务账号管理用例图如图 2.6 所示。 图 2.6 账务账号管理用例图 (1) 增加账务账号 表 2.8 增加账务账号用例简述 用例名称增加账务账号 功能简述具有“账务账号管理”权限的管理员登录后,可以增加新的账务账号 前置条件具有“账务账号管理”权限的管理员登录成功,且账务账号浏览用例 第 2 章 需求分析 10 执行成功 后置条件无 基本事件流1. 具有“账务账号管理”权限的管理员登录后,单击账务账号管理 的功能链接,则可以进入账务账号管理界面,然后单击界面上的 增加按钮,则可以进入增加账务账号界面; 2. 单击保存按钮数据提交到服务器端后,进行增加账务账号操作, 如果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到账务账号浏览界面。 备注1. 新创建的账务账号的状态为开通; 2. 账务账号必须和身份证一一对应。 (2)修改账务账号 表 2.9 修改账务账号用例简述 用例名称修改账务账号 功能简述具有“账务账号管理”权限的管理员登录后,可以修改已有账务账号 的数据 前置条件具有“账务账号管理”权限的管理员登录成功,且账务账号浏览用例 执行成功 后置条件无 基本事件流1. 具有“账务账号管理”权限的管理员登录后,单击资费管理的功 能链接,则可以进入账务账号管理界面,然后单击界面上的修改 按钮,则可以进入修改账务账号界面; 2. 单击保存按钮数据提交到服务器端后,进行修改账务账号操作, 如果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到账务账号浏览界面。 备注1. 录入正确的旧密码,才能修改密码。 2.2.2.52.2.2.5 业务账号管理业务账号管理 业务账号管理用例图如图 2.7 所示。 第 2 章 需求分析 11 图 2.7 业务账号管理用例图 (1) 增加业务账号 表 2.10 增加业务账号用例简述 用例名称增加业务账号 功能简述具有“业务账号管理”权限的管理员登录后,可以增加新的业务账号 前置条件具有“业务账号管理”权限的管理员登录成功,且业务账号浏览用例 执行成功 后置条件无 基本事件流1. 具有“业务账号管理”权限的管理员登录后,单击账务账号管理 的功能链接,则可以进入业务账号管理界面,然后单击界面上的 增加按钮,则可以进入增加业务账号界面; 2. 单击保存按钮数据提交到服务器端后,进行增加业务账号操作, 如果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到业务账号浏览界面。 备注1. 新创建的业务账号的状态为开通; 2. 状态为暂停或者删除的账务账号不能为其增加业务账号; 3. 身份证号码和账务账号必须匹配; 4. 同一个服务器上的 OS 账号必须唯一。 (2)修改业务账号 表 2.11 修改业务账号用例简述 用例名称修改业务账号 功能简述具有“业务账号管理”权限的管理员登录后,可以修改已有业务账号 的数据 第 2 章 需求分析 12 前置条件具有“业务账号管理”权限的管理员登录成功,且业务账号浏览用例 执行成功 后置条件无 基本事件流1. 具有“业务账号管理”权限的管理员登录后,单击资费管理的功 能链接,则可以进入业务账号管理界面,然后单击界面上的修改 按钮,则可以进入修改业务账号界面; 2. 单击保存按钮数据提交到服务器端后,进行修改业务账号操作, 如果操作不成功系统就会弹出相对应的提示信息; 3. 如果单击页面的取消按钮,则回到业务账号浏览界面。 备注1. 录入正确的旧密码,才能修改密码。 2.2.2.62.2.2.6 账单管理账单管理 账单管理用例图如图 2.6 所示。 图 2.8 账单管理用例图 (1)账单浏览 表 2.12 账单浏览用例简述 用例名称账单浏览 功能简述具有“账单管理”权限的管理员登录后,可以查看所有账单的信息 前置条件具有“账单管理”权限的管理员登录成功 后置条件此用例执行成功后,可以执行查询账单、账单明细浏览的用例 基本事件流1. 具有“账单管理”权限的管理员登录后,单击账单管理的功能链 接,则可以进入账单浏览界面,可以查看所有的账单信息; 2. 单击表格中某行数据上的明细按钮,则执行账单明细浏览用例。 备注1 当月账单不显示; 2 账单的支付状态有两种:已支付和未支付; 3 账单的支付方式有三种:现金、转账、卡付。 (2)账单明细浏览 第 2 章 需求分析 13 表 2.13 账单明细用例简述 用例名称账单明细浏览 功能简述具有“账单管理”权限的管理员登录后,可以查看某账单的明细数据 前置条件具有“账单管理”权限的管理员登录成功,且账单浏览用例执行成功 后置条件无 基本事件流1. 具有“账单管理”权限的管理员登录后,执行账单浏览用例得到 账单的列表数据; 2. 单击界面上某行数据上的明细链接,则进入账单明细浏览页面以 查看该账单的详细信息; 3. 单击页面上的返回按钮,返回到账单浏览界面。 备注无 2.2.2.72.2.2.7 报表报表 报表用例图如图 2.6 所示。 图 2.9 报表用例图 (1)报表浏览 表 2.14 报表浏览用例简述 用例名称报表浏览 功能简述具有“报表”权限的管理员登录后,可以查看所有报表的信息 前置条件具有“报表”权限的管理员登录成功 后置条件无 基本事件流1. 具有“报表”权限的管理员登录后,单击报表的功能链接,则可 以进入报表浏览界面,以查看报表信息; 备注无 2.3 运行环境分析运行环境分析 2.3.1 硬件条件硬件条件 处理器型号及内存容量:酷睿 i3 及以上系列的处理器,频率 1.5Ghz 以上 第 2 章 需求分析 14 运行内存:2G 及以上; 硬盘空间:320G 或更多。 2.3.2 系统平台系统平台 Microsoft Window 7 操作系统。 2.3.3 开发工具开发工具 系统 MySQL 数据库采用可视化工具 Navicat for MySQL 进行数据库操作3。开发工具 采用了可视化的 Myeclipse4。前台页面采用 Dreamweaver 来进行设计,PhotoShop 进行图片处理。 2.4 系统可行性分析系统可行性分析 2.4.1 经济可行性分析经济可行性分析 电信计费系统所产生的经济效益,直接关系到电信运营商的收益和用户的使用情 况,保证用户使用时长的实时性和正确性是提高运营商收益的前提。在本论文的项目 系统中,可以对账单数据进行智能的统计,给予管理员多种统计数据的形式方便管理 员对这些统计数据进行详细的分析,并且对相关的参数进行较好的管理。因此,从经 济上说对公司是有利无害的说不定还可以帮组公司节省不必要的人员的工资。 2.4.2 技术可行行分析技术可行行分析 通过多方面的调查与了解最终决定使用目前较为流行的 B/S 架构。B/S 架构 (Browser/Server,浏览器/服务器模式) ,是一种网络架构模式6。而且电信公司本 身也配置了许多电脑不用为此再购买新的硬件设施,由于各个方面的条件限制我们只 好选择免费使用的 Tomact 来作为我们系统的服务器。并且还用了 SSH 框架来帮组我们 实现和管理系统利用这个框架大大提高了系统的编程进度,关键利用该框架帮我实现 了许多复杂的功能。这样系统在后期的维护过程中即便发生了人员的更换新的维护人 员也可以快速的熟悉了解系统的这个业务流程及其实现过程。所以在技术方面考虑该 系统也是切实可行的。 2.4.3 运行可行行分析运行可行行分析 由于本项目系统具有友好的界面,操作简单,帮助信息详尽,工作人员只需经过 简单的培训之后就可以熟练操作。系统运行环境的服务器采用 UNIX 操作系统,MySQL 数据库,客服端只需要浏览器就可以运行该系统,这样的运行环境都是很好配置的7。 因此,从运行可行性上讲,本项目系统是可以运行的。 第 2 章 需求分析 15 2.5 本章小结本章小结 本章大致概括了该计费系统所需要的功能,并按照需求画出了用例图,最后介绍 了系统运行所需要的环境与系统可行性的分析。 第 3 章 相关技术概述 16 第第 3 3 章章相关技术概述相关技术概述 3.1 SSHSSH 3.1.1 StrutsStruts Struts2 框架将功能用一个个组件封装起来方便了用户的调用从另一方面来讲这样 就提升了框架的可变性等优点使其更为轻巧,更重要的是它大大提高了基于三层架构 的 web 开发效率。Struts2 还能够清楚的辨别 Model、View、Control 这样就使得软件 开发更加便捷高效。重要的是由它提供的功能类让软件研发人员可以更有效稳定的进 行开发。它通过采用 JavaServlet/JSP 技术,实现了基于 Java EEWeb 应用的 MVC 设计 模式的应用框架,是 MVC 经典设计模式中的一个经典产品8。它的优点有: 1、 Struts2 是基于三层架构因此逻辑更加清楚这样程序员就能够更加准确的控制 项目的进度。 2、 Struts2 自带有拦截器这样就可以使许多功能以更加便捷的方法实现,减轻了 开发人员的负担。 3、 Struts2 可以帮助开发人员以最简单有效的方法来得到程序所需要的数据,在 一定程度上减少了程序员的工作量。 4、 Struts2 框架使得开发人员可以更加便捷的编写测用例试在很大程度上提高了 软件的开发效率9。 3.1.2 SpringSpring Spring 是个开源并且也是个轻量的框架。提供诸如事务管理等服务的面向切面编 程(AOP)框架10。Spring 框架最主要的功能是控制反转和面向切面所以它可以帮组软 件开发人员快捷的实现某些复杂的功能。其优点有: 1、 Spring 具有 IOC 容器因此开发人员可以不去管理对象之间各种繁杂的联系这样 开发人员就可以有更多的精力来实现功能。 2、 Spring 还能够进行面向切面的开发如此一来就可以大大提高了软件系统的内聚 性。 3、 Spring 并且对目前市场上主要流行的框架有着较高程度的整合支持,提高了自 身使用价值。 4、 Spring 框架十分开放因此软件开发并不会被其限制或者束缚,只要程序员想用 就可以用非常灵活并不会强制要求。 第 3 章 相关技术概述 17 3.1.3 HibernateHibernate Hibernate 的本质就是对象关系映射(ORM)工具 11。Hibernate 是一个非常强大 的开源框架而且它也是一个会对对象进行封装的框架。有了 Hibernate 软件开发人员 可以便捷的操作数据库从而替换了之前复杂的 JDBC 代码不管从哪方面来说 Hibernate 都有助于提高开发人员的工作效率。它的优点有: 1、 Hibernate 自身对 JDBC 进行了封装打打减少了程序的代码量从另一方面来说封 装后的代码的服复用性也在很大程度上得到了提升。 2、 Hibernate 优化了 DAO 层降低了开发人员的工作强度而且也有效提高了软件开 发进程。 3、 Hibernate 还拥有良好的可移植性可以较为完美的与市面上的众多数据库进行 衔接,重要的是要是不同客户使用不同的数据库时软件代码并不用进行修改只 要在其配置文件中修改部分参数就可以使用。 4、 Hibernate 进行操作的只是一个单纯 Java 类其并不正真完成接口的编写因而 hibernate 不具有强大侵入的能力。 3.2 B/SB/S 架构介绍架构介绍 “B/S 架构(Browser/Server,浏览器/服务器模式) ,是一种网络架构模式”6。 现在的系统都自带着浏览器,浏览器多种多样,所以这种架构规范了客户端浏览器的 开发,所以很多浏览器的核心是一样的,B/S 架构将系统的逻辑业务实现这个重要的部 分集中在了服务器端,进而简化了所有客户端的开发、维护和所以降低了开发成本; 也就是说只要在客户端上安装上客户喜欢或习惯使用的浏览器,服务器端则只需安装 数据库提供相应的服务就可以了。浏览器发送相应的请求然后通过 Web 服务将数据传 到服务器端与服务器端的数据库进行数据交互7。通过这种方式可以减轻客户端的负 载同时降低维护费用。 优点:客户端无需安装软件这一显著的特点就是 B/S 架构的最明显的优势。对于 用户来说只需要有网络服务并且有浏览器就能实现与服务器端的信息交互。采用分布 式结构,所以客户端不会受到时间或者地点的影响。 缺点:因为客户端使用的浏览器多种多样,不同的浏览器在界面显示效果和功能 又会受浏览器本身的条件的影响。所以不同版本的浏览器展现的情况会有不同,若想 兼容多个版本的浏览器则会加大开发的难度。 第 3 章 相关技术概述 18 3.3 MVCMVC 模式介绍模式介绍 MVC 模式在解决校验信息的正确性、逻辑业务流程执行顺序和改变系统的状态这些 方面上具备方便的优势。MVC 通过将问题分为三个类别,也就是我们常说的三层架构, 进而帮助开发中解决单一模块方法所遇到的问题。想要让一个系统具备不同的表现形 式,就可以采用 MVC 模型来将代码分离。C 是 M 和 V 之间的桥梁8。 3.3.1 Model(Model(模型模型) ) 主要的核心功能都被封装在了模型中。为了更加合理的编程应用程序的主要逻辑 处理代码都被封装在了模型中。有时状态就是他唯一包含的内容。因为它的出来不需 要和其他模块扯上关系所以视图或控制器对它来说是透明的。企业数据和业务规则就 是通过模型来进行具体的体现的。模型是 MVC 架构中出来逻辑业务的主要支柱,数据 模型是业务模型中最重要的模型。可以把一个模型单独的列出来,那些和他有联系的 数据库的操作都集中到模型里面。 3.3.2 View(View(视图视图) ) 我们应用系统时所能看到的界面就是视图所表现出来的。模型中的读取方法可以 被视图进行访问,而写方法则视图是访问不了。控制器对他也是透明的。当模型层里 面的代码被进行了修改后,视图就必须得到相应的修改信息。用户看到并和他交互的 界面是视图。相比 Web 系统来进行分析的话,视图其实是由 HTML 标签等元素组成的界 面,但因为 HTML 语言编写的网页是属于静态的,而如今的 Web 应用程序中几乎都是动 态页面,所以静态的网页无法实现人们所要的那些复杂的功能需求,因此出现了许多 动态的页面语言如 PHP,JSP 等。 3.3.3 Controller(Controller(控制器控制器) ) 控制器能够通过用户的输入信息经过相应的逻辑处理后作出反应。它创建并设置 模型。控制器根据用户从界面输入的数据并调用模型中相应的逻辑判断最终决定将那 个视图返回给用户。当单击 Web 页面中的超链接或者发送 HTML 表单时都会触发相应的 动作。控制器通过映射关系找到解决请求的模型,最后由模型觉得由哪个视图来返回 数据。业务逻辑的处理由模型来完成。 3.4 JSPJSP JSP 全名为 Java Server Pages,中文名叫 java 服务器页面,其根本是一个简化 的 Servlet 设计12。JSP 是一家国际大公司 Sun 建议众多公司共同创建的动态 web 技 术标准。其实现方法十分简单只要在 HTML 页面中将 Java 代码放在两个 Script 之间就 第 3 章 相关技术概述 19 可以变成 JSP。而且利用 JSP 技术开发的 Web 项目不仅能在 Linux 下成功运行还能够在 其他的系统下顺利运行并不会出现兼容问题。JSP 还可以把共同的逻辑代码抽取出来封 装起来这样不仅和页面展示分离而且抽取出来的逻辑功能还能在不同页面重复使用, 从而大大加快了 Web 应用的开发速度。其优点有: 1、只要编写一次代码这个功能就可以在这个运用里面使用并且不需要修改任何代 码。 2、利用 JSP 技术开发的应用在许多环境下都可以再次开发并不会收到各方面的局 限,所以这样的应用也能够在随便的环境上进行部署使用。这样大大减少了公司对于 软硬件需求方面的资金支出。 3、使用该技术是还有许多功能齐全的软件可以协助开发,这样在编程过程中有众 多的快捷键来帮助我们快速的编写复杂难记的代码。 从上一段的分析中可以看出 JSP 有许多优点但是其自身也存在一些很严重的缺点。 其中之一就是在运行程序时响应的速度是通过消耗内存来保障的。因此当运存过小时 系统又操作较大数据时系统就会提示其运行空间不足,而且还要一定的存储空间来保 存程序的 Java 文件,所以其对电脑的配置要求会高一些。 3.5 MySQLMySQL 数据库数据库 MySQL 是一个具有数据相关性的数据库,它会把互相关联的数据存储在各不相同的 表里,并不会把全部的数据都存储在同一个地方,如此一来就能够提高数据的搜索速 度。并且其使用的 SQL 语句是目前人们最熟悉的正规的语言,重要的是 MySQL 与其他 数据库相比它体积较小,并且在使用的响应速度上也有着不错的评价。更因为它是开 源的而且还可以和 PHP 等工具搭配组成十分不错的开发环境,所以一般的 B/S 开发都 会使用其来作为数据库。 3.6 本章小结本章小结 本章主要介绍了本文的度量工具所采用的相关技术,主要是 MySQL 数据库与 SSH 框架的介绍。通过该框架技术可以使我们得系统更加容易维护。 第 4 章 系统设计 20 第第 4 4 章章系统设计系统设计 4.1 数据库设计数据库设计 4.1.1 数据库数据库的关系模式图的关系模式图 图 4.1 数据库关系模式图 4.1.2 数据表用途说明数据表用途说明 表 4.1 数据表用途说明 表名表名用途用途 netcost_account 存放用户帐号基本信息。 netcost_admin 存放管理员的基本信息。 netcost_admin_role 存放管理员角色。 netcost_fee 存放业务资费的基本信息。 netcost_privilege 存放页面权限。 第 4 章 系统设计 21 续表 4.1 netcost_role 存放角色的基本信息。 netcost_role_privilege 存放角色权限信息。 netcost_bill 存放账单基本信息。 netcost_billitem 存放明细账单的信息。 4.1.3 部分数据表字段说明部分数据表字段说明 用户信息表:主要用于存储用户的基本账户信息,用户登入会查询此表。详见 表 4.2。 表 4.2 netcost_account 表 名称名称类型类型注释注释必填必填 idInt(20) 物理主键 Y loginNameVarchar (20) 用户的具体姓名 Y loginPasswordVarchar (20) 用户注册的密码 Y idCardVarchar(20) 身份证号 Y createTimedatetime 创建时间 管理员信息表:主要的功能是保存管理员的基本信息,管理员登录时模块会查 询该表。详见表 4.3。 表 4.3 netcost_admin 表 名称类型注释必填 idInt (20) 物理主键 Y nameVarchar (20) 姓名 Y loginNameVarchar (20) 用户注册时的具体姓名 Y loginPasswordVarchar (20) 用户注册使用的密码 Y createTimedatetime 创建时间 权限控制信息表:主要用于存储各个页面的权限信息。详见表 4.4。 表 4.4 netcost_privilege 表 名称名称类型类型注释注释必填必填 idInt (20) 物理主键 Y nameVarchar (255) 权限名称 urlVarchar (255) 权限标识 账单信息表:主要用于存储用户账单信息。详见表 4.5。 表 4.5 netcost_bill 表 名称名称类型类型注释注释必填必填 idInt (20) 物理主键 Y accountIdINT (20) 账务账号 Id billMonthVarchar (40) 账单月份 costdouble 费用 paymodeVarchar (30) 支付方式 payStateVarchar 10) 支付状态 账单明细信息表:主要用于存储账单信息,里面详细记录了用户套餐的使用情 况。详见表 4.6。 第 4 章 系统设计 22 表 4.6 netcost_billitem 表 名称名称类型类型注释注释必填必填 idInt (20) 物理主键 Y billMonthVarchar (255) 账单月份 hourVarchar (30) 使用时间 billIdVarchar (100) 账单 id 资费信息表:主要用于存储资费的基本信息。详见表 4.7。 表 4.7 netcost_fee 表 名称名称类型类型注释注释必填必填 idInt (10) 物理主键 Y nameVarchar(255) 资费名称 baseDurationInt (5) 资费时长 baseCostdouble 基础费用 unitCostdouble 小时费用 statusInt 开通状态 descrVarchar(255) 资费描述 costTypeInt 资费类型 stratTimedatetime 开通时间 角色基本信息表:主要用于存储菜单基本信息。详见表 4.8。 表 4.8 netcost_role 表 名称名称类型类型注释注释必填必填 idInt (20 物理主键 Y nameVarchar (255) 角色名称 4.2 系统系统 UIUI 设计设计 系统的主页:只有在用户登陆成功后才可以看到这个页面并且在这个页面上我 们可以很清楚的知道系统有哪几个功能。如图 4.2 所示。 图 4.2 电信计费系统首页界面 第 4 章 系统设计 23 角色管理界面:其功能涵盖了角色的添加、修改还有删除,根据选中的数据就 可以修改和删除相应的数据。如图 4.3 所示。 图 4.3 角色管理界面 管理员管理界面:所有的管理员都会在这边显示,还包含了管理员的增加、修 改、删除。如图 4.4 所示。 图 4.4 管理员管理界面 资费管理界面:管理员可以利用该界面来编辑资费,增加资费、修改资费、删 除资费。如图 4.5 所示。 第 4 章 系统设计 24 图 4.5 资费管理界面 账务账号管理界面:管理员通过此界面可以编辑用户的账务账号,包括增加账 务账号、修改账务账号和删除账务账号。如图 4.6 所示。 图 4.6 账务账号管理界面 业务账号管理界面:管理员在该页面能够看到各个账务账号下包含的业务账号, 并且能增加新的业务账号、修改业务账号和删除业务账号。如图 4.7 所示。 第 4 章 系统设计 25 图 4.7 选菜登录界面 账单管理界面:管理员可以通过该界面查看每个客户的消费情况,还可以查看 客户是否以及支付其使用的费用。如图 4.8 所示。 图 4.8 账单管理界面 报表界面:管理员可以在该界面上浏览到客户账务账号的使用情况。如图 4.9 所示。 第 4 章 系统设计 26 图 4.9 报表界面 4.3 项目结构说明项目结构说明 1. 包 base:包含了一些基本的操作类; 2. 包 action:包含了数据库表与 Java 对象进行映射的实体类; 3. 包 doamin:包含了访问数据库表信息的类; 4. 包 test:包含了对 DAO 的测试类; 5. 包 service:包含了业务逻辑的接口; 6. 包 service.impl:包含了实现了 service 接口中的方法; 7. 包 config:包含了所有的配置文件; 8. 包 util:包含了程序中使用的工具类。 4.4 系统代码系统代码讲解讲解 4.4.1 FactoryFactory 模式代码解释模式代码解释 所谓的工厂化设计就是把开发人员创建对象的明细流程给打包封起来并不让人 们看到,这样不仅让系统的来灵活性提高了也让程序员开发出更加简洁明了的代码 方便其他程序员的阅读参考。 1. DAO 接口 在 DAO 类中我们不会实现具体功能我们只会提供方法的名称,在一般情况下开 发人员会把通过的功能放在 DAO 类里面。 第 4 章 系统设计 27 图 4.11 部分 DAO 接口类代码图 2. DAOImpl 类 在这个类里面开发人员会实现之前在接口类里面所使用的功能。 图 4.12 部分 DAOImpl 类代码图 4.4.2 部分功能类代码部分功能类代码展示展示 功能类代码:在开发系统时为了避免重复编写相同的代码而增加不必要的工作 第 4 章 系统设计 28 量我们就可以把系统通用的一些功能抽取出来单独用一个基类来实现这样就可以减 少系统代码的冗余性,在减少工作量的同时还方便了我们后期的使用修改起来也不 会那么复杂。 权限过滤功能的实现代码: 图 4.13 权限过滤代码说明 4.4.3 资费计算代码资费计算代码 资费是利用用户的登入时长与套餐时长进行比较后计算得出的。具体流程为先 计算用户的使用时长 totalTime 与套餐基础时长 baseTime 进行比较,如果 totalTime 大于 baseTime 就将多出的部分时间和小时费用 unitCost 相乘得出费用, 最后与基础费用相加就是用户的最终费用。要是 totalTime 小于 baseTime 基础费用 就为用户的最终费用。 第 4 章 系统设计 29 图4.14 资费计算代码 4.5 本章小结本章小结 本章主要介绍了系统设计包括数据库设计、系统界面以及部分功能代码说明。 第 5 章 系统测试 30 第第 5 5 章章系统测试系统测试 5.1 测试方法测试方法 本文工具采用的测试方法为黑盒测试。也就是说在测试过程中,把系统看成一个 无法看清其内部结构的黑色盒子,在进行功能检测时只判断是不是和需求分析里面所 描述的一模一样,以及系统能否在得到输入数据时输出相应的内容。 对本系统的测试主要针对以下几种错误点: (1)功能不正确或遗漏; (2)界面错误; (3)输入和输出错误; 本次测试主要针对计费功能出发,进行黑盒测试。主要的测试要点有以下三点: (1)自动生成账单; (2)账单信息的查看; (3)帐号管理功能。 5.2 测试用例测试用例 本次主要的测试用例清单如下列表所示。 表 5.1 测试用例一 测试用例:账务账号增加测试用例编号: TS_01 测试输入: 第一组点击增加按钮进入账务账号增加界面

温馨提示

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

评论

0/150

提交评论