版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、慈善智能捐助服务平台的设计与实现 Design and Implementation of Charitable Donations Intelligent Service Platform领 域:软件工程研 究 生:朱雷华指导教师:张建勇 高级工程师企业教师:魏国帅 高级工程师天津大学软件学院二零一四年十一月独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果, 除了文中特别加以标注和致谢之处外, 论文中不包含其他人已经发表 或撰写过的研究成果, 也不包含为获得 天津大学 或其他教育机构的学位或证 书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均
2、已在论文中 作了明确的说明并表示了谢意。学位论文作者签名:签字日期:年 月 日 学位论文版权使用授权书本学位论文作者完全了解 天津大学 有关保留、使用学位论文的规定。 特授权 天津大学 可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。(保密的学位论文在解密后适用本授权说明学位论文作者签名:导师签名:签字日期:年 月 日 签字日期:年 月 日摘要随着互联网技术的发展, 网络正在不断改变人们的生活方式, 慈善事业也开 始进入网络。 利用互联网和移动互联网技术, 设计与实现慈善智能
3、捐助服务平台 可以让慈善面对更多的公众,让公众成为慈善的主角,让慈善和公众互动起来, 同时也可以让慈善公益组织更好地为捐赠者和求助者服务, 让慈善公益组织的执 行变得透明公开。本文首先对国内慈善行业的开展情况进行了分析, 指出目前国内慈善事业存 在行为不透明、求助和捐赠信息不对称、缺乏有效的资源共享平台等问题,指出 利用互联网和移动互联网技术,通过整合门户网站、微博、微信、手机短信、智 能终端 APP 等, 建立资源统一的慈善智能捐助服务平台具有良好的应用前景。 分 析了慈善事业的功能需求和业务流程, 讨论了详细的分析过程, 接着设计了平台 的技术架构和平台分为那些功能模块和子系统。 分别讨论
4、了用户界面设计、 核心 业务流程设计和数据库设计。 在此基础上, 阐述了主要功能的采用什么技术实现, 并给出实现的效果图。 对系统测试中的测试环境配置、 功能测试和性能测试进行 了分析与讨论。最后对系统的应用情况进行了介绍, 通过该慈善智能捐助服务平台, 可以给 慈善组织、 捐赠者、求助者提供一个高效、便捷的慈善公益平台来开展网络慈善 公益活动。关键词:慈善;智能捐助服务;慈善信息化平台ABSTRACTWith the development of internet technology, the network is changing the way people live, the phi
5、lanthropy 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 wi
6、th 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 philanth
7、ropy 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
8、, 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
9、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 s
10、ystem 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目 录第六章 总结与展望 . . 57参考文献 . . 58致 谢 . . 61第一章 绪论互联网正在
11、重新定义人们的日常生活,购物、 社交、教育等行为正在被互联 网颠覆。 同时,慈善公益行业也在被互联网颠覆, 从公共信息传播的初始网站的 论坛和讨论组, 然后是建立专业的公益网站的公共机构和互联网巨头, 在互联网 平台上建立了一个又一个的类似“ 2008汶川地震捐款”,新浪微博“微博打拐” 等公益项目继续推进微博的舆论氛围, 直到目前妇孺皆知的移动互联网公益。 毫 无疑问,互联网正在改变中国慈善 1。1.1慈善与公益很久以前, “慈善” 不是一个词, 而是分开的两个词, 怀有仁爱之心称之慈, 广行济困之举为之善。后来由于“慈”与“善”字义相近,最终就被合起来形成 “慈善”这个词。中国的慈善意识历
12、史深远,先秦时期的诸子百家对此都曾有过 精辟的描述。老子曾在道德经中讲:“上善若水,水利万物而不争”。孔子 和孟子也都曾说道:“老者安之, 朋友信之, 少者怀之; 则:老吾老以及人之老, 幼吾以及人之幼;出入为友,守望相助,疾病相扶” 2。维基百科给的定义:慈 善是一种善良的意愿社会活动,关系到“施予者”和“受施者”。在社会上,不 问物质回报他,给予有需要的社会群体帮助、支持等。 慈善是促进人类福利进步 的利他关爱,通常透过捐赠款物、资产或活动,由公益社会组织捐赠予有需求的 人,或公益协助其他社会需求 3。公益是公共利益事业的简称。 指有关社会公众的福祉和利益。 这是为人民服 务的一种通俗讲法
13、。五四运动后方才出现,“公益”为后起词,其意是“公共利 益”,“公益”是它的缩写。社会公益组织,一般是指那些非盈利性社会组织、 不以盈利为目的, 且以社会公益慈善事业为主要追求目标的社会组织。 原先的公 益机构主要从事人道主义救援和贫民救济活动,很多公益组织起源于慈善机构。 这种广义的大慈善,就是公益 4,也叫现代公益,概念来源来自于西方国家,就 是现代的慈善事业,是广义的大慈善,而不是狭义的传统慈善。原民政部部长崔乃夫曾说过, “在美国, 直到现在, 这两个字的差异并不大, 在很多时候很多地方都是混用的。慈善与公益,在英文里仅仅是字面的不同。” 慈善和公益也是有一些区别。主要是在资助对象上面
14、,慈善是对穷人的救济、 救 助及援助;而公益是一种大慈善,资助的对象不仅是穷人,还有交响乐团、图书 馆等文化和科学公共事业。无论公益,还是慈善,出发点都是围绕爱、爱心和对别人的帮助。 她们最终的归宿, 也都是促进社会的公平正义或者说是实现第三生 产力再分配。1.2课题背景及意义随着我国经济高速发展, 国际地位不断上升, 慈善公益事业发展也蒸蒸日上, 慈善公益组织数量持续上升, 各项善款捐赠也逐年增多。 慈善公益组织在调节利 益分配,缓解社会矛盾,促进社会公平与和谐等方面扮演着很重要的角色 5。然 而, 近年来一系列慈善公益丑闻揭开了我国慈善公益组织的并不算神秘面纱, 公 众对慈善信息公示的需求
15、也供大于求。 部分慈善公益组织却因为信息透明度低而 丧失了社会公众的信任, 各种善款募捐也因此降至冰点。 这些充分暴露目前我国 慈善公益事业发展中还存在一些突出的矛盾, 一、 慈善公益事业缺乏资源共享平 台, 因此也就不能进行全面的数据统计和量化标准 , 政府对于其指导及慈善政策 的制定缺乏依据与参考;二、求助信息与捐赠信息不对称,从而导致慈善资源分 配不均,甚至于求助者求助无门,捐赠者不知如何捐赠的尴尬境地;三、慈善机 构善款管理不透明,捐赠者所捐赠财物用到何处,何时送达受助人手中, 没有及 时向捐赠人反馈, 再加上社会诚信问题, 造成社会公众主动参与慈善公益活动的 积极性不高 6。所以在此
16、背景下,针对我国慈善事业发展的需要,利用互联网技术、 移动互 联网技术和软件工程方法, 设计与实现慈善智能捐助服务资源共享平台, 致力于 解决慈善公益事业缺乏资源共享、 求助与捐赠信息部对称和慈善行为不透明的问 题就具有重大意义。1.3国内外研究应用现状目前, 国内外慈善事业研究大多局限在传统慈善业务领域, 对于互联网技术、 移动互联网技术如何应用于慈善事业的研究非常少 7-22。不过,随着互联网技术 的日新月异和慈善公益事业的发展蒸蒸日上,越来越多的公众参与慈善公益活 动。不仅是普通的公众,还包括发起“免费午餐”的媒体人邓飞、发起“大爱清 尘”计划的知名记者王克勤等“名人”,还有以环球时报和
17、湖南卫视为代表的传 统媒体也再加大慈善公益的宣传力度, 并将慈善很好的融入媒体平台, 纷纷以慈 善媒体自居。 腾讯、 新浪和百度等网络媒体也纷纷设立慈善基金或专项慈善基金, 组织参与整个公益活动和管理慈善基金的运作。类似电子商务的“ B2C ”营销理 念,慈善机构也在利用互联网实现“善 2C ”慈善营销理念,淘宝网上多家公益 店铺开张、新浪微博平台上的微慈善对接、以及由中国妇女发展基金会发起, 中国邮政开发的 “母亲邮包” 项目的与贫困母亲对接的信息救助平台等等, 都是 “善 2C ”的成功尝试。在激烈的市场竞争和慈善的信任危机的背景下, 慈善事业不断转型升级是一 个慈善机构赖以生存的重要武器
18、, 许多慈善机构试图调整业务, 纷纷推出信息化 平台,开发与管理慈善业务 23。中民慈善捐助信息中心推出全国性慈善信息平 台。目前该平台已初步建成,已经包含了信息发布、查询与共享功能,报送和统 计功能,舆情监测功能,数据库管理功能,以及宣传推广等功能。中国红十字会 也利用互联网技术开发了慈善项目公示与查询、 网络在线求助、 大数据分析筹款 等功能。爱德基金会也不断拓展与淘宝、腾讯和新浪微博的合作,利用第三方的 在线支付功能开发出多种网络捐赠方式, 还借助新浪和腾讯微博等社交媒体, 实 现公益信息的快速传播与基金项目的舆情监测。1.4论文研究内容本文在现有慈善公益信息系统基础上, 分析了慈善事业
19、的实际需求和业务流 程,并结合软件工程的思想,设计和实现了慈善智能捐助服务平台。论文的主要 研究内容如下:首先, 讨论了慈善公益项目背景和当前所面对问题。 针对缺乏资源共享平台、 慈善行为不透明和求助与捐助信息不对称等问题, 提出了利用互联网技术、 移动 互联网技术,整合门户网站、微博、微信、手机短信、智能终端 APP 等,建立资 源统一的慈善智能捐助服务平台。然后, 对慈善智能捐助服务平台进行功能需求分析与非功能性需求分析, 并 采用流程图和用例图的形式进行需求详细说明。接着, 讨论慈善智能捐助服务平台架构设计,充分考虑平台的扩展性、 维护 性以及性能问题,阐述了慈善智能捐助服务平台各部分的
20、组成。再者,在详细设计阐述中,分别讨论了用户界面设计、核心业务流程设计、 数据库设计,以及主要功能模块的实现,给出了功能实现的效果图。最后,介绍慈善智能捐助服务平台系统测试,主要介绍了测试的环境配置、 功能测试和性能测试, 对该平台的应用情况作了简单说明, 提出了展望和改进建 议,并对本论文进行了总结。1.5论文组织结构本文共六章, 按照先提出问题, 再分析问题, 最后解决问题的结构进行阐述, 其组织结构如下:第一章序言, 首先描述了课题的选择背景和意义, 分析目前国内外慈善公益 事业和慈善捐助服务的研究应用现状及目前存在所的问题。第二章慈善智能捐助服务平台需求分析, 主要进行慈善智能捐助服务
21、平台的 进行功能需求分析和非功能需求分析。第三章慈善智能捐助服务平台架构设计, 对系统技术架构设计和功能架构设 计进行了阐述。第四章慈善智能捐助服务平台设计与实现, 首先介绍用户界面设计、 核心业 务流程设计和数据库设计,最后,介绍了主要功能的采用什么技术实现,并给出 实现的效果图。第五章慈善智能捐助服务平台测试与应用,介绍系统测试中的测试环境配 置、功能测试和性能测试,并对系统应用情况做了简要说明。第六章总结及展望, 对本论文进行总结, 对慈善智能捐助服务平台提出了展 望和改进建议。1.6本章小结本章首先介绍了课题选取的背景和意义, 分析研究目前国内外慈善事业存在 的问题及对慈善捐助服务信息
22、化建设应用的现状, 最后, 列举了论文研究内容与 论文组织结构。第二章 慈善智能捐助服务平台需求分析在软件工程中, 需求分析指的是改变一个现存的电脑统或建立一个新的电脑 系统时描写新系统的定义、目的、范围和功能时所要做的所有的工作 24。需求 分析是软件工程中的一个关键过程, 下面结合笔者对某省级公益组织的业务调研 进行需求分析。2.1实现目标分析慈善智能捐助服务平台是面向社会公众的平台,需要实现的目标如下:1. 通过自身营销推广来吸引爱心人士向求助者发出爱心捐赠;2. 支持多种方式处理求助和捐赠申请, 以工作流方式处理捐助双方意愿, 在 义工的配合下达成“公开、透明、直接、即时、全额”的捐助
23、行为;3. 服务与捐赠者和求助者,在求助者和捐助者之间架起一座互动的桥梁;4. 完善内部业务流程,公示和披露捐赠和拨付数据;5. 实现求助者求助快捷,捐赠者捐赠方便,公众热情参与,工作人员服务热 情,突出某省级公益组织公开、透明、诚信的慈善组织印象。2.2功能需求分析功能需求是对软件系统在功能方面应具备能力的要求, 是软件需求分析的主 要组成部分,在软件需求分析过程中起着决定性作用 25。通过对某省级公益组 织捐赠求助流程的调研分析,结合计算机、互联网和移动互联网等技术,本着为 捐赠人、 受助人、 志愿者和某省级公益组织工作人员提供方便快捷的自动化服务 的原则,完善的慈善捐助信息服务平台需具备
24、以下功能:1. 慈善信息整合发布功能。借助门户网站、微博、微信、手机短信、智能终端 APP 等,整合发布慈善活 动、捐助信息动态与政策法规等相关慈善信息。2. 慈善捐助活动管理功能。实现捐助活动的管理信息系统, 管理慈善捐助活动的整个过程, 为捐赠者提 供实时查询所捐赠款物的捐赠与拨付详细情况,为捐赠者和求助者搭建信息桥 梁,实现在线求助与捐赠、自动匹配捐与助的功能, 为政府提供慈善行业的实时 数据,作为决策参考,为捐赠者提供一站式的“慈善管家”服务。3. 慈善公益项目的管理功能。实现慈善公益项目发布与公示管理, 记录项目救助情况, 让公众可以实时查 询和统计项目救助信息,便于公众申请、了解慈
25、善援助项目情况。4. 慈善捐助服务平台增值服务功能。尝试实现如淘宝网上交易类似的慈善物资在线拍卖服务“淘善社区”, 开发自主式慈善服务小额爱心冠名基金, 通过在智能手机平台上运行的慈善 消费公益 App 软件,为公众提供更多样化参与慈善方式,让更多的人了解慈善, 参与慈善。2.3组织机构分析某省级公益组织是一个覆盖河南全省的综合性公益慈善组织, 组织机构如图 2-1所示。组织机构主要包括理事会、常务理事会、监事会、会长办公室、会员代表大 会和秘书处,秘书处负责具体工作,下属各部门职能如下:1. 综合部:负责会员发展、管理,基层慈善组织的联络与服务,义工管理制 度制定。还主要负责文秘、行政管理、
26、人力资源管理、财务管理、对外联络和法 律事务等工作;2. 宣传策划部:负责媒体联络,慈善宣传活动的策划、统筹、传播,慈善信 息的统计、研究、发布,慈善文化和政策的研究与传播,慈善评选表彰活动的组 织, 慈善文化教育基地的命名与管理, 内刊的编印、 发行, 总会的文字综合工作。 3. 捐赠服务部:主要负责捐赠客户资源的开发与维护, 全年筹资计划的统筹 制定, 慈善款物的联合募集, 专业捐赠管理服务的提供, 慈善款物的接收、 分配、 调拨等专业捐赠管理服务的职能。 自主式慈善基金的管理, 爱心企业的命名与管 理。4. 综合项目部:重点实施公益伙伴计划、爱心 1+1农民创业计划。负责社 会优秀慈善项
27、目的筛选、 资助和资助资金的募集; 捐赠者定制和其它机构委托项 目(济困类、儿童类、助老类除外的实施;总会各类慈善项目的监测评估。 5. 紧急救助项目部:重点实施慈善 SOS 紧急救助、为生命续航大病患者 慈善赠药项目、微笑列车;负责社会困境人群的救助,日常求助接待,相关项目 的开展、开发、对外合作与资金筹集并负责总会慈善医院的命名与管理。图 2-1 组织结构6. 儿童项目部:重点实施点亮生命计划贫困儿童大病救助、 事实无人抚养 儿童助养、梦想家园项目、阳光助学等项目。负责儿童类慈善项目的开发、对外 合作与资金募集。7. 助老项目部:重点实施乐龄计划项目。负责助老类项目的开发、开展、对 外合作
28、与资金募集。 2.4参与者分析确定系统参与者就是分析使用该系统主要功能的是哪些人, 谁需要该系统的 支持以完成其工作。 针对前面提到的系统实现目标和组织结构, 慈善智能捐助服 务平台的参与者如下:1. 管理员:管理员又分为财务管理员、项目管理员、捐赠服务管理员、编辑 管理员和理事会管理员,分别管理各自业务。2. 捐赠者:捐赠者可以是个人,也可以是企业,首先需要注册,经过管理员 审核通过后,可以进行在线捐赠、查询所捐赠财物的详细使用情况。3. 求助者:求助者可以是个人,也可以是公益机构,求助者也需要注册,经 过管理员审核通过后,可以进行发布求助信息,接受捐赠。4. 义工:义工需要注册,通过审核后
29、才能正式成为义工, 主要负责求助信息 的现场核实。5. 公众:公众用户不需要注册,可以在线浏览任何被允许的信息, 也可以注 册成为捐赠者或求助者。2.5数据流程分析数据流程分析的结果会用数据流图来进行表示,数据流图简称为 DFD ,它是 数据流程分析最常用的表达方式。 数据流图可以使开发人员较全面的了解到数据 的流动与变换,也可以帮助开发人员更快速的开发出符合用户需求的系统 26。 复杂系统的数据流程图,需要通过分层的方式来实现,首先是顶层数据流图, 这 是从一个整体的系统性的角度进行的数据流分析,如图 2-2 所示。 图 2-2 顶层数据流图由顶层数据流图并不能详细的描述系统的所有数据流向,
30、 因而该图还可以进 行分解细化, 如图 2-3所示, 该图是以捐赠者和求助者之间的数据流图为例来进 行顶层数据流的分解细化。 图 2-3顶层数据流图2.6用例分析用例分析是从用例模型到分析模型的过程, 用例就是系统的功能模块, 是需 求和设计之间的桥梁,是系统分析的起点。用例图用来描述客户的需求,它是主 要用来表示图示化系统的主事件流程, 也就是完成一定功能的动作。 用例分析把 系统的行为分配给分析类, 让分析类交互完成系统的行为。 系统分析人员根据客 户的需求来绘制用例图, 描述软件系统具有哪些功能模块, 以及各个模块之间的 相互依赖关系 26,27。 用例图包含用例和参与者, 用例之间的联
31、系的反映了系统的 整体结构和功能的软件的用户关联,相应的软件是分解的结构和功能。用例是从系统外部可见的行为,是系统为每个 Actor (参与者提供的一套 服务。原则上讲,用例之间相互独立和并列的,不存在包含与隶属关系。但为体 现一些用例之间的业务关系, 采用面向对象的思想, 用例之间也能抽象出 extend (扩展 、 include (包含 和 generalization(泛化 等几种关系 28。慈善智能捐 助服务平台系统整体用例图如图 2-4所示。 图 2-4系统整体用例图系统整体用例图不能把一个复杂系统的参与者和功能都表达清楚,还需要对 较复杂的功能进行分解,下面对分解后的功能用例进行
32、分析。会员管理包括会员增加新会员、删除会员、修改会员信息、审核等功能。会 员管理用例图如图 2-5所示。 图 2-5 会员管理用例图公众可以注册为义工, 也可以注册为求助者或捐赠者, 通过管理员审核后就 成为正式会员。慈善类信息包括慈善新闻、公益资讯、政策法规、财务信息、捐赠信息和拨 付信息等。 管理员有编辑修改的权限,其他参与者只有浏览的权限, 慈善信息管 理用例图如图 2-6所示。图 2-6慈善信息管理用例图管理员可以选择把慈善信息发布到门户网站、 微博、 微信或公益宝智能终端 App 。慈善活动的参与者是管理员、义工、求助者和捐赠者。管理员负责捐助活动 的维护与工作, 义工协助管理员审核
33、求助者的反应情况是否属实, 求助者使用在 线求助发布求助信息, 也可以查询在线捐赠信息。 捐赠者可以查看在线求助信息, 可以在线捐赠。慈善捐助活动用例图如 2-7所示。 图 2-7慈善捐助活动用例图公众要想进行捐助活动必须注册成为求助或捐赠会员。 求助者或捐赠者可以 使用门户网站进行在线捐助,也可以使用公益宝智能终端 App 进行捐助。慈善项目管理中管理员可查询、发布、修改和删除,并可以对不同类型的慈 善项目进行统计。公众登录系统后可进行慈善项目的查询,根据项目介绍, 参与 到项目中或进行慈善捐助活动。慈善项目管理用例图见图 2-8。 图 2-8 慈善项目管理用例图慈善增值服务,是某省级公益组
34、织为了让更多的公众方便、积极、 快捷地参 与慈善捐助活动, 提出的全新的慈善捐助服务理念。 本系统慈善增值服务共分为 公益宝慈善消费、淘善社区、爱心基金三部分。 其中淘善社区又分为淘项目和淘 物质, 爱心基金分为设立爱心基金和维护爱心基金。 公众可登录平台参与公益宝 慈善消费活动, 捐助者可登录平台参与淘项目和淘物质, 捐助者也可设立爱心基 金。慈善增值服务用例图见图 2-9。慈善消费、淘善社区和爱心基金等由专门的管理员进行管理维护。 图 2-9慈善增值服务用例图2.7非功能需求非功能性需求是指依据特定的条件来判断系统运作的情形, 而不是针对系统 特定行为的功能需求。包括安全性、可用性、可靠性
35、、可维护性、可移植性、互 操作性、健壮性、可重用性和可扩充性等 29。可用性是通俗的概念, 指那些能让用户很容易使用系统的指标, 包括易于使 用(易于操作,容易理解,准确性,安全(准入制度,准入限制,兼容(兼 容的服务器,客户端等。可靠性就是保证慈善智能捐助服务平台连续不停机正常工作,具体要求如 下:1. 除了计划的维护之外,系统应该能 24 7 正常工作;2. 计划维护工作每周不能超过一次,一次不能超过 6 小时;3. 系统应具有 99%的时间正常工作的性能。1. 速度要求:在线捐赠善款方面的数据必须实时更新。任何通过慈善智能捐助服务平台进行的操作,其响应时间必须少于 10 秒。 除去图片比
36、较多的页面外,其他页面加载相应时间必须少于 6秒。2. 并发要求:使用高峰期能够满足上万人同时在线的访问和使用。能满足上千人同时注册和在线捐助。3. 容量要求:能够满足动态增长的会员和慈善信息存储要求。每个求助主题一般都有 5张以上的图片源文件。能够满足动态增长的图片、视频等文件存储要求。1. 加密验证需求:保存在 Session 与 Cookie 里面的用户身份验证和密码等信息需要加密。 用户在不经常使用的电脑或手机上访问后台时候,需要进行身份验证。 在线捐款时向网银、支付宝等站点发送请求中的数据需要加密。与第三方合作的数据传输时候需要加密和 IP 地址绑定。其他一些敏感信息或者重要信息的地
37、方需要加密, 例如:数据库中存放的用 户的密码、配置文件中的数据库链接字符串等等。2. 病毒控制需求:所有上传的文件在存入服务器前都要进行查毒。2.8本章小结这一章从慈善智能捐助服务平台要实现的目标开始分析,针对要实现的功 能,借助组织结构分析、参与者分析、数据流程分析和用例分析,详细阐述了平 台具有那些方面的功能需求, 给出了平台的会员管理、 慈善信息管理、 捐助活动、项目管理、增值服务等功能的应用案例。最后,从可用性、可靠性、系统性能, 以及安全性等非功能需求方面进行分析。第三章 慈善智能捐助服务平台架构设计通过前期的用户需求分析, 了解了目标用户对于系统的要求, 接着就是根据 需求文档进
38、行系统的设计工作。 系统的主要核心是系统设计, 主要包括系统的架 构设计、 功能实现模块设计和数据库设计等, 需要从整体上勾画出系统的开发框 架, 为了提高系统设计的效率, 软件工程学原理中规定了软件设计的一系列原则, 在这些原则的指导下可以快速开发出需要的产品。相关原则如下 30:1. 高效性原则高效性原则是针对系统的数据处理速度而言的, 一个优秀的系统必须要具备 高效性原则, 在系统开发过程中, 采用不同的数据处理方法所得到的响应速度都 是不同的。处理效率在不同性质的系统中,称谓也不同, 比如在联机实时处理系 统中,通常被称为响应时间,又比如在批处理系统中,通常被称为处理速度,无 论这些称
39、谓是什么,它们的意义都是一样的,即代表处理效率。 系统设计过程中 要充分考虑到这一原则,在选择相关的硬件或软件过程中要谨慎。2. 高可靠性原则高可靠性原则是针对系统的性能而言的, 一个优秀的系统需要能够确保可靠 性,要具备灵活应对各种突发情况的能力,比如自动纠错功能、抗干扰能力等。 而最能体现系统可靠性的指标是平均无故障时间, 即在平均时间内不发生故障的 时间。3.1系统平台架构设计架构设计是系统建设成败的关键,是系统建设的基础,就如同建一座大厦, 基础没打好,随时可能倒塌。软件系统的架构设计也是如此,架构设计不好,随 着业务越复杂就越危险,最后很可能造成系统推翻从来。系统的体系结构设计的重点
40、是一些非功能属性,诸如性能,可维护性,可扩 展性,可靠性,可测试性等。本系统架构设计是在全面分析系统功能,充分考虑 系统实施情况下设计出来的。 下面就从物理架构和逻辑架构方面分别讨论慈善智 能捐助服务平台的技术架构设计。慈善智能捐助服务平台不仅是面向广大公众的服务平台, 而且还记录着重要 的慈善捐助信息, 比如一些与善款相关的信息。 该平台对系统的稳定性和安全性 有很高的要求, 要有完备的数据存贮和备份策略。 物理架构设计图如图 3-1所示。 12集群服务器 n图 3-1 系统物理架构图Web 服务器是统一的门户入口,用户可以通过浏览器登录,也可以使用移动 端 App 登录。 用户登录后, 系
41、统会根据集群服务器的负载平衡情况自动匹配给相 对空闲的服务器。 在共享服务器上储存用户信息及所有需要共享的数据信息。 集 群服务器分为图片服务器、工作服务器、备份服务器等。这样的系统架构具有高 度灵活, 随着用户数量的不断增加, 可以扩展更多的服务器来满足大用户量的并 发访问请求,保证系统性能。描述软件系统由几部分组成、 讨论各个部分相互之间关系的过程就是逻辑架 构。设计先进的,可扩展的,标准一致的逻辑架构,需要遵循易于使用,易于管 理和安全的原则,采用分层设计,如图 3-2所示。门户网站、微博 /微信、智能 终端 App 是用户接口层; 慈善信息管理系统、 慈善捐助业务系统和其他业务增值 系
42、统属于应用层; Web 应用服务系统,数据库和服务器硬件属于系统层。分层式 设计可以达到低耦合、高内聚、模块复用、定义规范的目的。采用分层设计具有 以下优点:1. 开发人员可以只关注整个结构中的其中某一层;2. 可以很容易的用新的实现来替换原有层次的实现;3. 可以降低层与层之间的依赖;4. 有利于标准化;5. 利于各层逻辑的复用。不同的软件层次只与其相邻的层次发生数据交互, 并且通过接口实现和包装 类了层间耦合。软件层次划分方案使得系统能够满足现代软件工程对于软件的 “高内聚、低耦合”的要求。 图 3-2 系统逻辑架构图本平台选择 IIS 7.5作为 Web 服务器。 IIS 7.5是 Wi
43、ndows 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 服务器
44、上发布上千个高性能的网站。 无论是只有几个用户的系统,还是上万用户的大系统,都可以使用 IIS 7.5发布和管理 互联网上的网页以及 FTP (文件传输协议 站点,还可以使用 IIS 7.5利用 SMTP 与 NNTP 发布和传输邮件与新闻。数据库系统已经从最初的层状和网状型数据库, 发展到最常用的关系型数据 库,再到目前的流行的面向对象型数据库。常用的大型数据库管理系统主要有: 1.OracleOracle 是美国甲骨文公司推出的大型数据库管理软件, 支持 Unix 、 Solaris 、 Windows 等多种操作系统平台, Oracle 是目前市场占有率最高的大型企业级数据 库,具有易于
45、使用、稳定性强、便于扩展和数据安全性强等优点,支持分布式应 用, 并发处理能力强, 支持多种国家语言, 但价格昂贵, 安装和维护费用都很高。 2.DB2DB2是 IBM 公司出品的一套大型数据库管理软件, 主要应用于大型应用系统, 虽然它也支持多种操作系统平台,但是它主要在 Unix 大型机上使用,很少应用 在 Windows 系统中。3.SybaseSybase 是美国的 Sybase 公司研发的一套跨平台的典型的 C/S模式大型关系 型数据库管理软件。 Sybase 对分布式支持很好,提供完美的数据备份同步方案, Sybase 在我国的大中型系统中得到广泛应用,如加油站系统。4.Infor
46、mixInformix 最开始是由 Laura King和 Roger Sippl基于 ISAM 技术开发的一 个小型的关系数据库, 目的是当作报表记录器来使用的。 后来经过数年发展和多 次收购,最终归到 IBM 公司囊中, IBM 把它定位为在 OLTP (线事务处理方面的 样板级关系数据库管理软件。 IBM对 Informix 和 DB2进行了长远的规划,两个 数据库产品互相独立、取长补短、共同发展。5.MySQLMySQL 最初是瑞典的 AB 公司开发的一套开源的小型关系数据库管理软件, 后来被美国的甲骨文公司收购。 MySQL 由于开源免费、速度快、可靠性和适应性 强等特性, 导致很多
47、中小型的网站都使用 MySQL 作为数据库管理软件, 它经常和 PHP 编程语言一起使用, PHP 提供了一套完整的 MySQL 函数,便于在 PHP 语言中 直接操作 MySQL 。6.PostgreSQL美国加州大学伯克利分校计算机系基于研究的需要开发了一套开源的关系 型数据库管理软件,命名为 PostgreSQL ,它是支持操作系统平台最多的数据库, 支持大部分的标准 SQL , 还支持外键、触发器、复杂查询、视图和事务完整性。 目前, PostgreSQL 在性能和稳定性方面的表现不尽人意,还缺少如数据库集群、 数据仓库等大型数据库所必备的功能。7.SQL ServerSQL Serv
48、er是微软公司推出的基于服务器端的中型关系数据库管理软件, 目前已经发布 SQL Server 2008 R2版本。它采用分布式客户机 /服务器模式,与 Windows 系统完美集成,可以使用 Windows 的很多功能,例如管理用户登录、发 送与接受系统消息等。 它具备 Windows 风格的图形化用户操作界面, 让管理和操 作数据库变得简单直观,它支持标准 SQL ,支持分布式应用,支持汉字处理,支 持 Web 技术, 支持把存储在数据库中的数据很容易地到发布网络上。 它还提供了 数据仓库功能,数据仓库是 Oralce 与其他昂贵的大型数据库管理系统软件才提 供的功能。 SQL Serve
49、r 2008 R2在安全性、可靠性和可扩展性方面有了很大改 进,性能方面也有很多的提升。针对上述几个大型数据库管理系统,从操作系统平台、性价比、数据库构造 难易程度、程序开发的难易程度、支持分布式应用、并发性能、事务处理、可移 植性、可扩展性、安全性、数据完整性约束、容错能力、以及支持汉字处理能力 等多方面进行综合对比分析, 再结合建立慈善智能捐助服务平台的实际需要。 本 平台的选择 SQL Server 2008 R2企业版作为数据库管理系统软件来使用。在 Windows 操作系统上开发 Web 服务,最好最完美的应用服务平台当然 是 .NET 框架。 .NET 是微软公司在 Web 服务时
50、代,推出的一套整体开发环境技术 框架 31,32。 . NET 软件开发平台是微软承诺未来十年的服务器和桌面软件快速开 发应用程序启动的项目,具有网络透明性和平台独立性。 .NET 包含很多有利于 互联网 Web 应用和企业内部网应用快速开发的技术。 为了让互联网作为建造新一 代操作系统的基础, .NET 对互联网及操作系统的设计思想进行了延伸。也就是 说, .NET 技术是建立在不同站点之间的协议,鼓励合作站点之间交换信息,自 动实现信息交流, 为了帮助用户最大限度地获取信息, 且对其数据实现简单和有 效的管理 33。采用 XML格式数据作为 Web 服务的数据传输通讯数据格式,这就 避免了
51、由于使用不同系统平台、 不同组件模型、 以及不同编程语言而带来的各个 应用之间通信数据的不兼容, 造成的单个计算网络不能在不同的操作系统、 组件模型或编程语言之间协同运行。 允许开发者使用来自不同数据源的 Web 服务组合 来创建应用程序。本平台选择 Visual Studio 2012进行业务应用层和门户网站开发, VS 视觉 系列开发平台是由微软公司研发的,其强大的功能深受程序开发者的热烈欢迎。 VS 平台用途广泛,即可以开发 Windows 桌面应用程序,也可以生成 Web 应用程 序和 Web Services 服务程序。 为便于开发者作 Web 应用开发, Visual Studio
52、 2012采用了先进的模板和性能卓越的发布工具,对 HTML5和 CSS3等新标准的提供全 面支持。此外,还可以利用 VS 提供的 Page Inspector 功能,在正在编码的页 面与 IDE 中之间进行交互,更轻松地进行跟踪调试。另外, VS 平台的主要开发 语言是 C#,它功能强大,且容易上手,利用 ADO.NET 组件能方便地存取数据库, 还支持面向对象编程。利用 ASP.NET 可以实现 Web 应用程序的简化生成,使一 些原来需要手工编写代码完成的工作, 变成由系统自动完成, 从而减小了软件开 发的工作量,同时也提高了应用的可靠性。另外,由于 ASP. NET程序是在服务 器端运
53、行的, 当客户端浏览器浏览 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
54、, 是基于 JavaScript 的一个子集 37, 它是一种轻量级的数据交换格式。 JSON 不仅采用完全独立于语言的文本格式, 也使用了类似于 C 语言的习惯,包括 C 、 C+、 C#、 Java 、 JavaScript、 Python 和 Perl 等。这些特性就是 JSON 作为理想的数据交换语言的主要原因。3.2功能架构设计系统的功能架构设计, 就是设计系统的逻辑视图, 即将系统按功能进行分层、 分组件, 并描述这些层及组件之间的关系。 根据前面章节的需求分析和技术架构 设计, 慈善智能捐助服务平台的功能架构设计如图 3-3所示。 包含 10个子系统:会员管理系统、慈善信息管理系
55、统、在线求助管理系统、在线捐赠管理系统、慈 善捐赠信息披露系统、慈善拨付信息披露、在线捐赠评价与异议处理系统、 慈善 数据分析系统、慈善项目管理系统和慈善捐助增值服务系统。 图 3-3 系统功能架构图会员管理系统:实现了对会员的增、删、改、查功能,还可以进行会员注册 与审核。慈善信息发布管理系统:实现慈善信息发布、修改、删除功能,也实现了把 慈善信息发布到门户网站、微博、微信和公益宝智能终端 App 的功能。在线捐赠管理系统:实现捐赠者通过门户网站或公益宝智能终端 App 进行慈 善捐赠功能。在线求助管理系统:实现求助者通过门户网站在线求助功能。慈善捐赠信息披露系统:实现捐赠善款和物质通过门户
56、网站公示披露功能。 慈善拨付信息披露:实现善款拨付使用情况通过门户网站公布披露功能。 在线捐赠评价与异议处理系统:实现异常请求处理,投诉、咨询处理,异议 处理,感谢与评价处理。慈善数据分析系统:对慈善项目数据、捐赠和拨付数据、 财务数据等进行统 计分析。慈善项目管理系统:实现项目启动发布、修改、删除等功能,对项目实施捐 助服务,跟踪项目进展情况。慈善捐助增值服务系统:增值服务包含淘物资、淘项目、公益宝慈善消费和 爱心基金管理。 淘物资和淘项目实现了类似淘宝的慈善电子商务功能, 淘物资版 块让闲置的物品可以在这里义卖,能把零散的爱心与购物的乐趣有机结合在一 起; 而淘项目版块能让捐赠者可以参与到
57、各类慈善公益项目的评估讨论中去, 为 自己关心的项目出谋划策。 公益宝慈善消费利用手机 LBS 功能, 查询到附近的爱 心商家及爱心商家推出的慈善消费商品,消费后爱心商家就会捐出部分消费金 额。 小额冠名爱心基金的管理是指单位的以每月 100元为捐赠起点, 个人或家庭 可以每月以 10元为捐赠起点,达到捐赠起点即可设立自己命名的小额冠名爱心 基金。基金设立的同时,用户可自己指定爱心基金的用向,进行“我的慈善我做 主”的自主式慈善。其他系统接口预留:系统交互接口化操作,预金融机构资金交流接口、 捐赠 方式整合接口等系统的数据接口。3.3本章小结一个系统平台的架构一般是非常复杂的,必须采取“分而治之”的方法,本 章从多个视角对系统平台的物理架构、 逻辑架构及功能架构进行了阐述。 详细说 明了系统功能模块的划分及各模块之间的主要功用。 目前, 公益慈善活动中的社 交网络已经崭露头角, 利用好社交网络可以为公益事
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿乙肝感染风险评估
- 新生儿感染抗生素使用策略
- 复合材料机身壁板抗冲击损伤阈值检测报告
- 个人所得税改革对劳动供给影响研究结题报告
- 医院液氮罐液位计校准细则
- (正式版)DB36∕T 971-2017 《淡水鱼类小瓜虫病防治技术规范》
- 新生儿疼痛评估与护理
- 上港乐学考试题目及答案
- 消化道穿孔的护理团队建设
- 消化道出血的护理要点
- 湖南省长沙市湖南师大附中教育集团2023-2024学年七年级下学期期中数学试题
- 口才与演讲实训教程智慧树知到期末考试答案2024年
- 【生物】激素调节课件 2023-2024学年人教版生物七年级下册
- 小班社会《马路上的车辆》课件
- 化工工程基础知识培训课件
- 重大危险源检查记录表
- 苏州市2023年中考:《化学》考试真题与参考答案
- 工业γ射线探伤装置安全使用和辐射防护
- SB/T 10784-2012洗染服务合约技术规范
- GB/T 6003.2-2012试验筛技术要求和检验第2部分:金属穿孔板试验筛
- GB/T 21372-2008硅酸盐水泥熟料
评论
0/150
提交评论