欢迎来到天天文库
浏览记录
ID:26466092
大小:470.00 KB
页数:9页
时间:2018-11-27
《系统设计文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、系统设计分档一.介绍:1.1设计目标:l高安全性。ATM系统在所有操作进行之前,必须先行验证密码。在涉及诸如修改账户密码和存款等敏感操作时,需要给予使用者二次确认的机会,以确保操作的正确;当进行账户金额修改操作时,如:取款,必须提示使用者打印凭条作为安全凭证。l易于使用。ATM系统的操作应当尽量简洁,并且伴有足够的提示信息。让使用者可以在初次使用本系统的情况下就可以安全高效地进行账户操作。l低故障率。针对可能出现的各种异常情况,ATM系统拥有详尽的检测和处理机制。1.2定义lATMClient:ATM客户层lATMServer:ATM服务层lQuer
2、ySubSystem:查询子系统lWithdrawSubSystem:取款子系统lTransferSubSystem:转账子系统lDepositSubSystem:存款子系统lModifyAccountInfoSubSystem:账户信息更改子系统lDATABASE:数据库1.3概述在这个文档中,我们给出ATM系统的具体系统设计,主要包括标识子系统、提供访问控制、设计全局控制流、标识访问控制、标识边界条件和标识服务。其中各个子系统服务由UML构件图标识求精。二.建议软件体系结构:2.1子系统分解:我们从ATM系统的功能需求和分析模型中对子系统进行标识
3、。这一活动的目的是将系统分解成自含的构件,这些构件应该是自治的。我们选择了典型的三层体系结构的风格来设计我们ATM系统,通过一个ATMClient的子系统来为用户提供前端的启动所有与ATM操作有关的用例,在应用的逻辑层,我们创建一个ATMServer的子系统来接受用户通过ATMClient子系统发送过来的各种操作请求,而ATMServer子系统则是具体的调用执行我们设计的各种用例,包括QuerySubSystem、WithdrawSubSystem、TransferSubSystem、DepositSubSystem、ModifyAccountInf
4、oSubSystem,而针对具体的实现,我们在存储层提供了一个DATABASE的子系统来对数据库进行各种操作,而在应用的逻辑层的各种用例子系统都是通过调用这个存储层的子系统来间接地对数据进行处理。QuerySubSystemWithdrawSubSystemTransferAccountSubSystemModifyAccountInfoSubSystemDepositSubSystemATMClientATMServerDATABASEStorageApplicationLogicInterface图1子系统分解2.2硬件/软件映射:ATM系统本身
5、是一个分布式的系统,用户在不同的机子前,不论什么时间都可以进行操作。我们将整个系统区分为两个主要部分:用户使用的ATM机和银行的服务器端。对于银行服务器端我们不需要做过多的关注,只需要知道其接口,即AMT机如何与服务器进行交互即可。而对于ATM本身包含:卡槽、钱槽、键盘、按键、处理器和通信端口几个部分。每个用户直接接触的部分均和处理进行交互,由处理器通过通讯端口想服务器端发送或是接收信息。图2部署图2.3持久性数据管理:ATM系统需要管理的数据比较简单,对于单个账户主要有:账户名、密码、余额以及一些附加信息。另一方面,系统对于数据的安全性要求很高,数
6、据不能够出错更不能丢失,并且需要实时更新和快速搜索账号数据访问。2.4访问控制与保密性:ObjectsActorsAccountBob(ATMOperator)examineBalance()withdraw()transferAccount()examineHistory()modifyAccountInfo()deposit()SystemManagermanagerAccount()examineLog()setATMState()图3ATM的访问控制表访问控制:上图中给出了我们这个ATM系统中的访问控制表,一个ATM的使用者(例如:Bob),
7、通过在ATM机前对ATM的各种操作,能够正确执行的就是在访问控制表中加以限定的各种功能,而超出访问控制表的范围的功能,是该操作员所无法实现的。使用者拥有的权限具体有查看余额、查看交易历史、存款、取款、修改账户信息以及转账,而对于其他的业务操作则是普通用户所不具有的,与此相对应的一个系统管理员拥有的权限则是管理账户、查阅ATM的操作日志、设置ATM的状态(取走或者放入一定数额的纸币)。同样对于其他的操作则是他所不具有的能力,如管理员不能修改别人账户的信息之类等等。保密性:在ATM这个系统中,保密性是尤为重要的,因为如果不具有很强的保密性,那么用户的信息
8、很容易被暴露出来,如果用户的账户信息流入到不法分子之手,则会对账户造成重大的损失,这在金融业体现得更为重要。
此文档下载收益归作者所有