当前位置:首页 > 基于UML的面向对象软件设计文档
基于UML的面向对象软件设计文档
1、引言
1.1系统概要及其运行环境
网上银行系统(IBANK V1.0)是一个根据网上银行系统的需求规范说明书开发的原型系统,目的是建立一个可以让消费者通过网络进行交易处理,如订购商品、转帐等的网络应用平台。该系统在各开发阶段中,都突出现代软件工程新思想、新技术的研究与应用,及其有效性和实用性的证实。如在分析阶段,将UML/Use Case方法与用例驱动需求分析建模思想相结合;在设计阶段,采用软件分析模式、设计模式等分类概念;在实现阶段,又准备注重于大粒度的软件组件的开发与应用,进一步提高软件重用度。
本系统采用浏览器/服务器(B/S)的工作方式,系统的用户主要有:网上银行工作人员、商户中的管理人员、网上银行用户(也称消费者)。用户只要在计算机上装有IE或Netscape浏览器,并有基本的浏览器操作知识,便能方便的使用本系统。
服务端软件环境采用操作系统Windows 2000 Server或UNIX,Application Server为IBM WebSphere(版本3、发行版5),数据库为IBM DB2企业版7.0。用户端软件环境:浏览器IE或Netscape系列。WebSphere应用服务器支持EJB编程模型,可以通过IIOP访问组件,利用这个编程模型,可在Web应用中实现对各种商业对象的访问和运行服务。考虑本系统的复杂性,本次设计未使用EJB,组件用JAVABEANS实现。
整个系统分布为消费者PC机、网上商户端、各省网关、全国网关以及银行前置机,网上商户端在网上发布商品信息,接受用户购买请求,并通过支付网关与网上银行相连,网上银行采用与银行前置机连接进而连通传统银行系统,其中支付网关存在各省网关与全国网关的对帐要求,对帐、网上数据传输使用XML技术。 1.2系统的组成部分及其结构
系统的结构图
软件系统由四部分组成:存取款部分、网上购物部分、计息扣费部分和查询部分。系统的结构图如图所示,其中包括查询、支付等软组件的公共组件库和转帐、购物等专门领域组件库。 1.5 定义
本文档涉及的专门术语、容易引起歧义的概念及其他需要解释的内容见需求说明书1.5节。
1.6 参考资料
略。
2、软件设计约束 2.1 设计目标和原则
(1)本设计欲达到的目标要求满足用户需求且软件系统具有良好的可扩充性、可维护性;
(2)为实现上述目标,在设计软件过程中采用统一建模语言UML描述基于网络计算平台的整个系统,在分析、设计时充分利用软件模式及组合软件模式,利用前人的专家级经验,提高开发效率;最后的产品用软件组件的形式加以封装,并用XML来描述软件组件及各软件组件间的接口。 2.2 设计约束
(1)无论是消费者、商户还是银行员工都可以通过Internet访问该系统,完成各自授权的活动、工作。
(2)该系统必须确保对数据进行完全保护,以避免未经授权的访问。所有的远程访问都要登录,并且每个登录用户只能访问其角色所授的权限。
(3)该系统采用B/S模式,并且考虑性能、安全、可靠性、易维护等方面的问题采用架构模式MVC 2。
(4)基于成本及易维护和易迁移的考虑,系统架构在J2EE平台上,使用的工具有Rational Rose2002、JDK1.4、Ultra Edit9、Jbuilder8等。
(5)整个开发过程应满足软件开发计划所定的时间表。 3、软件设计描述 3.1 总体结构设计
本网上银行系统由以下功能模块设计组成: (1)存取款模块(取款同时扣费)
(2)网上支付(购物)模块(转帐同时扣费) (3)网关支付模块
(4)计算利息和固定扣费模块 (5)网上查询和服务收据模块 3.2 存取款
存款用例见需求书2.1节Saving用例说明,其顺序图如下:
Bankpersonnel : Bankpersonnel Login( ) Savingaccount( ) Customer : Customer Account : Account Saving( ) ok success
取款用例见需求书2.1节Cashing用例说明,其顺序图如下:
Bankpersonnel : BankpersonnelLogin( )Customer : CustomerAccount : AccountCashingaccount( )Cashing( )okComputing( )
3.3网上支付(购物) 3.3.1 用例
略。
3.3.2用例实现
本节通过顺序图实现了系统架构中具有重要意义的用例,并演示了不同的设计模型元素如何配合来实现用例的。
网上银行的重要用例:网上支付(转帐)
注册消费者的重要用例:登录;产品查询;增加定单项 网上支付(转帐)的顶层顺序图如下: 略。
下图详细描述了商户网站的购货处理逻辑和支付网关的购货处理逻辑相互协调地完成购货业务的处理过程。
CustomerBuyGoods at SellerBuyGoods at Payment GatewayGreenCardAdaptor1: BuyGoodsRequest2: PaymentRequest(BuyGoodsOrder)3: Transmit(TransmitPaymentBill)4: PaymentRequest(PaymentBill)5: Result6: Transmit(Result)7: Result8: Result
顺序图说明
(1)消费者浏览商户网站、购货并在确定购货订单后向商户网站的购货组件发送BuyGoodsRequest请求。
(2)商户网站的购货组件将消费者的购货请求封装成购货单BuyGoodsOrder,发送给网关的购货组件。
(3)如果因消费者银行开户行所在的省支付网关与本支付网关不为同一支付网关,则支付网关将这个购货单封装成用于网关间转发的支付单TransmitPaymentBill,经全国支付网关转发到相应的省支付网关进行处理。
(4)支付网关封装形成支付单并发送给银行前置机,以调整银行帐户数据。 (5)-- (8) 处理结果返回。 登录顺序图如下: 略。
查询顺序图(通过产品号)如下: 略。
增加定单项顺序图如下: 略。
3.3.3逻辑视图
逻辑视图描述最重要的类、从这些类到包和子系统的组织形式,以及从这些包和子系统到层的组织形式。它还要描述最重要的用例实现。
本模块主要有以下包:
javajavaxorgShoping
包图的说明略。 系统体系结构:由于该模块是一个典型的商务网站,所以采用已经证明是很成熟的参考架构MVC-2,并使用该架构的实现框架Struts,其表示如下: 略。
3.3.4部署视图
部署视图描述了最常用平台配置的不同物理节点,还描述了如何将任务分配到物理节点。该部分按照物理网络配置进行组织;在利用部署图说明每个这样的配置后,接着映射每个处理器的进程。
桌面PC<<互连网>>Web服务器<<互连网>>数据库
桌面PC:者或管理员都可以通过可以连上internet的桌面PC连接到服务器,进行各自授权的操作。管理员可以查看系统产品的库存情况、消费者资料并进行管理、维护等操作。注册消费者可以选购商品、查看定单情况并进行定单跟踪、个人定制等操作。 Web服务器:统软件驻留的主机,
数据库管理系统:存所有的数据,包括用户信息、产品目录、库存信息、产品详细资料等各种数据。 3.3.5数据视图
数据库中包括以下表:
1产生向支付网关发送的消息ReturnGoodsOrder并发送,格式如下: 属性名称 网站代号 webStatCode 类型 String 长度 10位 说明 举例 备注 10位字符串 Web0000001
共分享92篇相关文档