您的当前位置:首页正文

慈善智能捐助服务平台的设计与实现

2023-01-13 来源:个人技术集锦


慈善智能捐助服务平台的设计与实现 Design and Implementation of Charitable Donations Intelligent Service Platform

领 域: 软件工程 研 究 生: 朱雷华 指导教师: 张建勇 高级工程师 企业教师: 魏国帅 高级工程师

天津大学软件学院 二零一四年十一月

独创性声明

本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 天津大学 或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

学位论文作者签名: 签字日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解 天津大学 有关保留、使用学位论文的规定。特授权 天津大学 可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。

(保密的学位论文在解密后适用本授权说明)

学位论文作者签名: 导师签名:

签字日期: 年 月 日 签字日期: 年 月 日

摘要

随着互联网技术的发展,网络正在不断改变人们的生活方式,慈善事业也开始进入网络。利用互联网和移动互联网技术,设计与实现慈善智能捐助服务平台可以让慈善面对更多的公众,让公众成为慈善的主角,让慈善和公众互动起来,同时也可以让慈善公益组织更好地为捐赠者和求助者服务,让慈善公益组织的执行变得透明公开。

本文首先对国内慈善行业的开展情况进行了分析,指出目前国内慈善事业存在行为不透明、求助和捐赠信息不对称、缺乏有效的资源共享平台等问题,指出利用互联网和移动互联网技术,通过整合门户网站、微博、微信、手机短信、智能终端APP等,建立资源统一的慈善智能捐助服务平台具有良好的应用前景。分析了慈善事业的功能需求和业务流程,讨论了详细的分析过程,接着设计了平台的技术架构和平台分为那些功能模块和子系统。分别讨论了用户界面设计、核心业务流程设计和数据库设计。在此基础上,阐述了主要功能的采用什么技术实现,并给出实现的效果图。对系统测试中的测试环境配置、功能测试和性能测试进行了分析与讨论。

最后对系统的应用情况进行了介绍,通过该慈善智能捐助服务平台,可以给慈善组织、捐赠者、求助者提供一个高效、便捷的慈善公益平台来开展网络慈善公益活动。

关键词:慈善;智能捐助服务;慈善信息化平台

ABSTRACT

With the development of internet technology, the network is changing the way people live,the philanthropy also affected by network. The implementation of charitable donations intelligent service platform which by using the internet and mobile internet technology can make the public know more about the charity ,make the public become the protagonist of the charity, make the public interacted with the charity. The platform can allows charitable organizations to better service for donors and those who seeking help, it can also make the perform of the charitable organization becomes transparent and open.

This paper analyzed the situation of domestic philanthropy, pointed out that the philanthropy have the problems of opaque behavior, asymmetric information between seeking help and donations and lack of effective resource sharing platform. Proposed that establish a unified resource charitable donations intelligent service platform which by integrating portals, micro blogging, letter, SMS, mobile terminal APP by using the internet and mobile internet technology have good prospects. Analyzed the function requirements and business processes of the philanthropy. The detailed analysis of the process, overall functional architecture of the system and functions of each part of the system are also explained in paper. On the basis of the detailed design, the main function modules were introduced, the system environment configuration system testing were described, the system of functional testing and performance testing analysis were discussed.

Finally, the application of the platform system were introduced. We can say that the efficient and convenient platform can be provided to the charitable organizations, donors, callers with the use of the system.

Key words:Charity; Smart Donations services; Information Platform of the Charity

I

目 录

第一章 绪论 .................................................................................................................. 1

1.1 慈善与公益 .............................................................................................. 1 1.2 课题背景及意义 ...................................................................................... 2 1.3 国内外研究应用现状 .............................................................................. 2 1.4 论文研究内容 .......................................................................................... 3 1.5 论文组织结构 .......................................................................................... 3 1.6 本章小结 .................................................................................................. 4

第二章 慈善智能捐助服务平台需求分析 .................................................................. 5

2.1 实现目标分析 .......................................................................................... 5 2.2 功能需求分析 .......................................................................................... 5 2.3 组织机构分析 .......................................................................................... 6 2.4 参与者分析 .............................................................................................. 8 2.5 数据流程分析 .......................................................................................... 8 2.6 用例分析 ................................................................................................ 10

2.6.1 会员管理用例 ............................................................................... 11 2.6.2 慈善信息管理用例 ....................................................................... 11 2.6.3 慈善捐助活动用例 ....................................................................... 12 2.6.4 慈善项目管理用例 ....................................................................... 13 2.6.5 慈善增值服务用例 ....................................................................... 14 2.7 非功能需求 ............................................................................................ 15

2.7.1 可用性 ........................................................................................... 15 2.7.2 可靠性 ........................................................................................... 15 2.7.3 性能需求 ....................................................................................... 16 2.7.4 安全性需求 ................................................................................... 16 2.8 本章小结 ................................................................................................ 16

第三章 慈善智能捐助服务平台架构设计 ................................................................ 18

3.1 系统平台架构设计 ................................................................................ 18

3.1.1 物理架构设计 ............................................................................... 19 3.1.2 逻辑架构设计 ............................................................................... 19

II

3.1.3 Web服务器选择 ............................................................................ 20 3.1.4 数据库选择 ................................................................................... 21 3.1.5 开发平台选择 ............................................................................... 22 3.2 功能架构设计 ........................................................................................ 23 3.3 本章小结 ................................................................................................ 25

第四章 慈善智能捐助服务平台设计与实现 ............................................................ 26

4.1 界面设计 ................................................................................................ 26

4.1.1 界面设计原则 ............................................................................... 26 4.1.2 门户网站首页设计 ....................................................................... 27 4.1.3 公益宝智能终端App界面 .......................................................... 29 4.2 核心业务流程设计 ................................................................................ 31

4.2.1 会员在线注册流程 ....................................................................... 31 4.2.2 在线求助业务流程 ....................................................................... 31 4.2.3 在线捐赠业务流程 ....................................................................... 32 4.2.4 项目管理流程 ............................................................................... 33 4.3 数据库设计 ............................................................................................ 33

4.3.1 数据库逻辑设计 ........................................................................... 33 4.3.2 数据库物理设计 ........................................................................... 34 4.4 主要功能实现 ........................................................................................ 37

4.4.1 慈善信息整合传播 ....................................................................... 37 4.4.2 慈善信息公开透明 ....................................................................... 41 4.4.3 在线支付功能 ............................................................................... 41 4.4.4 慈善消费捐赠 ............................................................................... 43 4.4.5 慈善捐助数据统计报告 ............................................................... 44 4.5 本章小结 ................................................................................................ 46

第五章 慈善智能捐助服务平台测试与应用 ............................................................ 47

5.1 系统测试 ................................................................................................ 47

5.1.1 测试环境配置 ............................................................................... 47 5.1.2 系统功能测试 ............................................................................... 49 5.1.3 系统性能测试 ............................................................................... 51 5.1.4 测试结论 ....................................................................................... 55 5.2 系统应用情况 ........................................................................................ 55 5.3 本章小结 ................................................................................................ 56

III

第六章 总结与展望 .................................................................................................... 57 参考文献 ...................................................................................................................... 58 致 谢 .......................................................................................................................... 61

IV

第一章 绪论

第一章 绪论

互联网正在重新定义人们的日常生活,购物、社交、教育等行为正在被互联网颠覆。同时,慈善公益行业也在被互联网颠覆,从公共信息传播的初始网站的论坛和讨论组,然后是建立专业的公益网站的公共机构和互联网巨头,在互联网平台上建立了一个又一个的类似“2008汶川地震捐款”,新浪微博“微博打拐”等公益项目继续推进微博的舆论氛围,直到目前妇孺皆知的移动互联网公益。毫无疑问,互联网正在改变中国慈善[1]。

1.1 慈善与公益

很久以前,“慈善”不是一个词,而是分开的两个词,怀有仁爱之心称之慈,广行济困之举为之善。后来由于“慈”与“善”字义相近,最终就被合起来形成“慈善”这个词。中国的慈善意识历史深远,先秦时期的诸子百家对此都曾有过精辟的描述。老子曾在《道德经》中讲:“上善若水,水利万物而不争”。孔子和孟子也都曾说道:“老者安之,朋友信之,少者怀之;则:老吾老以及人之老,幼吾以及人之幼;出入为友,守望相助,疾病相扶”[2]。维基百科给的定义:慈善是一种善良的意愿社会活动,关系到“施予者”和“受施者”。在社会上,不问物质回报他,给予有需要的社会群体帮助、支持等。慈善是促进人类福利进步的利他关爱,通常透过捐赠款物、资产或活动,由公益社会组织捐赠予有需求的人,或公益协助其他社会需求[3]。

公益是公共利益事业的简称。指有关社会公众的福祉和利益。这是为人民服务的一种通俗讲法。五四运动后方才出现,“公益”为后起词,其意是“公共利益”,“公益”是它的缩写。社会公益组织,一般是指那些非盈利性社会组织、不以盈利为目的,且以社会公益慈善事业为主要追求目标的社会组织。原先的公益机构主要从事人道主义救援和贫民救济活动,很多公益组织起源于慈善机构。这种广义的大慈善,就是公益[4],也叫现代公益,概念来源来自于西方国家,就是现代的慈善事业,是广义的大慈善,而不是狭义的传统慈善。

原民政部部长崔乃夫曾说过,“在美国,直到现在,这两个字的差异并不大,在很多时候很多地方都是混用的。慈善与公益,在英文里仅仅是字面的不同。”慈善和公益也是有一些区别。主要是在资助对象上面,慈善是对穷人的救济、救助及援助;而公益是一种大慈善,资助的对象不仅是穷人,还有交响乐团、图书馆等文化和科学公共事业。无论公益,还是慈善,出发点都是围绕爱、爱心和对

1

第一章 绪论

别人的帮助。她们最终的归宿,也都是促进社会的公平正义或者说是实现第三生产力再分配。

1.2 课题背景及意义

随着我国经济高速发展,国际地位不断上升,慈善公益事业发展也蒸蒸日上,慈善公益组织数量持续上升,各项善款捐赠也逐年增多。慈善公益组织在调节利益分配,缓解社会矛盾,促进社会公平与和谐等方面扮演着很重要的角色[5]。然而,近年来一系列慈善公益丑闻揭开了我国慈善公益组织的并不算神秘面纱,公众对慈善信息公示的需求也供大于求。部分慈善公益组织却因为信息透明度低而丧失了社会公众的信任,各种善款募捐也因此降至冰点。这些充分暴露目前我国慈善公益事业发展中还存在一些突出的矛盾,一、慈善公益事业缺乏资源共享平台,因此也就不能进行全面的数据统计和量化标准, 政府对于其指导及慈善政策的制定缺乏依据与参考;二、求助信息与捐赠信息不对称,从而导致慈善资源分配不均,甚至于求助者求助无门,捐赠者不知如何捐赠的尴尬境地;三、慈善机构善款管理不透明,捐赠者所捐赠财物用到何处,何时送达受助人手中,没有及时向捐赠人反馈,再加上社会诚信问题,造成社会公众主动参与慈善公益活动的积极性不高[6]。

所以在此背景下,针对我国慈善事业发展的需要,利用互联网技术、移动互联网技术和软件工程方法,设计与实现慈善智能捐助服务资源共享平台,致力于解决慈善公益事业缺乏资源共享、求助与捐赠信息部对称和慈善行为不透明的问题就具有重大意义。

1.3 国内外研究应用现状

目前,国内外慈善事业研究大多局限在传统慈善业务领域,对于互联网技术、移动互联网技术如何应用于慈善事业的研究非常少[7-22]。不过,随着互联网技术的日新月异和慈善公益事业的发展蒸蒸日上,越来越多的公众参与慈善公益活动。不仅是普通的公众,还包括发起“免费午餐”的媒体人邓飞、发起“大爱清尘”计划的知名记者王克勤等“名人”,还有以环球时报和湖南卫视为代表的传统媒体也再加大慈善公益的宣传力度,并将慈善很好的融入媒体平台,纷纷以慈善媒体自居。腾讯、新浪和百度等网络媒体也纷纷设立慈善基金或专项慈善基金,组织参与整个公益活动和管理慈善基金的运作。类似电子商务的“B2C”营销理念,慈善机构也在利用互联网实现“善2C”慈善营销理念,淘宝网上多家公益店铺开张、新浪微博平台上的微慈善对接、以及由中国妇女发展基金会发起,中

