Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1134798
  • 博文数量: 414
  • 博客积分: 10030
  • 博客等级: 上将
  • 技术积分: 4440
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-05 21:42
文章分类

全部博文(414)

文章存档

2011年(1)

2009年(1)

2008年(412)

我的朋友

分类: LINUX

2008-10-13 20:06:06

软件开发-需求分析
 
需求调查 
规格说明书要点:完整性、正确性、可行性、必要性、划分优先级、无二义性、可验证性
原形分析法--主要用户界面
1、开始窗口
2、欢迎窗口
3、种类窗口
4、货架/产品窗口
5、货物Item窗口
6、购物车窗口
7、登录窗口
8、帐户信息
9、窗口订单信息
10、窗口订单
11、完成窗口
 
功能介绍
PetStore共有四个子系统组成
1、PetStore Web Site,该部分是petstore的核心,客户登录系统进行选择,定购,提交订单
2、PetStore Admin,该部分是系统的管理功能,提供销售统计,手工接受.拒绝订单等功能,界面也是个web界面
3、Order Processing Center订单调度中心,对客户提交的订单进行处理,用java mail来通知客户,通过JMS发订单给供应商
4、PetStore Supplier为产品供应者提供维护画面。通过JMS接受订单,派送货物给用户,提供一个基于web的库存管理,维护库存数据库
 
软件开发--概要设计
 
总体设计、接口设计、运行设计、数据结构设计、出错处理、系统维护
设计考虑
1、应用框架的选择
Model1=JSP+JavaBean
Model2=JSP+Servlet+JavaBean  MVC
功能分离使得应用程序具有更好的重用性,和可维护性
2、WEB层处理商业逻辑和EJB层处理商业逻辑的选择
EJB层可提供一个稳定的,大规模的,基于组件的开发模式,以及各种稳定的企业特性,如持续性管理,安全管理,异步通讯,事务处理特性
本地和远程接口EJB的选择
远程EJB提高稳定性和性能
本地EJB提高性能,可实现细粒度的操作
配置和编程实现事务控制的选择
在显示数据的时候使用了程序控制
在更新数据的时候,采用了配置方式(EJB JDBC)
同步和异步方式的选择
使用同步方式读取货品的目录
使用异步方式发送订单
 
J2EE与MVC的结合
最上层Application Logic是用户视图;Web Application Framework(WAF)用来控制应用的视图跳转,产生模板视图,调用商业组件,完成商业处理,提供了许多WEB应用所需的服务,包括请求的过滤和分 发;Components封装了业务逻辑,商业数据,并且操作这些商业数据,实体EJB代表了商业实体
 
PetStore模块划分:控制模块、客户登录和注册控制模块、购物车模块、异步消息模块、货架目录模块、客户模块
 
数据库结构:ACCOUNTEJB、ADDRESSEJB、CATEGORY、 CATEGORY_DETAILS、CONTACTINFOEJB、COUNTEREJB、CREDITCARTDEJB、CUSTOMEREJB、 INVENTORYEJB、ITEMEJB、ITEM_DETAILS、LINEITEMEJB、MANAGEREJB、PRODUCTEJB、 PRODUCT_DETAILS、PROFILEEJB、PURCHASEORDEREJB、SEQUENCEGEN、 SUPPLIERORDEREJB、SUPPLIER_ADDRESSEJB、SUPPLIER_CONTACTINFOEJB、 SUPPLIER_LINEITEMEJB、USEREJB
 
软件开发--详细设计与实现
1、控制模块:控制用户的请求,商业逻辑,过滤器分析
2、客户登录和注册控制模块:做为客户注册登录,也CUSTOMEREJB连接
3、异步信息模块:客户下了订单以后,把消息通过JMS放在消息 列,对消息队列进行处理
4、货架目录模块:列出商品货架、种类,客户根据需求
5、客户模块:管理客户帐户
6、购物车模块:在逛网店时,添加商品
 
控制模块组成应用的框架
必须能处理所有的HTTP请求
HTTP响应输入可以是任何的Content-Type
商业逻辑可以容易扩展
新的视图应容易添加
必须提供灵活的外观控制
当应用变大时应容易维护
颗粒必须有很好的权衡
新功能必须容易添加
 
PetStore的Web Application Framework是对J2EE蓝图的web层规范的实现。
控制模块由WEB层的前台控制servlet和EJB层的EJBController构成
每个请求执行下列操作:
请求过滤
映射请求到某个HTML Action类
执行HTML Action
选择视图
结果视图的装配
映射事件到EJB Action
执行EJB Action
 
前台控制Servlet
负责接受和处理每个HTTP请求,协调其它控制组件分发请求和产生下一个view。请求处理类RequestProcessor将URLs映射到Action
Servlet Filter
可放置到前台控制Servlet之前,用来完成一些所有请求共同的处理
EJB层的EJBController
解释执行一个EJBAction,Event和EJBAction使得新的业务功能很容易加入到系统中。
模版Servlet(TemplateServlet)
用来拼装所有的页面,形成统一风格的界面
 
控制模块实现客户化功能
 
过滤请求
EncodeFilter(完成输码的功能)和SignOnFilter(用来检查用户是否登录)
集中控制
MainServlet处理所有的请求,控制屏幕走向和视图的产生
把一个请求映射到一个HTMLAction类执行
 
用户登录和注册控制模块
PetStore采用的是应用程序层来控制安全,使用实体EJB来记载客户和客户的帐户信息,在一些受保护的页 面,应用系统判断客户是否登录,如未登录,应用系统先保存这个请求地址,然后强制跳转到一个登录页面。客户选择使用已有帐户登录或注册新的用户。登录或注 册成功后,应用系统把保存在sessions中的信息和URL取出,跳转到那个URL中,让客户继续购物
 
PetStore使用WAF创建一个新用户。一个URL请求一来,RequestProcessor创建一个 CreateUserHTMLAction执行web层的处理,CreateUserHTMLAction仅仅返回一个事件 CreateUserEvent,RequestProcessor会把这个事件传递给Web端控制器WebClientController,Web端 控制器然后传递给EJB端控制器
EJBClientControllerEJB,它是一个有状态的EJB。EJB端控制器找到相应的EJBAction来完成真正的商业处理
 
异步消息模块
 
组件
1、EJB-代表商业数据和执行商业逻辑处理
2、JSP页面定义了整个视图框架模板template.jsp和模板组成的各个JSP,以及各种被引用的图形文件
3、XML文件-用于定义屏幕,屏幕跳转控制,绑定URL到某个HTML
4、Action,定制signOn,以及J2EE部署的XML文件
5、Servlet过滤器Filter用于校验用户安全的登录和输出的编码
6、异步信息发送组件-传输使用XML文件封装的订单到订单处理中心
阅读(773) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~