《数据结构域算法设计-第8章 简单银行存取系统教案》由会员分享,可在线阅读,更多相关《数据结构域算法设计-第8章 简单银行存取系统教案(52页珍藏版)》请在金锄头文库上搜索。
1、第 8 章 简单银行存取系统8.1 系统需求分析系统需求分析8.1.18.1.1 引言引言 1.1.目的目的需求分析报告是为“简单银行存取系统”开发人员进行系统总体规划设计及具体实施 开发提供必要的参考资料,在系统开发完成后期为系统的测试、用户手册的编写提供帮助。 其编写过程由某高校信息学院学生完成。预期读者是从事“简单银行存取系统”开发的相 关人员。 2.2.背景背景 本项目名称为“简单银行存取系统” 。系统功能主要包括:能够存储一定数量的储户信息,并 方便有效的进行相应的信息操作和管理。本项目的任务提出者为某高校信息学院,开发者 为信息学院学生。 3.3.项目概述项目概述 本项目的用户是模
2、拟储户。储户必须先使用自己的账号和相应的密码登录到银行系统。 任何用户都可以合法地建立新账户。在建立新账户时,需要向系统提供储户相关信息。当 储户使用合法身份登录到银行系统后,可以立即查看到该账户的各项信息。储户在正确登 录系统的前提下,可以凭账户开户时注册的身份证号码及当前账户密码来查询自己其它的 账户余额信息。在正确登录到系统后,储户还可进行如下操作:取款、存款、查看到期日 期、设置信用卡密码、查看透支额、查看汇款方式等。 4.4.参考文献参考文献 (1)Joseph Schmuller 著,李虎 赵龙刚译. UML 基础、案例与应用. 人民邮电出版社. 2004 年 8 月 (2)孙鑫,
3、余安萍 编著,VC+深入详解. 电子工业出版社. 2006 年 6 月 (3)MFC Windows 程序设计(第 2 版). (美)帕罗赛斯 著,北京博彦科技发展有限责 任公司 译 清华大学出版社.2007 年 5 月 (4)陈明. 软件工程实用教程. 北京:电子工业出版社,2006 年 1 月 (5)潘孝铭 辛明海 软件文档编写. 高等教育出版社. 2004 年 2 月 8.1.28.1.2 需求概述需求概述 1.1. 目标目标 “简单银行存取系统”主要提供不同模拟储户的一般操作,如:取款、存款、查看到期日 期、设置信用卡密码、查看透支额、查看汇款方式等。 2.2. 用户类和特征用户类和特
4、征用户可分为定期储户、一般储户、结算储户、信用卡储户 ,具备一定的计算机操作知 识即可。 3.3. 运行环境运行环境(1)硬件资源 服务器:工作站或小型机; 打印机。 (2)软件资源 操作系统:windows 2000 或 windowsXp数据库:Access2000开发平台:Visual C+ 6.08.1.38.1.3 功能需求功能需求 相应的需求有: (1)装载账户信息:所有的账户信息保存应能永久保存在一个特定磁盘文件中(本系 统采用后台数据库作为账户信息的载体) ,在系统开始运行时应首先连接数据库文件,并将 数据库中的数据装载到内存中,并依据它们构造各类账户对象,并添加到账户映射集合
5、。 (2)登录系统:各类储户必须先使用自己的账号和相应的密码登录到银行系统,才能 进行其它操作。 (3)建立新账户:任何用户都可以合法地建立新账户。在建立新账户时,需要向系统 提供如下信息:账户类型、货币种类、预存款额、6 位数字账户密码、账户特殊信息(信 用卡账户需提供 6 位数字信用卡密码、定期账户需提供存储年限、结算账户需提供汇款方 式)以及储户相关信息(身份证号、真实姓名、通讯地址和电话号码) 。 (4)查看当前账户信息:当储户使用合法身份登录到银行系统后,可以立即查看到该 账户的各项信息,包括账户类型、账户余额、货币类型、创建日期以及储户的身份证号码 (后四位隐藏) 、姓名、通讯地址
6、和电话号码。 (5)通过身份证号和账户密码查询其账户余额:储户在正确登录系统的前提下,储户 可以凭账户开户时注册的身份证号码及当前账户密码来查询自己其它的账户余额信息,该 信息包括账号、账户类型、币种、余额和账户的创建日期。 (6)取款:储户在正确登录系统的前提下,可以进行取款操作。其中一般账户和结算 账户的取款操作相同,定期存款账户不得在未到期之前取款,信用卡账户允许善意透支 5000 元(各币种) 。 (7)存款:储户在正确登录系统的前提下,可以进行存款操作。其中一般账户、结算 账户和信用卡账户的存款操作相同,定期存款账户在用户开户后不得再存款。 (8)查看到期日期(包含在查看当前帐户信息
7、中):针对定期存款储户的服务,储户 可以在正确登录系统后立即查看到该账户的到期日期。 (9)设置信用卡密码:针对信用卡储户的服务,储户可以通过旧信用卡密码来更改信 用卡的密码。信用卡密码和信用卡账户的密码可以一样,也可以不一样。 (10)查看透支额(包含在查看当前帐户信息中):针对信用卡储户的服务,储户可 以在正确登录系统后,立即查看到该账户的透支额。 (11)查看汇款方式(包含在查看当前帐户信息中):针对结算储户的服务,储户可 以在正确登录系统后,立即查看到该账户的汇款方式。 1.确定执行者确定执行者 执行者为定期储户、一般储户、结算储户、信用卡储户。 2.确定用例确定用例 图 8.1 是我
8、们通过一定的调研和分析得到的“简单银行存取系统”的用例图:一 一 一 一 一 一一 一 一 一 一一 一 一 一 一 一 一一 一一 一一 一 一 一一 一 一 一 一 一 一 一一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一 一一 一 一 一一 一 一 一一 一 一 一一 一 一 一 一 一一 一 一 一 一一 一 一 一 一 一一 一一 一 一 一图 8.1 简单银行存取系统用例图 3.编写用例文档编写用例文档 (1)装载账户信息用例用例名:用例名:装载账户信息 参与执行者:参与执行者:无。 入口条件:入口条件:无。 事件流:事件流:在系统开始运行时首先连接数据库文
9、件,并将数据库中的信息装载到内存中, 构建各类账户信息,并添加至账户映射集合。 出口条件:出口条件: 用户合法的创建新帐户后,系统将相关信息存放至数据库中。 异常事件异常事件:无 (2)登录系统用例用例名:用例名:登录系统 参与执行者:参与执行者:各类储户 入口条件:入口条件:无。 事件流:事件流:各类储户输入自己的账号和密码登录,如果账户不存在或者密码有误,则给出相应提示,重新登录。若重试超过三次,则封锁该储户。若用户名和密码匹配,则 进入系统。 出口条件:出口条件:系统显示该储户可进行的操作界面。 异常事件异常事件:无(3) 建立帐号信息用例用例名:用例名:建立帐号信息 参与执行者:参与执
10、行者:储户 入口条件:入口条件:储户已经登录到该系统中。 事件流:事件流:储户登录后,点击建立新帐户,填写账户类型、货币种类、预存款额、6 位 数字账户密码、储户身份证号、真实姓名、通讯地址和电话号码。如果是信息卡账 户需填写 6 位数字信用卡密码;如果是定期账户需要提供存储年限;如果是结算账 户需要提供汇款方式。 出口条件:出口条件: 系统将新账户的相关信息添加至数据库中。 异常事件:异常事件:无 (4) 查询当前账户信息用例用例名:用例名:查询当前账户信息 参与执行者:参与执行者:储户 入口条件:入口条件:储户已经登录到该系统中。 事件流:事件流:当储户使用合法身份登录到银行系统后,可以查
11、看该账户的各项信息:账 户类型、账户余额、货币类型、创建日期以及储户的身份证号码(后四位隐藏) 、姓 名、通讯地址和电话号码。 出口条件:出口条件: 系统显示当前帐户信息。 异常事件:异常事件:无 (5) 通过身份证和密码查询其他账户余额用例用例名:用例名:通过身份证和密码查询其他账户余额 参与执行者:参与执行者:储户 入口条件:入口条件:储户已经登录到该系统中。 事件流:事件流:储户正确登录到系统之后,可以凭账户开户时注册的身份证号码及当前账户 密码来查询自己其它账户的账号、账户类型、币种、余额信息以及账户的创建日期。 出口条件:出口条件:系统显示其它账户信息。 异常事件异常事件:无(6)取
12、款用例用例名:用例名:取款 参与执行者:参与执行者:储户 入口条件:入口条件:储户已经正确登录到系统中 事件流:事件流:一般账户和结算账户输入取款金额,该输入数目不能为负数,也不能超过余 额,否则,系统提示错误。正确输入取款金额后,系统模拟取款过程(非真实) ,当前 账户余额减去取款金额。定期存款账户不得在未到期之前取款。信用卡帐户允许善意 透支 5000 元(各种币种) 。 出口条件:出口条件:提示操作是否成功,显示当前余额。 异常事件异常事件:若出现断电或者其他不可预料情形,整个取款操作回滚到取款之前。(7)存款用例用例名:用例名:存款 参与执行者:参与执行者:储户 入口条件:入口条件:储
13、户已经正确登录到该系统中。 事件流:事件流:定期存款账户在开户后不得存款。一般账户、结算账户和信用卡帐户输入存 款金额,系统验证输入存款金额和实际金额是否一致(模拟) ,如果不一致,则提示错 误,否则该账户余额增加存入数目。 出口条件:出口条件:系统显示当前账户余额。 (8)查看到期日期用例用例名:用例名:查看到期日期 参与执行者:参与执行者:定期存款储户 入口条件:入口条件:拥有定期账号的储户已经登录到系统中。 事件流:事件流:定期储户在登录后可查看该账户的到期日期。 出口条件:出口条件:系统定期储户的到期日期。 (9)设置信用卡密码用例用例名:用例名:设置信用卡密码 参与执行者:参与执行者
14、:拥有信用卡帐号的储户 入口条件:入口条件:拥有信用卡帐号的储户已经登录到系统中。 事件流:事件流:拥有信用卡帐号的储户登录到系统中后,储户点击修改密码功能按钮,系统 提示输入信用卡旧密码,如果输入的旧密码与数据库中存储的密码不一致,系统提示 错误。如果输入旧密码与数据库中存储的旧密码一致,则提示输入新的密码,点击确 定,密码修改成功,给出成功提示。 出口条件:出口条件:系统给出是否修改成功的信息提示。 (10)查看透支额用例用例名:用例名:查看透支额 参与执行者:参与执行者:拥有信用卡帐号的储户 入口条件:入口条件:拥有信用卡帐号的储户已经登录到该系统中。 事件流:事件流:拥有信用卡帐号的储
15、户已经登录到系统后,可以立即查看该账户的透支额。 出口条件:出口条件:系统显示该账户的透支额。 异常事件:异常事件:无 (11)查看汇款方式用例用例名:用例名:查看汇款方式 参与执行者:参与执行者:拥有结算账户的储户 入口条件:入口条件:拥有结算账户的储户已经登录到该系统中。 事件流:事件流:拥有结算账户的储户已经登录到该系统后,可以查看该账户的汇款方式。 出口条件:出口条件:系统显示汇款方式 异常事件:异常事件:无8.2 建立分析的对象模型建立分析的对象模型1 1应用程序框架相关类应用程序框架相关类图 8.2 应用程序框架相关类图 应用程序框架采用 MFC 的基于对话框的框架程序实现。以下是
16、相关类的设计说明: (1)CBankMISApp 类 属性:m_rsAccSet数据库记录集对象m_dbAccounts数据库对象m_accountMap帐号账户对象映射表 操作:CBankMISApp类构造函数,其中构造哈希表初始大小(使用 m_accountMap 完成)InitInstance初始化实例,其中完成连接数据库、建立对象映射表 及开启主对话框InitMap建立对象映射表 (2)CClientsMap 类(稍候说明) (3)CAccountsSet 类(稍候说明)2 2各种账户类型(主要数据类)各种账户类型(主要数据类)图 8.3 各类型账户类图 (1)CAccount 类(账户抽象基类) 属性:s_lastAccount存放记录集中最后一条记录的序号 s_accountCount账户总数 m_lID帐号m_strPassword密码 m_accID账户类型m_curType货币类型m_balance余额 m_perOwner储户信息m_createDate创建日期 操作:CAccount(ACCTYPE AccountType,