中移动渠道信息系统概要设计_第1页
中移动渠道信息系统概要设计_第2页
中移动渠道信息系统概要设计_第3页
中移动渠道信息系统概要设计_第4页
中移动渠道信息系统概要设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中移动渠道信息系统软件概要设计说明书修订记录版本号日 期作者授权人授权日期描述0.52004-08-16杜华正目录1简介21.1目的21.2范围21.3定义、缩写词和缩略语21.4参考资料21.5概述22系统概述23系统架构设计23.1系统结构设计23.2概念设计23.3应用架构设计24环境设计34.1开发环境设计34.2测试环境设计34.3应用环境设计35非功能性设计35.1可用性设计35.2可靠性设计35.3性能设计35.4可支持性设计35.5安全性设计35.6其他设计41 简介1.1 目的说明本软件概要设计说明书的目的。1.2 范围本文档基于广州移动渠道信息管理系统方案建议书和移动渠道管

2、理系统业务需求分析书(第一期),对移动渠道管理系统进行全局设计,并制订出系统的开发、设计规范,作为系统进一步详细设计的依据和原则。本文档的期望读者: 移动渠道管理系统建设方面的主管领导 系统构架师; 系统设计师; 系统开发人员;1.3 系统测试人员;定义、缩写词和缩略语提供正确理解软件概要设计说明书所需的全部术语的定义、首字母缩写词和缩略语。可以通过参考项目的词汇表来获取这些信息。1.4 参考资料完整地列出软件概要设计说明书中其他部分所引用的所有文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过参考附录或其他文档来提供。1.5 概述

3、说明软件概要设计说明书其他部分所包含的内容,并解释文档的组织方式。2 系统概述系统基于J2EE多层框架规范开发,并按广州移动渠道信息管理系统方案建议书中设计的系统开发框架开发。系统运行在J2EE应用服务器中,支持应用级集群,若系统不能满足业务需求压力,可通过增加J2EE应用服务器满足需求,不必对系统进行改造。系统设计重视各个级别的重用性,系统框架的重用,系统模块的重用,组件的重用,代码的重用。J2EE多层系统框架本身就基于组件模式,系统同样采用组件式开发,系统每个模块为一个或多个独立组件,为其他模块提供部分,尽量降低每个组件间的耦合度,使组件的修改对其他组件的影响降低或无影响。系统在设计阶段,

4、采用UML的建模方法,开发过程采用面向对象(OOA、OOD)的方法。使系统能很好地满足需求和灵活地应付需求的改变,当业务需求改变后,系统做简单的配置或改造就能很好满足变化的需求。系统在设计阶段进行系统的测试建模设计,系统测试分三个阶段进行:业务测试,功能测试和单元测试。保证系统的可用性和稳定性。3 系统架构设计3.1 系统结构设计系统框架的层次结构如下: 客户端层该层代表访问系统的人员,应用程序,或系统的客户端。它是整个系统的对外接口,是Web浏览器(IE),Java应用程序(Swing),Java Applet,WAP,其他应用程序、设备或者是批处理程序。 表示层 该层封装了用来服务访问本系

5、统的所有客户端的表示层逻辑。该层解释客户端的请求,提供单次登录,实现会话管理,控制对业务的访问(权限检查),构造客户端的回复(response),以及把回复传递给客户端。Servlet,JSP,Web Services驻留在该层。 业务逻辑层 该层提供业务服务,包括业务数据和业务逻辑。通常应用程序的大多数业务处理集中在本层。同时它管理事务。EJB驻留在该层。 集成层该层负责与外部系统和外部资源通信,它有多种方式,如与数据库连接使用的JDBC等. 资源层该层包括业务数据源和外部系统资源,如Oracle、Informix等数据库,JMS server,其他遗留系统等。其中涉及本系统开发的层包括:表

