贵州移动商城项目系统软件总体设计说明书_第1页
贵州移动商城项目系统软件总体设计说明书_第2页
贵州移动商城项目系统软件总体设计说明书_第3页
贵州移动商城项目系统软件总体设计说明书_第4页
贵州移动商城项目系统软件总体设计说明书_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、移动商城项目(系统)总体设计说明书亚信联创科技(中国)文档中的全部内容属亚信联创科技(中国)所有,不可全部或部分、使用于任何目的。编 写编写 时间2013-03-05审 核审核 时间文档版本V1.00.00文档修订日期版本号描述著者审阅者日期2011/05/16v1.0对原总体设计文档进行简单修订目录1.引言.1.3.文档说明4参考资料4名词与缩写42.系统概述.2.3.设计目标5实现功能5设计约定...2.3.5.设计原则5Entity 设计原则6Business Service 设计原则6Action 设计原则7W

2、ge 设计原则93.总体架构114.规范与规则125.数据模型/对象136.应用部署.部署14运行环境147.接口设计概要.外部接口15内部接口188.安全性设计.系统层面20应用层面209.技术体系219.1. 21技术..3.SpringMVC 概念21Freemarker 概念22ibatis 概念231.引言1.1. 文档说明该文档概述了 2012 年移动网上商城基本的技术详细设计,为阅读对象了解系统的设计思路及基本功能提供支持。1.2.参考资料移动网上商城项目移动网上商城项目(系统)详细设计说明书移动网

3、上商城项目(系统)概要设计说明书接口重整业务表 new.xlsx1.3. 名词与缩写SBusiness & Operation Support System 的简称,即业务运营支撑系统Customer Relationship Managemen 的简称,即客户关系管理系统ECPSmerl Portal System 的简称,即电子商务门户系统2.系统概述2.1.设计目标移动新版商城系统(项目)设计的目标是为了取代前一版的商场系统,后的商城可承担号卡、机、案等的销售任务。2.2.实现功能实现移动用户单点登录、商城独有用户登录;实现号卡、机、营销案;实现用户订单管理、账户管理功能。2.3. 设计

4、约定2.3.1.所有设计原则必须继承 Base遵遁 Spring 的设计原则,所有外部资源,由 Spring 注入正确的示例:Component(userService)public claserService Autowiredprivate Useruser;public void add(User user) user.save(user);public UsergetUser() return user;错误的示例:Component(userService)public claserService private Useruser= new UserImpl();public voi

