还剩43页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
销售管理系统项目架构设计文档版本
1.0文档创建信息产品项目名称销售管理系统(SMS)产品项目编号产品经理项目经理创建日期总页数正文页数附录页数文档修订记录修改日期修改的章节修改类型修改描述修改人审核人版本号修改类型分为A–ADDED(增加)M–MODIFIED(修改)D–DELETED(删除)目录1引言
1.1编写目的系统描述销售管理系统架构概况,结合图例说明架构设计的原理、功能、实现方式、如何应用以及如何应对需求变化本文档针对系统架构设计实现的开发人员应着重阅读架构设计原理实现方式等部分说明描述,针对应用开发人员应着重阅读架构如何应用,功能实现以及如何应对需求变化部分
1.2背景项目中文名称销售管理系统项目英文名称SMS
1.0(Salemanagementsystem项目任务提出者中企动力销售管理部门项目开发者CE信息化部门项目最终用户中企动力商务人员及商务管理者
1.3涉众怎样使用文档本节列出了销售管理系统的最重要的涉众角色以及这些角色如何使用文档包来满足其关注点项目新成员阅读第二部分产品系统架构设计,以便进而了解编档视图的方式阅读系统概述和系统架构视图项目经理为了协助项目计划,应该强调场景视图,因为它能帮助定义工作任务,并确认必须是合格的查阅部署视图,以便了解必须获取的硬件环境,该硬件环境将协助确认需要建立的测试环境性能工程师查阅处理视图,以便了解可能的并发单元查阅部署视图,以便了解如何将软件分配到硬件安全性分析人员查阅部署视图,以便了解系统操作的物理环境维护人员查阅场景视图,以便了解现有实现单元和各实现单元的责任范围查阅部署视图的顶层视图包,以便了解每个软件单元的分配位置查阅开发视图,了解将代码单元分配到开发环境的方式,尤其应该查阅每个视图和每个接口规范中的基本原理客户查阅系统概述查阅场景视图、处理视图、部署视图、以便概括性地了解如何为执行系统任务对系统进行组织,并对构建系统所必须完成的工作进行认识用户用户通常不需要查阅构架文档,但是,他们能阅读场景视图中的行为规范,以便了解系统各部分的行为方式开发人员查阅场景视图,了解系统中的基本软件单元;查阅开发视图,描述软件模块的组织与管理,服务于软件编程人员,方便后续的设计与实现;查阅逻辑视图,了解开发人员可以使用哪些软件;查阅处理视图,关注非功能性的需求2产品系统架构设计
2.1系统概述客户整合数据库建立目标客户数据的采集录入,解决重复查找资料的问题提高工作效率目标客户资料的规范应用,解决客户“骚扰”问题意向客户、机会客户的业务跟进与业务保护规范商务体系管理商务员工的业务工作跟进记录与分析,提供人资绩效数据客户转化分析与业务预测商务体系任务、计划的下达与跟进管理《中企动力销售管理系统
1.0产品项目规划方案》《中企动力销售管理系统
1.0产品需求文档》(初稿)《销售管理系统非功能需求说明书》
2.2系统架构设计概述本系统使用vs2005系统开发,数据库为sqlserver2005使用组件化开发方式,数据库使用分布式数据库部署方式,达到可以通过扩展部署范围持续提高数据库的访问性能应用使用负载均衡方式部署,达到可以通过扩展部署范围持续提高应用的访问性能数据库的增、删、改均使用xml数据请求模型完成,所有的查询均使用sql语句完成辅助开发工具使用数据库结构到xml数据请求格式的映射工具为了保持可以快速增加功能发布层,对其它系统提供本系统的业务功能,业务规则验证层与业务规则验证层使用统一返回格式进行交互此开发层次模型是依据划分业务领域和需求分层理念进行规划,可以支持需求与开发并行开始,系统结构清晰,便于后期应用维护,并容易行成统一的需求分析、设计、开发模式,弱化人员能力对于开发的影响,可以更有效的控制开发过程但可能出现不同业务领域相互交互时的数据库事务同步问题,在本结构中纳入事务补偿机制,解决此问题
2.3架构视图模版架构视图采用4+1视图的方式参照IBM架构文档格式[http://www.ibm.com/developerworks/cn/rational/06/r-wenyu/index.html]逻辑视图:根据功能需求进行初步设计,进行大粒度的职责划分逻辑视图关注功能,不仅包括用户可见的功能,还包括为实现用户功能而必须提供的辅助功能模块;它们可能是逻辑层、功能模块等开发视图:软件架构的开发视图应当为开发人员提供切实的指导任何影响全局的设计决策都应由架构设计来完成,这些决策如果漏到了后边,最终到了大规模并行开发阶段才发现,可能造成程序员碰头儿临时决定的情况大量出现,软件质量必然将下降甚至导致项目失败其中,采用哪些现成框架、哪些第三方SDK、乃至哪些中间件平台,都应该考虑是否由软件架构的开发视图确定下来开发视图关注程序包,不仅包括要编写的源程序,还包括可以直接使用的第三方SDK和现成框架、类库,以及开发的系统将运行于其上的系统软件或中间件开发视图和逻辑视图之间可能存在一定的映射关系比如逻辑层一般会映射到多个程序包等处理视图:处理视图关注进程、线程、对象等运行时概念,以及相关的并发、同步、通信等问题处理视图和开发视图的关系开发视图一般偏重程序包在编译时期的静态依赖关系,而这些程序运行起来之后会表现为对象、线程、进程,处理视图比较关注的正是这些运行时单元的交互问题物理视图:物理视图关注目标程序及其依赖的运行库和系统软件最终如何安装或部署到物理机器,以及如何部署机器和网络来配合软件系统的可靠性、可伸缩性等要求物理视图和处理视图的关系处理视图特别关注目标程序的动态执行情况,而物理视图重视目标程序的静态位置问题;物理视图是综合考虑软件系统和整个IT系统相互影响的架构视图场景视图:系统功能的用例图从使用人员的角度来描述系统功能.3架构视图
3.1场景视图
3.
1.1商务代表整体用例图表
3.
1.1‑1商务代表整体用例图
3.
1.
1.1商务代表客户管理用例图表
3.
1.
1.1‑1商务代表客户管理用例图
3.
1.
1.2商务代表任务管理用例图表
3.
1.
1.2‑1商务代表任务管理用例图
3.
1.
1.3商务代表统计分析用例图表
3.
1.
1.3‑1商务代表统计分析用例图
3.
1.
1.4商务代表系统设置用例图表
3.
1.
1.4‑1商务代表系统设置用例图
3.
1.
1.5商务代表消息提醒用例图表
3.
1.
1.5‑1商务代表消息提醒用例图
3.
1.2商务经理用例图表
3.
1.2‑1商务经理用例图
3.
1.3总部、区域总监、商务总监用例图表
3.
1.3‑1总部、区域、商务总监用例图
3.
1.4MIS2接口用例图表
3.
1.4‑1MIS2接口用例图
3.2逻辑视图设计满足功能需求的架构根据系统功能需求初步设计进行粗粒度职责划分展显层基于页面数据控制层提供的数据及业务组合应用层的业务组合调用与终端用户的交互页面数据控制层,负责根据展显的不同方式进行数据格式的格式化,进行页面数据的绑定,并为业务组合应用层提供客户基于展显层输入的数据业务组合应用层,通过消息请求调用层与业务组件逻辑层进行交互,处理用户请求,此层不清楚,消息请求调用层如何和其它层次交互服务交互层,通过消息请求调用层与业务组件逻辑层进行交互,处理和其它系统的数据、功能交互此层不清楚,消息请求调用层如何和其它层次交互消息请求调用层,进行消息请求的传递调用,使用消息请求注入方式,加载业务规则层提供的业务规则,进行业务规则验证业务规则层,负责提供和验证系统中的所有业务规则业务组件逻辑层,负责各业务组件独立的业务逻辑实现,此层不处理业务逻辑中涉及的规则,独立组件内的业务规则需调用消息请求调用层请求完成业务组件实体层,负责各独立业务组件涉及到的持久化及反持久化管理数据库访问层,负责数据库操作的访问提供XML格式及SQL语句操作数据库的支持图表
3.2‑1销售管理系统的逻辑视图
3.3开发视图设计满足开发期质量属性的架构
3.
3.1展显层开发视图销售管理系统的用户使用浏览器进行操作,对于客户端验证交互采用Jquery
3.
0.1对于服务器端交互,非刷新交互使用AJAX方式,基于Jquery
3.
0.1完成刷新交互采用vs2005web应用的服务器事件图表
3.
3.1‑1展示展显层开发视图
3.
3.2页面数据控制层开发视图页面数据控制层是对数据信息的有效性验证和对数据信息的绑定,对数据信息有效性的验证包括客户端验证和服务器端验证,客户端验证使用JQuery验证、VS2005验证控件和正则表达式进行验证,服务器端验证采用后台公共验证类FunctionList进行验证;数据信息绑定采用DataControl类,根据不同控件类型分别进行绑定图表
3.
3.2‑1页面数据控制层开发视图
3.
3.
2.1客户端数据验证类图图表
3.
3.
2.1‑1客户端数据验证类
3.
3.
2.2服务器端数据验证类图图表
3.
3.
2.2‑1服务器端数据验证类
3.
3.
2.3控件数据绑定类图图表
3.
3.
2.3‑1控件数据绑定类
3.
3.3业务组合应用层开发视图业务组合应用层,通过消息请求调用层与业务组件逻辑层进行交互业务组合应用层包括,数据查询,数据统计,其他业务类型集合和同步WebCatch同步WebCatch使用.NETWebCatch和数据库监控程序通过.NET
2.0WebServices进行交互图表
3.
3.3‑1业务组合应用层开发视图
3.
3.
3.1数据查询类图图表
3.
3.
3.1‑1数据查询类图
3.
3.
3.2数据统计类图图表
3.
3.
3.2‑1数据统计类
3.
3.
3.3WebCache类图图表
3.
3.
3.3‑1webcache类
3.
3.
3.4数据监控类图图表
3.
3.
3.4‑1数据库监控类
3.
3.4服务交互层开发视图服务交互层是销售管理系统与外部系统接口通过WebServices进行交互,包括与外部系统Mis
2.0和HR系统的交互图表
3.
3.4‑1服务交互开发视图
3.
3.
4.1Mis
2.0数据同步类图表
3.
3.
4.1‑1Mis
2.0数据同步类
3.
3.
4.2HR数据同步类图表
3.
3.
4.2‑1HR数据同步类
3.
3.5消息请求调用层开发视图消息请求调用层,进行消息请求的传递调用,包括同步处理和异步处理图表
3.
3.5‑1消息请求调用层开发视图
3.
3.
5.1消息请求同步和异步处理调用类图表
3.
3.
5.1‑1消息请求同步和异步处理调用类
3.
3.6业务规则层开发视图业务规则层负责提供和验证系统中的所有业务规则,包括客户规则、客户跟进规则、设置规则和任务规则图表
3.
3.6‑1业务规则层开发视图
3.
3.
6.1客户规则类图图表
3.
3.
6.1‑1客户规则类
3.
3.
6.2客户跟进规则类图图表
3.
3.
6.2‑1客户跟进规则类
3.
3.
6.3设置规则类图图表
3.
3.
6.3‑1设置规则类
3.
3.
6.4任务规则类图图表
3.
3.
6.4‑1任务规则类
3.
3.7业务组件逻辑层开发视图业务组件逻辑层,负责客户管理逻辑、客户关系管理逻辑、消息管理逻辑、系统设置管理逻辑、统计分析管理逻辑和任务计划管理逻辑的实现图表
3.
3.7‑1业务组件逻辑层开发视图
3.
3.
7.1客户管理和客户关系管理逻辑类图图表
3.
3.
7.1‑1客户管理和客户关系管理逻辑类
3.
3.
7.2消息管理逻辑类图图表
3.
3.
7.2‑1消息管理逻辑类
3.
3.
7.3系统设置管理逻辑类图图表
3.
3.
7.3‑1系统设置管理逻辑类
3.
3.
7.4统计分析管理逻辑类图图表
3.
3.
7.4‑1统计分析管理逻辑类
3.
3.
7.5任务计管理逻辑类图图表
3.
3.
7.5‑1任务计管理逻辑类
3.
3.8业务组件实体层开发视图业务组件实体层,负责客户管理实体、客户关系管理实体、消息管理实体、系统设置管理实体、统计分析管理实体和任务计划管理实体的实现图表
3.
3.8‑1业务组件实体层开发视图
3.
3.
8.1客户管理和客户关系管理实体类图图表
3.
3.
8.1‑1客户管理和客户关系管理实体类
3.
3.
8.2消息管理实体类图图表
3.
3.
8.2‑1消息管理实体类
3.
3.
8.3系统设置管理实体类图图表
3.
3.
8.3‑1系统设置管理实体类
3.
3.
8.4统计分析管理实体类图图表
3.
3.
8.4‑1统计分析管理实体类
3.
3.
8.5任务计划管理实体类图图表
3.
3.
8.5‑1任务计划管理实体类
3.
3.9数据访问层开发视图数据访问层负责数据库操作的访问提供XML格式及SQL语句操作数据库的支持图表
3.
3.9‑1数据访问层开发视图
3.
3.
9.1WindXmlDataLibrary类图图表
3.
3.
9.1‑1WindXmlDataLibrary类
3.
3.
9.2WindStandardLibrary类图图表
3.
3.
9.2‑1WindStandardLibrary类
3.4处理视图
3.
4.1客户状态转换视图客户状态转换描述了客户信息从临时、闲置、获取、保护、闲置保护、签单等状态的转换过种以及在状态转换过种中需要满足的条件临时指公司从外部购买/个人获取的客户信息,未进入系统的客户数据状态闲置指客户信息当前还没有商务负责人的状态获取指商务代表从公司客户资料中提取客户信息并归为自己负责的一个操作,锁定此客户信息后其它商务代表将不能使用或拜访此客户信息但此类操作有时间限定不能超过限定时间,操过系统自动将此客户信息放回客户信息资料库中保护概念同“客户获取”,当商务代表获取后,与客户沟通拜访后,客户有意向购买中企产品,则可以设置客户为保护状态与“客户获取”区别在于保护时间更长闲置保护如果客户被商务代表拜访过,被重新返回客户公共池需要间隔一段时间后,在能被别的商务代表获取不能直接被其它商务代表获取,此时间段为闲置保护期在此期间商务代表不能获取此客户信息,但是客户人员可以做资料修改、删除、转移等操作总监也可以锁定客户签单商务代表与客户正式签过合同信息,转为签单客户图表
3.
4.1‑1客户状态转换视图
3.
4.2数据访问处理流程数据访问处理流程主要描述数据访问层对象的创建过程和对数据库的访问为了使流程图简单清晰,后文有关数据访问部分都省略此流程的详细信息,都以“数据访问处理”来代替此过程图表
3.
4.2‑1数据访问处理流程
3.
4.3Cache管理流程Cache管理流程主要描述销售管理系统框架提供统一的缓存管理流程为了使流程图简单清晰,后文有关使用到缓存部分都省略此流程的详细信息,都以“公用缓存”来代替此过程图表
3.
4.3‑1Cache管理流程
3.
4.4页面控件加载流程页面控件加载流程主要描述销售管理系统框架提供统一控件的管理图表
3.
4.4‑1页面控件加载流程
3.
4.5连接字符串存贮管理连接字符串存贮管理主要描述销售管理系统分布式数据库访问连接的管理图表
3.
4.5‑1连接字符串存贮管理
3.
4.6任务/计划制定序列图任务/计划制定序列图主要描述销售管理系统任务/计划制定的处理流程图表
3.
4.6‑1任务和计划制定序列图
3.
4.7查看任务/计划序列图查看任务/计划制定序列图主要描述销售管理系统任务/计划查看的处理流程图表
3.
4.7‑1查看任务和计划的序列图
3.
4.8消息信息查看序列图消息信息查看定序列图主要描述销售管理系统消息信息查看的处理流程图表
3.
4.8‑1消息信息查看序列图
3.
4.9系统设置序列图系统设置序列图主要描述销售管理系统系统设置的处理流程图表
3.
4.9‑1系统设置的交互图
3.
4.10字典表访问处理字典表访问处理主要描述销售管理系统字典表访问处理流程图表
3.
4.10‑1字典表访问
3.5部署视图。