6、示层,业务逻辑层和集成层。客户端层和资源层为系统外部。系统功能结构如下图:l 系统综合管理模块包括:角色管理,权限管理,日志管理和系统参数管理。本系统的其他业务模块都基于本模块完成权限控制,参数读取等基础功能。l 渠道资料管理模块包括渠道基本资料管理、分销渠道下属网点资料管理,网点关系实体管理,渠道人员管理。l 物资管理模块包括分销渠道卡资源管理,票据管理和宣传物料管理。l 文件与信息管理模块包括文件下发,软件下载管理,公告管理,业务通知,信息收集,短信息交流,手机短信发送。l 报表管理模块各种与分销商交互的汇总、统计等表格管理模块。l 业务投诉模块l 数据库操作模块(DAO + Hibern

7、ate)底层数据库操作模块,应用DAO和Hibernate实现对关系型数据库和对象间的映射。l 外部接口模块应用设计模式中的Faade模式统一各功能模块的对外接口,并对封装了业务逻辑的EJB(Stateless Session Bean)的调用提供缓冲机制,整合WEB界面、 Web Services等客户端程序的调用。l WEB界面(JSP/Servlet)各个业务模块WEB界面的实现,应用Strut1.1 MVC框架实现。3.2 概念设计3.2.1 面向对象系统在设计开发阶段完全采用面向对象技术(OOA、OOP)。设计开发中运用面向对象方法,其中有三种基本的活动:识别对象和类;描述对象和类之

8、间的关系;以及通过描述每个类的功能定义对象的行为。为了发现对象和类,在系统需求和系统分析的文档中查找名词和名词短语,包括可感知的事物;角色;事件;互相作用;人员;场所;组织;设备和地点。通过浏览系统的业务定义发现重要的对象和其责任,这是面向对象分析和设计过程初期重要的技术。当重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理。静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系。一般化关系表示属性和方法的继承关系。3.2.2 设计模式设计模式是指我们通过

