系统设计
1.引言
1.1编写的目的
总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块计的关系。总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。
1.2定义
总体设计——又叫概要设计,主要是确定系统的具体实施方案和确定软件结构。
2.总体设计
通过对前面需求分析文档的进一步理解,再结合面向数据流的设计方法,得到饭卡管理系统的软件结构图,如图2-71所示,系统由持卡者信息管理、饭卡管理、饭卡消费记录管理以及系统用户登入构成。
结合软件设计中的高内聚和低耦合的标准以及相关的启发规则,得到改进后的软件结构图,如图2-72所示。
3.详细设计
根据前面总体设计的软件结构图,下面具体设计每个模块实现的方法和相关的交互界面。
1. 系统用户登入模块
系统用户登入模块是饭卡管理系统中最先使用的功能,它是进入整个系统的入口。本系
统不是任何人都可以随便使用的,只能给合法用户使用,而且对于不同的人有不同的权限。为了区分这一不同的特征,登入模块就显得很有必要。考虑到本系统的特殊性,它提供了系统管理员、学生、执教工和刷卡服务员三种环境,限制用户对系统的使用权限,因此就有三种权限。
模块的输入:用户名和密码。
模块的处理:在登入模块中输入用户名和密码后,单击“登录”按钮进行登录。如果登
录时没有输入用户名和密码,系统将提示错误。如果输入的用户名和密码与数据库信息不匹配,系统将拒绝用户登录。如果登入成功,系统将根据登录用户的权限,分别跳到不同的页面,提供不同的服务。
模块的输出:对于非法用户给出相应的提示,对于合法用户,进入相应的界面。
系统用户登录模块的判定树如图2-73所示。
2. 持卡者信息管理模块
(1)持卡者注册
所有的用户都能使用该模块。
该模块完成用户注册的过程,所有在校学生和执教工都能注册,并成为有效持卡人。
模块的输入:用户填写个人相关信息。
模块的处理:用户填写相关信息并点击“确定”提交后,系统首先注册用户的用户
名是否已近存在于数据库中,如果是,系统会报错。如果不是系统要检测每项数据是否
合法,如果合法则将其作为一条数据填进持卡者信息表里,并给出相应提示;如果不合
法,系统会准确的指出出错的地方供用户修改。
模块的输出:根据是否成功提交,给出相应的提示。
持卡者注册模块的判定树如图2-75所示。
(2)修改持卡者信息
该模块可以给系统管理员和持卡者使用。
该模块主要负责修改持卡者的相关信息。持卡者可以修改自己的姓名、性别、
电话和住址,其他的信息均不能修改。而系统管理员登录后可以修改每位持卡者的
登录用户名、登录密码、姓名、性别、电话和住址,其他字段也是不能修改的。
模块的输入:持卡者的卡号和需要修改字段的新值。
模块的处理:每位持卡者登录,在系统显示自己的信息后,点击“修改”按钮,
可以看到不能修改的字段将呈现灰色,在改好自己需要修改的信息后提交审核,这
时,系统会弹出一个对话框询问我们是否真的要修改,当得到肯定的回答后,系统
就检测是否成功修改,若是,就返回显示信息界面继续其余的操作,否则要给出未
修改的提示。
模块的输出:根据用户的不同操作,给出不同的提示界面。如果用户操作通过
审核,就返回显示信息界面,否则给出出错提示。
修改持卡者信息模块的判定树如图2-77所示。
(3)查询持卡者信息
该模块只能给系统管理员使用。
由需求分析可知,本系统只需要提供“卡号”来进行查询,不需要提供根
据其他字段的查询。用户输入自己的卡号进行查找就可以获得满足条件的查询
结果。
模块的输入:用户输入“卡号”作为查询的条件。
模块的处理:根据查询的条件从持卡者信息表中查找相应的记录,如果有
满足条件的则显示该用户的信息,否则将给出错误提示。
模块的输出:根据不同的查询结果,给出不同的答复信息。
查询持卡者信息模块的判定树如图2-80所示。
3. 饭卡信息管理模块
(1)加锁与解锁
该模块只能给系统管理员使用。
在本模块中,当用户的饭卡丢失,立即告知系统管理员。挂失由持卡者提供卡号,
若忘记卡号,可以通过姓名来查询卡号,计算机同时显示持卡者姓名、卡号、性别、电
话和住址,待系统管理员将这些和该持卡者核实无误后确认挂失。当持卡者找到自己的
卡时,可以找系统管理员,待核实卡确实是该持卡者丢失的卡后解锁,保证持卡者继续
使用此饭卡。
模块的输入:持卡者的卡号。
模块的处理:系统管理员根据卡号查找持卡者信息,在对应界面上点击“挂失”按
钮,立即弹出“您确定要锁定卡吗?”提示对话框,如果确定完成冻结卡的任务。当用
户找回自己的卡时,就要找系统管理员解锁,此时,同样找到要解锁的卡,执行“解锁”
功能就可以对此饭卡的使用。
模块的输出:根据管理员的不同操作,给出不同的提示界面。
加锁和解锁的判定树如图2-82所示。
(2)注销
该模块只能给系统管理员使用。
本模块完成持卡者不在使用饭卡时退卡的过程。
模块的输入:持卡者的卡号。
模块的处理:系统管理员根据卡号查找,当查找到要操作的某条记录时,点击
“注销饭卡”后,实现退卡功能。
模块的输出:根据管理员的不同操作,给出不同的提示。
注销模块的判定树如图2-86所示。
(3) 充值
该模块可以给系统管理员和持卡者使用。
本模块主要负责给持卡者的饭卡补充金额,进行存款操作。
模块的输入:持卡者的卡号和即将存入卡的金额。
模块的处理:系统管理员按照此卡号,找到要存钱的卡号,然后点击“存款”
按钮,在新弹出的对话框里的相应文本框里输入要存的金额,再执行“充值”命令,
此时弹出“您确定要进行该操作吗?”提升对话框,若存,就点击“是”,否则点
击“否”。
模块的输出:根据不同的处理,返回不同的提示。
充值模块的判定树如图2-88所示。
(4)消费
该模块可以给刷卡服务员和持卡者使用。
本模块主要完成持卡者消费刷卡都卡上金额变动功能。这里需要注意的是,饭
卡上减去的金额数目由刷卡服务员输入。
模块的输入:持卡者的卡号和消费的金额。
模块的处理:由持卡者刷卡,系统识别到对应的饭卡上并显示次饭卡剩余的金
额,再由刷卡服务员在对应的文本框输入此持卡者当前消费的金额,再点击“消费”
按钮,此时此时就从原余额中减去消费的金额,显示本次消费后的余额。
模块的输出:显示消费后的金额提示框。
消费模块的判定树如图2-91所示。
4. 饭卡消费记录管理模块
(1)查询饭卡消费记录
该模块可以供系统管理员和持卡者使用。
由需求分析可知,本系统只只需要提供卡号来进行查询。当用户输入自己的卡号并 执行“查询消费历史”功能,就可以查找到过去所以的消费记录。
模块的输出:用户输入“卡号”作为查询条件。
模块的处理:根据查询的条件从持卡者信息表中查找相应的记录,如果有满足条件的,点击“查询消费历史”显示该用户的消费历史记录,否则将给出错误提示。
模块的输出:根据不同的查询结果,给出不同的答复信息。
查询饭卡消费记录模块的判定树如图2-94所示。
(2)修改饭卡消费记录
该模块只能给系统管理员使用。
该模块主要负责修改持卡者的消费信息。需要提醒的是,需在确定了要修改的记录确实有误的情况下才能改动。
模块的输入:持卡者的卡号和需要修改的字段的新值。
模块的处理:系统管理员输入要修改的消费信息的持卡者的卡号,核实要修改的记录确实有误后选中此条记录,再点击“查询,更改消费历史”,接着改好自己需要修改的信息后提交审核。这时,系统会询问是否真的要修改,当得到肯定的回答后,系统就检查是否成功修改,若是,就返回消费信息显示界面,否则要给出未修改的提示。
模块的输出; 根据用户的不同操作,给出不同的提示界面。如果用户操作通过审核,就返回消费信息显示界面,否则显示出错提示。
修改饭卡消费记录模块的判定树如图2-96所示。
系统设计
1.引言
1.1编写的目的
总体设计的主要任务是设计程序的体系结构,也就是确定程序有哪些模块组成以及模块计的关系。总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软结构,通常,进行必要的数据库设计,确定测试要求并且是定测试计划。
1.2定义
总体设计——又叫概要设计,主要是确定系统的具体实施方案和确定软件结构。
2.总体设计
通过对前面需求分析文档的进一步理解,再结合面向数据流的设计方法,得到饭卡管理系统的软件结构图,如图2-71所示,系统由持卡者信息管理、饭卡管理、饭卡消费记录管理以及系统用户登入构成。
结合软件设计中的高内聚和低耦合的标准以及相关的启发规则,得到改进后的软件结构图,如图2-72所示。
3.详细设计
根据前面总体设计的软件结构图,下面具体设计每个模块实现的方法和相关的交互界面。
1. 系统用户登入模块
系统用户登入模块是饭卡管理系统中最先使用的功能,它是进入整个系统的入口。本系
统不是任何人都可以随便使用的,只能给合法用户使用,而且对于不同的人有不同的权限。为了区分这一不同的特征,登入模块就显得很有必要。考虑到本系统的特殊性,它提供了系统管理员、学生、执教工和刷卡服务员三种环境,限制用户对系统的使用权限,因此就有三种权限。
模块的输入:用户名和密码。
模块的处理:在登入模块中输入用户名和密码后,单击“登录”按钮进行登录。如果登
录时没有输入用户名和密码,系统将提示错误。如果输入的用户名和密码与数据库信息不匹配,系统将拒绝用户登录。如果登入成功,系统将根据登录用户的权限,分别跳到不同的页面,提供不同的服务。
模块的输出:对于非法用户给出相应的提示,对于合法用户,进入相应的界面。
系统用户登录模块的判定树如图2-73所示。
2. 持卡者信息管理模块
(1)持卡者注册
所有的用户都能使用该模块。
该模块完成用户注册的过程,所有在校学生和执教工都能注册,并成为有效持卡人。
模块的输入:用户填写个人相关信息。
模块的处理:用户填写相关信息并点击“确定”提交后,系统首先注册用户的用户
名是否已近存在于数据库中,如果是,系统会报错。如果不是系统要检测每项数据是否
合法,如果合法则将其作为一条数据填进持卡者信息表里,并给出相应提示;如果不合
法,系统会准确的指出出错的地方供用户修改。
模块的输出:根据是否成功提交,给出相应的提示。
持卡者注册模块的判定树如图2-75所示。
(2)修改持卡者信息
该模块可以给系统管理员和持卡者使用。
该模块主要负责修改持卡者的相关信息。持卡者可以修改自己的姓名、性别、
电话和住址,其他的信息均不能修改。而系统管理员登录后可以修改每位持卡者的
登录用户名、登录密码、姓名、性别、电话和住址,其他字段也是不能修改的。
模块的输入:持卡者的卡号和需要修改字段的新值。
模块的处理:每位持卡者登录,在系统显示自己的信息后,点击“修改”按钮,
可以看到不能修改的字段将呈现灰色,在改好自己需要修改的信息后提交审核,这
时,系统会弹出一个对话框询问我们是否真的要修改,当得到肯定的回答后,系统
就检测是否成功修改,若是,就返回显示信息界面继续其余的操作,否则要给出未
修改的提示。
模块的输出:根据用户的不同操作,给出不同的提示界面。如果用户操作通过
审核,就返回显示信息界面,否则给出出错提示。
修改持卡者信息模块的判定树如图2-77所示。
(3)查询持卡者信息
该模块只能给系统管理员使用。
由需求分析可知,本系统只需要提供“卡号”来进行查询,不需要提供根
据其他字段的查询。用户输入自己的卡号进行查找就可以获得满足条件的查询
结果。
模块的输入:用户输入“卡号”作为查询的条件。
模块的处理:根据查询的条件从持卡者信息表中查找相应的记录,如果有
满足条件的则显示该用户的信息,否则将给出错误提示。
模块的输出:根据不同的查询结果,给出不同的答复信息。
查询持卡者信息模块的判定树如图2-80所示。
3. 饭卡信息管理模块
(1)加锁与解锁
该模块只能给系统管理员使用。
在本模块中,当用户的饭卡丢失,立即告知系统管理员。挂失由持卡者提供卡号,
若忘记卡号,可以通过姓名来查询卡号,计算机同时显示持卡者姓名、卡号、性别、电
话和住址,待系统管理员将这些和该持卡者核实无误后确认挂失。当持卡者找到自己的
卡时,可以找系统管理员,待核实卡确实是该持卡者丢失的卡后解锁,保证持卡者继续
使用此饭卡。
模块的输入:持卡者的卡号。
模块的处理:系统管理员根据卡号查找持卡者信息,在对应界面上点击“挂失”按
钮,立即弹出“您确定要锁定卡吗?”提示对话框,如果确定完成冻结卡的任务。当用
户找回自己的卡时,就要找系统管理员解锁,此时,同样找到要解锁的卡,执行“解锁”
功能就可以对此饭卡的使用。
模块的输出:根据管理员的不同操作,给出不同的提示界面。
加锁和解锁的判定树如图2-82所示。
(2)注销
该模块只能给系统管理员使用。
本模块完成持卡者不在使用饭卡时退卡的过程。
模块的输入:持卡者的卡号。
模块的处理:系统管理员根据卡号查找,当查找到要操作的某条记录时,点击
“注销饭卡”后,实现退卡功能。
模块的输出:根据管理员的不同操作,给出不同的提示。
注销模块的判定树如图2-86所示。
(3) 充值
该模块可以给系统管理员和持卡者使用。
本模块主要负责给持卡者的饭卡补充金额,进行存款操作。
模块的输入:持卡者的卡号和即将存入卡的金额。
模块的处理:系统管理员按照此卡号,找到要存钱的卡号,然后点击“存款”
按钮,在新弹出的对话框里的相应文本框里输入要存的金额,再执行“充值”命令,
此时弹出“您确定要进行该操作吗?”提升对话框,若存,就点击“是”,否则点
击“否”。
模块的输出:根据不同的处理,返回不同的提示。
充值模块的判定树如图2-88所示。
(4)消费
该模块可以给刷卡服务员和持卡者使用。
本模块主要完成持卡者消费刷卡都卡上金额变动功能。这里需要注意的是,饭
卡上减去的金额数目由刷卡服务员输入。
模块的输入:持卡者的卡号和消费的金额。
模块的处理:由持卡者刷卡,系统识别到对应的饭卡上并显示次饭卡剩余的金
额,再由刷卡服务员在对应的文本框输入此持卡者当前消费的金额,再点击“消费”
按钮,此时此时就从原余额中减去消费的金额,显示本次消费后的余额。
模块的输出:显示消费后的金额提示框。
消费模块的判定树如图2-91所示。
4. 饭卡消费记录管理模块
(1)查询饭卡消费记录
该模块可以供系统管理员和持卡者使用。
由需求分析可知,本系统只只需要提供卡号来进行查询。当用户输入自己的卡号并 执行“查询消费历史”功能,就可以查找到过去所以的消费记录。
模块的输出:用户输入“卡号”作为查询条件。
模块的处理:根据查询的条件从持卡者信息表中查找相应的记录,如果有满足条件的,点击“查询消费历史”显示该用户的消费历史记录,否则将给出错误提示。
模块的输出:根据不同的查询结果,给出不同的答复信息。
查询饭卡消费记录模块的判定树如图2-94所示。
(2)修改饭卡消费记录
该模块只能给系统管理员使用。
该模块主要负责修改持卡者的消费信息。需要提醒的是,需在确定了要修改的记录确实有误的情况下才能改动。
模块的输入:持卡者的卡号和需要修改的字段的新值。
模块的处理:系统管理员输入要修改的消费信息的持卡者的卡号,核实要修改的记录确实有误后选中此条记录,再点击“查询,更改消费历史”,接着改好自己需要修改的信息后提交审核。这时,系统会询问是否真的要修改,当得到肯定的回答后,系统就检查是否成功修改,若是,就返回消费信息显示界面,否则要给出未修改的提示。
模块的输出; 根据用户的不同操作,给出不同的提示界面。如果用户操作通过审核,就返回消费信息显示界面,否则显示出错提示。
修改饭卡消费记录模块的判定树如图2-96所示。