购物商城概要设计说明书.docx
《购物商城概要设计说明书.docx》由会员分享,可在线阅读,更多相关《购物商城概要设计说明书.docx(60页珍藏版)》请在冰豆网上搜索。
购物商城概要设计说明书
爱动(IDO)购物商城
项目概要设计说明书
V1.0
文档编号:
WishLab_01_R_V1.4
文件类型:
机密
编写:
编写日期:
2010-8-31
审核:
审核日期:
批准:
批准日期:
文档修订记录
序号
修改时间
修改人
审核人
备注
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
第一部分、引言
1.1编写目的
本说明是《爱动(IDO)购物商城》项目软件产品的总体设计和实现说明,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计和出错处理设计等,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据,为程序的详细设计提供基础。
同时该文档将作为产品实现、特性要求和控制的依据。
软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查,同时为下一步的详细设计说明提供框架。
1.2适用范围
本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员,不得提供给公司外人员。
1.3背景
说明:
A、软件系统的名称:
爱动(IDO)购物商城
B、任务提出者:
爱动商城
开发者:
软件工厂11期
实现完成的系统将在爱动商城的技术支持、产品管理等部门使用,所应用的网络系统是internet。
该公司的客户可通过互联网以多种方式浏览爱动(IDO)购物商城系统。
C、本系统将是独立的系统,目前不与爱动商城的财务系统和其他资料系统提供接口,所产生的输出都是独立的。
本系统将使用SQLServer2005作为数据库存储系统,SQLServer2005企业版将由爱动商城自行购买。
1.4定义
IDO:
爱动购物商城;
1.5文档概述
本文档包括以下部分:
总体设计
设计概述
接口设计
系统出错处理设计
系统维护设计
数据库基表结构
1.6参考资料
相关的文件包括:
《爱动(IDO)购物商城项目需求说明书》;
参考资料:
A、国家标准《概要设计说明书(GB8567——88)》;
B、莱克公司的人力资源管理项目的软件概要设计说明书;
C、东方书城商务公司《东方书城商务系统概要设计说明书》
D、《设计模式》
第二部分、总体设计
2.1需求规定
需求规定的详细内容,请参考独立的文档:
《爱动(IDO)购物商城需求分析说明书》;
2.2基本设计理念
1.数据集中存放,以B/S方式实现爱动(IDO)购物商城数据管理
2.基于.NET平台架构
2.3运行环境
1、设备:
服务器硬件需求:
具有PentiumIII处理器且满足以下要求的计算机:
最低1GB以上内存
最小40GB硬盘
鼠标
键盘
2、支持程序
浏览器客户端:
操作系统:
WindowsXP/NT/2000或更高版本
浏览器:
IE6.0以上或Netscape同等版本以上;
数据库服务器软件:
操作系统:
Windows2003Server或更高版本
Web服务器:
MSIIS;
应用服务器:
IIS、COM+等企业级应用服务器;
数据库产品:
SQLServer2005
2.3约束和假定
本系统基于.NET架构开发,要求系统运行在支持.NET的应用服务器中
2.4基本设计概念和处理流程
本系统采用.NET框架。
设计说明:
1、独立的存储访问模块,为保证系统共享唯一一个存储访问类,使用了单子模式设计存储访问类;
2、独立的业务逻辑层和业务表示层;
3、Web表示层采用ASP.NET2.0设计。
2.5人工处理过程
(不适用)
2.6尚未问决的问题
(不适用)
第三部分、设计概述
3.1简述
本系统完全采用C#语言开发,以B/S方式实现东方书城商务系统的功能,采用Visio2005和RationalRose2003工具完成业务建模和分析工作。
使用UML语言描述了系统的设计思想和业务流程。
3.2系统结构设计
3.2.1用户管理模块
3.2.1.1登录功能的实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
Login
用户登录页面
2
PageBase
所有页面类的基类
3
BLL:
:
Users
业务逻辑层处理用户登录数据的类
4
DataAccess
创建DAL层数据对象的类
5
SQLDAL:
:
Users
对数据对象的操作类
6
DBTool:
:
SqlHelper
对数据库的操作类
7
Model:
:
UserInfo
数据对象实体类
登录功能顺序图
使用方法说明:
编号
方法名
功能描述
1
GetUserLogin
获取用户登录信息
2
CreateUser
创建用户对象
3
GetUserInfo
获取用户实体对象
3.2.1.2注册功能的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
Register
用户注册页面
2
PageBase
所有页面类的基类
3
BLL:
:
Users
业务逻辑层处理用户登录数据的类
4
DataAccess
创建DAL层数据对象的类
5
SQLDAL:
:
Users
对数据对象的操作类
6
DBTool:
:
SqlHelper
对数据库的操作类
7
Model:
:
UserInfo
数据对象实体类
注册的顺序图
使用方法说明:
编号
方法名
功能描述
1
GetRegisterUser
获取用户注册信息
2
CreateUser
创建用户对象
3
GetRegisterUserInfo
获取用户实体对象
3.2.1.3找回密码的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
FindPassword
用户找回密码页面
2
PageBase
所有页面类的基类
3
BLL:
:
Users
业务逻辑层处理用户登录数据的类
4
DataAccess
创建DAL层数据对象的类
5
SQLDAL:
:
Users
对数据对象的操作类
6
DBTool:
:
SqlHelper
对数据库的操作类
7
Model:
:
UserInfo
数据对象实体类
找回密码的顺序图
使用方法说明:
编号
方法名
功能描述
1
GetFindPasswordUser
获取用户找回密码信息
2
CreateFindPasswordUser
创建用户对象
3
GetFindPasswordUserInfo
获取用户实体对象
3.2.1.4修改个人资料的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
AlterUserInfo
用户修改资料页面
2
PageBase
所有页面类的基类
3
BLL:
:
Users
业务逻辑层处理用户登录数据的类
4
DataAccess
创建DAL层数据对象的类
5
SQLDAL:
:
Users
对数据对象的操作类
6
DBTool:
:
SqlHelper
对数据库的操作类
7
Model:
:
UserInfo
数据对象实体类
修改个人资料的顺序图
使用方法说明:
编号
方法名
功能描述
1
GetAlterUserInfo
获取用户修改资料信息
2
CreateAlterUserInfo
创建用户对象
3
AlterUserInfo
获取用户实体对象
3.2.2购物车管理模块
3.2.2.1加入购物车的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
ProductDetail
单个商品页面
2
Model:
ProductInfo
商品对象实体类
3
BLL:
Cart
将商品加入购物车
4
App_Code:
ShoppingCart
购物车实体类
5
ProfileCommon
产生Profile对象
6
SqlProfileProvider
连接数据库
顺序图
使用方法说明:
编号
方法名
功能描述
1
AddShoppingCart
将商品加入购物车
2
3.2.2.2修改购物车的设计实现
类关系图如下所示:
(略)
顺序图
(略)
3.2.2.3清空购物车的设计实现
类关系图如下所示:
(略)
顺序图
(略)
3.2.2.4查看购物车的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
UI:
ShoppingCart
查看购物车页面
2
BLL:
Cart
得到购物车对象
3
ProfileCommon
产生Profile对象
4
SqlProfileProvider
连接数据库
顺序图
使用方法说明:
编号
方法名
功能描述
1
GetShoppingCart
得到购物车对象
2
3.2.3用户购买管理模块
3.2.3.1购物车结账的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
ShoppingCart
购物车页面
2
OrderInfo
关于订单详细信息的操作类
3
Access
生成对象的工厂类
4
IOrderInfo
产生数据层订单详细对象的接口
5
Order
产生订单详细数据操作对象
6
SqlHelper
对数据进行操作
顺序图
使用方法说明:
编号
方法名
功能描述
1
InsertOrderInfo()
传入商品的具体信息
2
InsertOrderInfo()
传入商品的具体信息
3
CreateOrderInfo()
根据传入数据创建订单详细
3.2.3.2添加收货信息的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
CreateOrders
订单显示页面
2
Orders
订单操作类
3
Access
生成对象工厂
4
IOrders
产生数据层订单对象的接口
5
Orders
产生订单数据操作对象
6
SqlHelper
对数据进行操作
顺序图
使用方法说明:
编号
方法名
功能描述
1
UpdateAddress()
传入相关信息
2
UpdateAddress()
传入相关信息
3
Updateaddress()
修改地址
3.2.3.3退单的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
ExamineOrders
查看订单页面
2
Orders
订单操作类
3
Access
生成对象工厂
4
IOrders
产生数据层订单对象的接口
5
Orders
产生订单数据操作对象
6
SqlHelper
对数据进行操作
顺序图
使用方法说明:
编号
方法名
功能描述
1
updateState()
传入修改的状态
2
updateState()
传入修改的状态
3
updateState()
修改订单状态
4
ReturnState()
返回修改后的状态
3.2.3.4确认收货的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
ExamineOrders
查看订单页面
2
Orders
订单操作类
3
Access
生成对象工厂
4
IOrders
产生数据层订单对象的接口
5
Orders
产生订单数据操作对象
6
SqlHelper
对数据进行操作
顺序图
使用方法说明:
编号
方法名
功能描述
1
updateState()
传入修改的状态
2
updateState()
传入修改的状态
3
updateState()
修改订单状态
4
ReturnState()
返回修改后的状态
3.2.3.5商品评价的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
ExamineOrders
查看订单页面
2
Appraisal
商品评价操作类
3
Access
生成对象工厂
4
IOrders
产生数据层商品评价对象的接口
5
Orders
产生数据操作对象
6
SqlHelper
对数据进行操作
顺序图
使用方法说明:
编号
方法名
功能描述
1
InsertAppraisal()
传送评价的具体信息
2
InsertAppraisal()
传送评价的具体信息
3
AddAppraisal()
添加评价的具体信息
3.2.4收藏管理模块
3.2.4.1加入收藏夹的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面类的基类
2
UI:
:
Products
产品页面
3
BLL:
:
Favorites
获取加入收藏夹信息类(表示层的商业逻辑)
4
DataFactory:
:
DataAccess
得到一个收藏夹的实例
5
IDAL:
:
IFavorites
命令接口
6
SQLDAL:
:
Favorites
通过SQLHelper类得到数据集
7
DBTool:
:
SQLHelper
数据操作类
顺序图
使用方法说明:
编号
方法名
功能描述
1
AddFavorites()
将商品加入到收藏夹
2
AddFavorites()
将商品加入到收藏夹
3.2.4.2删除收藏夹的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面类的基类
2
UI:
:
Favorites
收藏夹页面
3
BLL:
:
Favorites
获取收藏夹信息类(表示层的商业逻辑)
4
Data:
Factor:
:
DataAccess
得到一个收藏夹的实例
5
IDAL:
:
Iselectfavorites
命令接口
6
7
顺序图
使用方法说明:
编号
方法名
功能描述
1
DeleteFavorites()
删除收藏夹
2
DeleteFavorites()
删除收藏夹
3.2.4.3查看收藏夹的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面类的基类
2
UI:
:
Favorites
收藏夹页面
3
BLL:
:
Favorites
获取收藏夹信息类(表示层的商业逻辑)
4
Data:
Factor:
:
DataAccess
得到一个收藏夹的实例
5
IDAL:
:
Iselectfavorites
命令接口
6
SQLDAL:
:
Favorites
通过SQLHelper类得到数据集
7
DBTool:
:
SQLHelper
数据操作类
(此处为顺序图)
使用方法说明:
编号
方法名
功能描述
1
SelectFavorites()
查看收藏夹
2
SelectFavorites()
查看收藏夹
3.2.5积分管理模块
3.2.5.1查看积分的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面的基类
2
Integral
积分页面
3
BLL:
:
Integral
获取积分信息(业务逻辑层)
4
DataFactory:
:
DataAccess
得到一个积分信息实例
5
IDLL:
Integral
命令接口
6
SQLDAL:
:
Integral
通过SqlHelper得到积分信息数据的数据集
7
DBTool:
:
SqlHelper
数据库操作类
8
Model:
:
Integral
封装数据字段类
顺序图
使用方法说明:
编号
方法名
功能描述
1
GetIntegral
根据用户ID得到相应积分信息
3.2.5.2身份升级的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面的基类
2
Integral
用户个人中心主页
3
BLL:
:
Integral
修改积分信息与个人信息(业务逻辑层)
4
DataFactory:
:
DataAccess
得到一个实例
5
IDLL:
Integral
命令接口
6
SQLDAL:
:
Integral
通过SqlHelper得到一个数据集
7
DBTool:
:
SqlHelper
数据库操作类
8
Model:
:
Integral
封装数据字段类
顺序图
使用方法说明:
编号
方法名
功能描述
1
UpdateLevel
通过判断对用户等级和积分信息进行修改
3.2.5.3积分抵扣现金的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
PageBase
所有页面的基类
2
CreateOrders
支付页面
3
BLL:
:
Integral
获得使用积分后的付款价格(业务逻辑层)
4
Strategy:
:
Context
通过判断确定算法,得到结果对象
5
Strategy:
:
Super
返回给Context一个相应的算法结果对象
6
Strategy:
:
ConcreteStrategy
具体的算法类
顺序图
使用方法说明:
编号
方法名
功能描述
1
GetPrice
通过判断使用算法对支付价格进行修改
3.2.6商品管理模块
3.2.6.1添加商品的设计实现
类关系图如下所示:
顺序图
时序图描述:
添加商品在Products.aspx页面添加一个AddProducts的Button按钮,然后进入
EmendationProducts.aspx页面进行添加商品
使用方法说明:
编号
方法名
功能描述
1
BLL_AddProducts()
引用IDAL,Model层
使用DALFactory创建实例DataAccess.cs
2
DataAccess()
Factory,
用来确定加载哪引用IDAL
3
IAddProducts()
要实现的一组接口引用ModelAddProductsInfo.cs
4
AddProductsInfo()
业务实体Model
传递各种数据的容器
5
DAL_AddProducts()
Dal层
载的程序集,实现接口里的方法。
数据访问实现,使用了IDAL接口
6
SqlHelper()
数据库访问工具类SqlServerConnectionString得到数据库连接字符串
3.2.6.2删除商品的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
Products
商品管理页面
2
ProductsBLL
对商品的业务逻辑的处理类
3
ProductsDAL
对商品中数据库操作的处理类
4
IProducts
IDAL商品接口类
5
SqlHelp
帮助处理数据库操作类
6
DataAccess
商品工厂类
顺序图
使用方法说明:
编号
方法名
功能描述
1
BLL_DelectProducts()
引用IDAL,Model层
使用DALFactory创建实例DataAccess.cs
2
DataAccess()
用来确定加载哪引用IDAL
3
IDelectProducts()
要实现的一组接口
4
DAL_DelectProducts()
加载的程序集,实现接口里的方法。
数据访问实现,使用了IDAL接口
5
SqlHelper()
数据库访问工具类SqlServerConnectionString得到数据库连接字符串
3.2.6.3设置商品类别的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
ProductsPartition
添加商品分类页面
2
ProductsBLL
对商品的业务逻辑的处理类
3
ProductsDAL
对商品中数据库操作的处理类
4
IProducts
IDAL商品接口类
5
SqlHelp
帮助处理数据库操作类
6
DataAccess
商品工厂类
7
顺序图
使用方法说明:
编号
方法名
功能描述
1
BLL_ProductsPartition()
引用IDAL,Model层
使用DALFactory创建实例DataAccess.cs
2
DataAccess()
用来确定加载哪引用IDAL
3
IProductsPartition()
要实现的一组接口
4
DAL_ProductsPartition()
载的程序集,实现接口里的方法。
数据访问实现,使用了IDAL接口
5
SqlHelper()
数据库访问工具类SqlServerConnectionString得到数据库连接字符串
3.2.6.4修改商品信息的设计实现
类关系图如下所示:
类的描述如下表:
编号
对象名
说明
1
Products
商品页面
2
ProductsBLL
对商品的业务逻辑的处理类
3
ProductsDAL
对商品中数据库操作的处理类
4
IProducts
IDAL商品接口类
5
SqlHelp
帮助处理数据库操作类
6
DataAccess
商品工厂类
7
ProductsInfo
商品实体类
顺序图
修改商品信息时序图描述:
添加商品在Products.aspx页面