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

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

 

转自: http://www.cnblogs.com/cwzhang/archive/2012/02/01/2335019.html



一、需求确定
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

unitpe

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&源代码注释
用户帮助(前台)
管理员手册(后台)
测试文档

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值