网上购书系统子系统设计.docx
《网上购书系统子系统设计.docx》由会员分享,可在线阅读,更多相关《网上购书系统子系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
网上购书系统子系统设计
子系统设计
1.类的列表
包
类名
说明
Web
Default
前台首页页面类
BookBrief
前台图书概要页面类
Item
前台图书详情页面类
ShoppingCart
前台图书详情页面类
CheckOut
前台订单页面类
UserProfile
前台个人设置页面类
Search
前台图书检索页面类
Register
前台会员注册页面类
Admin
Default
后台首页页面类
Category
后台目录管理页面类
Book
后台图书管理页面类
Order
订单管理页面类
Login
后台登录页面类
BLL
OrderManager
订单管理逻辑类
CategoryManager
目录管理逻辑类
BookBriefManager
图书概要管理逻辑类
ItemManager
图书详情管理逻辑类
CartManager
购物车管理逻辑类
AccountManager
账户设置管理逻辑类
DAL
OrderAccess
订单数据访问类
CategoryAccess
目录数据访问类
BookBriefAccess
图书概要数据访问类
ItemAccess
图书详情数据访问类
CartAccess
购物车数据访问类
Model
OrderInfo
订单信息类
CatrgoryInfo
目录信息类
BookBriefInfo
图书概要信息类
ItenInfo
图书详情信息类
CartInfo
购物车信息类
LineItemInfo
订单明细信息类
OrderStateInfo
订单状态信息类
AddressInfo
账户地址信息类
DataBase
数据库连接类
SQLString
SQL语句构造类
2.类的规格说明示例
1)CartManager
表1.1CartManager私有数据成员
字段名称
类型
说明
CartItems
Dictionary
Private,购物车集合
DAL
CartAccess
Privatestaticreadonly,CartAccess对象
表1.2CartManager公共属性
属性名称
类型
说明
Total
Decimal
Public,购物车图书总价格
Count
Int
Public,购物车中所选定图书项数
CartItems
ICollection
Public,购物车中选购信息集合
表1.3CartManager类公有方法
方法名称
返回值类型
返回值说明
参数
参数类型
参数说明
概要
SetQuantity
Void
空
BookIdqty
String,int
图书编号,购买数量
公有方法,设置所要购买图书的数量
Add
Void
空
BookId
String
图书编号
公有方法,将选定图书放入购物车
Add
Void
空
CartItem
CartInfo
购物车明细对象
公有方法,将Cart表中的一条记录数据添加到购物车中
Remove
Void
空
BookId
String
图书编号
公有方法,从购物车中按书号移除图书
Clear
Void
空
公有方法,清空购物车中的购物车
GetCartItems
Void
空
Username
String
会员用户名
公有方法,调用CartAccess类的同名方法
SetCartItems
Void
空
Username,
cartItems
String,
Icollection
会员用户名,购物车图书集合
公有方法,调用CartAccess类的同名方法
GetOrderLineItems
LineItemInfo[]
订单明细对象数组
公有方法,将购物车中的图书信息转换成订单明细信息
2)CartAccess
表2.1CartAccess类公有方法
方法名称
返回值类型
返回值说明
参数
参数类型
参数说明
概要
GetCartItems
IList
Cart表中指定会员的购物车信息集合
Username
String
会员的用户名
公有方法,从Cart表中获得该会员索保存的购物车数据
SetCartItems
Void
空
Username,cartItems
String,Icollection
会员的用户名购物车图书集合
公有方法,用购物车中的图书信息更新Cart表中的数据,使二者保持一致
3)ItemManager
表3.1ItemtManager类公有方法
方法名称
返回值类型
返回值说明
参数
参数类型
参数说明
概要
Search
Dataset
Sql
Sql
String
数据访问类
公有方法,调用数据访问类的图书检索方法
GetItem
ItemInfo
BookId
BookId
String
图书号
公有方法
AddItem
Void
ItemInfo
Info
ItemInfo
公有方法,增加Item选项
4)ItemAccess
表4.1ItemAccess类公有方法
方法名称
返回值类型
返回值说明
参数
参数类型
参数说明
概要
Search
Dataset
Sql
Sql
String
数据访问类
公有方法,调用数据访问类的图书检索方法
GetItem
ItemInfo
BookId
BookId
String
图书号
公有方法
AddItem
Void
ItemInfo
Info
ItemInfo
公有方法,增加Item选项数据
3.用例具体实现示例
1)购物车图书添加(放入图书到购物车,见图3.1.1至图3.1.3)
图3.1.1购物车图书添加序列图
图3.1.2图书详细页面
图3.1.3购物车页面
2.订单生成
3.订单页面
订单页面
4.系统用户界面总览
1)首页
首页
2)图书概要页
图书概要页面
3)图书详情页
图书详细页面
4)购物车页
购物车页面
5)订单生成页
订单生成页面
6)我的订单页
我的订单页面
7)图书检索页
图书检索页面
5.数据库设计
1)表的概述
表5.1用户自定义的数据表
序号
表名
含义
初始大小
最大增长范围
增长方式
1
Category
图书类别表
128KB
640KB
自动计算,增长速率:
1行/月
2
BookBrief
图书概要信息表
256KB
16MB
自动计算,增长速率:
20行/月
3
Item
图书详情信息表
256KB
16MB
自动计算,增长速率:
20行/月
4
Cart
购物车信息表
128KB
10MB
自动计算,增长速率:
1000行/月
5
Orders
订单头信息表
256KB
51MB
自动计算,增长速率:
30行/月
6
LineItem
订单明细表
128KB
16MB
自动计算,增长速率:
1000行/月
7
OrderStatus
订单状态表
128KB
16MB
自动计算,增长速率:
1000行/月
表5.2Asp.Net成员资格自动生成的数据表
表名
说明
aspnet_Applications
应用程序的基本信息:
程序名,程序描述等
aspnet_Membership
用户的详细信息:
用户名,邮箱等
aspnet_Paths
应用程序路径信息
aspnet_PersonalizationAllUser
存储所有用户的个性化信息
aspnet_PersonalizationPerUser
存储特定用户的个性化信息
aspnet_Profile
个性化配置的内容
aspnet_Roles
角色表
aspnet_SchemaVersions
各部分的版本信息
aspnet_Users
用户表
aspnet_UserInRoles
用户与角色的关系表
aspnet_WebEvent_Events
存储事件日志信息
2)表的详细设计
表5.3Category表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
CatrgoryId
Smallint
Yes
PK
No
类别编号
CategoryName
Nvarchar(50)
Yes
No
类别名称
Desc
Nvarchar(50)
No
Yes
类别描述
表5.4BookBrief表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
BookId
Varchar(10)
Yes
PK
No
图书编号
CategoryId
Smallint
No
FK
No
目录编号
BookName
Varchar(80)
No
No
图书名称
BookDesc
Varchar(255)
No
No
图书描述
BookImage
Varchar(80)
No
No
图书图片
AddTime
Datetime
Getdate()
No
No
添加时间
IsHeadLine
Bit
No
No
是否热点推荐
IsClassic
Bit
0
No
No
是否经典书目
表5.5Item表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
BookId
Varchar(10)
Yes
PK/FK
No
图书编号
BookAuthor
Nvarchar(50)
Yes
No
作者
Publisher
Nvarchar(50)
No
No
出版社
publishDate
Datetime
No
No
出版日期
BookPrice
Decimal(10,2)
No
No
图书市价
ListPrice
Decimal(10,2)
No
No
售价
UnitCost
Decimal(10,2)
No
No
成本价
ItemName
Varchar(80)
No
No
详细书名
ItemImage
Varchar(80)
No
No
详细图片
Qty
Int
No
No
数量
表5.6Cart表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
UserName
Varchar(256)
Yes
PK
No
用户名
BoolId
Varchar(10)
Yes
PK/FK
No
图书编号
Price
Decimal(10,2)
No
No
售价
ItemName
Varchar(80)
No
No
详细书名
Quantity
Int
0
No
No
数量
表5.7Orders表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
OrderId
Int
Yes
PK
No
订单编号
UserId
Varchar(20)
No
No
用户名
OrderDate
Datetime
Getdate()
No
No
订单日期
ShipToName
Varchar(80)
No
No
接货人姓名
ShipEmail
Varchar(80)
No
No
接货人电邮
ShipAddr
Varchar(80)
No
No
接货人地址
ShipCity
Varchar(80)
No
No
接货人所在城市
ShipState
Varchar(80)
No
No
接货人所在省份
ShipZip
Varchar(20)
No
No
接货人邮编
ShipCountry
Varchar(20)
No
No
接货人所在国家
ShipPhone
Varchar(20)
No
No
接货人电话
BillToName
Varchar(80)
No
No
付款人姓名
BillEmail
Varchar(80)
No
No
付款人电邮
BillAddr
Varchar(80)
No
No
付款人地址
BillCity
Varchar(80)
No
No
付款人所在城市
BillState
Varchar(80)
No
No
付款人所在省份
BillZip
Varchar(20)
No
No
付款人邮编
BillCountry
Varchar(20)
No
No
付款人所在国家
BillPhone
Varchar(20)
No
No
付款人电话
TotalPrice
Decimal(10,2)
No
No
数量
表5.8LineItem表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
OrderId
Int
Yes
PK
No
订单编号
LineNum
Int
Yes
PK
No
订单明细号
BookId
Varchar(10)
No
No
图书编号
Quantity
Int
No
No
数量
UnitPrice
Decimal(10,2)
No
No
售出单价
表5.9OrderStatus表结构
字段名
类型
默认值
索引
PK/FK
允许空
说明
OrderId
Int
Yes
PK
No
订单编号
LineNum
Int
Yes
PK
No
订单明细号
Timestamp
Datetime
Getdate()
No
No
时间戳
Status
Varchar
(2)
No
No
订单状态
3)数据库关系图