架构师 0 期作业 -20200606
1 设计概述
……系统是⼀个……的系统,是公司……战略的核⼼系统,承担着公司……的⽬标任务。
1.1 功能概述
系统主要功能包括对卡数据的管理,对交易数据的管理,并提供统计分析功能。系统使⽤者包括学生、食堂管理员,及卡管系统的管理人员。系统整体用例图如下:
学生可通过系统提交开卡申请及卡挂失操作,并对状态正常的饭卡进行充值;服务员可通过系统收取餐费;系统管理人员可受理卡片的开卡、挂失请求并发放新卡,受理卡充值请求,并查询系统内卡数据、交易数据,及查看统计分析报表。
1.2 ⾮功能约束
2 系统部署图与整体设计
系统上线时预计部署8台物理机,涉及2个⼦系统,和学校学籍管理系统、财务系统交互。
2.1 系统部署图
卡管理系统的功能职责为受理开卡、卡挂失请求,提供卡数据的查询数据接口,部署1台服务器,依赖校学籍管理系统,实现对申请人信息有效性验证的功能。
交易系统的功能职责为受理充值、消费和退款操作,提供交易数据的查询接口,部署4台服务器,依赖校财务系统,实现现金流对接学校财务体系,实现财务统一管理的目的。
统计系统的功能职责为展示卡数据、卡数据变更记录,展示指定时间范围的收入/支出情况分析等统计报表,部署3台服务器,为餐厅经营、物料采购等日常工作提供分析依据。
2.2 卡管理系统时序图
收到开卡申请时,首先查询学籍管理系统验证身份的有效性,验证通后在系统中创建新的卡记录,与学籍系统的主键和磁卡的ID进行关联,最后将首次充值请求发送至交易系统,交易系统返回成功后更新余额至卡管系统的数据中;
收到挂失卡申请时,首先查询学籍管理系统验证身份的有效性,验证通过后更新系统中的卡记录,作废原有磁卡ID,将新的磁卡ID信息关联至目标卡管系统数据;
收到注销卡申请时,首先查询学籍管理系统验证身份的有效性,随后与交易统通讯将卡中余额进行退款,最后作废磁卡ID和卡管理系统中的数据记录。
2.3 交易系统时序图
收到充值请求时,交易系统首先调用财务系统进行入账操作,当财务系统返回入账成功后计算充值操作后的余额,并将包含充值后余额的结果返回卡管理系统;
收到消费请求时,交易系统首先调用卡管理系统获取卡内余额,获取到余额的查询结果后,根据消费金额计算消费后的卡内余额,并向卡管理系统返回最新的余额;
收到退款请求时,交易系统首先调用财务系统对卡内余额进行出纳,当财务系统返回出纳成功后,返回操作成功信息至卡管理系统。
3 卡管理系统设计
卡管理系统的主要功能是维护就餐卡与学生之间的数据关联,就餐卡与磁卡之间的数据关联,并通过调用学籍管理系统进行学生身份验证,调用消费系统进行日常充值、退卡等日常操作。
3.1 卡管理系统组件图
卡管理系统包含5个组件:
饭卡管理组件的功能主要是提供发卡、挂失、注销操作的程序接口,需要依赖饭卡数据处理、磁卡管理、学籍系统接口、交易系统接口等组件完成,是卡管理系统的核⼼组件,学生的发卡、挂失、注销卡请求主
要通过饭卡管理组件完成。
饭卡数据处理组件的主要功能是提供饭卡数据的增加、删除、修改及查询功能,主要目的为封装对数据的操作;
磁卡管理组件的主要功能是处理在用磁卡作废,新磁卡绑定的对实际磁卡数据的操作接口,保证实际在用的磁卡信息与饭卡数据同步;
学籍系统接口组件主要为封装对学籍系统的调用,主要为对学生信息查询请求的封装;
交易系统接口组件主要为封装对交易系统的调用,主要为对入账、出纳请求的封装。
3.1.1 饭卡管理-开卡功能活动图
对于开卡场景,⾸先饭卡管理组件收到⽤户发卡请求,然后调用饭卡数据管理处理组件查询是否已有饭卡,如果已有饭卡则流程结束;如没有饭卡则继续调用学籍系统接口组件查询身份有效性,若身份无效则停止发卡;否则通过磁卡管理组件获取一张未使用的磁卡,之后同时调用饭卡数据处理组件写入新的饭卡数据,并通过交易系统处理组件进行充值;上述操作均成功后向用户发送发卡成功消息,流程结束。
3.1.2 饭卡管理-挂失功能活动图
对于挂失场景,⾸先饭卡管理组件收到⽤户挂失请求,然后调用饭卡数据管理处理组件查询是否已有饭卡,如果还没有饭卡则流程结束;如有饭卡则继续调用学籍系统接口组件查询身份有效性,若身份无效则停止发卡;否则通过磁卡管理组件获取一张未使用的磁卡,之后调用饭卡数据处理组件更新饭卡的磁卡ID为新获取的磁卡。上述操作均成功后向用户发送挂失成功消息,流程结束。
3.2 饭卡管理组件设计
3.2.1 饭卡管理组件类图
饭卡管理组件的主要功能是提供发卡、挂失饭卡、注销饭卡、饭卡充值等操作的处理入口,主要为管理人员的界面提供对应处理能力的入口。主要包含CardManageImpl类,其实现了ICardManage接口,同时组合了饭卡数据处理CardManageDaoImpl、磁卡数据管理ICCardManager、学籍系统接口StudenInfo、交易系统接口OrderManager等类。
3.2.2 饭卡状态图
饭卡对象在运⾏时有3种状态,初始状态为正常,可进行消费;当消费后卡内余额小于0时,正常转换为欠费状态,无法进行消费、挂失、注销等操作;当进行充值操作后,如果饭卡内的余额大于0,则从欠费状态转为正常状态;当进行饭卡挂失或注销时,状态从正常状态转为注销状态,注销状态下无法进行任何操作。
评论