电力公司SMS短信群发平台的设计与实现

潍坊科技学院
本科毕业设计(论文)

题 目 电力公司SMS短信群发平台的设计与实现
院(系)
专 业 科学与技术
学 号
学生姓名
指导教师 刘效伟
起讫日期 2015.1.11-2015.6.6
设计地点 寿光市软件园山东潍科软件科技有限公司

摘要
随着通信网络服务内容的日渐丰富,人们的通信习惯也在发生着变化,移动通信技术作为21世纪人类最伟大的发明之一,已经渗透到人类生活的方方面面,无时无刻不在改变着人们的生活方式和生活节奏,目前运营商除了提供最基本的语音 通话服务以外还推出了大量基于短信息平台等业务。
当前,在“以客户为中心”的经营理念大行其道的今天,很多大中型企事业都建立了以服务为目标的短信互动平台,在缩短客户距离、增强互动沟通的基础上,大大提高了客户的满意度及忠诚度,这种短信双向沟通的模式正受到越来越多的企事业所欢迎,由此企业短信应用的时代正离我们越来越近。
为此我公司与寿光市供电公司准备合作完成一套SMS平台,通过管理系统来统一的实现短信群发、客户服务。既能够为客户提供更优质和贴心的服务,增加客户量;也能为公司内部提供方便,更快捷、高效的管理客户信息、服务信息、报表统计等有效数据。
关键字:短信群发 多种运营商 模板灵活自由

Abstract
With the increasingly rich communication network services, people’s communication habits are changing, mobile communications technology as one of the greatest inventions of the 21st century, has penetrated into every aspect of human life, all the time does not change people’s way of life and the pace of life, the current operators in addition to providing basic services other than voice calls also introduced a large number of short-based information platform and other services.
Currently, in the “customer-centric” business philosophy popular today, many medium-sized enterprises have been established to serve as the target of SMS interactive platform, shorten the distance, on the basis of enhanced interactive communication, greatly improving the customer satisfaction and loyalty, this two-way SMS communication mode is being welcomed by more and more enterprises, thereby era enterprise messaging applications are getting closer and closer to us.
For this reason our company and power company ready to cooperate Shouguang City complete set of SMS platform, through a unified management system to implement SMS group sending, customer service. Both to provide customers with better quality and attentive service, increase customer volume; also provide convenient, fast and efficient management of customer information, service information within the company, reports, statistics and other effective data.
Keywords: SMS bulk carriers /more flexibility / freedom Templates

目 录
第1章 绪论 1
1.1 开发背景 1
1.2 系统可行性分析 2
1.2.1 经济可行性 2
1.2.2 技术可行性 3
1.2.3 操作可行性 3
第2章 系统理论基础 5
2.1 开发语言 5
2.2 开发工具 7
2.3 数据库SQL Server 2008r2 8
2.4 其他相关知识 8
第3章 系统总体分析与设计 10
3.1 系统总体分析 10
3.2 系统特点和优势 12
4.1 系统基础资料模块详情介绍 14
4.1.1 开发管理员首页 14
4.1.2 系统主要功能模块介绍 14
4.1.3 用户管理 15
4.1.4 部门管理 16
4.1.5 角色管理 17
4.1.6 角色权限管理 18
4.1.7 系统配置模块 21
4.2 短信服务业务模块的实现 21
4.2.1 短信群发 21
4.2.2 已发信息 23
4.2.3 未发信息 25
4.2.4 常用短语维护 25
4.2.5 短息统计模块 26
4.2.6 个人通讯录 29
4.3 系统数据库设计 29
4.3.1 数据库设计 29
4.3.2 数据类型设计 29
4.3.2.1 用户登录数据表设计 29
4.3.2.2 部门表设计 30
4.3.2.3 部门用户表 30
4.3.2.4 角色表设计 30
4.3.2.5 角色用户表设计 31
4.3.2.6 已发信息表设计 31
4.3.2.7 未发信息表设计 31
4.3.2.8 常用短语表设计 32
4.3.2.9 日志表设计 32
4.3.2.10 模块表设计 32
第五章 系统调试与测试 33
5.1 系统使用环境 33
5.2 系统调试 34
5.3 系统测试 34
第6章 总结与展望 35
6.1 总结 35
6.1.1 系统特色与创新 35
6.1.2 系统局限 35
6.2 展望 35
参考文献 37

第1章 绪论
短信作为一种灵活方便的沟通方式,正在引起人们越来越多的注意。随着网络技术的发展和移动信息化时代的到来,短信的收发已经不再局限于手机与手机之间简单的信息发送,而通过计算机和网络收发短信已经成为一种必然的趋势。尤其是通过短信群发平台实现短信的大规模发送,已经得到越来越多的企事业单位和商家的重视,成为其实现信息沟通的重要方式。短信广告、短信提醒、短信邮箱等业务的发展都为短信群发平台提供了丰富的应用前景,手机的普及和移动通讯成本的降低更加速了这一进程。 短信群发是用户通过短信对多个手机号码进行组群发送,具有速度快、蔓延性、互动性、低成本等特点。
短信群发具有任何传统广告都无法超越的瞬间轰炸效果,企业通过短信群发工具即可实现对客户的广告瞬间轰炸。病毒效果,企业短信群发以后,收到的每个人都可以随时转发给身边的亲朋好友,尤其对于一些抽奖活动、节日祝福等尤其有效。通过短信群发工具,企业可以真正的做到低成本高效率的传播信息,只要做好预算就可以有针对性的定向定时定条进行群发。企业可以事先对短信接受人群进行筛选,通过短信群发设备对筛选好的特定人群进行精准群发。因为人群定位的精准,此方法可以达到事半功倍的效果。
支持多种运营商平台下的短信群发平台通过高效、便捷的管理模式。企业人员众多,管理分布清晰的同时在实际工作中又存在许多重复作业。企业工作人员可以通过利用短信群发这一网络平台,实现线上线下联动,有计划有目标的统筹安排各级部门,节省更多的人力资源。

