《软件体系结构》期末作业
通用电子商务网站前端系统软件体系结构设计
1. 需求描述
通用电子商务网站前端系统软件是类似于当当网的综合性网上购物网站。致力于
为消费者提供一个多选择、低价格和快捷便利的一站式购物网站。
本系统具有三个主要功能:用户管理功能、产品管理功能和订单管理功能。此三
个主要功能对应了六个前端页面:注册页面、登录页面、首页、商品详情页面、购物
车页面和订单页面;在数据库中拥有三张表,包括用户表、产品表和订单表。
用户界面友好,色彩和字体鲜明,操作流畅,拥有较高的安全性。
2. 静态模型
2.1. 软件体系结构核心模型描述
本系统采用三层体系结构,由上而下分别是表现层、业务逻辑层、数据层(图 1
体系结构核心模型)。
系统顶层为表现层,为用于展现给用户的界面,包含所有需要与用户进行交互的
接口。包括注册页面、登录页面、首页、商品详情页面、购物车页面和订单页面。
系统中间层为业务逻辑层,用于针对具体问题的操作,是对数据层的操作和对数
据业务逻辑的处理。包括用户管理构件、产品管理构件和订单管理构件。
系统最底层为数据层,该层所做事务直接操作数据库,针对数据增添、删除、修
改、查找等。
该系统的体系结构核心模型如下图所示:
- 1 -
图例说明:交互:
图 1 中的构件说明如下表:
名称
所属层
用户管理构件
产品管理构件
订单管理构件
业务逻辑层
将用户信息绑定用户实体
业务逻辑层
业务逻辑层
将产品信息绑定用户实体
将用户信息绑定用户实体
图1 体系结构核心模型
表1 构件说明
说明
用户数据操作构件 数据层
与数据库中的用户表交互
产品数据操作构件 数据层
与数据库中的产品表交互
订单数据操作构件 数据层
与数据库中的订单表交互
- 2 -
图 1 中的构件说明如下表
名称
所属层
用户数据操作接口 数据层
表2 连接件说明
说明
连接用户信息和数据库中的用户表
产品数据操作接口 数据层
连接产品信息和数据库中的产品表
订单数据操作接口 数据层
连接订单信息和数据库中的订单表
表3 配置说明
说明
定义用户、产品和订单实体的属性和方法
定义数据连接配置
图 1 中的构件说明如下表
名称
实体类库
配置文件
2.2. 静态建模
(1) 用例图
用例图是显示该系统的一组用例、参与者以及它们之间关系的图。本系统的总用例
图如下图所示:
图2 系统用例图
- 3 -
以下表格对系统用例图(图 2)进行描述:
表4 商品展示用例用例描述
商品展示
用户
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
用户打开网页
在页面展示特色商品
点开该网页
查看商品详细信息
商品详细信息
表5 用户管理用例描述
用户管理
用户
用户点击登录或注册,或未登录就加入购物车
页面跳转登录或注册页面
1. 用户点击登录或注册链接
2. 系统跳转到登录或注册页面
3. 用户登录和注册
1. 用户登录
2. 用户注册
用户注册,用户登录
表6 购物车管理用例描述
购物车管理
用户
用户点击加入购物车按钮
页面跳转到购物车页面
1. 用户点击加入购物车按钮
2. 系统判断是否登录
3. 若未登录,跳转到登录页面;若已登录,则跳转到购物车页面
4. 用户可删除加入的商品,修改商品数量
1. 可删除加入的商品
2. 修改商品数量
添加商品,修改商品,删除商品
表7 订单管理用例描述
订单管理
用户
用户点击查看订单
页面跳转到订单管理页面
1. 用户确定订单信息
2. 用户查看详情
3. 用户提交订单成功
- 4 -
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
用户查看已完成订单
确定订单信息,查看订单,提交订单成功
表8 用户登录用例描述
用户登录
用户
无
无
1. 用户输入用户名、密码
2. 安全登录
3. 提示登陆成功
1. 未输入用户名密码,显示:用户名密码不能为空
2. 用户名和密码不匹配,显示:用户名或密码错误
无
表9 用户注册用例描述
用户注册
用户
无
无
1. 用户输入注册信息
2. 再次确定密码
3. 成功注册
1. 用户名被注册,注册失败
2. 两次密码不同,注册失败
3. 注册信息不完善或有错误,注册失败
无
表10 商品详细信息用例描述
商品详细信息
用户
用户点击商品
无
1. 用户点击某项商品
2. 显示该商品的详细信息
1. 点击购买
2. 点击收藏
无
表11 增加商品用例描述
增加商品
用户
购物车中无此商品
- 5 -
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
后置条件
基本操作流程
可选操作流程
被扩展的用例
用例名称
参与者
前置条件
无
1. 用户点击购买
2. 购物车中增加此商品,数量为 1
无
无
表12 修改数量用例描述
修改数量
用户
购物车中有该商品,且数量大于 0
无
1. 用户点击增加或减少按钮
2. 数量加 1 或减 1
若数量减 1 后小于 1,减少失败
无
表13 删除商品用例描述
删除商品
用户
购物车中不为空
无
1. 用户点击删除按钮
2. 确认删除
3. 删除成果
取消删除
无
表14 确认订单信息用例描述
确认订单信息
用户
购物车不为空
无
1. 核对收货人信息
2. 核对购买的商品
3. 提交订单
4. 成果提交
修改收货人信息
无
表15 查看订单用例描述
查看订单
用户
已有订单成功提交
- 6 -
后置条件
基本操作流程
可选操作流程
被扩展的用例
无
1. 用户查看订单状态
2. 显示成功提交的订单
1. 查看订单详情
2. 取消该订单
无
(2) 类及包图
本系统共有五个包:CommomOperationLib 是公共操作类包、BusinessesLib 是业务逻辑类包、
ModelLib 是实体类包、DataAccessLib 是数据访问类包、InterfaceLib 是数据访问接口包。
系统包图如下:
CommonOperationLib
+ ConfigOperation
+ DataAccess
+ Encrypt
+ Factory
+ LogOperation
+ ValidateCode
<>
BusinessLib
+ Customer
+ Order
+ Product
<>
ModelLib
+ Customer
+ Order
+ Product
<>
DataAccessLib
+ Customer
+ Order
+ Product
<>
InterfaceLib
+ ICustomer
+ IOrder
+ IProduct
图 3 包图说明如下所示:
包名
CommonOperationLib
BusinessLib
ModelLib
DataAccessLib
图3 系统包图
表16 系统包图说明
类名
ConfigOperation
DataAccess
Encrypt
Factory
LogOperetion
ValidateCode
Customer
Order
Product
Customer
Order
Product
Customer
Order
- 7 -
描述
配置操作类
数据库操作类
密码加密类
工厂类
日志操作类
验证码类
用户业务逻辑类
订单业务逻辑类
产品业务逻辑类
用户实体类
订单实体类
产品实体类
用户数据操作类
订单数据操作类