web开发流程 - 网上商城示例

 

一、需求确定
1:通过各种手段确定系统的功能与性能
   1)功能:注册、浏览、搜索...
   2)性能:可同时支持n个并发访问,并且响应时间不低于m毫秒...
   3)手段:头脑风暴(brain storm)、会议、询问、原型(界面原型、业务原型...)
2:本阶段是项目开发的最重要阶段
3:在web项目中,通常界面设计会在本阶段进行

 

二、分析与设计
1:架构分析与设计
   1)逻辑架构
      a:3层架构、n层架构
      b:MVC
      c:Model 1 or Model 2
      d:其他...
   2)物理架构
      a:Web服务器的分布
      b:数据库服务器的分布
      c:其他...
   3)技术解决方案的确定
      a:Java/.NET
      b:Open Source/商业
      c:其他...
2:业务逻辑分析
   1)根据需求分析业务逻辑
      a:有哪些人会使用本系统
      b:他们会使用本系统做什么
      c:通常他们使用本系统的步骤是什么样的
      d:会有哪些明显的类来支撑本系统的运行
      e:会有哪些不同的提示会反馈给用户
      f:其他...
   2)本阶段与需求的确定密切相关,通常在确定需求的时候就会进行相关的分析
3:业务逻辑设计(不同的项目步骤可能不尽相同)   
   1)根据需求的分析来确定具体的类
   2)确定类的属性
   3)确定类的接口(方法)
   4)确定类之间的关系
   5)取得用户操作流程在设计上的反映
   6)进行数据库的设计(面向对象设计提倡先设计类再设计数据库)
   7)其他...
4:界面设计
   1)设计系统的界面风格
      a:颜色、style
   2)设计系统的具体“模拟”界面
      a:能够从头走到尾(方便进行需求的确定,方便JSP程序员的开发)

 

三、开发环境搭建
    1:开发工具的确定
    2:配置管理工具的确定
    3:测试工具的确定
    4:文件服务器/配置服务器等的确定
    5:其他...

 

四、开发
1:开发-测试-开发-测试
   1)按照设计进行开发
      a:迅速开发原型
      b:进行迭代开发
      c:提早进行测试(单元测试、黑盒测试、性能测试、易用性测试、...)

 

五、文档编纂

 

=================================================================

 

网上商城示例:
一、需求确定
1:普通用户可以通过系统浏览商品(按类别)
2:普通用户可以通过系统搜索商品(按类别、价位、日期等)
3:普通用户可以通过系统下订单(享受市场价)
4:普通用户可以注册成为系统会员(免费注册)   
5:会员可以浏览和检索商品
6:会员可以下订单(享受会员价)
7:会员可以浏览自己下过的订单
8:会员可以管理自己的信息(自服务系统:修改密码、修改送货地址、修改联系方式)
9:会员可以分级别
   a:不同级别享受不同等级的优惠
   b:通过购物的金额确定级别
10:管理员通过后台进行会员管理
    a:会员浏览
    b:会员历史订单浏览
    c:会员删除
    d:指定会员级别
11:管理员通过后台进行产品分类的管理
    a:浏览、添加、删除、修改
12:管理员通过后台进行产品管理
    a:新增产品
    b:产品上柜
    c:产品下柜
    d:产品销量浏览
    e:产品搜索
    f:产品删除
    g:产品修改
13:管理员通过后台进行订单的管理
    a:订单查询
    b:修改订单状态
    c:订单搜索
    d:订单跟踪
    e:订单提醒

 

二、分析与设计
1:架构分析与设计
   1)逻辑架构
      JSP + JavaBean + DataBase
        a:JSP负责表现
        b:JavaBean负责业务逻辑
        c:DataBase负责持久保持数据
   2)物理架构
      a:Web服务器一台(配置)
      b:数据库服务器一台(配置)
   3)技术解决方案的确定
      a:WebServer - Tomcat5.5
      b:DataBase - MySQL5.0
2:业务逻辑分析
   1)会员类
      a:包装系统会员
      b:与订单类有一对多的关系
   2)管理员类
      a:包装系统管理员
   3)产品类
      a:包装产品的信息
      b:与订单式多对多的关系
   4)类别类
      a:包装产品的类别
      b:树状结构
      c:与产品是一对多的关系
   5)订单类
      a:包装订单的信息
      b:与产品是多对多的关系
      c:与会员是多对一的关系
   6)购物车类
      a:包装购物车的信息
      b:与产品是多对多的关系
