┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
安徽工业大学毕业设计(论文)
Clothes补充UserCategoryProductCartItem选择商品类别查找商品加入购物车去支付ReceiveMsgOrder 填写 补充 OrderDetaill
图3.19系统初始类图
《虚线箭头是依赖,不对,应该用实直线(关联),关联上应该有多重性,即几对几》
第 21 页 共 60页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
安徽工业大学毕业设计(论文)
4 总体设计
经过需求分析阶段的工作,系统必须做什么已经清楚了,总体设计阶段就是决定怎么做的时候了。总体设计的基本目的就是回答“概括的话,系统该如何实现?”这个问题。下面就开始对系统的总体设计。总体设计主要从系统的架构、系统的模块划分和系统数据库的逻辑结构三方面进行设计。
4.1 系统总体设计思路
本系统采用分层模式把系统组织成一系列的层次,每一层提供一组服务。视图层主要用于与用户交互,提供用户操作接口,在具体实现中,主要用JSP技术展现交互界面;模型层主要用来封装业务逻辑,具体业务逻辑会放在各个组件当中;控制层用来协调模型和视图的,系统采用了Struts框架,总控制主要由Struts2控制器来实现。用简单的话描述这三层之间的协调工作流程就是,视图层将用户的操作请求交给控制器,控制器调用合适的模型来处理请求,模型处理的结果会发送给控制器,控制器选择合适的视图来显示处理结果。
4.2 系统功能模块划分
由需求分析的结果,系统主要分为前台和后台俩个子系统,后台做了进一步划分,分为确认付款、发货处理和后台管理,系统包图如图4.1所示:
eshop系统前台子系统付款确认子系统发货子系统后台管理系统图4.1系统包图
4.2.1 前台系统功能模块划分
前台主要为客户端用户提供进入系统的途径以及在线购物的功能,前台系统包图如图4.2所示:
第 22 页 共 60页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
安徽工业大学毕业设计(论文)
前台子系统用户注册用户登录浏览商品购物车处理订单处理 图4.2前台系统包图
4.2.2 后台系统功能模块划分
后台付款确认系统主要为后台付款确认管理员提供进入系统的途径并进行到款确认操作,发货处理系统主要为后台发货处理管理员提供进入系统的途径并进行发货操作,后台管理系统主要为后台管理员提供进入系统的途径并管理用户、商品、订单。
(1)确认到款系统包图如图4.3所示:
确认付款子系统管理员登录确认付款
图4.3确认到款系统包图
(2)后台发货处理系统包图如图4.4所示:
第 23 页 共 60页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
安徽工业大学毕业设计(论文)
发货子系统管理员登录 发货
图4.4后台发货处理系统包图
(3)后台管理系统功能模块图如图4.5所示:
后台管理子系统 管理员登录 用户管理 商品管理 商品类别管理 订单管理
图4.5后台管理系统功能模块图
《还可写各模块思路(流程),页面跳转流程等》
4.3 数据库逻辑结构设计《概念模型转关系模式,对》
在需求分析中,我们分析出数据的概念模型,概念模型是独立于任何一种数据模型,可以转换成任何一种具体的DBMS所支持的数据模型,如网状模型、层次模型和关系模型[3]。这里我们采用关系模型。
在概念模型中,我们确定的类有:用户信息类(user),商品信息类(product),服装信息类(clothes),商品类别信息类(category),购物车条目信息类(cartiten),订单信息类(order),订单详细信息类(orders_detail),以及他们的属性和操作,这里为了清晰地表达商品和商品类别这俩个对象类之间的联系,我们将他们的联系也转换成一个关系模式(category_product),把每一个类转换成一个关系模式如下,其
第 24 页 共 60页
┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊
安徽工业大学毕业设计(论文)
中,单下划线表现主键,双下划线表示外键:
user(id,username,password,isAdmin);
product(id,name,fix_price,jd_price,is_deleted,picture,now_amout,sale_amount,adds_time,is_special);
clothes(id,pro_id,brand,material,size,size_qty); category(id,name);
category_product(id,pro_id,cat_id); cartitem(id,user_id,pro_id,qty,size); orders(id,order_no,user_id,state,total_price); orders_detail(id,order_id,pro_id,qty,size);
《外键用波浪线。如何用关系范式进行设计没讲清,即多对多,一对多如何处理的》
第 25 页 共 60页