1.1 开发背景
企业短信平台已成为当今营销中的一种热门形式,在电脑上安装企业短信平台软件平台,利用手机短信的形式,可进行短信单发、群发、分组发、定时信息发送;强大的用户管理功能,可进行无限级的用户分组;短信目标接收者,可以从通信录中分类选择,可以从txt文件中导入,也可以手工输入;企业短信平台可以随时的修改编辑短信内容,方便快捷。
企业希望找到一种具有普及率高、方便快捷、移动性好、灵活性高、价格便宜等特点。利用计算机来收发手机短信,稳定性高.可实现企业的诸如会议通知、新产品发布通知、客户问候等应用,且在计算机上可以保存无限多条的短信收发记录, 提供方便的检索、查询功能,确保短信收发记录长久保存且一目了然的一种短信群发方式。并且短信收发记录可导出为计算机能使用的通用格式。
同时,在竞争日趋激烈的市场环境下,企事业单位高效而准确地建立企业与客户、企业与员工之间畅通无阻的沟通模型,早已成为企事业经营管理者共同研究与探讨的课题。当前各种传统的服务 手段(上门拜访, 电话, 信函, EMAIL等)虽各有特点, 但在使用过程中都表现出低效、成本高昂等问题与不足,如上门拜访费时、费力且费用消耗大;逐个拨打电话工作量大,费用较高;信函无法 及时到达;E-MAIL缺乏提醒功能且无法及时查看,特别是在客户群体庞大、需要服务的内容不同而又需要客户能方便反馈等情况下,传统的服务工具便显得苍白无力,其结果便是:工作人员虽忙碌  不停但工作效率依然低下。这种状况如果不积极加以改进,不仅会影响服务质量,甚至在很大程度上会对公司的良性发展产生负面影响。 
 通过使用短信平台,企事业单位不仅可以便捷地实现向客户(或员工)发送信息,而且能与客户(或员工)进行短信双向互动交流,以短信快速、准确、低价、绿色环保、温馨宜人的信息沟通方式把客户和企业紧密联系在一起,从而能较好地起到提高顾客忠诚度的作用,为企业品牌建设与业务增长带来较大的正面影响。
1.2 系统可行性分析
1.2.1 经济可行性
在信息时代的今天,各大商家的广告大战日趋激烈,而手机短信息作为一种全新的形式已经闪亮登场。短信息服务像风暴一样席卷全国,越来越多的商家已经意识到短信息将会带来巨大的商业价值。对于传统的媒体,成本低,营销方式主动出击。通过企业短信平台实现与短信平台服务商短信网关之间的通信,结合现有信息化系统,利用电力系统信息资源为电力客户提供短信服务;为企业内部管理提供辅助平台;为生产运营提供新的工作模式。
1.2.2 技术可行性
系统要求用c#开发,C#是一种新的面向对象的编程语言,它可以使技术人员快速的编写基于.NET平台下的应用程序,微软的NET平台提供一系列的编程工具用来最大限度去开发计算机通讯范围。因为C#语言作为可以有面向对象的设计,所以它在编程中有许多构建组件可以选择,不管是作为商业对象还是普通应用的程序,都是很重要的。使用C#语言,其相应的这些组件可以很简单的将它转变成网络服务,让其可以通过操作系统来通过互联网进行调用。
而且关于这方面的开发系统,在网上可看到许多关于组织管理系统的资料。现要开发的软件和其大体相似。可参考的原始资料有:相关书籍以及网上的一些资料。这些都为开发者提供了一定的参考条件。
1.2.3 操作可行性
该系统可以实现绝对保密和准确无误。系统具有一致的、友好的客户化界面,易于使用和推广,并具有实际可操作性,使用用户能够快速的掌握系统的使用。用户终端全部采用浏览器方式。
系统稳定性、可用性要求高,因此系统还必须具有良好的可管理性和易于维护的特点。系统全面支持XML、Web Service等当前受到普遍支持的开放标准,保证系统能够与其它平台的应用系统、数据库等相互交换数据并进行应用级的互操作及性和互联性。系统体系结构良好,具有处理未来变化和发展所需要的可扩展性。采用B/S开发结构,本套SMS短信群发平台在设计原理上进行了革命性的创新,采用软硬结合的方式实现网络设置,在客户端采用了系统无关的设计原则,可以安装任何种类和数量的操作系统。即使更换系统硬件,重装操作系统,都无需再次安装志愿者管理系统,可谓一劳永逸。该平台实用性强,给企业用户带来了极致的用户体验。

