1、1概要设计说明书1 引言11 编写目的概要设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块计的关系。概要设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定
2、测试要求并且是定测试计划。13 术语定义实体联系图(E-R 图):包含实体(即数据对象) 、关系和属性。作为用户与分析员之间有效交流的工具。流程图:由一些特定意义的图形、流程线及简要的文字说明构成,能清晰明确地表示程序的运行过程盒图:又称为 N-S 图呀 CHAPIN 图,它把整个程序写在一个大框图内,大框图由若干个小的基本框图构成 14 参考资料软件工程导论 -张海藩 编著 清华大学出版社深入浅出面向对象分析和设计 数据为原理及应用-李绍原 主编 科学出版社2 概述 1 目标该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功
3、能说明,数据结构的细节以及具体的装配要求。22 运行环境软件基本运行环境为 Windows 环境。3 需求概述本系统要达到以下目标:1、用户的存款与消费2、用户挂失处理3、管理员的新建与注销4、用户的查询4 条件与限制为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:1.软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设
4、计。3 系统分析系统模型:3系统 IPO 图:IPO 图比较清晰的表达了系统的输入处理输出4学生信息锁卡信息刷卡 ( 卡 I D )消费额查询条件存款额新建饭卡信息挂失状态转换简单查询消费复杂查询存款学生基本信息空历史纪录卡状态卡余额卡历史纪录4 系统体系结构系统功能模块划分设计:5判断学生简单信息一致性饭卡管理系统新建饭卡信息存款 - 消费查询历史 挂失注销读取学生其他信息 ,创建卡I D创建饭卡信息历史记录表读取卡I D ,并确认显示余额定价消费挂失状态转换挂失计时判断挂失倒时注销消费判断条件合法性查询产生报表存款 消费读取卡I D ,并确认显示余额存款管理员程序流程图 6饭卡系统存款额刷
5、卡器显示器管理员刷卡服务员消费额卡 I D余额信息学生信息消费信息学生查询结果余额存入5 接口定义6.1 用户接口(1)用户类别:1 有提供学生查阅的学生界面。2 提供管理员操作的管理员界面。3 提供刷卡的刷卡服务员界面。(2) 管理员界面菜单1 状态1.1 登陆;1.2 注销;2 新建-新建学生信息界面;3 查询更新3.1 学生消费历史3.2 学生信息4 挂失4.1 加锁4.2 解锁5 注销卡(3)学生查询菜单71 状态1.1 登陆;1.2 注销;2 查询历史3 查询学生信息(4)刷卡界面1 状态1.1 登陆;1.2 注销;2 消费方式2.1 正常2.2 定价3 显示上次输出6.2 外部接口
6、说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。3.3 内部接口查询和更新都要调用数据库的操作。7 模块设计根据项目的实际需求情况,可将系统划分成若干模块,分别描述各模块的功能。这样可将复杂的系统简化、细化,有利于今后的设计和实现。划分各模块时,应尽量使其具有封闭性和独立性,具有低耦合性,减少各模块之间的关联,使其便于实现、调试、安装和维护。7 数据流划分8数据流 0 层:9管理者饭卡系统学生或者管理员学生查询或者管理结果管理饭卡信息查询信息或者挂失数据流 1 层:管理信息检查合法性查询信息合法的管理员信息合法的查询信息管理员信息处理查询信息处理数据
7、流 2 层:10合法信息管理人信息处理创建学生饭卡存款创建饭卡处理存款信息处理挂失查询学生信息管理员查询信息处理管理员对饭卡挂失处理注销创注销饭卡处理学生饭卡系统信息合法输入信息学生输入信息处理查询余额查询消费饭卡余额处理消费信息处理挂失学生自行挂失处理学生饭卡系统信息7.2 事务型事务中心:存款-消费数据流以“事务中心”为核心。当时数据沿通路到达事务存储消费时,根据输入数据的类型在存款、消费中选择一个执行。具体上是根据按键,分消费和存钱按键。存 款 -消 费存 款 消 费118 故障检测和处理机制81 故障检测触发机制系统发生故障可以有多种检测机制,该系统有三种监测机制,包括自动向上层汇报、
8、有上层定时检测、将故障写入错误文件等。82 故障处理机制6.1 出错信息1 在学生刷卡后,卡 ID 被锁,将会出现错误信息:“Kard Locked”2 学生卡信息丢失,查询时或者消费-存款时,不认卡情况3 存款额大于 999.99 元,刷卡器只显示小于等于 999,99 元部分4 消费时消费额大于存款额。系统将会提示错误,不作其他任何操作。6.2 措施(号码对应)1 只能解卡锁2 有备份数据库,随时可以恢复3 只能更换刷卡器4 计时充钱6.3、系统维护系 统 维 护 的 任 务 就 是 要 有 计 划 、 有 组 织 地 对 系 统 进 行 必 要 的 改 动 , 以 保 证系 统 中 的
9、各 个 要 素 随 着 环 境 的 变 化 始 终 处 于 最 新 的 、 正 确 的 工 作 状 态 。为此,后期维护工作不容忽视,为了有效的进行后期维护,首先,在系统开发过程中的每个阶段都必须编写保存相关的文档记录,其次,安排固定的工作人员做后期维护的工作。9 数据库设计91 数据库管理系统选型选定数据系统:MySOL,以 JDBC 连接数据库1292 设计 E-R 图饭 卡学 生1操 作11查 询I D学 号余 额消 费 限 制有 效 期创 建 日 期目 前 状 态日 期数 量 地 点 商 品 金 额姓 名学 号 级 别专 业电 话性 别消 费M管 理 员账 号密 码操 作1193 数据
10、库表设计基于 E-R 图设计数据库物理表。学生信息库(student_info )列名 数据类型学生学号 stu_num int卡 ID id int学生姓名 name Char(20)性别 male boolean电话号码 tel Char(20)专业 Subject Char(50)卡信息(card_info)列名 数据类型卡 ID id int余额 sum float锁 lock boolean13卡历史(card_his)列名 数据类型卡 ID id int时间 daytime daytype款额 sum float数量 Number Int管理员列名 数据类型帐户 Name Char
11、密码 Passwords Char10 系统开发平台系统开发环境:windows 硬件要求:CUP2.1GH 以上,详细设计说明书二、详细设计1 引言1.1 编写目的编制目的是说明饭卡管理系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑。把解法具体化,解决具体应怎样实现这个系统。也称为模块设计,详细地设计每个模块,确定实现模块所需的功能需要的算法和数据结构。1.2 定义在软件具体设计阶段的专用术语有:程序流程图、盒图(NS 图)、判定表、判定树、PAD 图142 界面系统登陆功能说明:该界面为系统登陆界面,其中分为管理员和学生和刷卡员三个角色,分别有不同的权限,通过用户输入帐户和密码
12、进入主目录界面。其中管理员权限最大、 。学生进入界面:15功能说明:学生进入信息查询界面,输入个人学号之后,可以进行个人基本信息的查询以及消费历史的查询,并有挂失的权力。刷卡员进入界面:16功能说明:刷卡员进入刷卡信息界面,输入消费的学生的 ID 号码,便可以对该学生消费进行扣费。并且可以通过该界面进入查询该 ID 帐户余额的界面,查看该学生的饭卡余额。3 入口程序 entry() 设计说明2.1 程序描述17提供管理员和学生用户,刷卡服务三种环境,限制用户对系统的使用权限。特点:非常驻内存;单独的一个程序;顺序处理。2.2 输入项权限:三个单选项。Level。管理员用户名:字符串类型,use
13、r,长度不超过 20,可以是数字(不能开头)和字母、汉字;管理员密码 :字符串类型,pass, 长度不超过 20, 可以是数字和字母,区分大小写2.3 输出项欢迎或者提示错误信息。2.4 流程逻辑 1 程序流程图 程 序 开 始用 户 名密 码判 断 什 么 权 限管 理 员 管 理 库管 理 员 权 限学 生 查 询 权 限 刷 卡 服 务 员 权 限输 入 权 限 类 别学 生 查 询界 面 刷 卡 服 务界 面判 断 用 户 名 和 密码 是 否 合 法 管 理 员 界面 界 面正 确提 示 错 误 错 误 欢 迎 提 示2 盒图18Case 输 入 权 限 类 别学 生 查 询 权限
14、刷 卡 服 务 权限学 生 查 询 界面 刷 卡 服 务 界面管 理 员 权 限DO-Until 输 入 用 户 名 , 密 码 正 确管 理 员 界 面检 验 用 户 名 密码 是否 给 提 示 错 误输 入 用 户 名 密码 给 欢 迎 信 息4 查询模块 search() 设计说明3.1 程序描述完成对系统(数据库)的查找。3.2 输入项学生卡信息,时间信息,消费信息等。3.3 输出项查找结果。3.4 流程逻辑 PAD 图输 入 查 询 条 件 查 询给 出 题 是 错 误查 询 条 件 正 确 从 数 据 库 读 数 据 打 印 报 表显 示 结 果 在 屏 幕打 印 与 否 打 印5
15、 消费模块 pay() 设计说明4.1 程序描述完成消费部分。对输入和消费额,进行合法性验证。194.2 输入项卡 ID,定价与否,消费额。4.3 输出项卡余额,错误提示。4.4 流程逻辑 判断树消 费 卡 ID正 确卡 ID错 误 提 示 错 误提 示 显 余 额定 价 消 费正 常 消 费 确 认 消 费 , 并 显 示 余 额余 额 不 足 , 提 示 错 误确 认 消 费 , 显 示 余 额余 额 不 足 , 提 示 错 误卡 未 锁卡 锁 , 输 出 错 误6 存款模块 deposit() 设计说明5.1 程序描述完成存款部分。对输入和存款额,进行合法性验证。5.2 输入项卡 ID,存款额。5.3 输出项卡余额,错误提示。5.4 流程逻辑 判断表学生代号1 2 3 4 5 6 7 8读卡成功N Y N N Y Y N Y卡没有锁N N Y N Y N Y Y存款成功N N N Y N Y Y Y显示余额显示 不可能 不可能 显示 不可能 不可能 显示题是错误提示 不可能 不可能 不可能 不可能显示存款成功信息不显示 不显示 不可能 不可能 不显示 不可能 不可能 显示显示存 不显示 显示 不可能 不可能 显示 不可能 不可能 不显示20款失败信息