2

第一章 绪论

国邮政开发的“母亲邮包”项目的与贫困母亲对接的信息救助平台等等,都是“善2C”的成功尝试。

在激烈的市场竞争和慈善的信任危机的背景下,慈善事业不断转型升级是一个慈善机构赖以生存的重要武器,许多慈善机构试图调整业务,纷纷推出信息化平台,开发与管理慈善业务[23]。中民慈善捐助信息中心推出全国性慈善信息平台。目前该平台已初步建成,已经包含了信息发布、查询与共享功能,报送和统计功能,舆情监测功能,数据库管理功能,以及宣传推广等功能。中国红十字会也利用互联网技术开发了慈善项目公示与查询、网络在线求助、大数据分析筹款等功能。爱德基金会也不断拓展与淘宝、腾讯和新浪微博的合作,利用第三方的在线支付功能开发出多种网络捐赠方式,还借助新浪和腾讯微博等社交媒体,实现公益信息的快速传播与基金项目的舆情监测。

1.4 论文研究内容

本文在现有慈善公益信息系统基础上,分析了慈善事业的实际需求和业务流程,并结合软件工程的思想,设计和实现了慈善智能捐助服务平台。论文的主要研究内容如下:

首先,讨论了慈善公益项目背景和当前所面对问题。针对缺乏资源共享平台、慈善行为不透明和求助与捐助信息不对称等问题,提出了利用互联网技术、移动互联网技术,整合门户网站、微博、微信、手机短信、智能终端APP等,建立资源统一的慈善智能捐助服务平台。

然后,对慈善智能捐助服务平台进行功能需求分析与非功能性需求分析,并采用流程图和用例图的形式进行需求详细说明。

接着,讨论慈善智能捐助服务平台架构设计,充分考虑平台的扩展性、维护性以及性能问题,阐述了慈善智能捐助服务平台各部分的组成。

再者,在详细设计阐述中,分别讨论了用户界面设计、核心业务流程设计、数据库设计,以及主要功能模块的实现,给出了功能实现的效果图。

最后,介绍慈善智能捐助服务平台系统测试,主要介绍了测试的环境配置、功能测试和性能测试,对该平台的应用情况作了简单说明,提出了展望和改进建议,并对本论文进行了总结。

1.5 论文组织结构

本文共六章,按照先提出问题,再分析问题,最后解决问题的结构进行阐述,其组织结构如下:

3

第一章 绪论

第一章序言,首先描述了课题的选择背景和意义,分析目前国内外慈善公益事业和慈善捐助服务的研究应用现状及目前存在所的问题。

第二章慈善智能捐助服务平台需求分析,主要进行慈善智能捐助服务平台的进行功能需求分析和非功能需求分析。

第三章慈善智能捐助服务平台架构设计,对系统技术架构设计和功能架构设计进行了阐述。

第四章慈善智能捐助服务平台设计与实现,首先介绍用户界面设计、核心业务流程设计和数据库设计,最后,介绍了主要功能的采用什么技术实现,并给出实现的效果图。

第五章慈善智能捐助服务平台测试与应用,介绍系统测试中的测试环境配置、功能测试和性能测试,并对系统应用情况做了简要说明。

第六章总结及展望,对本论文进行总结,对慈善智能捐助服务平台提出了展望和改进建议。

1.6 本章小结

本章首先介绍了课题选取的背景和意义,分析研究目前国内外慈善事业存在的问题及对慈善捐助服务信息化建设应用的现状,最后,列举了论文研究内容与论文组织结构。

4

第二章 慈善智能捐助服务平台需求分析

第二章 慈善智能捐助服务平台需求分析

在软件工程中,需求分析指的是改变一个现存的电脑统或建立一个新的电脑系统时描写新系统的定义、目的、范围和功能时所要做的所有的工作[24]。需求分析是软件工程中的一个关键过程,下面结合笔者对某省级公益组织的业务调研进行需求分析。

2.1 实现目标分析

慈善智能捐助服务平台是面向社会公众的平台,需要实现的目标如下: 1.通过自身营销推广来吸引爱心人士向求助者发出爱心捐赠;

2.支持多种方式处理求助和捐赠申请,以工作流方式处理捐助双方意愿,在义工的配合下达成“公开、透明、直接、即时、全额”的捐助行为;

3.服务与捐赠者和求助者,在求助者和捐助者之间架起一座互动的桥梁; 4.完善内部业务流程,公示和披露捐赠和拨付数据;

5.实现求助者求助快捷,捐赠者捐赠方便,公众热情参与,工作人员服务热情,突出某省级公益组织公开、透明、诚信的慈善组织印象。

2.2 功能需求分析

功能需求是对软件系统在功能方面应具备能力的要求,是软件需求分析的主要组成部分,在软件需求分析过程中起着决定性作用[25]。通过对某省级公益组织捐赠求助流程的调研分析,结合计算机、互联网和移动互联网等技术,本着为捐赠人、受助人、志愿者和某省级公益组织工作人员提供方便快捷的自动化服务的原则,完善的慈善捐助信息服务平台需具备以下功能:

1.慈善信息整合发布功能。

借助门户网站、微博、微信、手机短信、智能终端APP等,整合发布慈善活动、捐助信息动态与政策法规等相关慈善信息。

2.慈善捐助活动管理功能。

实现捐助活动的管理信息系统,管理慈善捐助活动的整个过程,为捐赠者提供实时查询所捐赠款物的捐赠与拨付详细情况,为捐赠者和求助者搭建信息桥梁,实现在线求助与捐赠、自动匹配捐与助的功能,为政府提供慈善行业的实时数据,作为决策参考,为捐赠者提供一站式的“慈善管家”服务。

3.慈善公益项目的管理功能。

5

第二章 慈善智能捐助服务平台需求分析

实现慈善公益项目发布与公示管理,记录项目救助情况,让公众可以实时查询和统计项目救助信息,便于公众申请、了解慈善援助项目情况。

4.慈善捐助服务平台增值服务功能。

尝试实现如淘宝网上交易类似的慈善物资在线拍卖服务——“淘善社区”,开发自主式慈善服务——小额爱心冠名基金,通过在智能手机平台上运行的慈善消费公益App软件,为公众提供更多样化参与慈善方式,让更多的人了解慈善,参与慈善。

2.3 组织机构分析

某省级公益组织是一个覆盖河南全省的综合性公益慈善组织,组织机构如图2-1所示。

组织机构主要包括理事会、常务理事会、监事会、会长办公室、会员代表大会和秘书处,秘书处负责具体工作,下属各部门职能如下:

1.综合部:负责会员发展、管理,基层慈善组织的联络与服务,义工管理制度制定。还主要负责文秘、行政管理、人力资源管理、财务管理、对外联络和法律事务等工作;

2.宣传策划部:负责媒体联络,慈善宣传活动的策划、统筹、传播,慈善信息的统计、研究、发布,慈善文化和政策的研究与传播,慈善评选表彰活动的组织,慈善文化教育基地的命名与管理,内刊的编印、发行,总会的文字综合工作。

3.捐赠服务部:主要负责捐赠客户资源的开发与维护,全年筹资计划的统筹制定,慈善款物的联合募集,专业捐赠管理服务的提供,慈善款物的接收、分配、调拨等专业捐赠管理服务的职能。自主式慈善基金的管理,爱心企业的命名与管理。

4.综合项目部:重点实施公益伙伴计划、爱心1+1—农民创业计划。负责社会优秀慈善项目的筛选、资助和资助资金的募集;捐赠者定制和其它机构委托项目(济困类、儿童类、助老类除外)的实施;总会各类慈善项目的监测评估。

5.紧急救助项目部:重点实施慈善SOS—紧急救助、为生命续航—大病患者慈善赠药项目、微笑列车;负责社会困境人群的救助,日常求助接待,相关项目的开展、开发、对外合作与资金筹集并负责总会慈善医院的命名与管理。

6

第二章 慈善智能捐助服务平台需求分析

图2-1 组织结构

6.儿童项目部:重点实施点亮生命计划—贫困儿童大病救助、事实无人抚养儿童助养、梦想家园项目、阳光助学等项目。负责儿童类慈善项目的开发、对外合作与资金募集。

7.助老项目部:重点实施乐龄计划项目。负责助老类项目的开发、开展、对外合作与资金募集。

7

第二章 慈善智能捐助服务平台需求分析

2.4 参与者分析

确定系统参与者就是分析使用该系统主要功能的是哪些人,谁需要该系统的支持以完成其工作。针对前面提到的系统实现目标和组织结构,慈善智能捐助服务平台的参与者如下:

1.管理员:管理员又分为财务管理员、项目管理员、捐赠服务管理员、编辑管理员和理事会管理员,分别管理各自业务。

2.捐赠者:捐赠者可以是个人,也可以是企业,首先需要注册,经过管理员审核通过后,可以进行在线捐赠、查询所捐赠财物的详细使用情况。

3.求助者:求助者可以是个人,也可以是公益机构,求助者也需要注册,经过管理员审核通过后,可以进行发布求助信息,接受捐赠。

4.义工:义工需要注册,通过审核后才能正式成为义工,主要负责求助信息的现场核实。

5.公众:公众用户不需要注册,可以在线浏览任何被允许的信息,也可以注册成为捐赠者或求助者。

2.5 数据流程分析

数据流程分析的结果会用数据流图来进行表示,数据流图简称为DFD,它是数据流程分析最常用的表达方式。数据流图可以使开发人员较全面的了解到数据的流动与变换,也可以帮助开发人员更快速的开发出符合用户需求的系统是从一个整体的系统性的角度进行的数据流分析,如图2-2 所示。

[26]

复杂系统的数据流程图,需要通过分层的方式来实现,首先是顶层数据流图,这

8

第二章 慈善智能捐助服务平台需求分析

公众用户1.0注册注册信息成功4.0登录申请信息捐助用户申请信息2.0申请求助3.0申请捐赠评论信息求助申请捐助申请13.0发表评论11.0添加政策法规12.0审核6.0审核管理员政策法规捐赠信息新闻信息求助信息项目信息7.0添加捐赠8.0添加新闻9.0添加求助信息10.0添加项目信息 图2-2 顶层数据流图

由顶层数据流图并不能详细的描述系统的所有数据流向,因而该图还可以进行分解细化,如图2-3所示,该图是以捐赠者和求助者之间的数据流图为例来进行顶层数据流的分解细化。

1.1捐款请求捐款接受请求合法性检查1.21.3收入处理3捐赠者合法捐助产生报表D3收支状况2.1求助请求求助要求2.2合法支出2.3收入处理财政报表求助者接受请求合法性检查理事会图2-3顶层数据流图

9

第二章 慈善智能捐助服务平台需求分析

2.6 用例分析

用例分析是从用例模型到分析模型的过程,用例就是系统的功能模块,是需求和设计之间的桥梁,是系统分析的起点。用例图用来描述客户的需求,它是主要用来表示图示化系统的主事件流程,也就是完成一定功能的动作。用例分析把系统的行为分配给分析类,让分析类交互完成系统的行为。系统分析人员根据客户的需求来绘制用例图,描述软件系统具有哪些功能模块,以及各个模块之间的相互依赖关系[26,27]。用例图包含用例和参与者,用例之间的联系的反映了系统的整体结构和功能的软件的用户关联,相应的软件是分解的结构和功能。

用例是从系统外部可见的行为,是系统为每个Actor(参与者)提供的一套服务。原则上讲,用例之间相互独立和并列的,不存在包含与隶属关系。但为体现一些用例之间的业务关系,采用面向对象的思想,用例之间也能抽象出extend (扩展) 、include (包含)和generalization(泛化)等几种关系[28]。慈善智能捐助服务平台系统整体用例图如图2-4所示。