第2章 系统理论基础
本系统使用了 Visual Studio 2010 软件作为开发工具,使用了c#和sql server 2008r2数据库系统来开发本系统,前台使用了C#script脚本语言 的富客户端技术Extjs来开发系统前台展示页面。

2.1 开发语言
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言,C#语言具有如下特性:精心地面向对象设计,简洁的语法,与Web的紧密结合,完整的安全性与错误处理,版本处理技术,灵活性与兼容性。
C#的特点和优势:
1.面精心地面向对象设计:C#具有面向对象的语言所应有的一切特性:封装、继承与多态性,这并不出奇。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#建造广泛组件的绝对选择。在C#的类型系统中,每种类型都可以看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。C#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。数。整个C#的类模型是建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成部分。借助于从VB中得来的丰富的RAD经验,C#具备了良好的开发环境。结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。对于公司而言,软件开发周期的缩短将能使它们更好应付网络经济的竞争。在功能与效率的杠杆上人们终于找到了支点。

2.简洁的语法:#的代码在.NET框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在C++中被疯狂使用的操作符(例如:“::”、“->”和“.,”)已经不再出现。C#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。

C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。
语法中的冗余是C++中的常见的问题,比如”const”和”#define”、各种各样的字符类型等等。C#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。

3.与Web的紧密结合:.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML)和XML。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。

由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就象是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。
4.完整的安全性与错误处理:语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。
.NET运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。在缺省情况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。.NET平台提供的垃圾收集器(Garbage Collection,GC)将负责资源的释放与对象撤销时的内存清理工作。变量是类型安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未经初始化而被使用时,编译器将做出提醒;C#不支持不安全的指向,不能将整数指向引用类型。
5.灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。如果需要,C#允许你将某些类或者类的某些方法声明为非安全的。这样一来,你将能够使用指针、结构和静态数组,并且调用这些非安全代码不会带来任何其它的问题。正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其它语言组件间的互操作性。元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。

 
2.2 开发工具
visual studio 2010的优势:
1.借助Visual Studio 2010集成开发环境,软件开发工作将变得更为简单便捷,业务决策也会变得更为有效。任何规模的组织都可以使用Visual Studio 2010快速创建应用程序,这些应用程序能够利用Windows操作系统,使其成为更安全、更易于管理、更可靠的应用程序。Visual Studio 2010集成开发环境主要在三个方面为开发人员提供了关键的改进,即快速开发、团队协作、用户体验。
2.Visual Studio 2010集成开发环境提供了调试功能、数据库功能、创新功能和高级开发工具。帮助开发者快速地创建应用程序。同时还包括各种增强功能,例如可视化设计器、对Web开发工具的大量改进、对AJAX技术的支持,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2010为开发人员提供了许多相关的工具和框架支持,帮助开发者创建出支持AJAX的Web应用程序。
3.利用Visual Studio 2010集成开发环境提供的丰富组件,开发人员能够快速地构建出Web应用程序。这些应用程序可以集成任何后端数据提供程序,例如:SQL Server、MySql、Oracle著名的数据都能得到很好的支持。同时,在任何当前的浏览器内,都能访问ASP.NET应用程序。基于此,C#就成为了当今主流的Web开发语言。Visual Studio 2010集成开发环境改进了语言和数据功能,各个编程人员可以利用这些功能更轻松地构建解决方案,以分析和处理信息。Visual Studio 2010还使开发人员能够在同一开发环境内创建面向多个.NET Framework版本的应用程序。其能够构建面向.NET Framework 2.0、3.0或4.0的应用程序,可以在同一环境中支持各种各样的项目类型。
4.Visual Studio 2010集成开发环境为开发人员提供了在最新平台上创建应用程序的新工具,这些平台包括Windows Vista、SQL Server 2008、Windows Server 2008、Office 2007和Web。在Web应用程序中,使用ASP.NET AJAX以及其他新技术,开发人员能够迅速地创建更高效、交互性更强和更个性化的新一代Web体验
2.3 数据库SQL Server 2008r2
SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。SQL Server 2008r2是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。微软的这个数据平台满足这些数据爆炸和下一代数据驱动应用程序的需求,支持数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。
QL Server 2008r2的优势:
1. 数据压缩
2. 分区表并行
3. 资源监控器
4. 分组设置
5. 捕获变更数据
6. 可扩展的集成服务
7. SSIS 持久查找
8. 星型联接查询优化器
9. 加密
10.备份压缩
2.4 其他相关知识
JavaScript的优势:
Javascript语言是由Netscape公司从LiveScript语言发展而来的基于原型化的具有面向对象特性的浏览器端动态脚本语言。他不需要编译直接由浏览器解释执行。可以和css样式、html标记语言进行结合制作很多美丽动态的效果,还可以进行诸如表单验证功能,不仅可以给用户带来舒适的操作体验,还可以减小对服务器的压力。它既可以直接嵌入到html使用也可以编写成以.js为后缀的文件然后在网页文件中引用。在1997年欧洲计算机制造协会(ECMA)指定了ECMASript的全新脚本语言标准。
javascript的优势是比较明显的优势有:
1、强大的客户端验证功能:
在客户端可以很灵活在不向服务器端发出请求的前提下进行表单验证,增强了用户体验,减小了服务器压力。
2、javascript支持http的Ajax请求:
使用javascript的Ajax的请求可以在不刷新网页页面的情况下局部或者全部向服务器端交换数据,可以根据服务器端返回的数据(XML、JSON、字符串)并给用户做出相应的反馈,这样可以使B/S模式的程序给用户带来C/S的体验。
3、面向对象的支持:
Javascript是一门面向对象的动态脚本语言,面向对象是一种好的代码组织方式,可以用它编写复杂的业务逻辑或者客户端UI框架。
4、简单易用:
Javascript虽然是一门面向对象的脚本编程语言,但是它语法简单,入门门槛低,易于程序员上手使用。

