软件工程实践
指导老师:汪璟玢
-----
1. 导言
1.1 目的
该文档的目的是描述网上商城系统项目的概要设计,其主要内容包括: ● 系统功能简介 ● 系统结构设计 ● 系统接口设计 ● 数据设计 ● 模块设计 ● 界面设计
1.2 范围
该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3 缩写说明
UML
Unified Modeling Language(统一建模语言)的缩写,是一种标准的建模语言。
MVC
Model-View-Control (模式-视图-控制)的缩写,表示一个三层的结构体系。
1.4 术语定义
会员
登录系统,浏览和购买商品的买方人员,分为vip 和非vip 会员,vip 会员享受商城的某些特殊优惠。
管理员
管理网上商城系统,管理会员信息和售卖商品的卖方人员。
1.5 参考资料
[1] Roger S. Pressman著《软件工程--实践者的研究方法》. 机械工业出版社 [2] 刘敏莺,杨丽,文学义. 《Rational Rose 2003 基本教程》. 冶金工业出版
[3] 张庆华等编著. 《ASP .NET 2.0》. 机械工业出版社
2. 系统分析
2.1 功能描述
买方:(1)登录系统查看商品信息
(2)如需购买则要进行注册并登录
(3)用户可以进行购物,将物品加入到购物车,然后付钱或者充值,
付钱可以选择货到付款,银行卡和支付宝三种方式。
(4)查询订单 (5)退出购物系统 卖方:(1)登录系统
(2)管理商品信息,可以进行添加,修改和删除 (3) 管理订单,当与用户交易完成后进行删除 (4)管理用户信息 (5)退出购物系统
2.2 系统用例设计
经分析,可以确定整个系统的主用例图将包括两个角色(用户和管理员),及对应两个用例,系统主用例图如图1:
图1:系统的主Use Case图
其中,前台服 图2:前台服务端用例图
后台管理端子系统的用例图如图3:
图
5:后台管
理
务端子系统的用例图如图2:
3. 用例分析
3.1 前台服务端“登录验证”用例分析
(1)本用例描述:
1. 用户访问网上商城首页,界面左侧显示用户名、密码两个输入框,
1.1用户输入用户名、密码, 1.2系统查询该用户相关信息,
1.2.1若用户名及密码非法,则返回步骤1,并提示错误信息; 1.2.2若用户名及密码合法,则用户进入系统。
(2)本用例顺序图:
(3)本用例协作图:
3.2前台服务端“商品搜索”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.3前台服务端“购物车、订单处理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.4前台服务端“用户注册管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.5 后台管理端“登录验证”用例分析
(1)本用例描述:
1. 用户访问管理员登录页面,界面显示用户名、密码两个输入框,
1.1用户输入用户名、密码,
1.2系统查询该管理员账号信息,
1.2.1若用户名及密码非法,则返回步骤1,并提示错误信息; 1.2.2若用户名及密码合法,则进入管理员用户操作界面
(2)本用例顺序图:
(3)本用例协作图:
3.6 后台管理端“商品分类管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.7 后台管理端“商品资料管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.8 后台管理端“订单管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.9 后台管理端“用户管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
4. 系统类图
4.1 系统总览
本系统采用三层结构,分为表示层、业务层、数据层。
其中数据持久层封装了对数据库的操作;将表示层和业务层按MVC 模式再一次划分,将所有的类按其作用分成3个包,分别是“用户界面”类包(View )、“业务逻辑”类包(Control )、“数据模型”类包(Model )。
“用户界面”类负责系统与用户的交互,获得用户的操作信息,发送给相应的“业务逻辑”类处理,“业务逻辑”类根据处理结果,生成返回信息,同时控制“数据模型”类与实际的数据库管理系统进行交互。调用关系如下:
4.2 表示层和业务层详细类图
4.2.1 前台“用户界面”类包的详细类图 (表示层)
4.2.2 前台“数据模型”类包中实体类Model 的详细类图(业务层)
(1)adminuser 类:管理员账号类。 属性id ——管理员账号唯一编号;
属性username ——管理员账号登录用户名; 属性password ——管理员账号登录密码。 (2)sort 类:商品类型类。 属性id ——商品类型唯一编号; 属性name ——商品类型名。 (3)product 类:商品类。 属性id ——商品唯一编号;
属性sortid ——商品所属类型唯一编号; 属性name ——商品名;
属性price ——商品进货价。
(4)shopcart 类:订单条目类。 属性id ——订单条目唯一编号;
属性orderid ——该订单条目所属的订单唯一编号;
属性productid ——该订单条目所对应的商品唯一编号。
(5)orders 类:订单类。
属性id ——订单唯一编号,用于系统识别; 属性orderno ——订单号码,用于人工识别; 属性userid ——该订单所属的会员唯一编号。
(6)member 类:会员账号类。 属性id ——会员账号唯一编号;
属性username ——会员账号登录用户名; 属性password ——会员账号登录密码。
4.3数据层详细类图
4.3.1会员购物过程
4.3.2会员管理过程
4.3.3商品管理过程
4.3.4退货过程
软件工程实践
指导老师:汪璟玢
-----
1. 导言
1.1 目的
该文档的目的是描述网上商城系统项目的概要设计,其主要内容包括: ● 系统功能简介 ● 系统结构设计 ● 系统接口设计 ● 数据设计 ● 模块设计 ● 界面设计
1.2 范围
该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3 缩写说明
UML
Unified Modeling Language(统一建模语言)的缩写,是一种标准的建模语言。
MVC
Model-View-Control (模式-视图-控制)的缩写,表示一个三层的结构体系。
1.4 术语定义
会员
登录系统,浏览和购买商品的买方人员,分为vip 和非vip 会员,vip 会员享受商城的某些特殊优惠。
管理员
管理网上商城系统,管理会员信息和售卖商品的卖方人员。
1.5 参考资料
[1] Roger S. Pressman著《软件工程--实践者的研究方法》. 机械工业出版社 [2] 刘敏莺,杨丽,文学义. 《Rational Rose 2003 基本教程》. 冶金工业出版
[3] 张庆华等编著. 《ASP .NET 2.0》. 机械工业出版社
2. 系统分析
2.1 功能描述
买方:(1)登录系统查看商品信息
(2)如需购买则要进行注册并登录
(3)用户可以进行购物,将物品加入到购物车,然后付钱或者充值,
付钱可以选择货到付款,银行卡和支付宝三种方式。
(4)查询订单 (5)退出购物系统 卖方:(1)登录系统
(2)管理商品信息,可以进行添加,修改和删除 (3) 管理订单,当与用户交易完成后进行删除 (4)管理用户信息 (5)退出购物系统
2.2 系统用例设计
经分析,可以确定整个系统的主用例图将包括两个角色(用户和管理员),及对应两个用例,系统主用例图如图1:
图1:系统的主Use Case图
其中,前台服 图2:前台服务端用例图
后台管理端子系统的用例图如图3:
图
5:后台管
理
务端子系统的用例图如图2:
3. 用例分析
3.1 前台服务端“登录验证”用例分析
(1)本用例描述:
1. 用户访问网上商城首页,界面左侧显示用户名、密码两个输入框,
1.1用户输入用户名、密码, 1.2系统查询该用户相关信息,
1.2.1若用户名及密码非法,则返回步骤1,并提示错误信息; 1.2.2若用户名及密码合法,则用户进入系统。
(2)本用例顺序图:
(3)本用例协作图:
3.2前台服务端“商品搜索”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.3前台服务端“购物车、订单处理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.4前台服务端“用户注册管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.5 后台管理端“登录验证”用例分析
(1)本用例描述:
1. 用户访问管理员登录页面,界面显示用户名、密码两个输入框,
1.1用户输入用户名、密码,
1.2系统查询该管理员账号信息,
1.2.1若用户名及密码非法,则返回步骤1,并提示错误信息; 1.2.2若用户名及密码合法,则进入管理员用户操作界面
(2)本用例顺序图:
(3)本用例协作图:
3.6 后台管理端“商品分类管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.7 后台管理端“商品资料管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.8 后台管理端“订单管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
3.9 后台管理端“用户管理”用例分析
(1)本用例顺序图:
(2)本用例协作图:
4. 系统类图
4.1 系统总览
本系统采用三层结构,分为表示层、业务层、数据层。
其中数据持久层封装了对数据库的操作;将表示层和业务层按MVC 模式再一次划分,将所有的类按其作用分成3个包,分别是“用户界面”类包(View )、“业务逻辑”类包(Control )、“数据模型”类包(Model )。
“用户界面”类负责系统与用户的交互,获得用户的操作信息,发送给相应的“业务逻辑”类处理,“业务逻辑”类根据处理结果,生成返回信息,同时控制“数据模型”类与实际的数据库管理系统进行交互。调用关系如下:
4.2 表示层和业务层详细类图
4.2.1 前台“用户界面”类包的详细类图 (表示层)
4.2.2 前台“数据模型”类包中实体类Model 的详细类图(业务层)
(1)adminuser 类:管理员账号类。 属性id ——管理员账号唯一编号;
属性username ——管理员账号登录用户名; 属性password ——管理员账号登录密码。 (2)sort 类:商品类型类。 属性id ——商品类型唯一编号; 属性name ——商品类型名。 (3)product 类:商品类。 属性id ——商品唯一编号;
属性sortid ——商品所属类型唯一编号; 属性name ——商品名;
属性price ——商品进货价。
(4)shopcart 类:订单条目类。 属性id ——订单条目唯一编号;
属性orderid ——该订单条目所属的订单唯一编号;
属性productid ——该订单条目所对应的商品唯一编号。
(5)orders 类:订单类。
属性id ——订单唯一编号,用于系统识别; 属性orderno ——订单号码,用于人工识别; 属性userid ——该订单所属的会员唯一编号。
(6)member 类:会员账号类。 属性id ——会员账号唯一编号;
属性username ——会员账号登录用户名; 属性password ——会员账号登录密码。
4.3数据层详细类图
4.3.1会员购物过程
4.3.2会员管理过程
4.3.3商品管理过程
4.3.4退货过程