<><><>浏览慈善信息<>慈善信息管理<>发布慈善信息<>公众义工<><><>慈善捐助活动<>在线求助<><><><><>在线捐赠审核<>会员管理<>求助者<>注册<><><><><>管理员慈善项目管理<>慈善增值服务捐赠者

图2-4系统整体用例图

10

第二章 慈善智能捐助服务平台需求分析

系统整体用例图不能把一个复杂系统的参与者和功能都表达清楚,还需要对

较复杂的功能进行分解,下面对分解后的功能用例进行分析。

2.6.1 会员管理用例

会员管理包括会员增加新会员、删除会员、修改会员信息、审核等功能。会员管理用例图如图2-5所示。

<>注册<><><>查询其他会员信息公众义工查看会员信息<>查看自己信息<><>审核<><><><><>求助者修改会员信息<>管理员<>添加新会员捐赠者删除会员

图2-5 会员管理用例图

公众可以注册为义工,也可以注册为求助者或捐赠者,通过管理员审核后就成为正式会员。

2.6.2 慈善信息管理用例

慈善类信息包括慈善新闻、公益资讯、政策法规、财务信息、捐赠信息和拨付信息等。管理员有编辑修改的权限,其他参与者只有浏览的权限,慈善信息管理用例图如图2-6所示。

11

第二章 慈善智能捐助服务平台需求分析

微薄慈善信息<><>公众查看慈善信息<><>公益宝App信息<><><><>发布慈善信息<><><><><><><>门户网站慈善信息修改慈善信息<><><><><>删除慈善信息<>管理员微信慈善信息 图2-6慈善信息管理用例图

管理员可以选择把慈善信息发布到门户网站、微博、微信或公益宝智能终端App。

2.6.3 慈善捐助活动用例

慈善活动的参与者是管理员、义工、求助者和捐赠者。管理员负责捐助活动的维护与工作,义工协助管理员审核求助者的反应情况是否属实,求助者使用在线求助发布求助信息,也可以查询在线捐赠信息。捐赠者可以查看在线求助信息,可以在线捐赠。慈善捐助活动用例图如2-7所示。

12

第二章 慈善智能捐助服务平台需求分析

发布在线捐赠信息<><>在线捐赠<>维护在线捐赠信息<><>求助者<><>审核<><>管理员<>义工维护在线求助信息在线求助<><>捐赠者发布在线求助信息

图2-7慈善捐助活动用例图

公众要想进行捐助活动必须注册成为求助或捐赠会员。求助者或捐赠者可以使用门户网站进行在线捐助,也可以使用公益宝智能终端App进行捐助。

2.6.4 慈善项目管理用例

慈善项目管理中管理员可查询、发布、修改和删除,并可以对不同类型的慈善项目进行统计。公众登录系统后可进行慈善项目的查询,根据项目介绍,参与到项目中或进行慈善捐助活动。慈善项目管理用例图见图2-8。

13

第二章 慈善智能捐助服务平台需求分析

查询慈善项目<>统计项目<>公众<>发布慈善项目<><><>修改慈善项目管理员删除慈善项目 图2-8 慈善项目管理用例图

2.6.5 慈善增值服务用例

慈善增值服务,是某省级公益组织为了让更多的公众方便、积极、快捷地参与慈善捐助活动,提出的全新的慈善捐助服务理念。本系统慈善增值服务共分为公益宝慈善消费、淘善社区、爱心基金三部分。其中淘善社区又分为淘项目和淘物质,爱心基金分为设立爱心基金和维护爱心基金。公众可登录平台参与公益宝慈善消费活动,捐助者可登录平台参与淘项目和淘物质,捐助者也可设立爱心基金。慈善增值服务用例图见图2-9。

慈善消费、淘善社区和爱心基金等由专门的管理员进行管理维护。

14

第二章 慈善智能捐助服务平台需求分析

<>公益宝慈善消费公众<><>淘善社区<><>淘项目<>淘物质<><><><>管理员爱心基金<>设立爱心基金捐赠者维护爱心基金

图2-9慈善增值服务用例图

2.7 非功能需求

非功能性需求是指依据特定的条件来判断系统运作的情形,而不是针对系统特定行为的功能需求。包括安全性、可用性、可靠性、可维护性、可移植性、互操作性、健壮性、可重用性和可扩充性等[29]。

2.7.1 可用性

可用性是通俗的概念,指那些能让用户很容易使用系统的指标,包括易于使用(易于操作,容易理解),准确性,安全(准入制度,准入限制),兼容(兼容的服务器,客户端)等。

2.7.2 可靠性

可靠性就是保证慈善智能捐助服务平台连续不停机正常工作,具体要求如下:

15

第二章 慈善智能捐助服务平台需求分析

1.除了计划的维护之外,系统应该能 247 正常工作; 2.计划维护工作每周不能超过一次,一次不能超过 6 小时; 3.系统应具有99%的时间正常工作的性能。

2.7.3 性能需求

1.速度要求:

在线捐赠善款方面的数据必须实时更新。

任何通过慈善智能捐助服务平台进行的操作,其响应时间必须少于10 秒。 除去图片比较多的页面外,其他页面加载相应时间必须少于6秒。 2.并发要求:

使用高峰期能够满足上万人同时在线的访问和使用。 能满足上千人同时注册和在线捐助。 3.容量要求:

能够满足动态增长的会员和慈善信息存储要求。 每个求助主题一般都有5张以上的图片源文件。 能够满足动态增长的图片、视频等文件存储要求。

2.7.4 安全性需求

1.加密验证需求:

保存在Session与Cookie里面的用户身份验证和密码等信息需要加密。 用户在不经常使用的电脑或手机上访问后台时候,需要进行身份验证。 在线捐款时向网银、支付宝等站点发送请求中的数据需要加密。 与第三方合作的数据传输时候需要加密和 IP 地址绑定。

其他一些敏感信息或者重要信息的地方需要加密,例如:数据库中存放的用户的密码、配置文件中的数据库链接字符串等等。

2.病毒控制需求:

所有上传的文件在存入服务器前都要进行查毒。

2.8 本章小结

这一章从慈善智能捐助服务平台要实现的目标开始分析,针对要实现的功能,借助组织结构分析、参与者分析、数据流程分析和用例分析,详细阐述了平台具有那些方面的功能需求,给出了平台的会员管理、慈善信息管理、捐助活动、

16

第二章 慈善智能捐助服务平台需求分析

项目管理、增值服务等功能的应用案例。最后,从可用性、可靠性、系统性能,以及安全性等非功能需求方面进行分析。

17

第三章 慈善智能捐助服务平台架构设计

第三章 慈善智能捐助服务平台架构设计

通过前期的用户需求分析,了解了目标用户对于系统的要求,接着就是根据需求文档进行系统的设计工作。系统的主要核心是系统设计,主要包括系统的架构设计、功能实现模块设计和数据库设计等,需要从整体上勾画出系统的开发框架,为了提高系统设计的效率,软件工程学原理中规定了软件设计的一系列原则,在这些原则的指导下可以快速开发出需要的产品。相关原则如下[30]:

1.高效性原则

高效性原则是针对系统的数据处理速度而言的,一个优秀的系统必须要具备高效性原则,在系统开发过程中,采用不同的数据处理方法所得到的响应速度都是不同的。处理效率在不同性质的系统中,称谓也不同,比如在联机实时处理系统中,通常被称为响应时间,又比如在批处理系统中,通常被称为处理速度,无论这些称谓是什么,它们的意义都是一样的,即代表处理效率。系统设计过程中要充分考虑到这一原则,在选择相关的硬件或软件过程中要谨慎。

2.高可靠性原则

高可靠性原则是针对系统的性能而言的,一个优秀的系统需要能够确保可靠性,要具备灵活应对各种突发情况的能力,比如自动纠错功能、抗干扰能力等。而最能体现系统可靠性的指标是平均无故障时间,即在平均时间内不发生故障的时间。

3.1 系统平台架构设计

架构设计是系统建设成败的关键,是系统建设的基础,就如同建一座大厦,基础没打好,随时可能倒塌。软件系统的架构设计也是如此,架构设计不好,随着业务越复杂就越危险,最后很可能造成系统推翻从来。

系统的体系结构设计的重点是一些非功能属性,诸如性能,可维护性,可扩展性,可靠性,可测试性等。本系统架构设计是在全面分析系统功能,充分考虑系统实施情况下设计出来的。下面就从物理架构和逻辑架构方面分别讨论慈善智能捐助服务平台的技术架构设计。

18

第三章 慈善智能捐助服务平台架构设计

3.1.1 物理架构设计

慈善智能捐助服务平台不仅是面向广大公众的服务平台,而且还记录着重要的慈善捐助信息,比如一些与善款相关的信息。该平台对系统的稳定性和安全性有很高的要求,要有完备的数据存贮和备份策略。物理架构设计图如图3-1所示。

公众集群服务器 1捐赠者/求助者防火墙Web服务器集群服务器 2管理员共享服务器集群服务器 n

图3-1 系统物理架构图

Web服务器是统一的门户入口,用户可以通过浏览器登录,也可以使用移动端App登录。用户登录后,系统会根据集群服务器的负载平衡情况自动匹配给相对空闲的服务器。在共享服务器上储存用户信息及所有需要共享的数据信息。集群服务器分为图片服务器、工作服务器、备份服务器等。这样的系统架构具有高度灵活,随着用户数量的不断增加,可以扩展更多的服务器来满足大用户量的并发访问请求,保证系统性能。

3.1.2 逻辑架构设计

描述软件系统由几部分组成、讨论各个部分相互之间关系的过程就是逻辑架构。设计先进的,可扩展的,标准一致的逻辑架构,需要遵循易于使用,易于管理和安全的原则,采用分层设计,如图3-2所示。门户网站、微博/微信、智能终端App是用户接口层;慈善信息管理系统、慈善捐助业务系统和其他业务增值系统属于应用层;Web应用服务系统,数据库和服务器硬件属于系统层。分层式设计可以达到低耦合、高内聚、模块复用、定义规范的目的。采用分层设计具有以下优点:

1.开发人员可以只关注整个结构中的其中某一层;

19

第三章 慈善智能捐助服务平台架构设计

2.可以很容易的用新的实现来替换原有层次的实现; 3.可以降低层与层之间的依赖; 4.有利于标准化; 5.利于各层逻辑的复用。

不同的软件层次只与其相邻的层次发生数据交互,并且通过接口实现和包装类了层间耦合。软件层次划分方案使得系统能够满足现代软件工程对于软件的“高内聚、低耦合”的要求。

门户网站微博/微信移动终端访问控制平台技术架构体系Web保护慈善信息发布系统捐助业务系统其他增值服务系统应用服务(.NET)数据库系统(SQL Server)硬件及环境平台图3-2 系统逻辑架构图

应用平台系统平台

3.1.3 Web服务器选择

本平台选择IIS 7.5作为Web服务器。IIS 7.5是Windows Server 2008 R2(第二版)自带的Web服务器,不需要再花费额外的费用进行购买。

IIS 7.5具有集成企业内部网、互联网和外联网上的Web服务的能力,它具有可靠性、安全性、可伸缩性以及可控性等特点。可以用IIS 7.5为动态网络应用程序创建功能强大的基于B/S结构的Web服务平台。IIS 7.5充分利用了最新的Web技术标准(例如:ASP.NET、XML可扩展标记语言、以及SOAP简单对象访问协议)来开发和部署Web应用程序。IIS 7.5还提供了一些新特性,可以让Web管理员在单个IIS服务器或多个IIS服务器上发布上千个高性能的网站。无论是

20

第三章 慈善智能捐助服务平台架构设计

只有几个用户的系统,还是上万用户的大系统,都可以使用IIS 7.5发布和管理互联网上的网页以及FTP (文件传输协议)站点,还可以使用IIS 7.5利用SMTP与NNTP发布和传输邮件与新闻。

3.1.4 数据库选择

数据库系统已经从最初的层状和网状型数据库,发展到最常用的关系型数据库,再到目前的流行的面向对象型数据库。常用的大型数据库管理系统主要有:

1.Oracle

Oracle是美国甲骨文公司推出的大型数据库管理软件,支持Unix、Solaris、Windows等多种操作系统平台,Oracle是目前市场占有率最高的大型企业级数据库,具有易于使用、稳定性强、便于扩展和数据安全性强等优点,支持分布式应用,并发处理能力强,支持多种国家语言,但价格昂贵,安装和维护费用都很高。

2.DB2

DB2是IBM公司出品的一套大型数据库管理软件,主要应用于大型应用系统,虽然它也支持多种操作系统平台,但是它主要在Unix大型机上使用,很少应用在Windows系统中。

3.Sybase

Sybase是美国的Sybase公司研发的一套跨平台的典型的C/S模式大型关系型数据库管理软件。Sybase对分布式支持很好,提供完美的数据备份同步方案,Sybase在我国的大中型系统中得到广泛应用,如加油站系统。

4.Informix

Informix最开始是由Laura King和Roger Sippl基于ISAM技术开发的一个小型的关系数据库,目的是当作报表记录器来使用的。后来经过数年发展和多次收购,最终归到IBM公司囊中,IBM把它定位为在OLTP(线事务处理)方面的样板级关系数据库管理软件。 IBM对Informix和DB2进行了长远的规划,两个数据库产品互相独立、取长补短、共同发展。

5.MySQL

MySQL最初是瑞典的AB公司开发的一套开源的小型关系数据库管理软件,后来被美国的甲骨文公司收购。MySQL由于开源免费、速度快、可靠性和适应性强等特性,导致很多中小型的网站都使用MySQL作为数据库管理软件,它经常和PHP编程语言一起使用,PHP提供了一套完整的MySQL函数,便于在PHP语言中直接操作MySQL。

6.PostgreSQL

21

第三章 慈善智能捐助服务平台架构设计

美国加州大学伯克利分校计算机系基于研究的需要开发了一套开源的关系型数据库管理软件,命名为PostgreSQL,它是支持操作系统平台最多的数据库,支持大部分的标准SQL, 还支持外键、触发器、复杂查询、视图和事务完整性。目前,PostgreSQL在性能和稳定性方面的表现不尽人意,还缺少如数据库集群、数据仓库等大型数据库所必备的功能。

7.SQL Server

SQL Server是微软公司推出的基于服务器端的中型关系数据库管理软件,目前已经发布SQL Server 2008 R2版本。它采用分布式客户机/服务器模式,与Windows系统完美集成,可以使用Windows的很多功能,例如管理用户登录、发送与接受系统消息等。它具备Windows风格的图形化用户操作界面,让管理和操作数据库变得简单直观,它支持标准SQL,支持分布式应用,支持汉字处理,支持Web技术,支持把存储在数据库中的数据很容易地到发布网络上。它还提供了数据仓库功能,数据仓库是Oralce与其他昂贵的大型数据库管理系统软件才提供的功能。SQL Server 2008 R2在安全性、可靠性和可扩展性方面有了很大改进,性能方面也有很多的提升。

针对上述几个大型数据库管理系统,从操作系统平台、性价比、数据库构造难易程度、程序开发的难易程度、支持分布式应用、并发性能、事务处理、可移植性、可扩展性、安全性、数据完整性约束、容错能力、以及支持汉字处理能力等多方面进行综合对比分析,再结合建立慈善智能捐助服务平台的实际需要。本平台的选择SQL Server 2008 R2企业版作为数据库管理系统软件来使用。

3.1.5 开发平台选择

在Windows操作系统上开发Web服务,最好最完美的应用服务平台当然是.NET框架。.NET是微软公司在Web服务时代,推出的一套整体开发环境技术框架[31,32]。. NET软件开发平台是微软承诺未来十年的服务器和桌面软件快速开发应用程序启动的项目,具有网络透明性和平台独立性。.NET包含很多有利于互联网Web应用和企业内部网应用快速开发的技术。为了让互联网作为建造新一代操作系统的基础,.NET对互联网及操作系统的设计思想进行了延伸。也就是说,.NET技术是建立在不同站点之间的协议,鼓励合作站点之间交换信息,自动实现信息交流,为了帮助用户最大限度地获取信息,且对其数据实现简单和有效的管理[33]。采用 XML格式数据作为Web服务的数据传输通讯数据格式,这就避免了由于使用不同系统平台、不同组件模型、以及不同编程语言而带来的各个应用之间通信数据的不兼容,造成的单个计算网络不能在不同的操作系统、组件

22

第三章 慈善智能捐助服务平台架构设计

模型或编程语言之间协同运行。允许开发者使用来自不同数据源的Web服务组合来创建应用程序。

本平台选择Visual Studio 2012进行业务应用层和门户网站开发,VS视觉系列开发平台是由微软公司研发的,其强大的功能深受程序开发者的热烈欢迎。VS平台用途广泛,即可以开发Windows 桌面应用程序,也可以生成Web 应用程序和Web Services服务程序。为便于开发者作Web应用开发,Visual Studio 2012采用了先进的模板和性能卓越的发布工具,对HTML5和CSS3等新标准的提供全面支持。此外,还可以利用VS提供的Page Inspector 功能,在正在编码的页面与IDE中之间进行交互,更轻松地进行跟踪调试。另外,VS平台的主要开发语言是C#,它功能强大,且容易上手,利用ADO.NET组件能方便地存取数据库,还支持面向对象编程。利用ASP.NET 可以实现Web应用程序的简化生成,使一些原来需要手工编写代码完成的工作,变成由系统自动完成,从而减小了软件开发的工作量,同时也提高了应用的可靠性。另外,由于ASP. NET程序是在服务器端运行的,当客户端浏览器浏览ASP. NET网页时,Web服务器就会把相应ASPX网页文件重新解释一遍,同时生成的标准HTML文件后再发送到客户端浏览器,这样就不会有浏览器的不兼容的问题。

选择Eclipse + ADT开发安桌智能终端App, 用Xcode开发iPhone手机App,利用MVC设计模式进行软件分层,软件被划分为Mode、View和Control三层结构[34,35,36]。智能终端Web和App服务器之间是通过JSON格式数据进行通信的。JSON的全称是JavaScript Object Notation,是基于JavaScript的一个子集

[37]

它是一种轻量级的数据交换格式。JSON不仅采用完全独立于语言的文本格式,也使用了类似于C语言的习惯,包括C、C++、C#、Java、 JavaScript、Python和Perl等。这些特性就是JSON作为理想的数据交换语言的主要原因。

3.2 功能架构设计

系统的功能架构设计,就是设计系统的逻辑视图,即将系统按功能进行分层、分组件,并描述这些层及组件之间的关系。根据前面章节的需求分析和技术架构设计,慈善智能捐助服务平台的功能架构设计如图3-3所示。包含10个子系统:会员管理系统、慈善信息管理系统、在线求助管理系统、在线捐赠管理系统、慈善捐赠信息披露系统、慈善拨付信息披露、在线捐赠评价与异议处理系统、慈善数据分析系统、慈善项目管理系统和慈善捐助增值服务系统。

23

第三章 慈善智能捐助服务平台架构设计

门户网站微博微信慈善信息发布管理系统慈善智能捐助服务平台会员在线捐赠管理在线求助管慈善捐赠信慈善拨付信息管理系统系统理系统息披露系统披露系统在线捐赠评价与异议处理系统慈善数据分析系统慈善项目管理系统慈善捐助增值服务系统淘物质模块淘项目模块公益宝慈善消费爱心基金模块 图3-3 系统功能架构图

会员管理系统:实现了对会员的增、删、改、查功能,还可以进行会员注册与审核。

慈善信息发布管理系统:实现慈善信息发布、修改、删除功能,也实现了把慈善信息发布到门户网站、微博、微信和公益宝智能终端App的功能。

在线捐赠管理系统:实现捐赠者通过门户网站或公益宝智能终端App进行慈善捐赠功能。

在线求助管理系统:实现求助者通过门户网站在线求助功能。

慈善捐赠信息披露系统:实现捐赠善款和物质通过门户网站公示披露功能。 慈善拨付信息披露:实现善款拨付使用情况通过门户网站公布披露功能。 在线捐赠评价与异议处理系统:实现异常请求处理,投诉、咨询处理,异议处理,感谢与评价处理。

慈善数据分析系统:对慈善项目数据、捐赠和拨付数据、财务数据等进行统计分析。

慈善项目管理系统:实现项目启动发布、修改、删除等功能,对项目实施捐助服务,跟踪项目进展情况。

24

第三章 慈善智能捐助服务平台架构设计

慈善捐助增值服务系统:增值服务包含淘物资、淘项目、公益宝慈善消费和爱心基金管理。淘物资和淘项目实现了类似淘宝的慈善电子商务功能,淘物资版块让闲置的物品可以在这里义卖,能把零散的爱心与购物的乐趣有机结合在一起;而淘项目版块能让捐赠者可以参与到各类慈善公益项目的评估讨论中去,为自己关心的项目出谋划策。公益宝慈善消费利用手机LBS功能,查询到附近的爱心商家及爱心商家推出的慈善消费商品,消费后爱心商家就会捐出部分消费金额。小额冠名爱心基金的管理是指单位的以每月100元为捐赠起点,个人或家庭可以每月以10元为捐赠起点,达到捐赠起点即可设立自己命名的小额冠名爱心基金。基金设立的同时,用户可自己指定爱心基金的用向,进行“我的慈善我做主”的自主式慈善。

其他系统接口预留:系统交互接口化操作,预金融机构资金交流接口、捐赠方式整合接口等系统的数据接口。

3.3 本章小结

一个系统平台的架构一般是非常复杂的,必须采取“分而治之”的方法,本章从多个视角对系统平台的物理架构、逻辑架构及功能架构进行了阐述。详细说明了系统功能模块的划分及各模块之间的主要功用。目前,公益慈善活动中的社交网络已经崭露头角,利用好社交网络可以为公益事业做出更大的贡献。把微博、微信等社交元素加入到慈善智能捐助服务平台设计中,对慈善文化的传播、公益行动的倡导有积极作用[41]。

25

第四章 慈善智能捐助服务平台设计与实现

第四章 慈善智能捐助服务平台设计与实现

明确了需求,设计好了系统架构,接下来开始讨论慈善智能捐助服务平台的系统设计,分别从界面设计、业务流程设计和数据库设计方面进行阐述。

4.1 界面设计 4.1.1 界面设计原则

1.以用户为中心原则

用户界面设计的一个重要原则[42],是让用户感觉总是在控制软件,而不是感觉被软件所控制。用户就是“上帝”,是主动角色,而不是被动角色。如果需要自动执行任务,就要应允许用户通过采用选择或控制的方式来完成这项自动任务。尽量采取界面友好和便于交互的窗口,“模态”是指窗口的一种状态,它限制用户只能进行特定的交互,不能进行允许范围以外的交互。通常不要使用“模态”对话框,而采用“非模态”模式窗口。但是也不是绝对的,要根据情况而定。例如,设计一个有流程要求的单任务程序应用程序时,最好采用“模态”窗口设计,这就确保该每个单一任务是显而易见的,是一个用户明确选定的结果,用户也能很容易的取消。当需要在后台长时间运行处理进程时,为了保持前台式交互不间断,就要使用“非模态”模式窗口。例如,一个后台打印程序,即便打印的时候不允许用户再修改文档,也应该允许用户进行其他操作。

用户有时也会对截然不同的全新界面感兴趣,并能从中不断的尝试和发现错误。一个好的界面设计应该只提供一组能引导用户作出正确的选择,如果发现用户的选择或操作可能破坏系统数据,及时发出醒目的警告。在用户选择错误时,还应提供可回退或可还原的操作。设计再好的界面,也要考虑到用户可能会犯的错误。有些错误是物理上的,如偶然地输入或选择了错误的命令和数据,有些错误是逻辑上的,如在判断使用某个命令或某些数据时做出了错误的选择。优秀的设计应该尽量减少可能导致错误的情况发生,也要能包容潜在的用户错误,且档用户进行错误操作时便于立刻还原[43]。

