毕业设计(论文)商户服务平台设计与实现.doc
摘要随着POS收单业务的发展和日趋激烈的市场竞争,商户服务平台越来越受到各大收单公司的重视。而结合SaaS服务的商户服务平台与传统的模式相比,不仅提高了用户对于功能选择的自助性,满足现今社会强调个性化的趋势,也大大降低了平台日常运维的工作强度。本文详细论述了我们设计和实现的一个结合SaaS服务模式的商户服务平台。该平台以杉德银卡通信息服务有线公司的实际商户服务需求为基础,结合SaaS服务模式进行功能的设计,以J2EE作为开发平台进行实现。我们首先通过深入调研和梳理公司市场人员和部分商户提供的需求,完成了对该系统的需求分析,再结合SaaS服务模式的概念完成了对业务的设计。该系统按照用户角色可分为系统管理员,集团商户和普通商户三类,文中画出了各类角色在进行各种相关操作时的用例图。然后,我们进行了该系统的总体设计和详细设计。我们把该系统划分为6个模块,即:系统管理、对账管理、分析报表管理、增值服务中心、商户信息管理和通知与公告等。我们对各模块进行了详细设计,画出了这些模块的详细的顺序图。在论文的最后,描述了该系统的编程实现,给出了各模块的界面截图,并给出了部分代码。该系统是以java作为系统的开发语言,以MySQL作为系统的后台数据库,并使用读写分离技术解决高并发和高性能要求。该平台已经投入运营,我司的商户可以便捷的在此平台上完成对账单下载、交易查询等传统业务,还可以灵活的选择购买本平台和POS终端上的各种增值服务。同时也使负责平台日常运维的同事不用每天都陷在复杂的用户权限配置工作中。关键词:云计算,商户服务平台,POS收单,WE目录第1章 引言11.1 概述11.2 国内外研究现状11.3 本平台设计的目的与实际意义31.4 课题研究的主要内容31.5 本文的组织结构4第2章 相关技术52.1云计算及SaaS模式概述52.2 UML概述62.3 J2EE和SSH2框架概述72.4 Mysql数据库及其读写分离技术概述82.5 JQuery页面技术概述9第3章 系统需求分析103.1 系统整体分析103.1.1 业务流程分析103.1.2 功能性需求分析143.1.3 非功能性需求分析163.1.4 系统约束定义163.2 UML用例分析173.2.1 首层用例图173.2.2 商户信息管理的用例图分析183.2.3 数据关联的用例图分析183.2.4 对帐管理的用例图分析193.2.5 增值服务中心的用例图分析193.2.6 系统配置与管理的用例图分析203.2.7 公告与通知的用例图分析213.3 用户角色定义及权限控制需求分析223.3.1 用户角色定义223.3.2 权限控制分析223.4 本章小结23第4章 系统详细设计254.1 结合云计算的系统整体架构254.2 系统外部接口设计274.3 模块划分及功能设计284.4 关键功能模块详细设计324.4.1 登录功能设计324.4.2 系统配置与管理模块344.4.3 对帐管理模块374.4.4 分析报表模块404.4.5 增值服务模块414.5 数据库设计434.5.1数据库关系图444.5.2数据库表详细设计474.6 本章小结60第5章 系统的实现615.1 系统首页的实现615.2 登录功能的实现625.3 增值服务中心模块的实现645.4 系统管理模块的实现685.5 对帐管理模块的实现715.6 通知与公告模块的实现72第6章 结论与展望766.1 结论766.2 进一步工作的方向76致谢78参考文献79个人简历、在读期间发表的学术论文与研究成果80第1章 引言1.1 概述当今社会,POS机的使用已经相当普及,人们日常出门购物也习惯了刷卡消费,随之而来的POS收单行业的竞争也变得越来越激烈。最初的竞争模式是依靠各类监管漏洞压低手续费,以低手续费的方式获得更多的商户青睐。然而随着支付宝钱包等各类线上支付公司的业务延伸以及2014年底国务院明文规定要求尽快实施统一扣率的趋势,手续费优势将无法再为POS收单公司带来强大的竞争力。在这样的背景下各类的POS服务以及收单公司都逐步将目光商户服务的部分。如何提供商户更优质及差异化的服务来增加商户的忠诚度以及提高自身的竞争能力?成为了各家公司的主要研究方向。目前主流的收单公司或POS服务方提供的服务尚停留在单一的渠道,例如客服电话,导致商户可选择的渠道非常有限。这一情况造成了客服电话难以拨通,公司人力成本始终居高不下,同时商户体验不佳,商户投诉不断。同时商户无法直观的了解到申请服务的进度、只能被动接收对账单而无法查询实际的交易明细等情况也令POS服务的满意度无法得到提升。结合互联网技术,将繁琐的线下操作方式在Web端以最便捷的方式提供给商户,这样的服务模式将成为趋势。所以,研究和实现一个专用于商户的服务平台对于POS收单公司来讲就有了很重要的意义。1.2 国内外研究现状1.国内收单业商户服务类系统的现状分析随着互联网金融时代的快速发展,传统的线下收单业务正面临着很大的挑战,不仅仅需要调整自身的经营方式和理念,同时也需要根据管理部门对监管要求的调整而改变自身的战略。而商户服务将会是转型中的重点,针对这一重点对应的系统、平台自然就进入了一个需要革新的时代。由于互联网、移动互联网的高速发展,商户对于服务的要求已经越来越高,原本单纯的单向输出式的网站已经远远无法满足商户的要求(简单的下载对账单、查看公告等),同时面对着越来越多大型的集团商户的管理要求,也促进了服务平台需要有更为全面的功能提供。在之前几年,由于收单公司竞争商户多半是用的是降低手续费扣率或者提供返佣等方式,对商户服务及相应平台的建设并未非常重视,所以当前市场上可以发现更多的收单公司提供的所谓商户服务平台仅仅是提供简单的对账单下载、公告查看等功能。即便是此类的功能也是非常不便,例如对账单下载功能,由于在传统收单业中均以商户号坐位商户的识别标志,但是当一个商户多次申请安装POS机时,有些管理薄弱的收单公司会分配多个商户号,导致同一商户存在多个商户号,而对账单和平台的用户又是根据商户号生成,在这种情况下,商户需要对账就必须登录不同的帐号将所有对账单分别下载到本地,再与自己的交易记录进行核对,非常不便。这样的系统所提供的功能是十分不符合用户需要的。而近几年,由于市场竞争月来月激烈,加之央行明文规定将取消行业间手续费扣率不一致后,各收单公司都更多的将商户服务作为下一个大力发展竞争力的方式,同时积极的建设新的服务平台。目前较大的几家收单公司均发布了新的商户服务平台,例如:银联商务、汇付天下;新平台最大的特点就是较以往的平台提供了更多的服务功能,商户可直接在这些平台上完成对自己所使用的POS机的所有帐务管理、自助服务等功能。同时像银联商务的平台则将集团商户及多商户号管理的模式也在系统中进行了实现,可以使用一个用户名就可绑定所有需要管理的商终信息,大大方便了商户对帐及服务的需求。即使是最新的商户服务平台,对商户们提供的服务也仍是功能统一,系统庞大,毫无个性化可言的。POS收单行业面向的商户群是非常广泛的,大到跨国集团小到个体户,对于这样两种完全不在一个等级上的商户而言他们所需要的服务实际是完全不同的。为了应对这样的业务,现有的商户服务平台要不就是采用分用户功能(即集团商户的功能、个体户的功能各开发一套),然后通过权限进行配置;要不就是功能统一且倾向大商户,按大商户要求开发。第一种方式固然用户体验较佳,但收单公司的维护人力成本投入非常巨大,系统管理员可能需要配置成百上千套不同组合的功能权限,而第二种模式往往使得大量的中小商户怨声载道。再者,现如今是一个强调个性化的世界,人们对于产品的选择不再是单纯的考虑质量、品牌和价格,而希望更多地个性化元素凸现自己,希望自己能够拥有更多地选择。在调研中了解到很多的商户也是确实存在这样或者那样的个性化需求的,所以,相信以后的商户服务平台中商户对于功能的可自主选择性将成为最大的亮点。2.云计算及SaaS在中国的发展云计算是在2008年左右进入中国的,当云计算刚刚在中国开始发展时就如同它在国际上的发展轨迹,首先被关注的实际是IaaS(基础设施即服务),然而,随着苹果推出Iphone手机带动的移动互联网大热后,SaaS这项最贴近用户的云计算服务开始了自己的发展,并在近年持续大热,大有超越IaaS成为更普遍被使用的云服务。在国外的软件公司,最早完成SaaS服务模式的系统转型的主要是大型的ERP系统,因为模块数量的庞大使得整个ERP系统从销售、实施、维护到运营的成本都始终居高不下,所以SAP等公司最早参与尝试将其原本的ERP系统扩展提供了SaaS服务模式的解决方案。除ERP外,目前逐步开始摸索提供SaaS服务的还包括OA系统、电商后台管理系统等各种网络应用。而国内的系统云端化的进程才刚刚起步,只有少量的软件公司提供了SaaS服务。即使如此,在POS行业的商户服务平台上使用云计算的SaaS服务模式进行设计,目前也是尚无先例。但SaaS服务模式所带来的系统的灵活度、系统配置工作的简化、用户的高度自主,都将使他成为以后软件业中的重要服务模式和系统开发的设计方式。1.3 本平台设计的目的与实际意义商户服务平台对于一家收单公司的作用是显而易见的,公司可利用这样的平台大幅降低服务的成本,让用户拥有完美的体验以此大幅提高老用户的忠诚度并吸引和增加新的用户。然后本次的研究除了为公司带来这样的商业价值外,也尝试性的将云计算中的SaaS服务模式结合到这种专向的网络服务应用中,而目前国内类似平台均未采用过这一模式,我们希望通过这次的尝试积累已经的经验,从而逐步将商户服务的各项功能均能以SaaS这样的模式提供服务,从而降低平台的维护成本。本课题主要通过研究POS收单行业需要提供的商户服务的实际情况,根据行业当前相关的业务流程,以优化业务流程、提供用户体验为标准,进行需求分析及系统设计;在满足商户服务平台基本功能的前提下,探寻结合SaaS服务模式的概念对平台的其他服务进行设计与开发。使该平台在满足各类型商户的统一对帐、交易查询等功能的基础上,还拥有自主选择购买个性化服务的功能。同时也从复杂的系统维护工作中将公司员工释放出来,有更多的精力投入到其他个性化服务的研发中。1.4 课题研究的主要内容本课题是基于web应用采用SSH2框架的经典三层结构进行设计与实现的,并由部分功能采用了云计算的SaaS模式的进行设计,以求获得更好的灵活性和扩展性,在设计的过程中,使用UML统一建模语言和面向对象设计思维方式建立业务模型,围绕业务模型对系统进行规划和设计,再以详细设计为基础完成代码开发工作。整个工程运用先进的迭代开发工程理论指导系统的开发过程进行实际操作。主要工作包括:1. 以杉德公司实际业务为基础,对于POS收单行业具体业务和用户需求进行调研,再参考业界其他公司的已有平台。并利用UML建模技术进行分析,完成了该商户服务平台的需求分析,并画出了相关的用例图。2. 阅读站在云端的SaaS一书,对SaaS服务模式的设计方式进行学习和实践,掌握此概念的软件架构方式以及实现方法。对其他相关的开发技术进行学习和分析,掌握了J2EE平台开发技术,掌握了java语言。3. 熟悉MySql数据库的开发技术,并学习了解MySql数据库的读写分离部署方式和同步机制。 4. 对商户服务平台进行了总体结构设计以及功能设计。决定采用MVC三层架构,并把该系统划分为6个模块:系统管理、对帐管理、分析报表、商户信息管理、增值服务中心和通知与公告。5. 对该系统进行了详细设计,包括数据库设计以及各模块的处理逻辑设计,给出其顺序图,并进行了描述。6. 设计出通用的数据访问接口,与公司目前正式上线使用的其他系统进行有效交互,合作完成部分功能。7. 对商户服务平台进行了界面页面设计以及编程实现。首先实现了各模块的功能,然后进行集成,并对该系统进行了调试。1.5 本文的组织结构本文的组织结构如下:第1章是引言,主要论述了课题的背景,意义和目的,以及国内寿诞行业服务平台的现状及趋势和本课题的主要研究内容。第2章是相关技术,主要介绍了系统在设计和开发过程中所涉及到的方法和技术。第3章是该商户服务平台的需求分析,梳理了主要的业务流程,分析了该系统功能性需求、非功能性需求和系统约束。并给出了不同角色在各种情况下的用例图,定义了系统的用户角色和权限控制要求。第4章是该商户服务平台的详细设计,在本章中,先整体定义了系统使用的架构,然后设计了与外部系统的相关接口,并根据需求分析的结果划分了功能模块。运用了顺序图描述了各模块的处理逻辑和过程。本章还描述了该系统的数据库设计,并给出了数据库表和表关系图。第5章是系统的实现,详细介绍了各模块的编程实现,给出了界面截图以及部分代码。第6章总结与展望,主要是对本文所做工作的总结,并规划下一步工作计划。第2章 相关技术2.1云计算及SaaS模式概述云计算在现今中国非常热门,无论是商家广告、网络、电视等等到处充斥着这个名词,那么云计算究竟是什么?云计算是对基于网络的、可配置的共享计算机资源池能够方便的、随需访问的一种模式5。它其实是一种通过Internet以服务的方式提供动态可伸缩的虚拟化的资源的计算模式,是分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机和网络技术发展融合的产物,所以从某种意义上讲,云计算并不算一种全新的技术而只是整合了以往技术的优点。云计算的基本价值在于节省成本,降低运营成本,企业可以专注在自己所熟悉的产业的相关业务,在自己熟悉的业务范围内做到专业和权威,再通过用户增加,平均的运行成本也会进一步降低,形成产业经济规模8。云有很多含义,所以任何人对其都无法给出严密的定义。云最具体的定义,指的是软件即服务(简称SaaS),即可以再现访问的软件应用。云还有一个含义,指的是基础设施即服务(简称IaaS),即向用户出租服务器,按时间计费,亚马逊EC2就提供这样的服务。云的另外一个含义,指的是平台即服务(简称PaaS),即提供工具,让用户建造在宿主云中运行的软件。这些含义在技术圈子里非常通用,已经明确写入美国国家标准技术研究所的标准型文件1。相交于另外两种含义所定义出的服务,SaaS作为最贴近最终用户的云计算,其发展是否顺利将直接决定云计算的发展历程3。它是指各种互联网及应用软件即是服务。有时也被称为“按需提供的软件服务”,是一种通过互联网提供软件及相关数据的模式4。如果说SaaS对用户而言是一种服务,那么其实对于开发设计人员它更是一种设计和开发的模式,以提供云服务为目标设计和开发自己的系统。SaaS模式会有如下几个特点:1.软件在线租赁:所有使用SaaS服务的用户都不需要下载、安装购买的系统,因为实际的购买的并非软件本身,而是软件所提供的服务,所以与其说购买租赁的表述更为贴切。用户付款后可直接使用相关功能,而在不需费的情况下不再被允许使用这项功能。租赁的模式大大降低了企业使用软件的成本,这也是近几年SaaS持续大热的主要原因。也正因如此,多租户技术成为了云计算平台的重要技术,该技术使得大量的租户能够共享同一堆栈的软、硬件资源6。2.个性化功能配置:在以往的软件购买模式中,用户支付费用往往是购买整个系统,或者是软件公司切割后的几种组合,但在SaaS模式中,用户可以根据自己的实际需求自由组合所需要购买的功能。列举本次论文中设计的商户服务平台中的服务,在商户服务平台中提供的例如会员管理、定制报表等,实际商户只在需要的时候采取购买开通那个功能的使用权限,而某一功能不开通也不会影响到用户对其他功能的使用2。3.强调对应用套件的支持:SaaS非常强调应用套件的支持。现今很多企业的信息系统架构往往都不是一个系统或平台,而SaaS则是以应用套件的概念设计解决方案,通过Web平台将各种前台后台的应用服务均集成在一个平台上,用户只需登录一个网站或前台就可以获得所有服务,也就是说,SaaS强调的是一种一站式服务的概念2。4.采用分层结构进行开发:SaaS模式由于其对于灵活性和扩展性的高度要求,非常适合J2EE平台主流框架的分层机制进行开发,因为多用户不同流程的模式,业务模型相同的情况下实际控制是不同的。同时,客户最大的个性化需求来自于视图,不同用户对于视图的内容和格式要求均会不同,这时如果通过分层机制和引入设计模式就能简单的对系统进行更新和维护2。除以上优点外,云计算与大数据的结合将非常有利于数据的再利用,可应用于数据挖掘和知识发现领域。是指从大型数据库中自动提取知识,目标是发现数据中隐藏的、以前未知的、潜在游泳的知识,本质上是在大的数据机和中寻找数据间的规则及普遍模式25。2.2 UML概述随着市场所要求软件的复杂度不断增大,软件开发的方法学一直在进化。进入20世纪90年代,面向对象设计方法学开始受到青睐,而UML也随之兴起16。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其做了进一步的发展,并最终统一为大众所接受的标准建模语言11。UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言12。这一语言经常被用于需求分析和系统设计的环节中。UML采用用例这一关键元素捕获显示世界要做的事,再通过用例场景、领域模型等视图将现实世界的人、事、物、规则这些构成现实世界的元素用UML描述出来。而当业务模型用分析类来描述的时候,我们实际上已经采用了对象视角。被“边界”、“控制”、“实体”以及“包”、“组件”等概念代替。而这些概念是可以被计算机理解的,是抽象化了的对象,完成了从业务模型到概念模型的转换。最后在通过UML的设计类将原本的概念模型转换成设计模型,完成整个面向对象的设计过程13。2.3 J2EE和SSH2框架概述1.J2EEJ2EE是由sun公司开发并推出的一套企业级应用平台规范,全称:Java Platform Enterprise Edition。它集Web服务、组件模型、管理和通信API等为一体,能够帮助我们快速开发和部署可移植、高健壮、可伸缩且安全的服务器端Java应用程序,常被用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web应用程序。典型的Java EE规范定义了四个层次,分别为客户层、Web层、企业组件EJB层、企业资源层17-182.SSH2SSH2技术是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。将各层之间的调用均以接口作为封装,在实例化相应的对象,以此完成各层之间结耦,增加扩展性和维护性。其中表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。再结合现在越来越多的开源js框架,是的整个表现层的样式更丰富,用户体验更佳。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。action层,就是MVC模式里面的“C”(controller),负责控制业务逻辑层与表现层的交互、信息转发和调用业务逻辑层,并将业务数据返回给表现层作组织表现,在SSH2框架中这一层是采用Struts2框架实现的。 Service层(就是业务逻辑层),负责实现业务逻辑。Service层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层(就是数据访问层),负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。该套框架最大的优势就是易于维护以及跨平台,且由于它的松耦合性,非常适合当今对于web应用的快速发布、功能更新频繁和易于维护的要求。(1)Strut2 最早是Apache Jakarta项目的组成部分,其采用了MVC模式,帮助Java开发者利用J2EE开发Web应用19。Struts2框架虽然是一个基于J2EE解决方案的设计实现,它同时又超越了J2EE,最典型的是视图组件不再限定为JSP,而是可以灵活地采用其他形式20。(2)Spring是一个轻型容器(light-weight container),是一个目前非常活跃的开源项目。其核心是Bean工厂,用以构造我们所需要的M(Model)。在此基础上,Spring提供了IoC的容器和AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务21。Spring从来就不会为开发者做决定,而只是尽可能给出多种选择28。(3) Hibernate框架是一种O/R mapping对象关系映射型框架,它有效解决了关系型数据库设计和面向对象设计之间不匹配矛盾,对JDBC实现了轻量级的对象封装,并在关系型数据库和对象之间做了一套自动映射机制,使得软件开发能够用非常简单的方式实现数据库方面的操作,也可以使用面向对象编程的思想操控数据库。总之,它可以在任何使用JDBC的应用场景中使用,并能够取代JavaEE中的CMP实体,完成持久化工作22。Hibernate提供的HQL是面向对象的查询语言,它在对象型数据和关系型数据库之间构建了一条快速、高效、便捷的沟通通道27。2.4 Mysql数据库及其读写分离技术概述MySQL是一个比较常用的小型关系型数据库管理系统,由于其体积小、速度快、总体使用的成本低,尤其是开放源码这一特点,被广泛运用在各类中小型网站中。MySQL架构与其他数据库服务器大不相同,这使它能够适应广泛的应用。MySQL并非尽善尽美,但足够灵活,能适应高要求环境,例如Web应用。同时,MySQL还适用于嵌入式应用、数据仓库、内容索引和分发软件、高可用的冗余系统、联机事务处理系统(OLTP)及很多其他应用类型10。本次设计中选用的MySQL 5.0版本是一款面向企业应用的小型关系数据库管理系统,提供了满足网站系统所需的所有数据库管理方面的功能,包括触发器,存储过程,视图等。MySQL中插件式存储引擎架构一直是其非常有特色的亮点,其灵活的处理方式,高度可定制化及完全开放的实现一直被很多高级用户所肯定9。MySQL数据库主要支持的语言为T-Sql语言(即SQL 程式设计语言的增强版),它提供标准 SQL的DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性。但是对于商户服务平台这样一个性能要求较高的平台,单个MySQL数据库是无法满足性能要求的,所以,在本次设计中还引入的MySQL的读写分离技术,以此提高数据库的并发能力、性能及安全性。MySQL Proxy就是一种用来实现MySQL读写分离的程序,它是一个处于客户端和服务器段之间的简单程序。它相当于一个连接池,将前台应用的连接请求转发到后台的数据库,然后通过lua脚本,实现复杂的控制和过滤,实现将读写请求分离。MySQL Proxy的根本原理就是建立主从两套以上的数据库,通过处理有将处理事务性操作发送到主库处理,让从库处理所有的SELECT查询,再通过主从复制机制将主库中的数据变更同步到集群众的从库。2.5 JQuery页面技术概述从用户角度来说,交互设计师一种如何让产品更易用,更能帮助用户达成目标,且有效而让人愉悦的技术15。所以交互设计对于一个系统来说非常重要,而这往往需要借助页面技术完成。JQuery发布于2006年,因为它易于使用、功能强大、展现优雅、兼容性极佳而迅速赢得了Web开发者的钟爱,不断地吸引着全球开发者社区的技术爱好者、精英和专家们加入其阵营23。JQuery是一个JavaScript代码仓库,开发人员习惯称之为JavaScript框架,它可以帮助用户使用很少的代码,创建出漂亮的页面效果24。JQuery被誉为继prototype后的又一优秀力作,它的js库中拥有很多成熟的插件可供选择,是需要快速开发或对js编写并不非常熟悉的开发人员的绝佳选择。JQuery的核心理念是write less,do more 即编码少,实现多。使用这一js库后开发人员不用再在jsp文件中插入一大堆的js命令或者引入复杂的js文件,只需要定义id即可。这使得用户的jsp页面保持控制代码和内容的分离,使编码变得清晰、可读可维护。JQuery可以用最精简的程序代码轻松实现跨浏览器HTML DOM操作、事件处理、设计页面元素动态效果、Ajax交互等功能。JQuery的基石是JQuery核心库,在JQuery核心库的基础上诞生了很多插件,包括JQuery UI、JQuery Mobile以及其他大量的第三方插件29。第3章 系统需求分析3.1 系统整体分析3.1.1 业务流程分析根据需求调研的结果以及现有其他商户服务平台的功能分析,本系统包含的主要业务流程有:用户帐户开通、交易数据关联申请、增值服务功能开通。然而我们需要让业务模型尽可能地趋近真实的情况,而不是让模型满足这样或那样的标准14。基于这样的原则,我们整理后的业务流程说明如下:1.用户帐户开通用户帐户开通分两种方式,一种针对小商户(往往只有1个店面或几个小店面的商户,默认的用户名为其商户号)的商户号账户,一种针对集团商户(大型的连锁商户,例如:麦当劳、星巴克等)的集团账户。这2类商户的账户开通流程略有差异,具体如下:商户号帐户开通流程:图3.1 商户号账户开通流程图如图,商户号账户的开通流程主要有以下几步:1.商户在线下与我司签署POS收单协议。2.我司员工在内部的进件系统中完成进件流程,并最终通过审核。3.进件系统反馈生成的商户号和初始密码给我司员工。4.我司员工线下告知商户其登录系统的用户名(即商户号)和初始密码。5.商户登录本平台完善个人信息及联系方式。6.商户完成邮箱或短信验证。在这个业务中,本平台主要功能为用户信息维护与邮箱、短信验证。集团账户开通流程:图3.2 集团账户开通流程图如图,集团账户的开通基本流程同商户号账户,差异点在于通过进件审核后会生成一个唯一的集团管理员账户,其余用户需要管理员登录本平台后自行创建。在这个业务中,本平台需要提供的功能除用户信息管理和短信、邮件验证外,还需要提供子用户管理和权限管理功能。2. 交易数据关联申请由于POS收单的底层结构及行业中相关定义的原因,同一个商户在安装多台机器时可能涉及多个商户号,尤其对于集团商户(按照银联规定,商户号为机构码+地域码+商户类别码+4位随机码,这一规定导致了全国性集团商户分散于各地的网点所有POS机的商户号不一致),为了方便用户的对帐及管理,设计了交易数据关联申请的业务流程。具体流程如下:图3.3 交易数据关联申请如图,交易数据关联申请的业务流程主要步骤如下:1.用户查找需要关联的商户号记录并提出申请。2.用户退出系统后用被申请关联的商户号用户登录系统。3.查找之前的关联申请并操作同意(如果发现非自己公司的用户申请关联可以拒绝)。4.同意后使用发起申请的用户登录即可查看关联商户号的交易信息和对帐信息。在这个业务中,对于集团商户的管理员账户必须自行关联集团账户下所有商户号,才能保证集团商户的其他子用户拥有正常的数据权限。3. 增值服务功能开通与关闭增值服务是系统中的特殊功能,需要收费才能开通,采用的是SaaS技术,随买随用,到期不续费则自动关闭权限。其开通流程如下:图3.4 增值服务功能开通如图,增值服务功能开通需要如下几步:1.用户选择需要的服务。2.用户填写相关信息(例如购买月数)。3.用户在线支付款项。4.系统确认款项后判断服务类型。5.如果是商户服务平台的服务,则直接在商户服务平台中将该功能权限赋予该用户。6.如果是其他平台的服务,则通过接口通知相应的平台为用户开通功能权限。对于集团商户的增值产品购买必须由管理员帐户完成,购买时根据不同服务的配置确定购买的用户数量(部分服务是限制用户数量的)。增值服务功能关闭的流程如下:图3.5 增值服务功能关闭如图,增值服务功能的关闭是不由用户发起的,用户停止付费则自动关闭,具体步骤如下:1.系统每天定时判断用户购买的服务是否到期(界线可配置,例如可设定提前5天提醒等)。2.如果已到期,则系统发送信息给用户提醒服务到期提醒。3.用户确定续费则可继续使用,若用户到期仍未续费则根据服务类型在本平台或通过接口通知对应平台关闭该功能。关闭后用户将不能再使用该功能,被分配到该功能权限的子用户也不能再使用该功能,如需再次开通,需要重新购买。3.1.2 功能性需求分析商户服务平台主要用于提供POS收单商户日常所需的对帐、交易查询等基本功能以及自身的简单管理,同时也需要提供扩展类的增值服务,经详细的调研和分析,本平台需要的功能有这些:商户信息管理、对帐管理、系统配置、公告与通知以及增值服务中心。1.商户信息管理主要用于提供商户必要的信息管理,可修改自己的商户基本信息,可对自己的账户相关进行维护,例如:密码修改、手机号绑定和邮箱绑定等。这些功能一般由商户自行完成,每个商户只能维护自己的内容。2.对帐管理对帐管理部分主要分为2大部分的功能,一项是对账单查询和下载,另一项是交易数据的查询和导出。对账单是每天按商户号和规定格式生成的文件形式数据,在管理中查询的也是每个文件,下载文件后可在用户本地查看。交易数据查询和导出可分别按照明细数据和汇总数据。可直接再现查看交易数据,也可导出到用户本地。导出格式均为.xls文件。3.系统配置系统配置功能主要用于对商户服务平台的基础信息进行相关的配置,使得用户可以顺利的使用本平台。这部分包含的功能有:集团商户组织架构管理、数据关联申请和用户权限配置。集团商户组织架构管理用于提供集团管理员进行组织架构的维护和配置。而集团的组织架构主要用于集团数据权限的分配。数据关联申请是提供用户自主申请管理商户号数据权限的功能,由用户自行申请可免去由我司配置造成数据错误承担责任的风险。用户权限配置包含了集团商户的子用户管理、用户权限的分配等功能。主要管理用户的操作权限以及子用户的数据权限。用户只有配置了操作权限和数据权限才能正常使用本平台。4.通知与公告通知与公告是我司日常与商户在线沟通的主要模式,其中通知也提供商户用户之前的沟通。公告显示在首页,是由我司管理员对其进行维护的,管理员发布公告并且可以指定可查看的范围,例如当工商银行上海分行的交易系统需要进行维护时就可以针对账户为工商银行而所在地为上海的商户发起公告,通知交易系统维护,到账延迟。可避免用户在不了解的情况下拨打400电话进行报修,从而降低客服工作量和被投诉的可能性。通知也就是常说的站内信,主要用于小范围沟通,需要支持用户点对点发送站内信,系统批量发送站内信(主要是划款通知),集团商户管理员对子用户批量发送站内信等功能。5. 增值服务中心增值服务中心是商户服务平台最大的亮点,这部分功能是提供云计算概念服务的主要部分。即商户可通过增值服务中心查看我司提供的所有增值服务内容,并根据自己的需要选择和购买增值服务。购买后就能直接使用,无需额外安装或者其他操作。到期不再续费则直接停止使用而不影响其它功能的正常使用。 目前提供的增值服务出商户服务平台上的定制报表外,还提供了POS机端个性化程序,包括DIY小票、个性商户名称、会员优惠活动、会员收集等功能。所以增值服务中心还需要接口与后台的管理系统交互,即使开启和关闭POS机端程序。3.1.3 非功能性需求分析根据本平台的特点及业务相关要求进行分析,本系统的主要非功能性需求集中在通用性、性能及后续的可扩展性,在此逐一进行分析。1.通用性要求由于本平台面向用户群体较大,同时对于本平台的使用存在非强制性,所以不可能要求用户统一浏览器等软件来配合本平台。因此本平台需要拥有较好的通用性,可供绝大部分用户使用。至少支持主流的4款浏览器(IE、火狐、google和opera)以保证大部分用户正常使用。2.系统的性能由于本平台主要服务于我司的POS收单商户,而商户数量超过10万,每天对账单的生成时间为早上10点,故并发操作的可能性非常大,要求平台能够支持可支持并发1000人同时登录,并发100人同时下载对账单。对此,采取了数据库读写分离式架构,保证查询功能正常,同时对账单保存于独立的服务器上,保证下载对账单不熟其他服务器性能影响。3.系统的可扩展性POS收单行业目前正面临着巨大的变革,所以针对商户的服务也会层出不穷的涌现、优化。对此要求平台拥有良好的扩展性,便于优化功能和添加新的服务及功能。因为结合了云计算的SaaS服务模式设计部分的功能,而云服务往往采用SOA进行设计,把功能视为服务,云服务之间是一个松散耦合。云计算本身将软件系统看作是一些有着标准接口的服务集合。针对不同的业务需求,企业可以像搭积木一样将不同服务组合在一起来构造一个新的业务系统7。基于这样的定义,本平台对于松耦合和扩展性要求较高。3.1.4 系统约束定义考虑到本平台对于我司属于整体的信息系统架构中的一部分,故分析后可确认如下的约束:1.交易数据的接入配置由内部系统管理,按项目配置,配置功能不在本平台实现。2.交易数据在本平台中保留查询6个月,6个月之前的交易数据需要操作历史查询完成,并分开存储,1年以上交易数据不予在线查询,以提高查询效率。3.对账单系统保留1年,超过1年的对账单不予查询及下载,需人工线下操作。4.本平台对于交易数据以商终号+日期为单位保留汇总信息,以便生成各类报表。5.本平台交易支付功能直接无缝连接公司外部支付平台,但用户必须注册我公司支付平台帐号。3.2 UML用例分析3.2.1 首层用例图根据业务流程及实际需求的分析,使用UML对商户服务平台进行建模,设计了如下的首层用例图:图3.6 首层用例图3.2.2 商户信息管理的用例图分析商户信息管理是用户用于自行管理商户信息、用户信息以及修改密码的功能部分,所以在该部分功能中仅有的角色为商户用户,主要的功能包括:1. 用户可修改自己的登录密码。2. 用户可查看自己的商户资料。3. 用户可修改自己的商户资料。4. 用户可绑定手机。5. 用户可绑定邮箱。图3.7 商户信息管理用例图3.2.3 数据关联的用例图分析数据关联管理主要是用于交易数据关联申请业务的实现,该部分主要涉及商户用户角色,但由于操作的