3:业务逻辑设计
   1)User
      a:properties(id、username、password、phone、addr、rdate)
      b:methods(getOrders()、save()、change()、delete()、static search())
   2)Administrator
      a:properties(username、password)
      b:methods(login())
   3)Product
      a:properties(id、name、descr、normalPrice、memberPrice、pdate、category)
      b:methods(getCategory()、getSalesCount()、save()、change()、search())
   4)Category
      a:properties(id、name、descr、parent:Category)
      b:methods(getProductCounts()、save()、change())
   5)SalesOrder & SaleItem
      a:properties(id、userid、addr、SalesItem[]、odate)
      b:methods(getTotalPrice()、save()、change()、getSalesItems())
   6)SalesOrder & SaleItem
      a:properties(id、productID、unitPrice、pCount)
      b:methods(getTotalPrice()、save()、change())
   7)ShoppingCart & CartItem
      a:properties(userid、CartItem[])
      b:methods(getTotalPrice()、save()、change()、getCartItems())
   8)ShoppingCart & CartItem
      a:properties(productID、unitPrice、pCount)
      b:methods(getTotalPrice())
数据库设计,根据设计类的属性进行初步设计。
表名:User:字段名   字段类型   说明
            id       int        主键/自动递增
            username varchar    用户名
            password varchar    密码
            phone    varchar    电话
            addr     varchar    地址
            rdate    datetime   注册日期
表名:Product:字段名      字段类型   说明
               id          int        主键/自动递增
               name        varchar    产品名
               descr       varchar    描述
               normalprice varchar    市场价
               memberprice varchar    会员价
               pdate       datetime   上柜日期
               categoryID int        类别ID/引用Category表的id
表名:Category:字段名   字段类型   说明
                id       int        主键/自动递增
                name     varchar    分类名
                descr    varchar    描述
                pid      varchar    父id
表名:SalesOrder:字段名   字段类型   说明
                  id       int        主键/自动递增
                  userid   int        用户id
                  addr     varchar    送货地址
                  odate    datetime   下单时间
                  state    int        订单状态:0-订单未处理,1-处理成功,2-废单
表名:SalesItem:字段名     字段类型   说明
                  id        int        主键/自动递增
                  productid int        产品id
                  unitprice varchar    单价
                  pcount    datetime   数量
                  orderid   int        订单id/引用SalesOrder的id
4:界面设计
前台(根目录下): 
1)首页index.jsp
      a:显示某类商品
      b:根据id显示图片
      c:搜索
      d:注册
      e:登录
      f:自服务
   2)搜索界面search.jsp
   3)搜索结果searchresult.jsp
   4)注册
      a:注册页面register.jsp
      b:注册成功registerok.jsp
      c:注册失败registererr.jsp
   5)登录
      a:登录页面login.jsp
      b:登录成功loginok.jsp
      c:登录失败loginerr.jsp
   6)自服务selfservice.jsp
      a:修改密码changepassword.jsp
      b:修改成功changepasswordok.jsp
      c:修改失败changepassworderr.jsp
      d:修改其他信息changeinfo.jsp
      e:修改其他信息成功changeinfook.jsp
      f:修改其他信息失败changeinfoerr.jsp
   7)购物
      a:购物车浏览cart.jsp
      b:结账buy.jsp
后台(admin目录下):
   1)登录页面login.jsp
   2)首页index.jsp
      a:用户管理
      b:产品管理
      c:类别管理
      d:订单管理
   3)用户管理
      a:显示用户userlist.jsp
      b:删除用户userdelete.jsp
      c:搜索用户usersearch.jsp
   4)产品管理
      a:产品显示productlist.jsp
      b:产品添加productadd.jsp
      c:产品更改productchange.jsp
      d:产品删除productdelete.jsp
      e:产品搜索productSearch.jsp
   5)类别管理
      a:类别显示categorylist.jsp
      b:类别添加categoryadd.jsp
      c:类别删除categorydelete.jsp
      d:类别修改categorychange.jsp
   6)订单管理
      a:订单浏览salesorderlist.jsp
      b:订单处理salesorderdeal.jsp

 

三、开发环境搭建
    1:开发工具:eclipse3.2
    2:WEB SERVER:tomcat5.5
    3:DATABASE:MySQL
    4:SCM:CVS

 

四、开发
开发流程:
1:先写用户
2:再写分类
3:然后写产品
4:接下来写购物
5:最后订单处理
6:其他功能
开发安排(几个人几天完成):
V0.1:用户 - JavaBean 前台/后台
V0.2:分类 - JavaBean 前台/后台
V0.3:产品 - JavaBean 前台/后台
V0.4:购物 - JavaBean 前台
V0.5:订单 - JavaBean 前台/后台
V0.5:其他 - JavaBean 前台/后台

 

五、文档编纂
1:需求描述文档
系统分析与设计
数据库设计
开发接口API|docs&源代码注释
用户帮助(前台)
管理员手册(后台)
测试文档


posted @ 2012-02-01 19:15  icwzhang  阅读(1375)  评论(1编辑  收藏  举报