系统设计文档指南.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统设计分档 介绍: 设计目标: 高安全性。ATM系统在所有操作进行之前,必须先行验证密码。在涉及诸如修改账户密码和存款等敏感操作时,需要给予使用者二次确认的机会,以确保操作的正确;当进行账户金额修改操作时,如:取款,必须提示使用者打印凭条作为安全凭证。 易于使用。ATM系统的操作应当尽量简洁,并且伴有足够的提示信息。让使用者可以在初次使用本系统的情况下就可以安全高效地进行账户操作。 低故障率。针对可能出现的各种异常情况,ATM系统拥有详尽的检测和处理机制。 定义 ATMClient:ATM客户层 ATMServer: ATM服务层 QuerySubSystem: 查询子系统 WithdrawSubSystem: 取款子系统 TransferSubSystem:转账子系统 DepositSubSystem:存款子系统 ModifyAccountInfoSubSystem:账户信息更改子系统 DATABASE:数据库 概述 在这个文档中,我们给出ATM系统的具体系统设计,主要包括标识子系统、提供访问控制、设计全局控制流、标识访问控制、标识边界条件和标识服务。其中各个子系统服务由UML构件图标识求精。 建议软件体系结构: 2.1子系统分解: 我们从ATM系统的功能需求和分析模型中对子系统进行标识。这一活动的目的是将系统分解成自含的构件,这些构件应该是自治的。 我们选择了典型的三层体系结构的风格来设计我们ATM系统,通过一个ATMClient的子系统来为用户提供前端的启动所有与ATM操作有关的用例,在应用的逻辑层,我们创建一个ATMServer的子系统来接受用户通过ATMClient子系统发送过来的各种操作请求,而ATMServer子系统则是具体的调用执行我们设计的各种用例,包括QuerySubSystem、WithdrawSubSystem、TransferSubSystem、DepositSubSystem、ModifyAccountInfoSubSystem,而针对具体的实现,我们在存储层提供了一个DATABASE的子系统来对数据库进行各种操作,而在应用的逻辑层的各种用例子系统都是通过调用这个存储层的子系统来间接地对数据进行处理。 图1 子系统分解 2.2硬件/软件映射: ATM系统本身是一个分布式的系统,用户在不同的机子前,不论什么时间都可以进行操作。我们将整个系统区分为两个主要部分:用户使用的ATM机和银行的服务器端。对于银行服务器端我们不需要做过多的关注,只需要知道其接口,即AMT机如何与服务器进行交互即可。而对于ATM本身包含:卡槽、钱槽、键盘、按键、处理器和通信端口几个部分。每个用户直接接触的部分均和处理进行交互,由处理器通过通讯端口想服务器端发送或是接收信息。 图2 部署图 2.3持久性数据管理: ATM系统需要管理的数据比较简单,对于单个账户主要有:账户名、密码、余额以及一些附加信息。另一方面,系统对于数据的安全性要求很高,数据不能够出错更不能丢失,并且需要实时更新和快速搜索账号数据访问。 2.4访问控制与保密性: Objects Actors Account Bob(ATM Operator) examineBalance() withdraw() transferAccount() examineHistory() modifyAccountInfo() deposit() SystemManager managerAccount() examineLog() setATMState() 图3 ATM的访问控制表 访问控制: 上图中给出了我们这个ATM系统中的访问控制表,一个ATM的使用者(例如:Bob),通过在ATM机前对ATM的各种操作,能够正确执行的就是在访问控制表中加以限定的各种功能,而超出访问控制表的范围的功能,是该操作员所无法实现的。 使用者拥有的权限具体有查看余额、查看交易历史、存款、取款、修改账户信息以及转账,而对于其他的业务操作则是普通用户所不具有的,与此相对应的一个系统管理员拥有的权限则是管理账户、查阅ATM的操作日志、设置ATM的状态(取走或者放入一定数额的纸币)。同样对于其他的操作则是他所不具有的能力,如管理员不能修改别人账户的信息之类等等。 保密性: 在ATM这个系统中,保密性是尤为重要的,因为如果不具有很强的保密性,那么用户的信息很容易被暴露出来,如果用户的账户信息流入到不法分子之手,则会对账户造成重大的损失,这在金融业体现得更为重要。 针对这个保密性,我们对每一个持卡人和账户进行一个关联,只允许持卡人针对自己的账户进行相应的操作,而对于其他的不合法的操作则会提示警告或则不予理会。 2.5全局软件控制 在三种类型的控制流图中我们

文档评论(0)

00625 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档