第3章 系统总体分析与设计
3.1 系统总体分析
本系统是定位于电力公司给用电用户和电力公司内部群发短息的一种系统,因此系统包括了短信群发系统所需的基本功能模块。
经过详细分析,SMS短信群发平台常用的模块如下:
短信群发、已发信息、发送失败的短息 、常用短语维护、短信统计模块、通讯录、部门管理、系统账号管理、角色管理、角色权限管理等模块。
采用当前B/S系统架构的适用性,增强了系统的针对性和易用性。

系统物理构图,如图3.1:

                    图3.1系统物理架构图

系统逻辑结构图,如图3.2:

图3.2系统逻辑架构图
3.2 系统特点和优势
1. 基于B/S架构,通过本地电脑链接互联网皆可使用,使得短信群发不受地域限制。
2. 使用本系统无需安装任何客户端专用软件,使用普通浏览器即可实现异地、实时业务办理。
3. 软件完全安装在服务器上,并且还提供数据备份工具,数据资料彻底安全。
4. 本系统权限管理分配灵活严谨而且简单,可以设置部门领导和操作员等不同级别的操作权限,从而可以完全避免越权操作,不同用户之间数据相互保密。
5. 账号无限制,可以随意添加系统账号、修改、删除用户帐号。
6. 系统安装简单,操作简捷方便,技术支持使您更快熟悉软件功能。
7. 系统采用http协议进行传输数据,对中心数据库彻底加密处理,完善的使用系统错误日志,系统安全性和可靠性极强。
8. 对部门的发送条数进行限制和监控,不至于出现漏发或者或者重复发送导致浪费的情况发生。
第4章 系统模块实现
4.1 系统基础资料模块详情介绍
4.1.1 开发管理员首页
开发管理员首页是根据是根据客户需求特别设计的页面包括国家电网的logo和简洁的登录页面。
开发管理员首页如图4.1所示:

                    图4.1  开发管理员首页

4.1.2 系统主要功能模块介绍
系统的主要包括功能模块分为系统模块和业务模块,其中系统模块包括:用户管理、部门管理、角色管理、角色权限管理、系统配置。业务模块主要是针对短信发送和统计等业务功能的介绍,主要包括:短信发送、已发短信、未发短信、常用短语、个人通讯录、webservice接口配置、短信统计。
系统主页面如图4.2所示:

图4.2 系统主页如图所示
各功能模块还进行了详细划分,具体各部分功能在下文介绍。
4.1.3 用户管理
用户管理主要是添加用户、删除用户、修改用户、查询用户、设置启用状态。添加时可以手动添加也可以通过导入的方式添加,为了显示的顺序有前又后,用户可以根据自己的实际需要给添加的用户排序。需要注意的是如果让添加的用户拥有自己的帐号和登录,需要给这个用户设置密码。
用户管理页面如图4.3所示:

图4.3 用户管理页面
(1)添加用户:添加用户有两种方式,一种是传统的添加方式:添加用户时可以先在左侧的模块列表中先选中一条功能模块数据单击“用户管理”中的“新增用户”按钮打开添加用户添加对话框,在对话框中可以填写用户名称、联系人信息、性别、手机号、所属角色、所属部门、所属角色等信息,填写完成相应信息后单击对话框中的“保存”按钮即可把本条用户信息保存到相应模块下。另外一种是批量导入的方式:可以采取Excel表格的方式进行导入,设置好表格的模板和程序中规定的模模板一一对应,然后点击“导入”按钮就能实现对用户信息的批量导入。
(2)修改用户信息: 修改用户信息时,先选中需要修改的用户数据,点击该用户对应的“铅笔”图像的按钮,然后弹出现和添加按钮相同的对话框,不过该对话框已经包含了该用户的个人信息,如果用户信息需要修改,可以在对应条目中点击修改,修改完成后点击保存就实现了该用户信息的修改功能
(3)删除用户:删除用户信息时可以选中一条用户数据单击删除“按钮”进行删除操作,也可以在选中多个的条件下实现全选的功能。
(4)查询用户:查询用户信息的时候系统提供了多种方式,可以通过简单的模糊查询人名的方式查询,也可以根据部门查询,还可以通过该用户是否开启了登陆权限来进行查询。
(5)设置启用状态:用户在添加后可以需要设置启用状态,点击“设置启用状态”按钮,可以对用户的启用状态进行设置,启用状态有启用和禁用两种方式,只有用户设置的状态为启用时用户才具备登陆权限,否则不能登陆。