2.风格一致性原则

风格一致包括命令的名称的一致性、可视信息的一致性、操作行为的一致性,以及界面要素在窗口内部或屏幕放置的一致性。有了风格一致设计,用户就可以将已熟悉的操作习惯传递到新的任务中,能更快地接受新东西,并可以花费更多的注意力在任务上。通过提供一种稳定的、风格一致、可预测界面,可以让用户

26

第四章 慈善智能捐助服务平台设计与实现

就不必花费大量的时间来熟悉新的交互方式。风格一致是界面设计诸多方面中最重要的一条原则。

3.易用性原则

简单易用是一个优秀界面设计必须实现的目标。设计简单界面的一种最有效方法是将信息尽量简化分解,减少到最少。如果不相关的和冗长的信息出现在界面设计中,就会使用户很难接受,且加大提取重要信息的难度。合理地使用自然语意和映射是另一种设计简单易用的界面的方法。界面元素的放置会影响到它们的关联及意义。简单要和熟悉相互关联。对于用户来说,熟悉的东西通常就会感觉更简单。尽量尝试利用用户已具备的操作习惯,徐徐渐进地引导用户管理复杂的操作。

用户不用查看帮助手册就可以进行正确的操作,这是好的界面设计所追求的。具有相同或近似功能的按钮要归为一类,分成一组,完成同一功能的按钮要集中放在一起,这样便于操作,减少鼠标操作。每个功能按钮都要有对应的快捷键,支持键盘浏览功能,可以使用Tab建切换选中的界面元素。特别是有大量录入项的界面,要让用户做到不使用鼠标就可快速完成数据录入。在用户界面中加入一些快捷键、重复功能、及带有有意义图标的按钮功能,可以让熟练用户在不同的区域快速的输入数据。易用性是界面设计需要重点考虑的原则,不仅要兼容大多数人的习惯,有时还需要考虑残疾人的操作方式。

4.系统响应时间原则

保持界面能在最合适的时间能对用户操作作出反应,系统响应时间过长,用户就会感觉系统迟钝,系统响应时间太短,用户会感觉根部上系统的操作节奏,感到不适应。适中的系统响应时间也是界面设计需要考虑的要素。

5.美观与协调性原则

美观与协调性设计是界面设计的重要部分。界面大小比例要符合美学观点,让用户感觉协调舒适,能在有效的可视范围内吸引更多人的注意力。前景色和背景色要协调统一,按钮大小要与界面大小协调一致,同一界面上的按钮大小要相似,避免过大过小[44]。布局要合理,不宜太密,也不宜太空旷,字体大小应该和界面比例相协调,同一个应用程序中的界面风格要协调统一。

4.1.2 门户网站首页设计

一个成功的网站必要有一个能吸引用户的首页,首页是门户网站的门面,是最重要的页面,首页也是一个网站访问量最大的页面。首页就好比一本杂志的封面,首页是一个人的脸面,首页是博物馆大厅中的一件艺术品,首页就是一幢大厦的门厅,首页就是一本书的目录[45]。首页的目的具有多样性,访问者的目也

27

第四章 慈善智能捐助服务平台设计与实现

具有多样性。首页设计既要突出重点、一目了然,又要充分满足访问者的各式各样的访问目的,这都是首页设计的关键所在。

首页设计有其自身的特殊规律,它作为传播新型媒体载体,与其他传统媒体载体,如期刊、报纸和杂志等在设计上有很多共同之处,但在运行模式,表达方式,和社会功能是不同的。如何设计一个网站的首页,还要考虑访问者经历的许多其他方面的东西,如Logo认可度、组织形象、审美及信任度,优秀的网站首页是以访问者为中心,以任务为驱动来设计的。某省级公益组织的网站首页布局如图4-1所示。最上方是Logo展示区和站内搜索区,接下来是功能导航栏,功能导航栏下方是网站图片展示动画、会员登录和捐赠求助区。中间是公益宝慈善消费消费宣传图片、智能终端App下载链接、慈善捐助拨付公示信息、以及慈善新闻、慈善项目信息展示。最下面是友情链接和版权信息。

图4-1 门户网站首页布局图

28

第四章 慈善智能捐助服务平台设计与实现

4.1.3 公益宝智能终端App界面

优秀的用户界面应该遵循以用户为中心的设计原则,应该让用户感觉在操控智能终端,而不是被移动设备所限制和操控。如果界面不吸引用户、逻辑不合理,再花哨的智能应用也不会得到用户的青睐,但是一个引人入胜的漂亮界面,不仅能够增强用户对智能应用的喜爱,还能美化智能应用的功能,进一步增加用户对智能应用的粘性。智能终端的界面设计与网站首页界面有很大区别,智能终端人机交互界面五大原则如下[49]:

1.美学完整性原则

美学完整性是用来衡量智能应用的界面与功能是否匹配的,而不是用来衡量一个智能应用的界面有多好看的。例如,对于一般智能应用软件来说,通常会用比较微妙的背景或修饰性元素来体现生产性的任务,对于要强调的任务则会使用标准的控件与操作行为。这样的智能应用能传达一种清晰与统一的信息给终端用户,让用户懂得智能应用的目的。但是,如果智能应用在生产性任务上使用了反差比较大的强调突出元素,用户就可能被这些不协调的信息所迷惑,发现不了智能应用强调突出的东西。

2.一致性原则

智能应用界面的一致性是指允许用户利用已熟悉的操作习惯和技能完成智能应用的过渡。需要注意,保持界面的一致性,并不是让开发者盲目复制其他的相似的智能应用,而是让开发者知道,如何利用相似智能应用具备的大众已经接受的标准和范式来设计自己的智能应用。

3.直接操作原则

当用户操作智能终端屏幕上的对象,而不是操作智能终端上单独的控件时,用户更容易理解自己的任务及操作的结果。由于多点触控的设备特点,移动端用户都习惯于直接的操作行为。由于没有媒介的干预,特别是对鼠标的依赖,当用户看到屏幕的对象,就会直接用手势进行操作,这就给用户一种很亲切的感觉,并且很有控制感。例如,用户可以通过两指的放大或缩小所要控制的图片或区域,就可完成点击缩放的操作。在游戏中,用户还可以直接移动物体,并与他们互动。如在显示密码锁的游戏中,用户甚至可以直接通过旋转游戏中的物体的操作来打开锁。

4.隐喻性原则

如果虚拟的物品和操作行为能完全模仿现实生活中的操作行为和物品的时候,用户就能够很快的掌握智能应用的操作规则。能说明的软件隐喻的最简单的例子就是文件夹,现实生活中,文件夹是用来存放物品的。因此,在计算机中看

29

第四章 慈善智能捐助服务平台设计与实现

到文件夹图标,用户能够很快理解这个图标的含义,很快的就知道了把文档等文件放入文件夹的操作。最好的隐喻应该是来源于生活又高于生活,不局限于现实生活。例如,用户能够把很多内容放入文件夹中,包括文档、音乐、视频、图片等,但现实生活中的文件夹显然无法做到的。

5.用户控制原则

智能应用不仅是应用程序,也是让用户来控制操作行为的。智能应用提供给用户做哪些操作或警告用户哪些操作危险的提示,不是一个优秀的移动应用设计,因为这些会把用户推得更远。优秀的智能应用要在哪些操作需要提示和什么时刻做提示之间作出平衡。当用户对操作行为到熟悉且可预见的时候,就会让用户明显感觉到是自己在控制应用程序。

公益宝智能终端界面如图4-2所示,用户用手机或其他智能终端登录系统后可进行慈善项目、慈善消费以及公益活动等内容的查询,可查询用户自己参与的慈善活动。用户对感兴趣的画面可以用智能终端的拍照功能拍下后上传至系统。

图4-2 公益宝智能终端App主界面

以上只是一种智能终端界面布局设计,由于智能终端的多样性,针对不同分辨率的智能终端,需要设计不同的界面布局风格,本文在这里就不一一列举了。

30

第四章 慈善智能捐助服务平台设计与实现

4.2 核心业务流程设计 4.2.1 会员在线注册流程

公众用户访问慈善智能捐助服务平台进行会员注册,在填写完会员信息后,由管理员对注册信息进行审核,若信息完善,符合要求则通过注册,成为捐赠者或求助者会员,否则系统会通知申请人重新填写注册信息,直到满足条件后成为正式会员。会员在线注册流程如图4-3所示。

会员注册输入信息是否完整否告知申请人完善信息是管理员审核不通过通过成为会员 图4-3注册流程图

4.2.2 在线求助业务流程

公众需要在线求助时登录系统的在线求助模块,首先进行身份验证,验证无误后由管理员进行审核,审核通过后系统根据求助内容与捐助者进行自动配对,配对成功后由捐助人进行确认直到捐助结束。若身份认证失败或者管理员审核未通过时,由系统告知申请人在线求助失败。整个在线求助的业务流程如图4-4所示。

31

第四章 慈善智能捐助服务平台设计与实现

在线求助身份认证否告知申请人是管理员审核不通过捐助结束通过自动配对捐助人确认效果反馈 图4-4在线求助流程图

4.2.3 在线捐赠业务流程

公众登录平台在线捐赠模块后,首先进行身份验证,身份认证通过后由管理员进行审核,审核通过后系统根据捐赠内容自动配对,配对完成后由捐助人进行确认并进行反馈,直到捐助结束。若身份认证失败或者管理员审核未通过时,由系统告知捐赠者在线捐赠失败。整个在线捐赠的业务流程如图4-5所示。

在线捐赠身份认证否告知申请人是管理员审核不通过捐助结束通过自动配对捐助人确认效果反馈 图4-5在线捐赠流程图

32

第四章 慈善智能捐助服务平台设计与实现

4.2.4 项目管理流程

在捐助人需要启动慈善项目时,由管理员进行审核,若审核通过则在系统平台上进行信息发布,根据发布的信息由系统自动配对,配对完成后由捐助人进行确认,然后进行效果反馈,直到该项目结束。整个项目管理流程如图4-6所示。

项目启动管理员审核项目结束通过信息发布效果反馈自动配对捐助人确认

图4-6项目管理流程图

4.3 数据库设计

根据特定的应用环境,分析抽象出满足各种用户应用需求的数据对象,再进行逐步细化,理清楚数据对象之间关系,应用系统的过程及其建立数据库就是数据库设计[50]。数据库设计是开发与建设信息管理系统的核心技术。

4.3.1 数据库逻辑设计

数据库逻辑设计是数据库设计的前半段,包括实体规范化、需要哪些实体、以及实体之间的关系[51,52]。数据库逻辑设计需要从整体性能和规范化方面考虑,主要包括数据查询速度、读写速度、以及是否符合数据库范式等。

经过数据库厂商和数据库开发者十多年的不懈努力与研究,已经将数据库设计工具产品化。目前最流行的是甲骨文公司的Design和SYBASE公司的Power Designer。利用这些数据库建模工具能够辅助设计人员顺利完成数据库逻辑设计中的大部分任务[53]。设计人员越来越重视自动化数据库设计工具的重要性,特

33

第四章 慈善智能捐助服务平台设计与实现

别是在大型数据库的设计时,更加需要自动化数据库设计工具的支持。人们也逐渐认识到应用程序的设计与数据库设计应该同步进行,目前计算机辅助软件工程(英文简称CASE)工具已经开始强调这两个方面的结合[54]。图4-7就是利用CASE工具绘制的慈善智能捐助服务平台的数据库E-R关系图。

公众111成为成为11申请nn成为1义工求助者捐赠者1申请nm求助申请nn政策法规捐赠申请n审核审核申请参加添加111管理员n11添加n11添加添加nnn1添加添加n捐助活动捐赠信息慈善新闻慈善公益活动项目信息 4-7 数据库E-R关系图

4.3.2 数据库物理设计

数据库物理设计是数据库设计的后半段。把已知的逻辑结构模型实施到具体的应用环境中,选择逻辑数据模型的应用环境,为这个应用环境指明具体的数据存储结构和存取方法的过程就是数据库物理设计[55]。数据库物理设计包括选择什么样的数据库,确定数据库实体字段的数据类型、长度、精度等属性信息。