5、d add(User user) user.save(user);负责的简单的数据库操作,该层不应该引入有任何的业务逻辑正确的示例:public void save(User user) hibernateTemplate.save(user);错误的示例:public void save(User user) if (user.getName().equals(“admin”)user.set(“YYY”);hibernateTemplate.save(user);2.3.2.Entity 设计原则主键应注意物理主键及逻辑主键的区别,尽最大可能保持它们是一致的,在任何情况下,都需要对逻辑主键

6、的有效性、唯一性进行代码验证,而不能依赖于数据库2.3.3.Business Service 设计原则设计方法时应该将方法的功能尽量单一化每次只完成一个事务,尽最大可能减少事务的执行时间正确的示例:public void createAndStoreEvent(String title, Date theDate) ses.begranion();Event theEvent = new Event();theEvent.setTitle(title);theEvent.setDate(theDate);ses.save(theEvent);ses.getTranion().commit();

7、错误的示例:publicvoid createAndStoreEvent(String title,DatetheDate)ses.begranion();Event theEvent = new Event();theEvent.setTitle(title);theEvent.setDate(theDate);ses.save(theEvent);ses.getTranion().commit();sesTwo.begranion();Useruser= new User ();User.setTitle(title);User.setDate(theDate);sesTwo.save(t

8、heEvent);sesTwo.getTranion().commit();所有的方法都需要检查其参数的有效性严格按照 Spring 的设计原则来设计 Business Service 类,通过 Spring 注入的方式来获得相应的的实例Business Service 由erface 及 implemenion 组成,implemenion 实现erface的所有方法,Facade 层只能使用erface 来调用其中的方法2.3.4.Action 设计原则在调用 Business Service 之前,需要验证所准备处理的数据的合理性。服务器验证不通过者是不能被 Business Servi

9、ce 层对其进行处理的。正确的示例:Overridepublic String execute() throws Exception String strLoginId = mobjLoginDto.getMstrLoginId();String strPwd = mobjLoginDto.getMstrPwd();if (null != strLoginId & !(.equals(strLoginId)objUserService.addUser();错误的示例:Overridepublic String execute() throws Exception String strLogin

10、Id = mobjLoginDto.getMstrLoginId();String strPwd = mobjLoginDto.getMstrPwd();objUserService.addUser();Action 只能调用 Business Service 层或者其它 WebService 的客户端。正确的示例:public String execute() throws Exception objUserService.addUser();return super.execute();错误的示例:public String execute() throws Exception mobju

11、ser.addUser();return super.execute();Action 需要做好 Exception 处理,所捕获的任何 Exception 均应被处理成友好的描述,其中包括用户可以看到明白的原因,以及处理办法。显示抛出异常.2.3.5.Wge 设计原则遵遁 W3C 标准所有页面采用的 DTD错误的示例:Form1.get(“id”);正确的示例:. geementById(id);Web 页面里所包含的静态资源如 JS、CSS 文件,应尽量给他们瘦身,减少客户端的量采用 UTF-8 编码,修改方法如下:单个工程:整个工程:Form 中的各项字段都应作输入检查,确保所输入的内容

12、是合法的、有效的,可以采用 Ajax或 JavaScript 验证。3.总体架构4.规范与规则编程工具:eclipse编码规范:5.数据模型/对象序号子系统表名中文名称和简单描述使用方式1前台、后台子系统共用EB_BRAND商品品牌表,所有品牌信息。公用2EB_CAT商品类目表,针对的类目信息。公用3EB_CATBRAND类目品牌关联表公用4EB_ITEM商品表,每条商品的具体信息。公用5EB_FEATURE商品属性表,描述商品的功能属性。公用6EB_ITEM_TAG_IMG商品公用7EB_ITEM_CLOB商品大字段表公用8EB_SKU商品规格表,商品规格信息。公用9EB_OFFER_GRO

13、UP案表,描述活动集合的概念,包含开始和结束时间。公用10EB_OFFER活动档次表,描述具体活动档次信息,包含话费定制与返还规则。公用11EB_BACKLANDLOG登录日志表,每次登录的用户信息。公用12EB_CONSTR适用品牌表,每个案使用的品牌,包含,动感地带,神州行。公用13EB_PARA_VALUE商品与商品属性关联表,商品中使用了商品属性的具体值。公用14EB_SKU_OFFER商品规格与活动档次关联表,哪个规格参与该活动档次的信息。公用15EB_SPEC_VALUE商品规格与商品属性关联表,哪些商品属性是影响规格的,导致不同价格。公用16EB_USER用户表,的用户信息。公用

14、17EB_ROLE用户角色表,定义用户的角色范围。公用18EB_PERMIS用户权限表,定义用户可的页面。公用19EB_ROLEPERM用户角色和权限关联表,通过关联使相应角色可以哪个页面。公用20EB_USERROLE用户和角色关联表,通过关联可设置用户有哪些角色。公用21EB_MYFAV_SKU用户中心收藏表,用户的收藏内容。公用22EB_ORDER订单表,订单信息。公用23EB_SHIP_ADDR收货地址表,详细收货地址信息。公用6.应用部署6.1. 部署7.接口设计概要7.1. 外部接口用户号登录验证用户信息查询活动档次互斥校验校验接 名称下发接口 / Send_sms()接口类型We

15、bService交互方向ECPS-/S输入号码 / phone_id、下发内容 / message输出处理结果代码 / obdCode (obdCode != 0 代表下发失败 ;obdCode = 0代表下发成功)功能定义1)用户登录时,验证用户号登录口接 名称判断用户能否办理指定活动档次业务 / Do_chkPromoCondition()接口类型WebService交互方向ECPS-/S输入号码 / phone_id、活动/ promo_id、子活动/ cond_id输出处理结果代码 / flag (flag 0 代表活动档次不互斥,可以办理)功能定义用户下订单时,判断用户能否办理指定活

16、动档次业务口接 名称根据号码查询/Query_userInfo()接口类型WebService交互方向ECPS-/S输入号码/phone_id输出区域编码/region_code、区称/region_name功能定义用户登录时,根据号码查询,包括区域编码和区称口接 名称验证/ Verify_usassword()接口类型WebService交互方向ECPS-/S输入号码/phone_id、/password输出处理结果代码/result (result 0 代表验证成功)功能定义用户登录时,需要客户进行验证。口仓储库存校验串号校验支付接口需要()支付成功接口需要()实体商品(终端)信息同步首先

17、通过 sql 导入中间临时表中,然后通过触发“导入”接 名称支付结果返回 / MPAY_OrderSusNotice接口类型ECPS-支付交互方向支付-ECPS输入商户号、原订单日期、商户订单号、状态、备注输出商户收到的应答报文功能定义商户得到支付的结果口接 名称发起支付请求 / MPAY_TradeOrderFromWEB接口类型页面接口交互方向ECPS-支付输入商户号、交易金额、是否允许评论、用户进行确认的方式、币种、url、有效期数量、有效期、产品描述、产品、产品名称、交易类型、商户订单号、订单日期输出令牌功能定义商户在用户发起支付请求时调用此接口得到去支付网关的 URL口接 名称判断该

18、设备是否可用/ Get_eqptInfo ()接口类型WebService交互方向ECPS-/S输入串号 / phone_sequence输出设备信息 / sResEqptInfoList_Item功能定义案开通时,需要填写可用的设备串号进行案开通口接 名称判断用户选择的商品资源是否在该中心厅有库存 / Get_storageFor()接口类型WebService交互方向ECPS-/S输入资源/ res_code 、中心厅/_id输出库存数量 / total_count功能定义库存显示,判断用户能否该商品资源口2)用户下订单前,调用此接口下发给客户,再次验证用户信息按钮导入相关的库中实体商品

19、SKU 信息同步首先通过 sql 导入中间临时表中,然后通过触发“导入”按钮导入相关的库中案信息同步首先通过 sql 导入中间临时表中,然后通过触发“导入”按钮导入电商相关的库中案开通案取消接 名称案取消接口 / Do_stopPromo()口接 名称案开通接口 / Do_soUsromo()接口类型WebService交互方向ECPS-/S输入号 / phone_id、活动/ promo_id、活动类型 / promo_type、子活动/ cond_id、串号 / eqpt_sn输出处理流水号 / so_nbr 、错误信息 / error_msg功能定义案销售时,开通案口接 名称案同步接口类

20、型WebService/文件交互方向/S-ECPS输入套餐编码、案编码、活动档次说明等输出处理结果代码、对处理代码的解释功能定义口接 名称实体商品规格(SKU)同步接口类型WebService/文件交互方向/S-ECPS输入产品代码、规格代码、规格参数等输出处理结果代码、对处理代码的解释功能定义口接 名称实体商品同步接口类型WebService/文件交互方向/S-ECPS输入产品代码、产品名称等输出处理结果代码、对处理代码的解释功能定义口退款需要()支付订单状态查询需要()7.2. 内部接口用于检查用户登录状态用户提交订单接口名称提交订单 / submitOrder.do接口类型http输入订

21、单相关信息输出无功能定义用户提交订单接口名称查询用户登录状态 / getAjaxLoginUser.do接口类型http输入用户名输出登录成功返回用户json功能定义下订单时检查用户是否已经登录接口名称订单状态查询 / MPAY_OrderSus_Query接口类型WebService交互方向ECPS-支付输入商户号、商品订单号、原订单日期输出原订单日期、退款金额、订单状态、支付类型、订单失效日期、订单最后记账时间、拒付原因功能定义商户调用这个接口发起退款接口名称退款 / MPAY_OrderRefuse接口类型WebService交互方向ECPS-支付输入商户号、商户订单号、原订单日期、退款

22、金额、请求流水号、退款金额类型输出商户代码、支付单号、退款金额、退款结果功能定义商户调用这个接口发起退款接口类型WebService交互方向ECPS-/S输入号 / phone_id、处理流水号 / rso_nbr输出处理流水号 / so_nbr 、错误信息 / error_msg功能定义订单取消后,取消案的开通号卡订单接口名称号卡订单/ unlockedSimCard.do接口类型http输入订单号输出无功能定义用于锁定的号卡订单8.安全性设计8.1.系统层面防止网络、异常流量:、检测系统(IDS)系统:定期安全扫描、及时打补丁系统架构:水平扩展、冗余备份、系统功能降级、流量溢出控制8.2.

23、应用层面防止 SQL 注入、防止页面跨站严格的权限控制做删除,移动等不可逆的重要操作时请用户二次确认操作9.技术体系9.1. 技术PMS 系统的构建流程:根据需求分类设计不同的表结构保存对应数据。为每个表结构构建相应的实体类。按业务需求编写备数据。至此 M接口和实现类,SQLMap 文件,建立实体类与数据库之间的联系,为业务类准层设计完成。编写 SpringMVC 配置文件,构建系统框架,整合各个模块。编写 service 接口和实现类,根据用户需求的不同进行相应的业务处理。编写 Action 类,设计实现接受用户请求的方法。至此 Controller 成设计完成。编写 html 页面。美化页

24、面,View 层完成。9.1.1. SpringMVC 概念Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。SpringMVC 框架围绕DispatcherServlet 设计。 DispatcherServlet 的作用是将请求分发到不同的处理器。 Spring的 web 框架包括可配置的处理器(handler)、视图(view)、本地化(local)、 主题(theme以及对文件上传的支持。Spring 的 Web 框架中缺省的处理器是 Controller 接口,这是一个非常简单的接口,仅包含 MAndView handleRequest(request, resp

25、onse) 方法。可以通过实现这个接口来创建自己的控制器(也可以称之为处理器),Controller;Controller 接收 request, response 参数,然后返回MAndViewcontrollermactorview图 5 MVC 流程图作用所用技术或框架版本数据库oracle10g持久层框架ibatis2.3.4输出工具freemarker2.3.16整合系统中的 Web 部分SpringMVC.2.Freemarker 概念FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写被设计用来生成 HTML Web 页

26、面,特别是基于 MVC 模式的应用程序,更适合作为 M2 框架(如 Struts)的视图组件。FreeMarker 允许 Java servlet 保持图形设计同应用程序逻辑的分离,这是通过在模板中密封 HTML 完成的。模板用 servlet 提供的数据动态地生成 HTML。FreeMarker 与 Web 容器无关,即在 Web 运行时,它并不知道 Servlet 或 HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成 XML,JSP 或 Java 文等。图 6 FreeMarker 原理解说图模板 + 数据模型 = 输出1.FreeMarker 基于设计者和程序员是具有不同专业

27、技能的不同的观念2.设计者专注于表示创建 HTML 文件、生成设计页面要显示的数据、Web 页面的其它可视化方面;程序员创建系统,3. 在 Web 页面(或其它类型的文档)中显示的信息在设计页面时是无效的,是基于动态数据的。数据模型典型的数据模型是树型结构,可以任意复杂和次,如下面的例子:(root)|+-|animals|+-|+-|mouse|+- size = small|+- price = 50elephant|+- size = large|+- price = 5000类似于目录的变量称为 hashes,包含保存下级变量的唯一的查询名字类似于文件的变量称为 scalars,保存单值scalars 保存的值有两种类型:字符串(用引号括起,可以是单引号或双引号)和数字(不要用引号将数字

温馨提示

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

评论

0/150

提交评论