基于Webservice的社团管理APP实现

2019-09-30 03:58权计超景慎艳
商品与质量 2019年52期
关键词:失物招领服务器端管理员

权计超 景慎艳

辽宁对外经贸学院 辽宁大连 116052

随着信息技术的发展,通过计算机网络实现的各种信息服务越来越渗透进人们的生活。许多高校多采用传统的社团管理办法,无论是管理效率还是效果都不甚理想。为此,我们设计了这款移动端的社团管理软件“百团大汇”,目的是能够更好、更全面地提供一个信息化的社团管理平台,增加学生之间的交流,丰富课余生活。

1 概述与需求分析

1.1 概述

本设计采用WebService的前后端分离的开发方式,对于服务器端,使用的是轻量级的ApacheTomcat服务器,数据库采用mysql。编写服务器端程序利用jdbc从数据库获取操作信息再通过axis2架构方式打包发布。对于客户端,使用的是eclipse编辑器,安装AndroidSDK后便可胜任Android开发,通过soap请求的方式调用服务器程序并反馈给UI界面[1]。

本设计无论从开发成本,相关材料等各方面都具有经济可行性。首先,开发所用到的软件几乎都是网上可以找到的免费版本,需要查阅的资料也可在图书馆或网上博客中找到。在开发过程中需要的服务器,我们拟采用阿里云服务器,学生资格可获得相当的优惠。

在系统的操作阶段,该系统的使用非常简单,只需在任意Android8.0或以上系统上下载安装使用即可。界面和功能作用做到简洁明了,非常人性化。

1.2 需求分析

(1)普通用户。普通用户对于个人账号的管理需求,对应的功能有账号的注册、登录和密码及个人信息的修改。对于社团方面,需要有申请入团、查看社团公告、签到等功能。其他功能方面包括浏览新闻、查找失物招领等。

(2)社团管理员。社团管理员对于社团信息的管理分为社团信息管理、公告管理、人员管理、活动管理、部门沟通、失物招领等几个方面。对应的具体需求有社团信息的修改、发布及删除公告、处理入团申请、人员变动、职务指派、发布活动、签到管理、社交小助手、发布及删除失物招领等。

2 系统设计

数据库设计:

用户表(学生ID,学生姓名,学生性别,院系,联系电话,注册时间,用户状态,个人简介)

社团表(社团ID,社团名称,成立时间,负责人ID,指导教师,社团简介)

社团管理员表(社团ID,用户ID,职务,任职状态,任职时间)

新闻表(新闻ID,标题,新闻内容,发布时间,发布社团ID,发布人ID)

失物招领表(招领信息ID,招领信息内容,发布时间,拾到时间,认领时间,发布人ID,联系电话,招领状态)

社团成员表(用户ID,社团Id,申请时间,审批状态,审批人,审批时间,担任职务)

活动表(活动ID,社团ID,发布时间,活动时间,活动地点,活动描述,发布人ID)

活动考勤表(活动ID,用户ID,考勤时间,考勤状态,备注)

3 系统实现

针对“百团大汇”的开发我们拟采用C/S的架构方式来进行开发。最初的版本是针对本学校的社团管理,所以采用的是轻量级的开发工具。而编程语言我们选择了生态良好的java。

服务器端:Tomcat服务器、EclipseJavaEE

客户端:Eclipse+AndroidSDK

数据库:MySQL数据库、NavicatforMySqL

3.1 开发环境

首先为开发电脑配置开发环境,服务器所需的运行环境:jdk1.8,所用到的开发工具Eclipse+AndroidSDK、EclipseforJavaEE+Axis2,所用到的数据库时MySQL及其图形化展示工具NavicatforMySQL。

利用NavicatforMySQL创建测试数据库并利用EclipseforJavaEE编写测试程序连接数据库。通过Axis2插件将测试程序打包成aar包发布,并能通过浏览器地址栏访问该测试程序[2]。

3.2 服务器端开发

创建好数据库后,输入一定量的演示数据。根据在需求分析所产生的的结果,在EclipseforJavaEE中创建WebService项目,编写与数据库交互的方法。用户无法直接对数据库进行操作、只能根据我们编写的服务中的方法以特定的形式访问或申请修改数据库中的内容。服务器端方法编写完毕后,利用Axis2插件打包成aar包并放在ApacheTomcat的Service文件夹下,启动startup.bat。通过浏览器即可访问此服务。

3.3 客户端开发

确定好整体页面布局后,在eclipse+AndroidSDK中创建Android8.0项目。分模块地完成客户端代码的编写。首先完成布局代码的编写,然后在编写主文件的时候演示数据用静态的数组或容器类来表示。静态功能如界面的切换确认无BUG后,再编写方法通过soap协议调用webservice获取数据,这里要注意要用单独的Javabean对象保存UIL地址,以便于之后部署服务器[3]。由于安卓系统不允许在主线程中启用网络服务,所以需要一个单独的task线程来调用我们刚才编写的方法,获取信息后再反馈给UI线程,这里要注意加载状态时让UI界面显示加载状态,否则会破坏用户体验。另外要注意在配置文件中申请网络权限。

3.4 服务器部署

在服务器部署方面我们采取租用云服务器的方式,将ApacheTomcat服务器部署于云端,申请云服务器后先给服务器配置好JDK1.8的环境,然后安装mysql服务器,导入数据库。最后在云端启动Tomcat。考虑到以后会更换服务器的需要,需要申请域名并解析到服务器的IP地址。最后给APP的配置文件指定好URL路径后就可以打包发布了。

3.5 活动管理

在社团管理活动中极为重要的一项便是社团活动管理,不仅提高了社团管理的工作效率,也促进了各项评奖评优的公开透明化。一场社团活动的地点、负责人、参加人数、参加者等等都可以被记录在数据库中,社团活动查看页面如图1所示;社团管理员可提前发布活动,而普通同学则可以像图2一样通过三种不同的签到方式完成活动签到。

4 系统测试

对客户端的测试我们采用黑盒测试的方法,即按照需求文档进行指定操作的测试。

这部分测试同样按普通用户身份和社团管理员两个身份进行。对普通用户身份的测试主要有以下几个方面:

图1 活动查看页面

图2 活动签到页面

(1)登录测试(包括登录、退出、不同设备登录同一账号、密码修改测试)

(2)修改个人信息测试

(3)信息查看测试(查看新闻、查看失物招领)

(4)社团模块测试(申请加入社团、查看社团情况)

对社团管理员身份的测试主要有以下几个方面:

(1)社团信息管理(社团信息的修改、发布社团公告)

(2)人员管理(处理入团申请、指派职务、删除成员)

(3)活动管理(发布、签到等)

(4)失物招领(发布、删除等)

其中要特别注意一些特殊情况的测试,如切断网络后打开APP是否显示网络中断信息或是直接崩溃。登录状态下的操作和非登录状态下的操作的不同等。

5 结语

伴随着移动设备的普及,移动化办公、生活将逐渐成为常态。“百团大汇”是推进校园社团管理走向线上管理模式的一个尝试,作为一款自主开发的APP当然还存在许多不足之处。但我们可以通过不断地打磨,使其逐渐能够胜任现实生活中的需要,完善其稳定性、安全性。另外由于WebService的跨平台特点,我们后续也会推出网页版本,将“百团大汇”应用于不同的平台。

猜你喜欢
失物招领服务器端管理员
失物招领处
失物招领处
知了的外衣
我是图书管理员
我是图书管理员
Linux环境下基于Socket的数据传输软件设计
可疑的管理员
不当“小捣蛋”
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计