4.1.4 部门管理
用户可以根据自己的需要添加部门、删除部门、修改部门、查询部门,通过排序可以控制显示顺序的前后,用户还可以根据实际需要限制部门发送的条数。
部门管理页面如图4.4所示:

图4.4 部门管理页面
(1)添加部门:添加部门时可以先在左侧的模块列表中先选中一条功能模块数据单击“部门管理”中的“新增部门”按钮打开添加部门添加对话框,在对话框中可以填写部门名称、排序、上级部门、备注、是否限制发送条数、限制发送条数数量等信息,填写完成相应信息后单击对话框中的“保存”按钮即可把本条部门信息保存到相应模块下。
(2)修改部门信息: 修改部门信息时,先选中需要修改的部门数据,点击该部门对应的“铅笔”图像的按钮,然后弹出现和添加按钮相同的对话框,不过该对话框已经包含了该部门信息,如果部门信息需要修改,可以在对应条目中点击修改,修改完成后点击保存就实现了该部门信息的修改功能
(3)删除部门:删除部门信息时可以选中一条部门数据单击删除“按钮”进行删除操作,也可以在选中多个的条件下实现全选的功能。
(4)查询部门:可以通过模糊查询部门名称的方式实现部门的查询。
4.1.5 角色管理
用户可以根据自己的需要添加角色、删除角色、修改角色、查询角色,通过排序可以控制显示顺序的前后。
角色管理页面如图4.4所示:

图4.5 角色管理页面
(1)添加角色:添加角色时可以先在左侧的模块列表中先选中一条功能模块数据单击“角色管理”中的“新增角色”按钮打开添加角色添加对话框,在对话框中可以填写角色名称、备注。填写完成相应信息后单击对话框中的“保存”按钮即可把本条角色信息保存到相应模块下。
(2)修改角色信息: 修改角色信息时,先选中需要修改的角色数据,点击该角色对应的“铅笔”图像的按钮,然后弹出现和添加按钮相同的对话框,不过该对话框已经包含了该角色信息,如果角色信息需要修改,可以在对应条目中点击修改,修改完成后点击保存就实现了该角色信息的修改功能
(3)删除角色:删除角色信息时可以选中一条角色数据单击删除“按钮”进行删除操作,也可以在选中多个的条件下实现全选的功能。
(4)查询角色:可以通过模糊查询角色名称的方式实现角色的查询。
4.1.6 角色权限管理
角色权限管理主要是给不同的登录角色分配权限。使得登录的角色用户能够查看自己权限内对应的系统模块。
角色权限管理页面如图4.6所示:

图4.6角色管理页面

权限的用例图如下:

4.1.7 系统配置模块
系统配置模块主要是对系统内置的基本功能的描述,包括系统样式的战士,日志记录功能,在线统计和修改密码等功能。
角色权限管理页面如图4.7所示:
图4.7系统配置页面
各功能模块还进行了详细划分,具体各部分功能在下文介绍。
(1)日志管理:主要记录和搜索登陆用户的登陆信息,包括登陆时间、登陆账号、登陆级别个错误信息情况。
(2)系统配置:主要完成系统页面的展示情况,可以修改此处以完成对页面的的展示背景和布局进行调整,也有固定的模板供用户选择。
(3)修改密码:登陆用户对登陆账号的密码进行修改。
(4)在线统计:统计在线人数和访问的中文名、英文名、ip地址、 登陆时间等信息。
4.2 短信服务业务模块的实现
4.2.1 短信群发
发短信是实现用户根据自己的实际需求完成短信发送和群发的功能。用户可以按照树状图上绑定的通讯录找到自己想要发送的客户,同事或者其他人员,还可以在个人通讯录中自己手动添加的发送人员的姓名。
短信群发页面如图4.8所示:
图4.8短信群发页面
其中发送短信的过程是调用了联通“易信通”平台的webservise接口实现的。单次发送号码的个数限为1000个,为了用户的使用便捷和灵活性,系统将短信发送失败的15种情况写入系统,采用弹窗的方式讲错误信息及时的反馈给用户,用户可以根据自身需要设置是否在短信接收端(手机端)显示发送人员的姓名,充分考虑到发送信息的安全保密性,支持三大运营商的服务平台,联通,移动、电信用户都能接收到短信平台发送的信息。下面就是短信群发平台实现功能的部分代码:
//短信群发功能的实现
for (int i = 0; i < number.Length; i++)
{
if (CBDispalyName.Checked)
{
b = sptc.Sms(Company, UsersName, password, deptName +
“-” + Name + “:” + contents, number[i].ToString(), radm, timer, “1”, “”, “”,”“);
}
else
{
b = sptc.Sms(Company, UsersName, password,
deptName + “:” + contents, number[i].ToString(), radm, timer, “1”, “”, “”, “”);
}
string getback = b.Substring(7, 1);
if (getback == “0”)//表示发送成功
{
Alert.ShowInTop(“成功发送” + Counts + “条短信” + ” 失败发送” + FaileCount + ” 条短信!” + failereson);
}
else//表示发送失败
{
Alert.ShowInTop(“成功发送” + Counts + “条短信” + ” 失败发送” + FaileCount +
“条短信!” + failereson);
}
4.2.2 已发信息
已发信息页面如图4.9所示:
图4.9已发信息页面
已发信息主要是记录已经成功发送的信息,包括记录发送人员的姓名,发送的内容、发送时间、发送条数、接收人的姓名等信息,如果接收人是在通讯录中保存的则记录下接收人的姓名,如果没有保存,则记录接收人的手机号。用户可以根据发送人的姓名对已发信息进行模糊查询,另外只有管理员才有权限删除已发信息,别的角色没有删除权限。代码实现如下:
//已发信息的记录
public void BindGrid()
{
sql = “select * from HaveSendMessage where UserId in( select UserId from X_DeptUser where DeptId=’” + depatid + “’) “;
}
if (!string.IsNullOrEmpty(trbSearch.Text.Trim()))//chxu
{
sql += “and Name like ‘%” + trbSearch.Text.Trim() + “%’ “;
}
sql += ” order by Sentime desc”;
DataTable dt = GetPagedTable(Grid1.PageSize, Grid1.PageIndex, table);
Grid1.DataSource = dt;
Grid1.DataBind();
}

