1、软件工程实验报告饭卡管理系统开发文档组长:)指导老师: 2016年01月10日饭卡管理系统开发文档1前言41 可行性研究41.1 系统概述41.2 初步的系统分析设计41.3 技术可行性分析71.4 经济/效益可行性分析71.4.1支出方面71.4.2收益方面81.5 系统开发计划82 需求分析82.1 总体目标82.2 具体目标92.3 系统数据建模92.4 系统功能建模92.5 数据字典123 总体设计153.1系统结构图153.2 数据库设计173.2.1逻辑设计要点183.2.2物理结构设计要点193.2.3触发器设计203.3 系统模块IPO图213.3.1验证用户登录功能模块213
2、.3.2 用户注册功能管理模块223.3.3 查询用户详细信息功能模块233.3.4 用户挂失功能模块243.3.5 用户消费功能模块253.3.6 用户查询消费历史功能模块273.3.7 新建持卡者功能模块283.3.8 存款功能模块293.3.9 注销用户功能模块303.3.10 更改学生信息功能模块313.3.11 挂失,解锁功能模块323.3.12 查询更改消费历史功能模块333.3.13 数据库功能模块344 详细设计354.1 登录模块详细设计354.2 学生信息模块详细设计364.3 消费模块详细设计385 系统实现405.1 编码过程与特点405.2 部分功能模块实现405.2
3、.1 对消费模块进行实现与测试405.2.2 对登陆模块进行实现与测试435.2.3 对查询模块的实现与测试465.3 测试495.3.1 本系统的测试计划495.3.2 测试方法和步骤505.3.3 测试过程506 维护606.1 系统维护工作内容606.2 系统维护策略617总结与体会617.1 总结617.2 体会613前言本文档根据软件工程的基本原理、开发方法以及开发过程进行了多次的讨论与实践,主要包括可行性研究、需求分析、总体设计、详细设计、编码、测试等章节,每一章节都图文并茂地阐述具体的设计过程。1 可行性研究1.1 系统概述随着高校扩招,大学生人数的逐年递增。关于学生生活切身利益
4、的日常消费亟需解决,全国高校校园卡的升级,也是提高学生日常生活质量的一种方式。校园卡将安全、消费、学习集为一身,需要新的校园卡管理系统给予管理部门的技术支持。如校园卡管理系统采取银行卡的金融功能与校园卡的校务管理功能整合的方式,使师生操作更方便。校园卡系统的建设,为学校实现财务统一管理提供科学的、现代化的手段,将提高学校的管理水平,极大提高效率。1.2 初步的系统分析设计根据校园卡管理所涉及的领域,将校园卡的业务分为学生与商户信息管理、消费记录收益记录管理、饭卡信息管理三大类,形成初步的业务流程图如下1.2.1、1.2.2、1.2.3图所示。图1.2.1 学生消费业务流图图1.2.2 学生信息
5、查询业务流图图1.2.3 商户信息查询业务流图根据以上业务流图可以画出数据流图,如图1.2.4、1.2.5。图1.2.4 顶层数据流图图1.2.5 0层数据流图根据初步的分析,我们需要管理员表,学生表,和饭卡信息表等。初步的数据字典如下:名称:管理员描述:对饭卡管理系统管理的人员定义:管理员=工号+密码+姓名+性别+联系方式 工号=字符/20位 密码=字符/20位 姓名=字符/20位 性别=【男/女】联系方式=字符/11位位置:管理员表名称:学生描述:在校的学生定义:学生=学号+姓名+性别+联系方式+宿舍 学号=字符/12位 姓名=字符/10位 性别=【男/女】 联系方式=字符/11位宿舍=字
6、符/8位位置:学生表名称:饭卡描述:饭卡管理系统被操作的对象定义:饭卡=卡ID+余额+卡状态+消费限额+卡密码+学号 卡ID=字符/8位余额=浮点型(=0) 卡状态=字符/4位 卡上额=浮点型(=0) 卡密码=字符/6位 学号=字符/12位位置:饭卡信息表1.3 技术可行性分析对于高校人数数据量大约是万级左右,数据量并不大,对数据库的性能要求技术完全可行。对于每个学生消费并发性不高,消费补助数据库修改可以对接银行接口。同时,为了高质量完成本软件系统开发工作,还需要遵循如下准则:(1) 好战略数据的规划,建立稳定的信息模型;(2) 在功能模型的划分上,按组织机构来划分子系统或模块;(3) 应用软
7、件的开发设计,要充分考虑应用软件的适应性,建立友好的人机界面。综上所述,系统的实现技术上完全可行。1.4 经济/效益可行性分析1.4.1支出方面借助校园本身的数据进行管理,数据库本地存储。除编程人力支出并无其他经济消费。(1)工作负荷人工操作频繁加减存款。工作繁琐,枯燥,容易出错,完成工作所需要的时间较长,工作效率比较低。(2)费用开支由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额。(3)人员配备由于现有系统的技术性含量比较低,操作不便,工作量大,因此需要较多的人才能完成工作。而新系统将具有较高的技术操作性,但它确使工作变得较为简便,因此只需要少量的
8、高素质人才就可完成。1.4.2收益方面项目投入使用后,将有效的提高高校校园卡管理工作中所涉及的信息管理,学生管理,商铺管理的效率,减少信息管理上的人力投入和出现错误的概率,对于校园卡的管理使用极为有利。1.5 系统开发计划本项目初步计划在3周内完成需求分析、原型设计工作,随后在3天内完成代码编写和初步调试工作,再后在2周内完成内部测试、改进、修补和公开测试工作。2 需求分析2.1 总体目标本系统力求让饭卡管理变得傻瓜化,集成学生管理以及在学校运营商户营业状况地智能化管理。2.2 具体目标1) 前端:刷卡消费、确认身份(门禁)2)公共:查询使用记录、挂失、拾遗查询3)管理:新开、充值、挂失、解挂
9、、注销、补办、消费保护、设置密码2.3 系统数据建模初步的E-R图设计,如图2.3图2.3 初步E-R图2.4 系统功能建模如图2.4.1为顶层数据流图,分为四个实体,分别为学生,管理员,刷卡机、刷卡员图2.4.1顶层数据流图0层数据流图如图2.4.2将学生与商户信息管理、饭卡信息管理、消费记录等数据流进行第一步细化图2.4.2 0层数据流图如图2.4.3-2.4.5位1层数据流图,分别细化的是学生信息管理,饭卡信息管理,商户营业信息管理。如图2-4-3 新增饭卡/入驻商户的数据流处理过程,学生基本表提供基本数据流后,数据经过处理流入饭卡基本表 2.4.3 学生信息管理数据流图如图2.4.4
10、位饭卡消费/挂失过程: 2.4.4 饭卡信息管理如图2.4.5 为消费收益数据处理过程:2.4.5 商户信息管理数据流图2.5 数据字典名称:管理员描述:对饭卡管理系统管理的人员定义:管理员=工号+密码+姓名+性别+联系方式 工号=字符/20位 密码=字符/20位 姓名=字符/20位 性别=【男/女】联系方式=字符/11位位置:管理员表名称:学生描述:在校的学生定义:学生=学号+姓名+性别+联系方式+宿舍 学号=字符/12位 姓名=字符/10位 性别=【男/女】 联系方式=字符/11位宿舍=字符/8位位置:学生表名称:刷卡员描述:对饭卡进行刷卡操作的人员定义:刷卡员=工号+姓名 工号=字符/8
11、位 姓名=字符/20位位置:刷卡员表名称:饭卡描述:饭卡管理系统被操作的对象定义:饭卡=卡ID+余额+卡状态+消费限额+卡密码+学号 卡ID=字符/8位余额=浮点型(=0) 卡状态=字符/4位 卡上额=浮点型(=0) 卡密码=字符/6位 学号=字符/12位位置:饭卡信息表名称:刷卡机描述:消费付款定义:刷卡机=机号+位置+ 刷卡员工号机号=字符/4位 位置=字符/50位 刷卡员工号=字符/8位位置:刷卡机信息表名称:消费信息表描述:饭卡管理系统中记录消费的信息定义:饭卡=卡ID+刷卡机号+消费时间+消费金额 卡ID=字符/8位 刷卡机号=字符/4位 消费时间=字符/14位 消费金额=浮点型(=
12、0)位置:消费信息表名称:饭卡管理描述:管理员对饭卡进行管理定义:饭卡管理=管理员工号+卡ID+操作时间+管理类别+管理内容+充值金额 管理员工号=字符/20位卡ID=字符/8位操作时间=字符/14位管理类别=字符/8位管理内容=字符/50位 充值金额=浮点型/ (=0)位置:饭卡管理信息表名称:消费额描述:描述消费款额定义:消费额=浮点型(=0)位置:消费信息表名称:余额描述:显示卡上的现有金额数定义:余额=浮点型(=0)位置:饭卡信息表名称:充值金额描述:对管理员充值金额的统计定义:充值金额=浮点型(=0)位置:饭卡管理信息表名称:消费限额描述:若消费超过限额则需要输入密码定义:消费限额=
13、浮点型(=0)位置:饭卡信息表3 总体设计3.1系统结构图系统的0层数据流图,以及1层细化数据流图如图3.1.1-3.1.4所示。图3.1.1 0层数据流图图3.1.2 1层数据流图(消费记录细化)图3.1.3 1层数据流图(饭卡信息管理模块细化)图3.1.4 1层数据流图(学生与商户信息管理模块细化)功能结构图如图3.1.5所示。图3.1.5 系统功能模块图3.2 数据库设计3.2.1逻辑设计要点管理员表(工号,密码,姓名,性别,联系方式)工号密码姓名性别联系方式学生(学号,姓名,性别,联系方式,宿舍)学号姓名性别联系方式宿舍饭卡信息表(卡ID,余额,卡状态,消费限额,密码,学号)卡ID余额
14、卡状态消费限额密码学号刷卡机表(机号,位置,刷卡员工号)机号位置刷卡员工号刷卡员表(刷卡员工号,姓名)刷卡员工号姓名消费信息表(机号,卡ID,消费时间,消费金额)机号卡ID消费时间消费金额饭卡管理表(管理员工号,卡ID,操作时间,操作类型,操作内容,充值金额)管理员工号卡ID操作时间操作类型操作内容充值金额3.2.2物理结构设计要点管理员表数据项类型主键备注工号char(20)是不为空密码char(20)否不为空姓名char(20)否不为空性别char(2)否可为空联系方式char(11)否可为空学生表数据项类型主键备注学号char(12)是不为空姓名char(10)否不为空性别char(2)
15、否可为空联系方式char(11)否可为空宿舍char(8)否可为空饭卡信息表数据项类型主键备注卡IDchar(8)是不为空余额float否可为空卡状态char(4)否可为空消费限额float否可为空密码char(6)否可为空学号char(12)否外键刷卡机表数据项类型主键备注机号char(4)是不为空位置char(50)否可为空刷卡员工号char(8)否外键刷卡员表数据项类型主键备注刷卡员工号char(8)是不为空姓名char(20)否可为空消费信息表数据项类型主键备注机号char(4)是不为空卡IDchar(8)是外键消费时间char(14)是不为空消费金额float否可为空饭卡管理信息表数
16、据项类型主键备注管理员工号char(20)是外键卡IDchar(8)是外键操作时间char(14)是不为空操作类型char(8)否不为空操作内容char(50)否可为空充值金额float否可为空3.2.3触发器设计由于在消费和充值时,需要对余额进行更新操作,因此需要添加对应的触发器如下:create trigger UpdateCardRemain1 on Consumefor update,insertas update Cardset CardRemain-=(select top 1 ConNum from Consume where Consume.CardNo IN(select C
17、ardNo from inserted)order by Contime desc)where Card.CardNo in(select CardNo from inserted)create trigger UpdateCardRemain2 on ManCardfor update,insertas update Cardset CardRemain+=(select top 1 ChargeNum from ManCard where ManCard.CardNo IN(select CardNo from inserted)order by ManTime desc)where Ca
18、rd.CardNo in(select CardNo from inserted)3.3 系统模块IPO图3.3.1验证用户登录功能模块(1) 功能描述对登录系统的用户进行身份验证。(2) 模块IPO表系统名称饭卡管理系统模块名称用户登录模块编号1作者翟天亨日期2015/12/25模块描述用于系统对用户的登录进行身份验证调用模块数据库模块被调用模块无输入项目用户名,密码,用户类型,验证码格式用户名:varchar(20)密码:varchar(20)类别:char(10)验证码:char(4)处理1、用户输入用户名、密码,选择用户类型及输入验证码2、模块获得用户名密码等信息3、模块调用数据库表进
19、行比较及程序进行验证码校验4、模块返回登录信息输出用户登录成功或登录失败。局部数据元素数据库表约束条件验证码验证注释需要数据库用户表(3) 主要算法【登录】按钮:验证用户的合法性。【取消】按钮:关闭用户登录窗口。【注册】按钮:弹出用户注册功能窗口。3.3.2 用户注册功能管理模块(1) 功能描述用户注册一个登录帐号。(2) 模块IPO表系统名称饭卡管理系统模块名称用户注册模块编号2作者翟天亨日期2015/12/25模块描述学生用户注册登录帐号调用模块数据库模块被调用模块无输入项目用户名,密码,确认密码,绑定学号,绑定饭卡号,验证码格式用户名:varchar(20)密码:varchar(20)学
20、号:nvarchar(50)饭卡号:nvarchar(50)验证码:char(4)处理1、 用户点击登录页面的注册链接2、 系统返回注册页面3、 用户输入注册信息4、 系统调用数据库模块进行数据信息比对5、 信息确认无误系统弹出注册成功对话框输出注册成功或失败局部数据元素数据库表约束条件验证码验证注释需要数据库用户表及持卡者信息表(3) 主要算法【注册】按钮:注册一个新用户。【取消】按钮:关闭登录窗口。【返回登录】按钮:返回上层界面。3.3.3 查询用户详细信息功能模块(1) 功能描述用于用户查询本人信息。(2) 模块IPO表系统名称饭卡管理系统模块名称查询用户详细信息模块编号3作者翟天亨日期
21、2015/12/25模块描述用于用户查询本人详细信息调用模块数据库模块被调用模块无输入项目点击按钮格式无处理1、 用户登录成功进入用户界面2、 用户点击查询用户详细信息3、 系统根据用户登录的帐号从数据库中查询用户的信息4、 系统显示查询出的信息输出用户的详细信息局部数据元素数据库中持卡者信息表及照片表约束条件无注释需要数据库中持卡者信息表及照片表(3) 主要算法【查询用户详细信息】按钮:显示用户信息。【查询消费历史】按钮:查询用户的消费历史。【挂失】按钮:用户挂失饭卡。【消费】按钮:进入用户消费界面。【上传照片】按钮:上传用户照片。【提交照片】按钮:确认上传照片。3.3.4 用户挂失功能模块
22、(1) 功能描述用于用户挂失自己的饭卡。(2) 模块IPO表系统名称饭卡管理系统模块名称用户挂失模块编号4作者翟天亨日期2015/12/25模块描述用于用户挂失自己的卡调用模块数据库模块被调用模块无输入项目点击按钮格式无处理1、 用户登录进入用户界面2、 用户点击挂失按钮3、 系统根据用户登录的帐号查询用户信息4、 系统显示用户学号及饭卡好信息5、 用户确认信息,点击挂失按钮6、 系统弹出确认对话框7、 用户点击确认,提交挂失8、 系统更改用户信息并添加记录到系统中输出挂失成功局部数据元素数据库中饭卡信息表及饭卡历史表约束条件注释需要数据库用户表(3) 主要算法【挂失】按钮:挂失自己的帐号。【
23、确定】按钮:确认所挂失的帐号。【取消】按钮:返回挂失界面。3.3.5 用户消费功能模块(1) 功能描述用于用户消费使用。(2) 模块IPO表系统名称饭卡管理系统模块名称用户消费模块编号5作者翟天亨日期2015/12/25模块描述用于用户消费使用调用模块数据库模块被调用模块无输入项目点击按钮,消费金额格式消费金额:数字类型处理1、 用户登录系统进入用户界面2、 用户点击消费按钮3、 系统根据用户帐号返回用户饭卡号及余额4、 用户输入消费金额5、 用户点击消费6、 系统查询消费金额是否小于余额当小于余额是系统弹出确认对话框7、 用户确认消费8、 系统返回消费成功对话款及修改数据库余额并添加历史记录
24、输出确认用户消费局部数据元素数据库中饭卡信息表及饭卡历史表及用户表约束条件消费输入框中限定为数字输入,其他字符无法输入进去注释需要数据库中饭卡信息表及饭卡历史表及用户表(4)主要算法【消费】按钮:消费金额。【清空】按钮:清空消费金额。【确定】按钮:确认消费金额。【取消】按钮:返回消费界面。3.3.6 用户查询消费历史功能模块(1) 功能描述用于用户查询自己卡的历史记录(2) 模块IPO表系统名称饭卡管理系统模块名称用户查询消费历史模块编号6作者翟天亨日期2015/12/25模块描述用于用户查询自己卡的历史记录调用模块数据库模块被调用模块无输入项目起始时间,终止时间,款额,操作格式起始时间:da
25、tetime 终止时间 :datetime款额:float 操作:char(20)处理1、 用户登录系统进入用户界面2、 用户点击查询消费历史3、 系统根据用户登录的帐号返回用户所有历史记录4、 用户输入查询条件5、 系统根据查询条件查询数据库6、 系统返回查询结果输出用户根据查询条件查询的结果局部数据元素用户表及饭卡历史表约束条件只能查询本卡,时间通过鼠标点入,操作类型由下拉框输入注释需要数据库用户表及饭卡历史表(4)主要算法【查找】按钮:选择起始时间查询用户消费历史。【清空】按钮:清空所输入的款额,操作。3.3.7 新建持卡者功能模块(1) 功能描述用于管理员录入新建学生信息。(2) 模块
26、IPO表系统名称饭卡管理系统模块名称新建持卡者模块编号7作者翟天亨日期2015/12/25模块描述用于管理员录入新建学生的信息调用模块数据库模块被调用模块无输入项目学号|工号,饭卡号,姓名,电话,性别,地址,照片格式学号|工号:nvarchar(50)饭卡号:nvarchar(50)姓名:char(20)电话:char(10)性别:char(20)地址:char(50)照片:jpg,bmp,png处理1、 管理员登录系统进入管理员界面2、 管理员打开新建持卡者信息3、 管理员输入信息并选择照片4、 管理员点击提交5、 系统将信息写入数据库中6、 系统弹出信息录入成功对话框输出信息录入成功对话框
27、局部数据元素输入信息到持卡者信息表及饭卡历史表约束条件所有信息必须填写完整除照片信息外。注释需要数据库中持卡者信息表及饭卡历史表(3) 主要算法【提交】按钮:提交用户信息。【清空】按钮:清空所填用户信息。【上传照片】按钮:上传用户照片。【确定】按钮:建卡成功,返回操作。3.3.8 存款功能模块(1) 功能验证用于管理员对用户的充值。(2) 模块IPO表系统名称饭卡管理系统模块名称存款模块编号8作者翟天亨日期2015/12/25模块描述用于管理员对用户的充值调用模块数据库模块被调用模块无输入项目学号|工号,充值金额格式学号|工号: nvarchar(50)充值金额:float处理1、 管理员登录
28、系统进入管理员界面2、 管理员输入要充值的学生学号3、 管理员点击充值按钮4、 系统根据管理员输入的学生学号查询学生信息返回到充值页面5、 管理员输入充值金额6、 管理员点击提交按钮7、 系统弹出确认对话框8、 管理员确认9、 系统弹出充值成功对话框输出充值成功对话框局部数据元素输出信息记录到饭卡信息表及饭卡历史表约束条件注释需要数据库饭卡信息表、饭卡历史表(4)主要算法【充值】按钮:充值金额。【确定】按钮:确定充值金额。【取消】按钮:取消充值并返回。3.3.9 注销用户功能模块(1) 功能描述用于管理元对毕业学生及过期用户的注销。(2) 模块IPO表系统名称饭卡管理系统模块名称注销模块编号9
29、作者翟天亨日期2015/12/25模块描述用于管理员对毕业学生及过期用户注销调用模块数据库模块被调用模块无输入项目学号|工号格式学号|工号:nvarchar(50)处理1、 管理员登录系统进入管理员界面2、 管理员输入要注销的学生学号3、 管理员点击注销按钮4、 系统根据管理员输入的学号进行查询5、 系统显示查询结果在注销页面6、 管理员核对信息并提交注销7、 系统接收信息写入数据库并删除注销用户的饭卡历史信息输出是否注销对话框及注销成功对话框局部数据元素写入记录到饭卡历史表及饭卡信息表约束条件注释需要数据库饭卡历史表及饭卡信息表(3) 主要算法【注销此卡】按钮:注销次饭卡。【确定】按钮:确认
30、注销次卡。【取消】按钮:返回注销界面。3.3.10 更改学生信息功能模块(1) 功能描述用于管理员对需要更改的学生信息进行查询更改。(2) 模块IPO表系统名称饭卡管理系统模块名称更改学生信息模块编号10作者翟天亨日期2015/12/25模块描述用于管理员对需要更改的学生信息进行查询更改调用模块数据库模块被调用模块无输入项目学号|工号,饭卡号,姓名,电话,性别,地址,照片格式学号|工号:nvarchar(50)饭卡号:nvarchar(50)姓名:char(20)电话:char(10)性别:char(20)地址:char(50)照片:jpg,bmp,png处理1、 管理员登录系统进入管理员界面
31、2、 管理员输入要更改信息的学生学号3、 系统根据学生学号查询数据库4、 系统返回学生信息到更改学生信息页面5、 管理员修改要更改的学生信息6、 管理员提交更改后的学生信息7、 系统接收信息写入数据库中8、 系统弹出更新成功对话框输出更新成功对话框局部数据元素写入记录到持卡者信息表及照片表约束条件学生学号无法更改注释需要数据库持卡者信息表及照片表(3)主要算法【提交】按钮:确认提交所填的资料信息。【删除】按钮:删除每一个信息。【清空】按钮:清空所有信息。【上传照片】按钮:上传更改用户照片信息。3.3.11 挂失,解锁功能模块(1) 功能描述用于管理员对挂失用户进行解锁并对需要挂失用户进行挂失。
32、(2) 模块IPO表系统名称饭卡管理系统模块名称挂失,解锁模块编号11作者翟天亨日期2015/12/25模块描述用于管理员对挂失用户进行解锁及对需要挂失用户进行挂失调用模块数据库模块被调用模块无输入项目学号|工号格式学号|工号:nvarchar(50)处理1、 管理员登录进入管理员页面2、 管理员输入要挂失或解锁的用户学号3、 系统根据管理员输入的信息进行查询4、 系统返回信息到页面5、 管理员点击挂失或解锁按钮6、 系统接收信息写入数据库7、 系统弹出挂失成功或解锁成功对话框输出挂失成功或解锁成功对话框局部数据元素写入记录到饭卡历史表及更新饭卡信息表约束条件注销卡及已上锁的卡系统不予此操作注
33、释需要数据库用户表(3) 主要算法【挂失此卡】按钮:挂失需要挂失的饭卡。【解锁此卡】按钮:解锁需要解锁的饭卡。【确定】按钮:确认挂失,解锁的饭卡。【取消】按钮:取消挂失,解锁,并返回上层界面。3.3.12 查询更改消费历史功能模块(1) 功能描述用于管理员对用户消费历史进行查询更改(2) 模块IPO表系统名称饭卡管理系统模块名称查询更改消费历史模块编号12作者翟天亨日期2015/12/25模块描述用于管理员对用户消费历史进行查询更改调用模块数据库模块被调用模块无输入项目学号|工号,起始时间,终止时间,款额,操作格式学号|工号:nvarchar(50)起始时间:datetime 终止时间 :da
34、tetime款额:float 操作:char(20)处理1、 管理员登录系统进入管理员页面2、 管理员点击查询更改消费历史按钮3、 系统根据管理员输入的学号信息进行查询并返回该学号的历史信息,如果管理员没有输入学号信息则返回所有学生的历史信息4、 管理员在更改历史页面上重新选择查询条件5、 系统根据查询条件返回结果6、 管理员对结果进行更改7、 系统接收更改信息写入数据库输出更改信息成功对话框局部数据元素更改饭卡历史表中的记录约束条件注释需要数据库用户表(3)主要算法【删除】按钮:删除选定的消费记录。【清空】按钮:清空消费记录。【查找】按钮:查找指定的消费记录。3.3.13 数据库功能模块(1
35、) 功能描述记录系统所有数据信息。(2) 模块IPO表系统名称饭卡管理系统模块名称数据库模块模块编号13作者翟天亨日期2015/12/25模块描述记录系统所有数据信息调用模块无被调用模块无输入项目持卡者信息表,饭卡历史表,饭卡信息表,用户表,照片表格式无处理系统调用的各个处理输出学生信息表,商铺表,饭卡表,饭卡信息表,用户表局部数据元素无约束条件无注释各表数据类型给定4 详细设计4.1 登录模块详细设计登录模块的程序流程图图4.1登陆模块流程图伪代码设计Begin 用户登录输入 用户名,密码,验证码if(用户名/密码/验证码=” ”) 则给出相应提示信息否则 连接数据库If(Countlimi
36、t) 输入卡号密码if(密码正确) 则continue else 提示密码错误,重新输入if(余额消费金额) 余额 = 余额 消费金额否则 提示余额不足结束 5 系统实现5.1 编码过程与特点编译语言:C#编译环境: visual studio 2010框架: WPF数据库: 对数据库进行查询,修改5.2 部分功能模块实现5.2.1 对消费模块进行实现与测试A. 运行界面截图B. 具体代码分析 对数据库进行查询并将查询结果显示在界面相应位置上。具体代码如下:namespace TheCardManagerSystem_Server / / frmLogin.xaml 的交互逻辑 / publi
37、c partial class frmLogin : Window SQLconect sqlconnect; DataSet ds; string usr; string psw; string code; IdentifyingCode validCode; string sql; public frmLogin() InitializeComponent(); sqlconnect = new SQLconect(); private void conBtn_Click(object sender, RoutedEventArgs e) usr = usrTextBox.Text.Tri
38、m(); psw = pswTextBox.Password.ToString().Trim(); code = codeTextBox.Text.Trim(); if (usrTextBox.Text = ) MessageBox.Show(请输入用户名!,错误信息,MessageBoxButton.OK,MessageBoxImage.Error); else if (pswTextBox.Password.ToString() = ) MessageBox.Show(请输入密码!, 错误信息, MessageBoxButton.OK, MessageBoxImage.Error); else if(!String.Equals(validCode.CheckCode,code,StringComparison.CurrentCultureIgnoreCase)|codeTextBox.Text= ) MessageBox.Show