慈善智能捐助服务平台采用SQL Server 2008 R2作为数据库管理软件,其主要的数据表结构如下。

1.会员信息表,其字段列表如表4-1所示。

34

第四章 慈善智能捐助服务平台设计与实现

表4-1 会员信息表 字段名称 ID LOVENO IDCARD NAME PASSWORD ADDRESS TELPHONE TYPE EMAIL SECURITYQUESTION YOURANSWER REGTIME REMARKS 详细说明 会员编号(登录名) 会员爱心号 会员身份证 会员名称 会员密码 会员地址 会员电话 会员类型 会员邮箱 安全问题 密码答案 注册时间 备注 字段类型 VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR VARCHAR DATETIME VARCHAR 长度 10 10 18 20 32 500 50 20 100 255 100 可否为空 否 是 是 是 否 是 是 是 否 否 否 否 主键 主键 1000 是

2.捐赠信息表,其字段列表如表4-2所示。

表 4-2 捐赠信息表 字段名称 详细说明 字段类型 长度 可否为空 ID LOVENO VOUCHERNO DONORSOURCE 编号(流水号) 会员爱心号 凭证号 捐赠来源 INTEGER VARCHAR VARCHAR VARCHAR VARCHAR NUMERIC 10 10 50 100 否 是 是 是 是 是 是 是 主键 主键 DONATIONWILLINGNESS 捐赠意愿 MONEY DONORTIME REMARKS 金额 捐赠时间 备注 DATETIME VARCHAR 2000

3.求助信息表,其字段列表如表4-3所示。

35

第四章 慈善智能捐助服务平台设计与实现

表 4-3 求助信息表 字段名称 ID RECIPIENT RELIEFTYPE ADDRESS VALIDTIME IMAGE1 IMAGE2 IMAGE3 REMARKS 详细说明 编号(流水号) 受助对象 救助类型 详细地址 有效时间 图片资料1 图片资料2 图片资料3 求助人近况 字段类型 INTEGER 长度 可否为空 否 否 是 否 否 否 是 是 否 主键 主键 VARCHAR 20 VARCHAR 20 VARCHAR 500 VARCHAR 50 IMAGE IMAGE IMAGE VARCHAR 2000

4.拨付信息表,其字段列表如表4-4所示。

表 4-4 拨付信息表 字段名称 ID BENEFICIARY MONEY BOT REGION 详细说明 编号(流水号) 受益人 金额 项目 地区 字段类型 INTEGER VARCHAR NUMERIC VARCHAR VARCHAR 长度 20 1000 50 可否为空 否 否 是 是 是 是 是 主键 主键 ALLOCATEDTIME 拨付时间 REMARKS 备注 DATETIME VARCHAR 2000

5.项目信息表,其字段列表如表4-5所示。

36

第四章 慈善智能捐助服务平台设计与实现

表 4-5 项目信息表 字段名称 ID NAME SOURCE TYPE BACKGROUND TARGET INTRODUCTION VALIDTIME 详细说明 编号(流水号) 项目名称 项目来源 项目类型 项目背景 项目目标 项目介绍 有效时间 字段类型 INTEGER 长度 可否为空 否 是 是 是 是 是 是 否 主键 主键 VARCHAR 50 VARCHAR 1000 VARCHAR 50 VARCHAR 2000 VARCHAR 2000 VARCHAR 2000 VARCHAR 50

4.4 主要功能实现 4.4.1 慈善信息整合传播

随着慈善公益机构的增多,公众对慈善公益的关注增强。现实生活中人们接触到的慈善信息量也与日俱增,越来越多的公众参与慈善公益活动。除了传统意义上各式各样的慈善公益组织,网络慈善和微公益也越来越受到人们的重视。通过互联网人们在家就可以进行简单、有效的公益行为。

为了号召社会各界爱心人士都参与到慈善公益中,需要把各类慈善信息进行整合,然后在发布到门户网站、微搏、微信和公益宝智能终端App上,这样可以传递爱心,传播文明,传递正能量!只有把公众的爱心汇聚在一起,凝聚成一股更强大力量,才可以用这股力量帮助更多需要帮助的求助者。

慈善智能捐助服务平台通过统一的后台管理系统,可以把慈善信息发布到门户网站、微搏、微信和公益宝智能终端App上。下面针对不同平台分别介绍如何实现整合发布慈善信息。

1.门户网站发布慈善信息

后台管理系统和门户网站使用相同的数据库,在后台管理系统写入慈善信息数据库,门户网站就能直接读取显示。图4-8是某省级公益组织门户网站首页显示效果。

37

第四章 慈善智能捐助服务平台设计与实现

图4-8 门户网站首页

2.新浪微博发布慈善信息

截止至2014年3月底,新浪微博用户数已达六亿,活跃用户数高达五千多万。如果访问微博客新浪,可以快速实现用户的回归与回流。新浪微博开放平台就是具备了微博海量用户和强大的传播能力,为第三方合作伙伴提供丰富应用接口以及完善服务的开放平台。新浪微博开放平台提供了二百多个数据接口,包括对微博内容的评论、用户信息、用户之间关系和话题等信息。能够不限系统平台、不限开发语言的自由接入,完全免费,不收取任何费用。还提供多种SDK,包括iOS、Android、WP7等平台,并且支持C++、PHP、JAVA、Action Script、Python、Java Script等多种流行语言[56]。

后台管理系统就是利用新浪微博的JS接口实现把慈善信息发布到新浪微博上,显示效果如图4-9所示。新浪微博只要引用一个JS文件就可以使用封装好的方法来请求开发的API,新浪微博JS就是一个基于Java Script的SDK,也可轻松部署新浪微博组件到网页中,大大降低了开发成本。

38

第四章 慈善智能捐助服务平台设计与实现

图4-9 新浪微博显示效果

3.腾讯微博发布慈善信息

虽然腾讯微博没有新浪微博推出的早,但是借助于腾讯QQ的影响力,腾讯微博后来者居上,目前的用户数和影响力已经不亚于新浪微博。腾讯微博也未开发者提供了调用的接口API,用户注册成为开发者后登录到腾讯微博开放平台,就可以使用腾讯微博开放平台提供的开放API,从腾讯微博系统获取微博内容的评论和用户信息等,也可以将新的信息或评论写入整个微博系统中。腾讯微博的开放平台为开发者提供了丰富多样的API接口和应用实例[57]。慈善智能捐助服务平台基于腾讯微博OpenJS(JS接口)实现了直接在后台管理系统发布慈善信息到腾讯微博的功能,发布后的效果图如4-10所示。

图4-10 腾讯微博显示效果

39

第四章 慈善智能捐助服务平台设计与实现

4.微信发布慈善信息

正当人们还沉溺于微博为社交带来的喜悦时,一款智能终端即时通讯服务应用App——微信,在2011年1月21日,由腾讯公司正式推出。微信通过2G/3G或蜂窝网络快速发送免费文字信息、图片、语音和视频,它支持跨操作系统平台、跨通信运营商进行通讯。微信发布后像计算机病毒一样迅速传播,截止到2013年11月,注册用户已经突破六亿,成为亚太地区用户群体最大移动即时通讯软件[58]。微信公众平台也提供了二次开发接口,通过开发接口可以把消息推送给所有关注公众号的微信用户。图4-11就是通过后台管理系统发布的慈善信息在微信中的显示效果。

图4-11 微信显示效果

40

第四章 慈善智能捐助服务平台设计与实现

4.4.2 慈善信息公开透明

我国慈善事业正处在重要发展时期,对慈善信息有规则的公开透明关系到现代慈善发展的格局,充分利用网络这一现代化信息平台对慈善信息进行公示对慈善事业的发展有着非常重要的意义。本系统对慈善信息进行披露效果如图4-12所示。公众及捐赠者通过该页面可以查询捐赠者捐助的时间、捐赠意愿以及金额等,以达到捐赠信息公开透明。

图4-12 信息披露显示效果

慈善拨付信息、捐赠物资信息和财务信息也都可以在门户网站上进行查询。

4.4.3 在线支付功能

在线支付是指在网上的卖家和买家通过商业银行提供的网上银行支付服务,在电子商务网站上面完成资金结算服务的一种业务。它为买家和卖家提供了一个方便、快捷与安全的电子商务交易环境和网上资金结算方式。在线支付不仅能帮助卖家实现销售资金的快速归集,缩短资金周转周期,同时它作为一种网上消费

41

第四章 慈善智能捐助服务平台设计与实现

支付结算的新方式,也能帮助买家实现真正的足不出户,就能实现网上购物。在线支付是一种由第三方机构提供的银行拨款的支付接口,这种方法的好处是,用户可以直接从银行卡转帐到网站的账户资金,可以做到汇款即时到帐,这个过程不需要人手工确认。最常用的第三方在线支付方式有财付通、银联在线、支付宝、易宝支付、快钱。这种新的支付方式与网上个人银行转账或到银行柜台办理现金转账的最大区别就是能否自动确认预付款。

慈善智能捐助服务平台已经接通了支付宝和银联在线,通过在线支付功能可方便捐赠更快捷的奉献爱心,在线支付不收取任何费用,捐赠这捐出的每1分钱都将100%实时到底慈善基金会公募账号。网站在线捐赠与智能终端在线捐赠界面如图4-13、4-14所示。

图4-13 网站在线捐赠显示效果

42

第四章 慈善智能捐助服务平台设计与实现

图4-14 公益宝智能终端捐赠显示效果

4.4.4 慈善消费捐赠

慈善消费是指消费者不直接慈善捐赠,而是通过消费间接进行慈善捐赠,慈善消费将消费者个人利益、爱心企业效益和慈善公益有机地融在一起,通过消费者个人一次普通消费活动,实现了消费者个人、爱心企业和慈善公益机构多赢的局面。慈善智能捐助服务平台在提供慈善捐助服务功能的基础上,尝试推出了公益宝App慈善消费功能。公益宝App利用百度LBS接口实现了查询附近爱心商家功能,也可以通过摇一摇随机推荐附近的爱心商家,如图4-15所示。

43

第四章 慈善智能捐助服务平台设计与实现

图4-15 公益宝App摇一摇

查询到爱心商家后,就可以选择爱心商家提供的爱心商品进行慈善消费,公益宝App慈善消费效果如图4-16所示。

图4-16 公益宝慈善消费显示效果

当慈善成为公众物质和文化消费中的关键词,当慈善成为公众每天生活需要

的时候,慈善就已经可以进行社会流通,慈善捐赠就是与每个人都息息相关的事情,慈善服务也不再是极少数人的事情了。这时,公众不仅是关注慈善公益流通的渠道和慈善公益项目实施的效果,而是想要参与到慈善公益活动的执行过程中去,就像吃饭、旅游和购物一样,慈善就成为公众所具有的一种潜在的、必不可少的习惯。

4.4.5 慈善捐助数据统计报告

全面客观地统计捐赠数据,能及时反映慈善事业发展成果,准确把握慈善行为的动向与发展态势,帮助相关职能部门找到发展中的不足。政府在制定推动慈善事业发展的各项政策时,就有了科学、全面准确的依据。慈善信息的统计与公示工作,对推进慈善行业公开透明,推动慈善主体的诚信建设,促进慈善公益事业健康发展具有不可替代的重要作用。系统财务统计报告、捐赠统计报告和拨付统计报告分别如图4-17、4-18、4-19所示。

44

第四章 慈善智能捐助服务平台设计与实现

图4-17 财务统计报告显示效果

图4-18 捐赠统计报告显示效果

45

第四章 慈善智能捐助服务平台设计与实现

图4-19 拨付统计报告显示效果

4.5 本章小结

一个好的慈善智能捐助服务平台可直接影响到慈善事业的发展,本章主要对系统平台的门户网站公益宝智能终端界面的设计作了详细的说明,在系统核心业务流程中主要介绍了会员在线注册、在线求助与在线捐赠、项目管理的流程,对系统所设计的数据进行了分析,给出了系统数据库的逻辑设计和物理设计,最后对系统实现的主要功能进行了说明并给出了应用示例。