4.2.3 未发信息
和已发信息的功能类似,发送失败的短信模块,记录发送失败的信息,包括记录发送人员的姓名,发送的内容、发送时间、发送条数、接收人的姓名等信息,如果接收人是在通讯录中保存的则记录下接收人的姓名,如果没有保存,则记录接收人的手机号。发送失败的短信只有管理员能够删除,别的角色没有权限删除。
已发信息页面如图4.10所示:
图4.10未发信息页面
4.2.4 常用短语维护
常用短语模块是用户根据自己的实际需要把经常使用的短信内容按照不同的分类写进常用短语里面,这样在发短信的时候可以直接打开常用短语的按钮选择适合发送的短信,这样做有利于节省用户时间,提高发短信的效率,增强了系统的易用性。
已发信息页面如图4.11所示:

图4.11未发信息页面
4.2.5 短息统计模块
短息统计模块主要是统计不同部门发送成功的短信的条数,为了增强用户的辨识度,系统采取了“柱状图“,”折线图“,”曲线图“三种统计方式,用户可以直观准确的看到各部门发送短信的条数统计,根据客户需求我们还增设了查询条件,用户可以根据自己设定的时间查询出本时间段内各部门发送的短信状况。
短信统计页面如图4.12所示:

图4.12短信统计页面
短信统计页面的代码实现方式是采用了前端的Jquery技术,实现了和sql语句的巧妙结合就能呈现出完美的图表格式。其中部分代码如下所示:
/*
*短息统计模块的代码实现。
*折线图、柱状态、扇形图三种展示方式。
*/
protected void Mychart_Click(object sender, EventArgs e)
{
string p = “”, temp = “”;
if (chartLX.SelectedValue != “pie”)//line折线图, spline曲线图,column垂直直方图(柱状图)
{
p += “短信发送条数统计#”;//主标题,#为分隔符
p += “部门根据部门统计#”;//付标题;
p += “短信条数#”;//Y轴坐标标题
p += “[“;//X轴的坐标题头
temp = “”;
string Tmp = “[{name: ‘数值说明’,data: [“;//Y轴数值头
string sql = “select * from X_Dept “;
DataTable dt = SQLHelper.ExecuteDataTable(sql);
for (int i = 0; i < dt.Rows.Count; i++)
{
temp += “’” + dt.Rows[i][“Name”].ToString() + “’,”;
sql1 = “select sum(SendNumber) AS AddSendNumber, X_Dept.Name AS DName from HaveSendMessage inner join X_DeptUser on X_DeptUser.UserId=HaveSendMessage.UserId inner join X_Dept on X_Dept.Id=X_DeptUser.DeptId where X_Dept.Name=’” + dt.Rows[i][“Name”].ToString() + “’”;
DataTable dt1 = db.ExecuteDataTable(sql1);
if (dt1.Rows.Count > 0)//如果是查到这个部门曾今发过短信
{
string Number = dt1.Rows[0][0].ToString().Trim();
Tmp += Number + “,”;//Y轴数据赋值
}
else//如果没有发过断线
{
Tmp += “0,”;//Y轴数据赋值
}
}
temp = temp.Trim().TrimEnd(‘,’);
p += temp + “]#”;//X轴的坐标题尾
Tmp = Tmp.Trim().TrimEnd(‘,’);
Tmp += “]}”;//Y轴数值尾
p += Tmp + “]#”;//Y轴数值尾
HttpCookie Cookie2 = new HttpCookie(“TJTX_Cookie”, p);
Cookie2.Expires = DateTime.Now.AddMinutes(15);
Response.Cookies.Add(Cookie2);//通过Cookie传递大批量数 Window1.IFrameUrl=”tongji/chartTX.aspx?chartLX=”+chartLX.SelectedValue;
}
4.2.6 个人通讯录
个人通讯录模块是用户为了发送短信的时候能够快速找到自己常用的联系人而设计的模块,用户可以根据自己的需求添加自己想要的组,进而向这些分组内添加自己常用的联系人,向分组添加联系人的方式有三种,可以手动添加、可以在已有的通讯录中添加,也可以采取导入的方式添加,形式多样,方式灵活,大大提高了执行效率。
个人通讯录页面如图4.13所示:

图4.13个人通讯录页面
4.3 系统数据库设计
4.3.1 数据库设计
当短信平台系统分析设计完成后,下面就是进行数据库的分析和实现。数据库的设计主要包括建立数据库,创建数据表与字段,也可设数据视图及存储过程,这些设计工作通常是在数据库管理系统环境下操作并实现的。在本系统中,数据库的数据表包括:管理员用户数据表、部门表、部门用户表、角色表、角色用户表,已发信息表、未发信息表、常用短语表、日志表、模块表等。
4.3.2 数据类型设计
4.3.2.1 用户登录数据表设计
表4.14 用户登录数据表
账户类型 信息类别 输入信息
系统用户 分配账号 用户名( varchar(45) 主键 Not null)
密码 (varchar(45)) Not null
部门(varchar(45)) Not null
启用(bit)
角色 (varchar(45)) Not null
4.3.2.2 部门表设计
表4.15 部门表
输入信息 信息类别
部门名称 int(10) 主键 Not null
备注 varchar(80) Not null
排序 Int(10) Not null
是否限制发送 bit Not null
限制条数 varchar(45) Not null
用户所属部门id int Not null
父部门id int Not null
4.3.2.3 部门用户表
表4.16 部门用户表
输入信息 信息类别
编号 int(10) 主键 Not null
部门id varchar(80) Not null
用户id varchar(80) Not null

4.3.2.4 角色表设计
表4.17 角色表
输入信息 信息类别
Id int(10) 主键 Not null
角色名称 int Not null
备注 nvarchar(50) Not null
4.3.2.5 角色用户表设计
表4.18 角色用户表
输入信息 信息类别
Id int(10) 主键 Not null
角色id int(10) Not null
用户id int(10) Not null
4.3.2.6 已发信息表设计
表4.19 已发信息表
输入信息 信息类别
Id int(10) 主键 Not null
发送人姓名 varchar(80) Not null
发送内容 varchar(80) Not null
发送时间 datetime Not null
接收的号码 nvarchar(MAX) Not null
接收者的姓名 nvarchar(MAX) Not null
用户ID int(10) Not null

4.3.2.7 未发信息表设计
表4.20 未发信息表
输入信息 信息类别
Id int(10) 主键 Not null
发送人姓名 varchar(80) Not null
发送内容 varchar(80) Not null
发送时间 datetime Not null
接收的号码 nvarchar(MAX) Not null
接收者的姓名 nvarchar(MAX) Not null
用户ID int(10) Not null

4.3.2.8 常用短语表设计
表4.21 常用短语表
输入信息 信息类别
Id int(10) 主键 Not null
常用短语 varchar(Max) Not null
常用短语分类 Int Not null
4.3.2.9 日志表设计
表4.22 日志表
输入信息 信息类别
Id int(10) 主键 Not null
登陆时间 datetime Not null
登陆人 varchar(10) Not null
登录状态状态 varchar(50) Not null
错误信息描述 varchar(50) Not null

4.3.2.10 模块表设计
表4.23 模块表
输入信息 信息类别
编号 int(10) 主键 Not null
模块名称 varchar(80) Not null
标题 varchar(80) Not null
模块父节点 int(10) Not null
序号 varchar(10) Not null

第五章 系统调试与测试
5.1 系统使用环境
一、服务器要求(最低配置要求):
1.100M空间容量
2..NET平台环境和sql2008r2数据库
二、客户端要求:
1.硬件配置:标准配置,普通用户计算机就可使用。
2. 软件配置:WindowsXP/Win7操作系统 IE6.0以上浏览器/ Google Chrome(谷歌浏览器)/Firefox(火狐浏览器)
三、网络环境
既可以通过有限网络如宽带、拨号上网等访问,也可以通过无线网络如无线网卡、WIfi等访问。
四、软件安全标准
GTT-B级安全标准:适用于学校、政府、企业等网站应用系统。身份认证信息加密;权限分配严格;数据备份;安全日志;系统运行环境维护严格。
表5.1 软件安全标准
序号 机制 说明
1 用户身份认证 一般身份认证(加密):用户名+密码+验证码
2 严格的权限管理 可设多个管理员,自由分配选项管理权限
3 数据备份与恢复 数据备份方式:手动备份;
数据恢复办法:还原某一数据备份文件。
4 系统日志 系统自动记录用户登录与操作信息
5 数据关联控制 依据数据本身的状态与时效性、数据之间的关联,严密控制数据的录入、修改、删除。
7 全面测试 单元测试、集成测试、系统测试。
8 运行环境安全 1.关闭没有使用的服务如:Telnet和FTP
2.检查操作系统的开放端口,关闭不用的端口。
3.使用不间断电源支持 如:UPS
5.2 系统调试
在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。
5.3 系统测试
软件测试是保证软件质量,提高软件可靠性的最主要的活动之一。它实施对软件规格说明、设计规格说明和编码的最终审核。软件测试的目的是以最少的人力、物力和时间投入,尽可能多地找出软件中潜在的各种错误和缺陷。测试的结果为软件可靠性分析提供了依据。设计测试用例的方法一般有两种:黑盒法以及白盒法。本次测试采用的是黑盒测试,将大部分可能的值来检查系统程序的正确性,并通过测试得到的结果进行必要的调试和功能改进。

第6章 总结与展望
6.1 总结
6.1.1 系统特色与创新
(1) 友好的界面设计
本系统系统界面友好。首先,导航栏突出,用户使用无障碍。采用年传统的展示方式,左侧是可以折叠的菜单展示模块,后台采用FineUI(Extjs库) ,界面更加绚丽,主题可以灵活改变。
(2)支持多种运营商。传统的短信平台可能仅仅支持一种运营商,该系统支持多种运营商使得手机用户都能接收到短信平台发送的信息。
(3)发送模板的自由化。迎合客户需求,开发的群发模板摒弃了传统固定模板的样式,在不违法和不侵犯他人权益的情况下实现短信的自由发送。
6.1.2 系统局限
(1) 系统针对的是寿光电力公司定制开发的系统所以在系统应用方面存在不足,比如短信的统计方式单一,仅仅是统计部门的发送情况。
(2)受平台接口的影响在发送的过程中存在延迟的现象,需要进行代码的进一步优化,优化算法去除重复代码。

6.2 展望
从开始接到课题到现在,期间经历了很多问题。毕业设计题目—–《电力公司SMS短信群发平台》应该说是算比较顺利的完成了。它是一个适应当今快速发展的社会,并完成群发短信的系统,而且操作简单、方便,界面简洁大方。
该系统是在.Net平台上开发的,采用了C#+sql2008r2作为开发模式,开发工具是Visual Studio2010作为开发工具,整个系统的代码规范完整,功能完善。
在我刚刚接触这个毕业设计的时候觉得自己的技术完全不能胜任这个项目,在别的技术人员的指导下加上我不断的翻看书本和询问比我有经验的人逐渐对这个系统有深入的了解并且尝试着去实现简单的功能,经过一段时间的训练和刻苦的摸索我终于对这个系统有了全面和深刻的认识,克服一个个难关将本次毕业设计准备充分。通过这次毕业设计的项目让我了解到自己掌握的知识还是不够全面,自己的经验还不够丰富还是需要多多需要向别人学习,而且我更加有理由相信在接下来的学习和工作当中只要自己刻苦研究,勤加练习肯定能让自己的技术提高更快,做更多更好的产品和项目给用户,实现自身价值。

参考文献
[1] 刘韬.楼兴华.SQL Server2000 数据库系统开发实例导航. 北京:人民邮电出版社,2004(09):25-70.
[2]丁宝康,董健全. 数据库实验教程. 北京:清华大学出版社, 2003:125-170.
[3] 潘志红. Web环境下SQL Server的数据保护[J]. 北京联合大学学报(自然科学版). 2006年03期
[4]于世华.杜福涛.利用.NET开发网上订餐系统 .呼伦贝尔学院学报.2007年03期
[5] 刘炳文等.VISUAL BASIC 程序设计——数据库篇〔M〕.北京:人民邮电出版社,1999,6(7):15-30
[6]肖建编. ASP.NET 编程实例与技巧集粹. 北京:北京希望电子出版社,2003,3(2):44-49
[7]刘小伟,王萍.ASP.NET 与SQL Server 网站开发实用教程[M].北京:电子工业出版社,2006,6(5):15-50
[8]Darie,Cristian,Zak Ruvalcaba. Build your own ASP.NET 2.0 web site using C# &VB 2d ed. SciTech Book News,2006:14-25
[9]孙强. 基于ASP.NET 的专题网站的研究与设计. 东北师范大学,2006.4(5)22-70
[10]Darie,Cristian,Zak Ruvalcaba. Build your own ASP.NET 2.0 web site using C# &VB 2d ed. SciTech Book News,2006,7(11)55-57
致 谢
我的毕业论文是在刘效伟老师的精心指导和大力支持下完成的,他渊博的知识开阔的视野给了我深深的启迪,论文凝聚着他的血汗,他以严谨的治学态度和敬业精神深深的感染了我对我的工作学习产生了深渊的影响,在此我向他表示衷心的谢意。
这四年来感谢潍坊科技学院中印计算机软件学院的老师对我专业思维及专业技能的培养,他们在学业上的心细指导为我工作和继续学习打下了良好的基础,在这里我要像诸位老师深深的鞠上一躬!特别是我的辅导员田会老师,虽然他不是我的专业老师,但是在这四年来,在思想以及生活上给予我鼓舞与关怀让我走出了很多失落的时候,“明师之恩,诚为过于天地,重于父母”,对田老师的感激之情我无法用语言来表达,在此向田老师致以最崇高的敬意和最真诚的谢意!
感谢这四年来我的朋友以及软件技术一班的四十多位同学对我的学习,生活和工作的支持和关心。四年来我们真心相待,和睦共处,不是兄弟胜是兄弟!正是一路上有你们我的求学生涯才不会感到孤独,马上就要各奔前程了,希望你们有好的前途,失败不要灰心,你的背后还有软件技术二班这个大家庭!
最后我要感谢我的父母,你们生我养我,纵有三世也无法回报你们,要离开你们出去工作了,我在心里默默的祝福你们平安健康,我不会让你们失望的,会好好工作回报社会的。

你可能感兴趣的