9、描述一个在软件开发环境中不断出现的问题,然后给出该问题的解决方案的核心。通过这种方式,可以无数次地使用那些已有的解决方案,无需在重复相同的工作。其实就是解决软件开发中某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。在系统采用面向对象技术后,系统的程序代码的重用性和可维护性会有很大的提高。而应用设计模式技术使系统可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使系统开发者更加容易理解其设计思路。在本系统中会应用到几种很常用的模式:n 工厂方法 (Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factor

10、y Method使一个类的实例化延迟到其子类。n 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。n 组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。n Facade模式:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。本系统,Facade模式主要应用在表示层和业务逻辑层之间的接口设计中。3.2.3 MVC架构MVC最初是在Smalltalk-80中被用来构建用户界面的。M代表模

11、型Model, V代表视图 View, C代表控制器Controller。MVC的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。 同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。通过把数据模式从各种可以被存取和控制的数据中分离出来可以改善系统的设计。MVC设计模式由三部分组成。模型是应用对象,没有用户界面。视图表示它在屏幕上的显示,代表流向用户的数据。控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对Model的操作。Model 通过更新View的数据来反映数据的变化。MVC结构如下图:View(视图)Controller(控制)Mode

12、l(模型)系统的表示层则应用完全采用MVC结构的Struts1.1,这样系统就把界面(View)和后台的控制完全非开开发。界面的改动是非常频繁和不可预知,应用Struts后,界面的改变并不对后台程序造成影响。3.2.4 DAO模式DAO 模式是标准 J2EE 设计模式之一。系统应用这种模式将底层数据访问操作与高层业务逻辑分离开。DAO 实现有以下组件:n 一个 DAO 工厂类;n 一个 DAO 接口;n 一个实现了 DAO 接口的具体类;n 数据传输对象(PO,有时称为值对象)。本系统中在集成层和业务逻辑层之间应用。DAO模式的实现则由Hibernate完成。3.2.5 O/R Mapping

13、工具的应用(Hibernate)系统在设计开发阶段完全采用面向对象技术,而我们的数据则存储在非面向对象的关系型数据库中,这样将面对所有用面向对象开发的系统所遇到的一个典型问题:对象和关系的映射问题。实际上自从OOP编程流行以后,就存在这个难题了,于是就有了在上层的应用层解决方案:对象和关系型数据映射工具(O/R Mapping)。在工具的选择上,系统摒弃臃肿,效率低下,难于开发和调试的实体BEAN(CMP Entity Bean),而采用了现非常流行的,轻量级的,开源的Hibernate。Hibernate有以下的特点:1. 开源和免费的License,可以在需要的时候研究源代码,改写源代码,

14、进行功能的定制。 2. 性能卓越,由于Hibernate只是对JDBC进行轻量的封装,并采用了JDBC的高级特性,使其性能并不低于直接应用JDBC。3. 轻量级封装,避免引入过多复杂的问题,调试容易,也减轻系统开发的负担。 4. 具有可扩展性,API开放,当本身功能不够用的时候,可以自己遍码进行扩展。 5. 开发者活跃,产品有稳定的发展保障。 6. 文档非常完善,为学习和开发提供能很好的帮助。3.3 应用架构设计3.3.1 表示层3.3.1.1 WEB工程规范严格遵循J2EE Web工程规范,使系统生成的Web包能发不到各个符合J2EE规范的应用服务器中。详细规范参考项目开发规范3.3.1.2

15、 Struts应用系统采用Struts 1.1 做为Web界面的框架,并应用Struts中的模版功能,每个系统模块的界面。详细参考项目开发规范3.3.1.3 JavaScript应用3.3.2 业务逻辑层3.3.2.1 系统综合管理模块3.3.2.2 物资管理模块3.3.2.2.1 卡类资源分配管理3.3.2.2.2 票据管理3.3.2.3 文件与信息管理模块3.3.2.4 报表管理模块3.3.2.5 业务投诉模块3.3.3 集成层3.3.3.1 DAO应用3.3.3.2 Hibernate使用3.3.4 其他本节需要分层次的(一般可按照模块的划分层次进行)描述各个模块(即包)的应用架构,即将

16、概念模型在各个模块进行实例化或具体化。一般使用类图进行描述,除了需要描述出各个包内部的类及接口的关系外,还需要明确定义和描述出本包所调用的别的包的类和接口。本处只需要定义出关键的类和接口。对于类的详细说明及其他类的提取和说明在此处可以引用详细设计文档的名称。4 环境设计4.1 开发环境设计4.1.1 操作系统Windows 2000 sp4。安装IE6浏览器。4.1.2 应用服务器Tomcat 4.1和IBM WebSphere v5.0,在个人开发中用Tomcat,简化开发,提高开发效率,而在整合各个模块后的系统则采用WebSphere v5.0,实时调试每个模块在应用服务器的运行情况。4.

17、1.3 数据库Informix v9.4 4.1.4 开发工具n Java开发工具:Borland JBuilder Xn UML设计工具:Rational Rose 2003n 数据库设计工具:PowerDesigner 10n 文档工具:Office 系统4.1.5 文档管理文档管理服务器:VSS 6.0代码管理服务器:CVS 4.2 测试环境设计4.2.1 操作系统Windows 2000 sp4。安装IE6浏览器。4.2.2 应用服务器IBM WebSphere v5.04.2.3 数据库Informix v9.44.2.4 测试工具4.2.5 文档管理文档管理服务器:VSS 6.0代

18、码管理服务器:CVS4.3 应用环境设计4.3.1 操作系统待定。(小型机操作系统,只要能运行Java 1.4或以上版本的虚拟机即可)4.3.2 应用服务器IBM WebSphere v5.04.3.3 数据库Informix v9.45 非功能性设计5.1 可用性设计此处是针对系统可用性需求而进行的设计,包括使用的可用性标准,如公司或业界的界面设计规范(MS GUI)、人机工程标准,以及这些标准在系统中如何进行采用和体现等。5.2 可靠性设计此处是针对系统可靠性需求而进行的设计,主要是说明系统是通过何种方式来保证可靠性需求得以实现的,以及在系统架构和数据库设计时是如何考虑的。5.3 性能设计此处是针对系统性能需求而进行的设计,主要是说明系统是通过何种方式来保证系统的性能得到满足,以及在系统架构和数据库设计时是如何考虑的。5.4 可支

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论