一、引言
(一)背景与意义
随着科技的发展和社会的进步,一卡通系统已经在各个领域得到了广泛的应用。一卡通系统不仅为人们提供了方便快捷的支付方式,还实现了对人员信息、消费记录等信息的智能化管理。因此,设计一款高效、稳定、安全的一卡通管理系统具有重要的现实意义和市场需求。
(二)相关文献综述与领域现状
目前,国内外对于一卡通管理系统的研究主要集中在硬件技术、网络通信、数据安全等方面。在硬件技术方面,工程师们主要关注一卡通芯片的设计与优化,以提高卡片的安全性和可靠性。在网络通信方面,工程师们致力于开发高效、稳定的通信协议,以满足一卡通系统的实时性要求。在数据安全方面,研究者们关注的是如何保护用户数据的安全性和隐私性,防止数据泄露和非法操作。
(三)研究内容与方法
本研究将采用软件工程设计的方法,对一卡通管理系统进行全面的分析和设计。具体研究内容包括:需求分析、概要设计、详细设计、测试和维护等阶段。在每个阶段中,将采用适当的方法和技术,如面向对象的分析与设计、数据库设计等,以确保系统的质量和性能。
二、系统需求分析
(一)系统可行性分析
1.经济可行性
成本预估:设备采购10台(1000元*10台)+系统开发维护费用(5000元/年)+人员培训费用(3000元/年)=10000元+8000元/年
效益预估:节约的记账人员费用(5000元*2人*12月)=120000元/年
从长远来看,校园卡一卡通管理系统可以带来更多的经济效益和社会效益。通过一卡通管理系统的自助式管理(自助消费,校园卡服务,一卡通信息查询等),对人工记账和人工管理的需求大大降低,因此人力成本和管理成本大大降低。因此,从经济角度来看,该系统具有经济可行性。
2.技术可行性
硬件技术方面,现有的RFID技术、NFC技术等都能够支持校园卡的制作和读写。同时,随着芯片技术的发展,安全性和可靠性得到了大幅提升。同时,软件技术层面,一卡通系统可采用云计算、大数据等技术进行架构设计,实现高并发、高可用性。并且目前校园网的建设已经相当成熟,可以满足一卡通系统的网络需求。因此,校园卡一卡通管理系统具有较好的技术可行性。
3.操作可行性
不涉及法律、侵权等情况,操作受限少,可行性强;一卡通管理系统的用户界面设计简单,用户可通过直观的图标和文字提示完成操作,且系统的操作流程设计符合逻辑,也贴合用户日常使用的习惯。一卡通小巧便携;且可在移动设备上使用NFC代替实体卡,只需要将卡或移动设备放置于感应器上即可,操作简单方便。因此,校园卡一卡通管理系统具有较好的操作可行性。
4.管理可行性
一卡通管理系统的自助式管理(自助消费,校园卡服务,一卡通信息查询等)使得学生个人信息和学生消费信息更安全可靠的保存在一卡通管理系统中,减少了学校的管理工作的同时提高了学校的管理水平。因此,校园卡一卡通管理系统具有较好的管理可行性。
(二)系统设计目标
1.系统目标:
方便学生在学校生活,有效提高学校管理的工作效率。使用一卡通管理系统能够实现学生身份认证、登入、增删改查个人信息、开卡、补卡、挂失、解挂、消费、充值等诸多功能;便于学生在校内生活,也便于管理人员查账和保护学校安全,降低人力成本,提高学校管理的工作效率。
2.学生在校有以下需求:
①一卡通信息事务:系统能实现学生信息认证(录入),查看,修改等业务操作。
②校园卡事务:系统对已录入学生信息的学生能实现根据其个人信息开卡,补卡,挂失,解挂等功能,还可进行卡状态的查询。
③充值消费事务:系统对已录入学生信息的学生能完成根据其个人信息充值,消费,扣费等业务操作。
(三)系统功能分析
1.学生一卡通信息事务
①认证事务:
新生将个人账号和密码输入系统即可登入系统,由于新生是第一次使用本系统,尚未更改密码,因此系统设定初始密码为该学生身份证后6位,通过此设定保证学生隐私安全。登入系统后,新生需要认证(F16认证申请)以向学校传达确定入读学校的信息;完成学生认证后,新生需要更改自己的密码和一卡通信息,此时系统自动进入修改学生信息界面,要求新生完善个人信息,完成修改信息事务,完成后,认证事务结束。
②查看信息事务:
学生将个人账号、密码输入系统后,系统通过检验账号、密码,对学生进行用户检验,密码正确即可登入系统;登入系统后,系统根据学生要求(F17 查看申请)在学生信息表内查找目前学生信息,找到后将学生完整信息输出在系统界面,查询信息事务结束。
③修改信息事务:
学生将个人账号、密码输入系统后,系统通过检验账号、密码对学生进行用户检验,密码正确即可登入系统;登入系统后,系统根据学生要求(F18修改申请)首先在学生信息表内查找目前学生信息,找到后将学生完整信息输出在系统界面;学生根据目前学生完整信息对个人信息进行修改,初步确认更改后信息的正确性后提交,系统会对学生提交的信息进行格式审核;审核无误后,系统更新学生信息表内的学生一卡通信息,并将更新后的学生一卡通信息输出在系统界面,修改信息事务结束。
2.学生卡事务
①办卡事务
新生将个人账号、密码输入系统后,系统通过检验账号、密码对新生进行用户检验,密码正确即可登入系统;新生向系统提出(F 26办卡申请),系统确认该名学生为新生后(首次办理校园卡)在学生信息表内查询该学生的校园卡信息,将其校园卡信息导入校园卡中,并更新学生校园卡状态(有效状态),完成后将校园卡办理结果输出在系统界面,办卡事务结束。
②挂失事务
学生将个人账号、密码输入系统后,系统通过检验账号、密码对学生进行用户检验,密码正确即可登入系统;学生向系统提出(F 23挂失申请),学生确认挂失后,系统将更新校园卡状态(无效状态),并将校园卡挂失结果输出在系统界面,挂失事务结束。
③解挂事务
学生将个人账号、密码输入系统后,系统通过检验账号、密码对学生进行用户检验,密码正确即可登入系统;学生向系统提出(F 24解挂申请),学生确认解挂后,系统将更新校园卡状态(有效状态),并将校园卡解挂结果输出在系统界面,解挂事务结束。
④补卡事务
学生将个人账号、密码输入系统后,系统通过检验账号、密码对学生进行用户检验,密码正确即可登入系统;学生向系统提出(F 25补卡申请),系统会首先查看该学生是否挂失:如果在三天前已经完成挂失,则系统进入下一个补卡条件审核;如果还未挂失或者挂失时间不足三天,则需要等待。完成上个步骤后,学生填写补卡申请表,系统将学生的补卡申请表上交给该学生所在的院系,院系职员对学生的补卡申请进行批准判断,并将结果反馈给系统:如若院系批准补卡,则此时进入办卡事务,完成办卡事务后,补卡事务结束;如若不批准,本次补卡事务强制结束。
3.充值消费事务
①充值事务
学生将个人账号、密码输入系统后,系统通过检验账号、密码对学生进行用户检验,密码正确即可登入系统;学生向系统提出(F 30充值申请)进入充值界面,确认充值金额后,系统后台等待入账,收到转账后,更新学生校园卡余额,将充值账单导入校园卡信息表中,并将充值结果输出,本次充值事务结束。
②消费事务
学生使用校园卡(拥有校园卡默认已进入一卡通管理系统,无需输入登入账号和密码)进行消费,确认消费金额后在POS机输入支付密码,系统判断支付密码无误后,到校园卡信息表中查询账户余额是否充足,充足则再次检查交易过程,确认无误后更新学生校园卡余额,将消费账单导入校园卡信息表中,并将消费结果输出,本次消费事务结束。
(四)用例图
对此,系统的用例图设计如下:
图 1 用例图
三、系统设计
(一)功能总览
图 1.1 系统功能结构图
(二)系统流程图
图 2.1 认证、修改信息流程图
图 2.2 查看信息流程图
图 2.3 办卡、补卡流程图
图 2.4 挂失、解挂流程图
图 2.5 充值流程图
图 2.6 消费流程图
(三)顺序图
图 3.1 查询信息时序图
图 3.2 修改信息时序图
图 3.3 办卡时序图
图 3.4 补卡时序图
图 3.5 挂失、解挂时序图
图 3.6 充值时序图
图 3.7 消费时序图
(四)数据流程图
图 4.1 环境图
图 4.2 一层数据流图
图 4.3 (一卡通信息事务)二层数据流图
图 4.4 (校园卡事务)二层数据流图
图 4.5 (充值消费事务)二层数据流图
(五)状态图
图 5.1 认证、查看、修改信息状态图
图 5.2 卡服务状态图
图 5.3 卡状态图
图 5.4 充值消费状态图
(六)类图及数据库分析
图 6.1 一卡通管理系统类图
表 1 学生信息表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 学号 | int | 是 | 11 |
2 | 身份证号 | int | 18 | |
3 | 姓名 | char | 20 | |
4 | 性别 | char | 4 | |
5 | 年龄 | int | 3 | |
6 | 出生年月 | Date | ||
7 | 籍贯 | char | 128 | |
8 | 家庭住址 | char | 128 | |
9 | 手机号 | long | 11 | |
10 | 学院 | char | 128 | |
11 | 专业 | char | 128 | |
12 | 入学年份 | Date |
表 2 校园卡信息表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 学号 | long | 是 | 11 |
2 | 姓名 | char | 20 | |
3 | 照片 | char | 128 | |
4 | 有效日期 | Date | ||
5 | 状态 | char | 4 | |
6 | 密码 | char | 128 | |
7 | 余额 | double | 15 |
表 3 院系表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 学院 | char | 128 | |
2 | 职工号 | long | 11 |
表 4 学校表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 名称 | char | 128 |
表 5 账单表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 学号 | long | 11 | |
2 | 姓名 | char | 20 | |
3 | 消费记录 | char | 128 | |
4 | 充值记录 | char | 128 | |
5 | 交易时间 | Date |
表 6 交易流水表
序号 | 数据项 | 数据类型 | 主键 | 长度 |
1 | 交易商名称 | char | 128 | |
2 | 交易商编号 | long | 128 | |
3 | 交易数额 | Double | 128 | |
4 | 交易时间 | Date |
四、测试
用例编号 | 用例名称 | 预期结果 | 运行结果 | 结果分析 |
1 | 新生正常登入 | 登入成功,系统判定用户为新生,要求进行认证并要求更改密码以及学生个人信息 | 登入成功,系统判定用户为新生,要求进行认证并要求更改密码以及学生个人信息 | 运行成功 |
2 | 学生正常登入 | 登入成功并根据学生请求跳转界面 | 登入成功并根据学生请求跳转界面 | 运行成功 |
3 | 学生输入不正确的账号和密码 | 不予登入系统,要求学生重新输入 | 不予登入系统,要求学生重新输入 | 运行成功 |
4 | 登入后,学生申请查看个人信息 | 系统跳转界面,显示学生一卡通信息 | 系统跳转界面,显示学生一卡通信息 | 运行成功 |
5 | 登入后,学生申请修改信息 | 系统跳转界面,显示学生一卡通信息,并允许学生修改信息 | 系统跳转界面,显示学生一卡通信息,并允许学生修改信息 | 运行成功 |
6 | 学生修改信息时提交了符合规定的信息 | 系统检查完更改后的信息,跳转界面,显示更新后的学生一卡通信息 | 系统检查完更改后的信息,跳转界面,显示更新后的学生一卡通信息 | 运行成功 |
7 | 学生修改信息时提交了不符合规定的信息 | 系统检查完更改后的信息,跳转界面,返回原先界面,显示学生一卡通信息,并要求学生修改信息 | 系统检查完更改后的信息,跳转界面,返回原先界面,显示学生一卡通信息,并要求学生修改信息 | 运行成功 |
8 | 登入后,新生(第一次办卡)申请办卡 | 系统检查学生身份为新生,查询新生个人信息,办理校园卡,并将卡状态改为有效,最终显示办卡结果界面 | 系统检查学生身份为新生,查询新生个人信息,办理校园卡,并将卡状态改为有效,最终显示办卡结果界面 | 运行成功 |
9 | 登入后,学生(非第一次办卡)申请办卡 | 系统检查学生身份不为第一次办卡学生,不允许学生办卡 | 系统检查学生身份不为第一次办卡学生,不允许学生办卡 | 运行成功 |
10 | 登入后,学生要求挂失本人校园卡 | 系统将校园卡状态改为无效并跳转界面,显示学生校园卡挂失结果 | 系统将校园卡状态改为无效并跳转界面,显示学生校园卡挂失结果 | 运行成功 |
11 | 登入后,学生要求解挂本人校园卡 | 系统将校园卡状态改为有效并跳转界面,显示学生校园卡解挂结果 | 系统将校园卡状态改为有效并跳转界面,显示学生校园卡解挂结果 | 运行成功 |
12 | 登入后,学生提出补卡申请,但并未提前完成挂失申请 | 系统不予办理,等待学生完成补卡申请 | 系统不予办理,等待学生完成补卡申请 | 运行成功 |
13 | 登入后,学生提出补卡申请并提前完成挂失申请,但挂失时长未达3天 | 系统不予办理,等待挂失时长达到3天 | 系统不予办理,等待挂失时长达到3天 | 运行成功 |
14 | 登入后,学生挂失校园卡达到3天,并提出补卡申请 | 系统跳转界面,要求学生填写补卡申请表 | 系统跳转界面,要求学生填写补卡申请表 | 运行成功 |
15 | 登入后,学生挂失校园卡达到3天,提出补卡申请并填写完补卡申请表 | 系统跳转界面,要求学生等待补卡批准结果,将补卡申请递交给学生所在的院系,要求院系职员审批 | 系统跳转界面,将补卡申请递交给学生所在的院系,要求院系职员审批 | 运行成功 |
16 | 登入后,学生挂失校园卡达到3天,提出补卡申请并填写完补卡申请表,学院不批准学生的补卡申请 | 系统跳转界面,显示本次补卡申请未被批准,本次补卡服务强制结束 | 系统跳转界面,显示本次补卡申请未被批准,本次补卡服务强制结束 | 运行成功 |
17 | 登入后,学生挂失校园卡达到3天,提出补卡申请并填写完补卡申请表,学院批准学生的补卡申请 | 系统跳转界面,查询学生个人信息,办理校园卡,并将卡状态改为有效,最终显示不卡结果界面 | 系统跳转界面,查询学生个人信息,办理校园卡,并将卡状态改为有效,最终显示不卡结果界面 | 运行成功 |
18 | 登入后,学生申请校园卡充值 | 系统跳转至学生填写交易金额界面并显示目前卡内余额 | 系统跳转至学生填写交易金额页面 | 运行成功 |
19 | 登入后,学生申请校园卡充值并填写完充值金额,但并未给系统转账 | 系统等待学生转账,超过挂机时长仍未收到转账,返回填写交易金额界面 | 系统等待学生转账,超过挂机时长仍未收到转账,返回填写交易金额界面 | 运行成功 |
20 | 登入后,学生申请校园卡充值并填写完充值金额,并完成给系统转账 | 系统更新学生校园卡余额表,并将充值记录纳入账单,跳转界面显示目前余额 | 系统更新学生校园卡余额表,并将充值记录纳入账单,跳转界面显示目前余额 | 运行成功 |
21 | 学生拿已失效校园卡进行消费 | 系统不予消费处理并提示卡失效 | 系统不予消费处理并提示卡失效 | 运行成功 |
22 | 学生拿有效校园卡进行消费 | 系统跳转界面,显示目前消费细则 | 系统跳转界面,显示目前消费细则 | 运行成功 |
23 | 学生拿有效校园卡进行消费,并确认消费 | 系统跳转界面,进入用户输入密码界面 | 系统跳转界面,进入用户输入密码界面 | 运行成功 |
24 | 学生拿有效校园卡消费,但输入了错误的支付密码 | 系统跳转界面,显示密码错误,要求用户重新输入密码 | 系统跳转界面,显示密码错误,要求用户重新输入密码 | 运行成功 |
25 | 学生拿有效校园卡消费,并输入了正确的支付密码,但此时账户余额不足 | 系统跳转界面,要求用户等待,查验余额不足,再次跳转界面,显示余额不足 | 系统跳转界面,要求用户等待,查验余额不足,再次跳转界面,显示余额不足 | 运行成功 |
26 | 学生拿有效校园卡消费,并输入了正确的支付密码,且此时账户余额充足 | 系统跳转界面,要求用户等待,查验余额充足,更新账户余额,将消费记录纳入账单,再次跳转界面,显示消费结果 | 系统跳转界面,要求用户等待,查验余额充足,更新账户余额,将消费记录纳入账单,再次跳转界面,显示消费结果 | 运行成功 |
五、个人总结
本次《软件工程》说明书中,我设计的是一卡通管理系统。该系统实现的功能是:学生信息服务(学生认证、学生信息查询、学生信息修改),校园卡服务(办卡,补卡,挂失,解挂),充值消费服务(学生充值,学生消费)。
在本项目中,我的设计流程如下:
- 系统设计背景了解:我了解了目前一卡通管理系统的设计实施情况,便于完善我的一卡通信息管理系统的功能和细节设计。
- 系统可行性分析:根据一卡通管理系统实施的经济可行性,技术可行性,操作可行性,管理可行性分析,判断出本系统设计的可行性和必要性。
- 系统设计目标分析:为了最终实现的系统能满足目前需求,在系统正式设计之前,我先进行了系统设计目标的分析,即使用一卡通管理系统能够实现学生身份认证、登入、增删改查个人信息、开卡、补卡、挂失、解挂、消费、充值等诸多功能;便于学生在校内生活,也便于管理人员查账和保护学校安全,降低人力成本,提高学校管理的工作效率。
- 系统功能分析:在完成系统设计目标分析后,我进一步对系统的细节功能进行设计,完成了系统功能分析,即学生信息服务(学生认证、学生信息查询、学生信息修改),校园卡服务(办卡,补卡,挂失,解挂),充值消费服务(学生充值,学生消费)。
- 绘制软件设计图(用例图、功能总览图、系统流程图、顺序图、数据流程图、状态图、类图):完成系统功能分析后,我设计了一卡通管理系统的用例图、功能总览图、系统流程图、顺序图、数据流程图、状态图、类图,便于使用者更了解本系统的运行步骤。
- 数据库设计:数据库的图表主要与软件设计图中的类图内容类似,我将类图内的图表的数据名称,数据类型,主键与否,数据格式等写入数据库设计。
- 测试:对于一卡通信息管理系统运行时可能出现的情况做出假设,并运行,将运行结果和假设结果进行比对。
完成以上任务后,我认为本次《软件工程》说明书的设计教会我如何系统地设计一个软件,一个软件的设计需要有哪些步骤,同时我对绘制各种软件设计图也有了更清晰的了解,对powerdesigner软件的使用也更加得心应手。我也将我本课程所学用到我未来的学习工作中,非常期待未来工作的软件设计。