46

第五章 慈善智能捐助服务平台测试与应用

第五章 慈善智能捐助服务平台测试与应用

随着软件的规模越来越大,软件设计的复杂程度越来越高,软件开发中出现Bug的机率也就越来越多。且用户对软件质量重要性、安全性的认识程度逐渐增强。因此,在软件项目实施过程中,软件测试的重要性也日益突出[59]。

5.1 系统测试

系统测试的目的一是保证功能满足需求,二是要保证系统的性能。测试过程分为单元测试和集成测试,单元测试是指软件检查和验证的最小测试单元,这一部分是程序员完成。集成测试包括功能测试和性能测试。功能测试就是根据功能编写测试用例,验证软件系统的各项功能,每项功能逐一检查,检查软件产品是否达到了用户最初的需求。性能测试是通过大量的用户在同一时间运行系统,产生大量的系统服务请求来测试系统的响应时间,在这种情况下,CPU占用率,内存使用率和其他性能指标[60]。性能测试主要是用来验证软件系统的稳定性、健壮性和处理能力。

5.1.1 测试环境配置

慈善智能捐助服务平台测试在两台惠普服务器、多台PC和智能手机上进行,其中数据库服务器端配置如表5-1所示:

表 5-1 数据库服务器配置

硬件配置 CPU个数 CPU类型 内存 硬盘 网卡 软件配置 操作系统 数据库系统 Windows Server 2008 R2 SQL Server 2008 R2 8CPU 2.4G 16G 2*500G 2*1000M

47

第五章 慈善智能捐助服务平台测试与应用

应用服务器配置如表5-2所示:

表 5-2 应用服务器配置 硬件配置 CPU个数 CPU类型 内存 硬盘 网卡 软件配置 操作系统 应用服务 Windows Server 2008 R2 IIS 7.5 8CPU 2.4G 16G 2*100G 4*1000M

PC客户端采用下列配置,如表5-3所示:

表 5-3 PC客户端测试机配置

硬件配置 CPU个数 CPU主频 内存 硬盘 网卡 软件配置 操作系统 浏览器 Windows 7 IE 6/7/8/9/10,Firefox 16+ 1 2.4G 4G 500G 100M

48

第五章 慈善智能捐助服务平台测试与应用

智能手机客户端采用下列配置,如表5-4所示:

表 5-4 智能手机客户端测试机配置

硬件配置 网络制式 机身内存 运行内存 屏幕尺寸 重力感应 软件配置 操作系统

IOS5/Android 4.X GSM/WCDMA 2G ROM 512MB RAM 3.5寸 支持 5.1.2 系统功能测试

功能测试是“黑盒”测试,测试人员不需要关心编码是否正确和系统的逻辑结构是否完整,只关心各个功能是否能正常工作。慈善智能捐助服务平台的功能测试要求从该平台的技术架构及界面设计出发,按照慈善智能捐助服务平台的需求分析来编写测试用例,测试中需要对比输入数据在预期结果和实际结果之间是否一致,提出修改意见,提交开发人员修改,最终让慈善智能捐助服务平台达到完全满足用户实际使用的要求。慈善智能捐助服务平台的功能测试用例如表5-5所示。

49

第五章 慈善智能捐助服务平台测试与应用

表5-5功能测试用例表 测试项 名称 子测试项名称 1、首页 2、新闻中心 3、援助中心 4、数据中心 慈善智能捐助平台门户网站前台 5、爱心基金 6、爱心档案 7、信息披露 8、淘善社区 9、义工中心 10、河南NPO 11、客服中心 12、关于我们 1、发布新闻 河南慈善智能捐助平台后台2、发布信息 3、发布项目 4、更改栏目 确定后台每个功能模块的页面显示均正常,链接正确,按钮能正常工作,页面所有功能正常工作。 http://www.henancishan.org/ 确定12大模块的页面显示均正常,链接正确,按钮能正常工作,页面所有功能正常工作。 http://www.henancishan.org/ 测试项描述 测试对象 管理网站 5、导出报告 6、导入数据 1、慈善项目 2、消费捐赠 公益宝App 3、公益活动 4、公益随手拍 5、我的慈善 6、更多功能 确定公益宝App每个功能模块的页面显示均正常,链接正确,按钮能正常工作,页面所有功能正常工作。

测试过程中,采用回归测试方式,每次回归都把上次测试过的功能再重新测试一遍。每次测试发现的问题都标出缺陷等级且进行记录归档,最后把测试报告提交给开发人员,让他们确认修复。缺陷等级表入表5-6所示:

50

第五章 慈善智能捐助服务平台测试与应用

表5-6 缺陷等级表 等级 描述 导致系统崩溃; 重复出现的导致系统崩溃的致命问题 导致程序模块丢失; 主业务流程出现断点; 内存泄漏; 导致死机。 被测功能不能正确实现; 软件错误导致数据丢失; 严重 重复出现的影响系统正常工作的严重问题 被测数据处理错误; 操作界面错误; 打印内容、格式错误; 删除操作未给出提示。 界面不规范; 一般 一般性的错误或功能实现有不完美处 辅助说明描述不清楚; 输入输出不规范; 提示窗口文字未采用行业术语。 影响用户对软件使用的方便性等。 微小 指无关紧要的错误或建议性的意见 说明 致命

其中,致命缺陷、严重缺陷和一般缺陷是必须修改的,微小缺陷可是视情况而定,可以修改也可以不修改。

慈善智能捐助服务平台的测试工作投入了10个人,经过30个工作日,对不同系统、不同业务功能分配不同的责任人,尽量做到不漏掉任何一个功能模块。其中门户网站前台所有模块全部涵盖,后台管理模块功能全部涵盖,公益宝智能终端App个别模块检查更新模块由于只发布了一个版本,没有测试更新功能。经过5次的回归测试,最终慈善捐助服务平台各项功能都满足了设计要求。

5.1.3 系统性能测试

1.预期指标的性能测试

慈善智能捐助服务平台需求分析和慈善智能捐助服务平台设计阶段提出一

51

第五章 慈善智能捐助服务平台测试与应用

些具体的性能指标,性能测试的主要任务就是参考这些指标进行相关的测试。慈善智能捐助服务平台提出的性能指标包括:门户网站可以支持上万用户同时浏览访问,最长的页面响应时间不得超过10秒等等,本次性能测试就是验证这些预先承诺的性能指标是否满足要求。

2.独立业务性能测试

独立业务也可用理解为核心业务,独立业务通常都是功能比较复杂、使用频繁比较高的功能模块,这部分功能是系统的核心功能。慈善智能捐助服务平台独立业务性能测试的重点是对登录、注册、在线捐助等业务模块的并发测试,利用测试工具模拟真实环境下200个用户在同时使用同一个业务功能,并保证系统正常工作条件下连续测试一段时间。慈善智能捐赠服务平台独立业务测试用例如表5-7所示。

52

第五章 慈善智能捐助服务平台测试与应用

表 5-7 独立业务测试用例表 功能 目的 方法 并发数 200人 并发数 200人 并发数 200人 功能 目的 方法 并发数 200人 并发数 200人 并发数 200人 登录系统 测试多会员同一时刻登录系统是的性能指标 工具模拟测试 用户并发测试项目和测试指标 事务平均耗时 事务最大每秒执行成功率 每秒点击耗时 个数 数 5s 10s 45 99% 800 数据库主机测试指标 CPU使用率 85% 内存使用率 78% 应用服务器测试指标 内存使用率 82% 网络吞吐量(KB/秒) 2048 磁盘吞吐量(MB/秒) 10 CPU使用率 磁盘吞吐量(MB/秒) 86% 5 注册 测试多人同一时刻注册的性能指标 工具模拟测试 用户并发测试项目和测试指标 事务平均耗时 事务最大每秒执行成功率 每秒点击网络吞吐量耗时 个数 数 (KB/秒) 8s 10s 50 98% 850 8096 数据库主机测试指标 CPU使用率 内存使用率 磁盘吞吐量(MB/秒) 86% 89% 30 应用服务器测试指标 CPU使用率 内存使用率 磁盘吞吐量(MB/秒) 88% 85% 8

3.组合业务性能测试

组合性能测试能准确地反应真实环境中用户的使用情况,它通常都是与服务器性能测试结合起来一起测试,利用测试工具模拟真实环境下的用户操作,记录服务器的各类资源监视器信息,从而分析系统性能的瓶颈所在。真实环境中用户不可能只使用某一个或几个独立业务功能,用户大概会使用到慈善智能捐助服务平台的每个功能模块。因此,慈善智能捐助服务平台组合业务测试,既要考虑多个用户的使用相同业务功能的情况,也要考虑多个用户的使用不同业务功能的情况。本次组合并发测试过程中会按照慈善公益用户的操作习惯划分几个类别的用户组进行组合测试,根据实际使用中每个独立业务功能的用户人数来确定每个组的用户个数。慈善智能捐助服务平台组合业务性能测试用例表如表5-8所示。

53

第五章 慈善智能捐助服务平台测试与应用

表 5-8 组合业务性能测试表 1000人同时操作:200人注册,200人登录,500人浏览,50人在线求助,50人在线捐赠 目的 测试1000人同在线,系统的性能情况 方法 工具模拟测试 用户并发测试项目和测试指标 并发事务平均耗时 事务最大耗时 每秒执行成功率 每秒网络吞数 个数 点击吐量数 (KB/登注浏览 在登注册 浏在登注浏在登注浏在秒) 录 册 线录 览 线录 册 览 线录 册 览 线捐捐捐捐助 助 助 助 200人 注册, 5s 8s 3s 9s 8s 10s 5s 12s 40 60 83 20 99 98 100 99 990 200人12024 登录,500人浏览,100人在线捐助 数据库主机测试指标 并发数 CPU使用率 内存使用率 磁盘吞吐量(MB/秒) 200人注册,200 93% 92% 289 人登录,500人浏览,100人在线捐助 应用服务器测试指标 并发数 CPU使用率 内存使用率 磁盘吞吐量(MB/秒) 200人注册,20095% 93% 315 人登录,500人浏览,100人在线捐助 功能

4.疲劳强度性能测试

保证慈善智能捐助服务平台正常工作的条件下,在很长的一段时间内让系统满负荷运转的情况下进行系统测试,目的是确定慈善智能捐助服务平台长时间处理较大业务量时的性能,经过24小时的疲劳强度测试基本可以判定慈善智能捐助服务平台能够满足最初的设计的稳定性需求。

5.大数据量性能测试

大数据量的测试是在特定条件下的进行的性能测试,它是独立业务测试与组

54

第五章 慈善智能捐助服务平台测试与应用

合业务测试在数据量达到某种临界状态时才能发生的测试。慈善智能捐助服务平台的大数据量测试是在系统部署运行前的模拟环境下进行,分三种情况进行大数据量性能测试。第一种情况是对慈善智能捐助服务平台的慈善信息浏览、在线捐赠、在线求助等核心业务进行大量文字、图片及视频信息的查询读写时的性能测试;另一种情况是慈善信息数据量达到一定数量级时对会员注册、登录、线捐赠、在线求助等业务及这些业务组合起来进行的性能测试;第三种情况是综合了前两种情况的性能测试,在进行前两种情况性能测试过程中产生了较大数据量的性能测试。

6.网络性能测试

网络性能测试的目的主要是为了确定系统响应时间是如何根据网络带宽、延迟、以及端口的变化而变化的,慈善智能捐助服务平台的网络性能测试主要是测试门户网站系统的网络带宽与用户数目的关系。网络性能测试一般是由系统集成人员来完成。

7.服务器性能测试

在进行上面其他各种性能测试以及信息管理系统正式上线运行的时候,监控记录服务器的各类资源监视器信息,通过CPU使用率、内存使用率、网络吞吐量及磁盘吞吐量等信息对服务器进行综合性能评定与分析,这就是服务器性能测试,它是对服务器进行性能调优的科学依据。慈善智能捐助服务平台的服务器性能测试包括数据库服务器性能测试和Web服务器性能测试。

5.1.4 测试结论

通过系统功能测试和系统性能的介绍,我们可以看出慈善智能捐助服务平台在功能性、易用性、可靠性、兼容性和安全性等方面都满足最初的设计要求。

5.2 系统应用情况

慈善智能捐助服务平台已经成功应用到某省级公益组织日常工作中,不仅提高了慈善工作的透明度,方便了求助者和捐赠者、提高了慈善人员的工作效率,还扩大了某省级公益组织在慈善公益机构中的知名度。截至2014年8月,某省级公益组织门户网站的累计访问量突破千万,接收在线捐款百万元,接受在线求助1千多人次,新浪微博和腾讯微博的粉丝听众人数将近30万,正在试用的公益宝智能终端App在安桌和苹果各大市场的累计下载量近1万次。

55

第五章 慈善智能捐助服务平台测试与应用

5.3 本章小结

软件系统平台的成败的关键还是要有事实说话,这一章首先介绍了系统测试的重要性。然后从测试环境配置、系统功能测试和系统性能测试方面进行阐述。最后,通过测试数据和系统投入使用后的具体情况,说明慈善智能捐助服务平台不仅完全满足设计要求,而且还有较高的实用价值。

56

第六章 总结与展望

第六章 总结与展望

本文首先对研究背景进行了讨论,然后论文研究目的和意义进行了分析,指出设计和实现基于互联网和移动互联网技术的慈善智能捐助服务平台的必要性。以软件工程理论为指导对系统作了充分的需求分析,主要分析了系统的实现目标、系统功能、所设计的组织机构、参与者以及系统的数据流程等。在需求分析的基础上,设计了系统的总体架构,对系统的物理架构和逻辑架构等作了详细的说明并给出了架构图。对某省级公益组织的门户网站的首页和公益宝智能终端App界面布局作了设计,在核心的业务流程中主要说明了会员的注册流程、在线求助和捐赠流程以及项目的管理流程。遵循系统的业务需求对慈善智能捐助服务平台的数据库进行了详细的逻辑设计和物理设计。基于系统的设计方案,具体实现了系统的慈善信息整合传播与公开透明、在线支付、慈善消费捐赠和慈善捐助数据统计报告等主要模块。最后对系统的性能和功能等进行了测试,给出了系统的应用实例。

虽然慈善智能捐助服务平台基本满足目前的应用需要,但是由于系统设计与系统要求上线时间等原因,因而还存在如下的一些问题,在后期的工作中需要进一步完善:

1.完善与银行系统的接口自动对接,让捐赠者通过银行的汇款也能实时显示到门户网站上。目前,捐赠者通过汇款方式的捐赠,慈善智能捐助服务平台与银行之间是采用纸质账单对账,或者从银行系统导出文本文件和Excel表格,然后再导入到慈善智能捐助服务平台。这种方式实时性不强,需要进一步完善与银行系统的接口,实现自动实时对接。

2.接入更多的在线支付平台,方便不同途径的捐赠者进行捐赠。目前系统只接入了支付宝和银联在线,可以再开通微信支付、财付通、环迅支付、易宝支付、快钱等。重点是微信支付,微信支付具有用户分布广、支付方便快捷、及时到帐等特性,开通微信支付是必然趋势。通过微信的分享功能可以把微信支付后的图片信息分享给自己的微信好友或分享到朋友圈,利用微信和朋友圈的病毒式传播特性影响自己身边的好友。还样不仅有利于增加微信好友之间的互动,还给后续带来更多捐赠筹资的可能。

3.在系统智能方面,慈善智能捐助服务平台还有很多欠缺。下一步还可以考虑使用人工智能、大数据分析、数据挖掘、云计算等技术[61]。可以利用网络爬虫收集互联网的的慈善公益信息。通过数据挖掘技术发现有价值的慈善公益信息,甚至可以人工智能分析出需要救助的人和潜在的捐赠客户。

57

参考文献

参考文献

[1] 和讯网,互联网变革中国公益,http://tech.hexun.com/2014-04-11/163831928.html [2] 百度百科,慈善,http://baike.baidu.com/subview/210522/5119269.htm?fr=aladdin

[3] 维基百科,慈善,http://zh.wikipedia.org/wiki/%E6%85%88%E5%96%84 [4] 百度百科,公益,http://baike.baidu.com/view/1450.htm?fr=aladdin [5] 刘孝龙,我国慈善捐助的现状分析,郑州航空工业管理学院学报(社会科学版),2009,28(1):147~148 [6] 郑远长,彭建梅,建设慈善捐助信息系统迫在眉睫,社会福利,2008,(11):40~42

[7] Lawrence J. Friedman, Mark D. McGarvie. Charity, Philanthropy, and Civility in American History. Cambridge University Press, 2003 [8] Kelly Shipp Simone, Betsy Buchalter Adler. Rules of the Road: A Guide to the Law of Charities in the United States,Council on Foundations, Incorporated, 2008

[9] The UK Voluntary Sector Aimanac 2006: The State of the Sector,National Council for Voluntary Organizations, 2006

[10] 徐顽强,资源依赖视域下政府与慈善组织关系研究,华中师范大学学报,2012,(3):14~19 [11] 徐小路,我国慈善事业发展存在的问题及应对策略,黑河学刊,2012,(6):185~186

[12] 张全省,智慧慈善:传统慈善的继承与创新,宝鸡社会科学,2011,(4):18~20

[13] 曹艳秋,中美慈善业比较分析及对中国的启示,西部论坛,2011,(6):66~71

[14] 陈玉梅,中美慈善事业比较研究,长沙民政职业技术学院学报,2012,19(3):23~25

[15] 朱宪辰,国外捐赠行为研究述评,理论学刊,2008,(11):84~86

[16] 张作为,网络慈善募捐模式构建与实施,学术争鸣,2011,(2):31~32 [17] 赵俐,公民社会救助权实现的路径分析,东北师范大学学报,2012,(4):17~20

[18] 陈东利,论中国慈善组织的公信力危机与路径选择,河北师范大学学报,2012,(1):23~27

[19] 郭亚楠,“中国式慈善”的现状与未来——基于社会资本视角的分析,社会工作,2011,(12):61~64

58

参考文献

[20] 刘美萍,当前我国慈善捐赠不足的原因及对策研究,行政与法, 2007,(3):31~33

[21] 方素琴,慈善超市:敢问路在何方,中国减灾,2008,(1):25~25 [22] 谢维营,张志荣,我国民间慈善事业的历史、现状及其发展对策,山西师大学报(社会科学版),2007,(6):61~64

[23] 中华人民共和国民政部,加强中国社会慈善公益捐助事业的思路与对策, http://zyzx.mca.gov.cn/article/yjcg/shcs/200807/20080700018807.shtml [24] 百度百科,需求分析,http://baike.baidu.com/view/111493.htm?fr=aladdin

[25] 张大永,河南省水环境地理信息系统:〔硕士学位论文〕南京;南京理工大学,2012 [26] CSDN博客频道,Visio中画UML用例,http://blog.csdn.net/wconvey/article/details/8713154

[27] CSDN博客频道,需求中如何画用例图,http://blog.csdn.net/hurryjiang/article/details/7254724 [28] CSDN博客频道,UML中的用例分析,http://blog.csdn.net/puppyli/archive/2008/04/15/2294970.aspx [29] 百度百科,非功能性需求,http://baike.baidu.com/view/111493.htm?fr=aladdin [30] 温昱,软件架构设计,北京:电子工业出版社,2007

[31] 林庆,朱翠苗,郑广成等,基于ASP.NET的MVC设计模式的研究,计算机工程与设计,2008,(1):167~169

[32] (美)Jon Galloway著,孙远帅译,ASP.NET MVC 3高级编,北京:清华大学出版社,2012

[33] 周鲲鹏,方仍存,颜炯等,电网规划智能辅助决策系统的设计与实现,电力系统自动化,2013,(3):121~123

[34] 韩超,梁泉,Android系统原理及开发要点详解,北京:电子工业出版社,2010

[35] 赵士田,Android平台的桌面插件的研究与实现,计算机光盘软件与应用,2011,(10):150~151

[36] 高焕堂,李立文,Android应用软件架构设计,2008

[37] 百度百科,JSON,http://baike.baidu.com/view/136475.htm

[38] 王璐,社交新媒体微博的传播学分析,郑州大学学报,2011,(7):34~35

[39] 曹林,微博传播的十大特点及对言论生态的影响,探索经纬,2011:11~12

[40] 吴秋鹏,国内外民间微公益组织的发展现状研究,经营管理者,2011(10):8~9

[41] 谭超,微博谣言分析及新浪辟谣机制,新闻实践,2011,(5):19~20

59

参考文献

[42] 新浪博客,UI设计规范,http://blog.sina.com.cn/s/blog_4ac4f60601015lkz.html

[43] 丁凯,李晖,互动媒体艺术模块化课程体系之《界面设计创意》研究,南京艺术学院学报(美术与设计版),2012(6):191~195

[44]百度文库,Winform设计界面规则(与大家分享),http://wenku.baidu.com/view/987ae5155f0e7cd184253668.html

[45] 李普,社区管理系统的设计与实现,中国科技投资,2012,(33):23~25

[46]网络资源,手机界面设计:人机交互界面设计的五大原则,http://jingyan.baidu.com/article/fdbd427700718fb89e3f48e0.html

[47] 天极网,iOS开发:人机交互界面设计的五大原则,http://dev.yesky.com/156/34543156.shtml [48] 陈芳,索佳佳,手机软件界面设计的原则及发展趋势,大众文艺(学术版),2012,(23):67~68

[49] 张凌浩,基于智能系统的手机软件界面设计方法探讨,包装工程,2010,(24):58~61

[50] 田艳,刘友生,Web数据库软件开发中的自主适应设计,科技信息(学术研究,2007,(18):25~30

[51] 朱海峰,关系规范化理论在数据库设计中的应用,中国科技信息,2006,(13):25~30

[52] 杨晨,数据库物理设计及其优化研究,电子世界,2013,(19):178~178 [53] 宗军红,王春生,孔令旭等,数据库物理设计需要注意的几点问题,油田地质工程,2002,(2): 95~95

[54] 网络资源,数据库设计与应用程序开发,http://www.docin.com/p-266984995.html [55] SQL Server 2008技术文档,http://technet.microsoft.com/zh-cn/sqlserver/bb671410

[56] 新浪微博开放平台,http://open.weibo.com/wiki/%E9%A6%96%E9%A1%B5 [57] 腾讯微博开放平台,http://dev.t.qq.com/ [58]百度百科,微信,http://baike.baidu.com/subview/5117297/15145056.htm?fr=aladdin [59] 宫云战编著,软件测试,北京:国防工业出版社,2006

[60] 段念编著,软件性能测试过程详解与案例剖析,北京:清华大学出版社,2006

[61] 郭世龙,王晨升,主题爬虫设计与实现, 软件,2013,(12):107~109

60

致 谢

致 谢

本论文的工作是在我的导师张建勇老师的悉心指导下完成的,张老师严谨的治学态度和科学的工作方法给了我极大的帮助和影响。从论文的选题开题、中期检查、初稿修订到最终修改成文,张老师都给了我悉心的指导,使我能顺利完成论文的写作。

其次,我要感谢教育和培养我的软件学院的所有老师,感谢他们的热情指导和认真帮助。感谢参与河南慈善捐助服务平台项目组的同事们,正因为有他们的帮助和配合,使项目得以顺利完成。感谢给予转载和引用权的资料、图片、文献、研究思想和设想的所有者。

最后,我还要感谢在学习和工作中给我帮助的同学和朋友们,特别是薛华柱博士提出了很多中肯的建议和意见。特别感谢我的父母和老公,他们所给予的无尽关爱、理解和支持使我有机会在大学里继续深造学习。还要感谢我的女儿,是她带给我无限的生活乐趣!

61

因篇幅问题不能全部显示,请点此查看更多更全内容

Top