电 子 商 务 网 站
详细设计说明书
文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 | 文件标识: | XX_P_系统详细设计说明书 |
当前版本: | 0.9 | |
作 者: | 贾静 | |
完成日期: | 2007-6-27 |
版 本 历史
版本/状态 | 作者 | 参与者 | 起止日期 | 备注 |
0.1 | 贾静 | 王平、张栋、彭峰、查保林、贾静、张亚军、成晓波、郝明立 | 2007-05-28 2007-06-27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
目 录
1 文档介绍
1.1 文档目的
本文档是对于电子商务网站进行详细设计和编码的重要依据。本文将描述电子商务网站设计约束、系统设计策略、系统总体结构、系统模块划分和系统接口定义以及系统开发、运行、测试环境等。
1.2 读者对象
Java武汉组:项目经理、开发经理、系统分析员、系统设计员、开发人员
1.3 参考文献
编号 | 文档名称 | 作者/修订者 | 发布日期 | 出版单位 | 备注 |
01 | Java技术白皮书 | ITJOB | 2007-3-13 | Itjob | 作为系统概要设计参考文档 |
02 | 电子商务网站_P_系统需求规格说明书 |
贾静 |
2007-6-27 |
Java武汉组 | 需求规格说明书对系统概要设计有规范作用 |
1.4 术语与缩写解释
缩写、术语 | 解 释 |
J2EE | Java 2 enterprise edition,一种开发平台 |
Struts | Java Web 开发的一种MVC框架 |
JSP | JSP(Java Server Pages),一种Java平台技术,用于编写动态网页内容 |
Hibernate | 采用ORM模式实现数据持久层的Java组件 |
2 总体设计
2.1 需求概述
电子商务网站是基于B/S架构设计的商务系统,本电子商务网站仅仅是实现网上开店和购物的方案之一。分为以下十三个模块,前台:登录模块、个人信息管理模块、浏览商品模块、购物车管理模块、支付管理模块、个人订单管理模块,后台:管理员信息管理模块、用户信息管理模块、商品管理模块、商品分类管理模块、订单管理模块、首页管理模块、销售统计模块。
2.2 系统结构
系统采用Struts + Hibernate的技术架构,对系统进行分层。Struts的action调用业务层获取业务数据,并通过Jsp页面(viewer)把数据呈现出来;运用Hibernate技术将对象持久化。各个框架模块间的关系如下图:
2.3 系统结构的优点
1. 采用Struts架构的MVC模型来将低系统各层之间的耦合程度;
2. 系统采用Hibernate技术来对数据库访问进行很好的封装,降低系统对于具体的数据库环境的依赖。
1. 采用Java技术来使系统能在不同的硬件平台上进行移植;
2. 尽量不采用依赖于特定运行环境支持的开发技术,提高系统在不同的Web服务器之间的可移植性。
用户提交请求到系统进行处理前。必须进行权限的验证。这个验证通过Filter来进行。
1. 保证事务操作的原子性。把相关的操作定义在同一事务范围内;
2. 从表现层提交的数据在提交到业务层进行处理之前,都
应该经过有效的验证。
Ø 操作简便
由于在前端采用了统一的浏览器界面,所以用户在使用时简单易用,只需要掌握一些简单的Web页面操作方法,大大降低了培训成本。
Ø 节约成本
整个软件的开发可集中在服务器端进行,不必对用户端进行特殊设置和软件安装,降低维护成本。
2.4 应用模型
3 系统描述
3.1功能描述
3.1.1 登录管理
3.1.1 .1用户注册
名称 | 用户注册 |
功能描述 | 游客有选择注册的权利,填写用户的基本信息,如果申请的用户名已经存在,则提示用户名已经存在,重新返回注册页面。 |
优先级 | 5 |
输入 | 用户基本信息:用户名、密码、确认密码、密码提示问题、密码提示答案、真实姓名、 身份证号、 邮箱地址、邮编、邮寄地址、联系电话。 |
操作序列 | 输入用户基本信息 ——> 1.如果两次输入的密码不相同,按提交后在密码框后提示两次密码不同并将密码框清空 2.如果注册的用户名已经存在,则在用户名输入框后提示用户名已经注册,并将用户名与密码清空 ——> 注册成功 |
输出 | 返回网站首页,并在网站中显示用户基本信息。 |
面向对象 | 游客 |
补充说明 | 在注册过程中退出,即注册失败。 |
3.1.1 .2用户登录
用户登录 | |
功能描述 | 如果用户名或密码有错,系统会拒绝用户登陆,并提示错误信息。 |
优先级 | 5 |
输入 | 用户名和密码 |
操作序列 | 输入用户名和密码——>验证登录信息——>登录成功或失败 |
输出 | 登录成功,则返回网站主页,并在网站中显示用户基本信息;登录失败,则输入失败页面,请用户重新登陆或者注册。 |
面向对象 | 用户 |
补充说明 | 登录、退出(关闭)系统 |
3.1.1 .3找回密码
找回密码 | |
功能描述 | 如果用户忘记密码,则可以在登陆框下“忘记密码”按钮链接到密码找回功能,通过用户注册时的密码提示问题与答案,可以让用户修改新的密码 |
优先级 | 5 |
输入 | 点击“忘记密码”按钮——>进入密码找回页面——>输入用户名、提示问题与提示答案、新的密码、确认密码 |
操作序列 | 按钮——>填写信息(用户名、问题、答案)——>密码修改成功或失败。 |
输出 | 成功则跳转网站首页,失败则提示输入的密码提示问题与答案错误。 |
面向对象 | 用户 |
补充说明 |
|
3.1.1 .4退出登录
退出登录 | |
功能描述 | 用户可以随时退出该系统,用户退出系统之后会有相关提示。 |
优先级 | 5 |
输入 | 点击退出按钮。 |
操作序列 | 点击退出按钮――>是否确认退出——>是,则退出系统;否,则返回。 |
输出 | 是,则退出系统;否,则返回。 |
面向对象 | 用户 |
补充说明 | 直接关闭浏览器也是退出系统的一种方法(关闭系统) |
3.1.2 个人信息管理
3 .1.2 .1个人信息查询
个人信息查询 | |
功能描述 | 当用户登录了系统: 1.网站会在左上角显示该用户的基本资料(用户名、登录时间、积分) 2.网站上有个“个人信息”的链接,点击可以查询用户详细信息。 |
优先级 | 5 |
输入 | “个人信息”的链接 |
操作序列 | 在用户登陆后,会出现“个人信息”的链接,点击“个人信息”的链接,出现个人详细信息。 |
输出 | 显示相关信息 |
面向对象 | 用户 |
补充说明 | 用户资料包括:用户名、真实姓名、身份证号、邮箱地址、邮编、邮寄地址、联系电话。 |
3.1.2 .2修改个人信息
名称 | 修改个人信息 |
功能描述 | 用户能对自己的资料进行修改 |
优先级 | 5 |
输入 | 修改个人资料的链接,点击进入, 以文本框形式显示用户原来信息(可修改) |
操作序列 | 点击按钮——>找出需要修改的个人信息——>输入修改后的信息——>点击提交。 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 用户 |
补充说明 |
|
3.1.2 .3修改个人密码
名称 | 修改个人密码 |
功能描述 | 用户能对自己的密码进行修改 |
优先级 | 5 |
输入 | 点击网站上方“修改密码”——>旧密码、新密码、确认新密码 |
操作序列 | 点击网站上方“修改密码”——>填写相关表单――>点击确认按钮。 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 用户 |
补充说明 |
|
3.1.3 浏览商品
3.1.3 .1查询商品
查询商品 | |
功能描述 | 在首页根据输入的商品名称、类别进行查询,并显示该商品的列表。 如果只是输入类别,那么显示该类所有商品列表。 如果只是输入商品名称,那么现实该名称所有商品列表。 |
优先级 | 5 |
输入 | 商品名称、类别 |
操作序列 | 输入商品名称和选择商品类别——>执行查询——>现实查询结果。如不存在则显示商品不存在。 |
输出 | 所查询的商品列表。或者提示该商品不存在 |
面向对象 | 游客、登陆用户 |
补充说明 |
|
3.1.3 .2商品评论
名称 | 商品评论 |
功能描述 | 在商品详细信息的页面中可以为该商品写评论。 |
优先级 | 5 |
输入 | 评论内容,以及评论人的名称 |
操作序列 | 评论内容,以及名称后-->点击提交按钮。 |
输出 | 评论更新后的该页面 |
面向对象 | 游客、注册用户 |
补充说明 |
|
3.1.4 购物车管理
3.1.4 .1添加商品到购物车
添加商品到购物车 | |
功能描述 | 将该商品放入购物车里 |
优先级 | 5 |
输入 | 点击商品的放入购物车连接 |
操作序列 | 点击商品的放入购物车连接 |
输出 | 返回当前页,并在左边购物车栏显示 |
面向对象 | 游客、用户 |
补充说明 |
|
3.1.4 .2删除购物车中商品
删除购物车中的商品 | |
功能描述 | 删除购物车里某个商品 |
优先级 | 5 |
输入 | 点击购物车某个商品的删除连接 |
操作序列 | 点击购物车某个商品的删除连接 |
输出 | 购物车更新后的商品列表 |
面向对象 | 游客、用户 |
补充说明 |
|
3.1.4 .3修改购买商品数量
名称 | 修改购买商品数量 |
功能描述 | 修改购物车里商品的购买数量 |
优先级 | 5 |
输入 | 修改购买数量文本框里的数值 |
操作序列 | 修改购买数量文本框里的数值 |
输出 | 购物车更新后的商品列表 |
面向对象 | 游客、用户 |
补充说明 |
|
3.1.5 支付管理
3.1.5 .1填写支付信息
填写支付信息 | |
功能描述 | 填写邮寄信息提交 |
优先级 | 5 |
输入 | 填写表单(收件人姓名、邮编、邮寄地址、联系电话、选择相应的邮寄方式(单选框,默认为:平邮,另一种方式为快递)) |
操作序列 | 填写表单-----提交 |
输出 | 继续填写表单以下的支付方式 |
面向对象 | 游客,用户 |
补充说明 | 若对象为游客,表单中的信息都为空(除邮寄方式的单选框在平邮上) 若对象为用户,则从数据库中提出用户的详细信息(以文本框形式出现,可修改) |
3.1.5 .2选择支付方式
选择支付方式 | |
功能描述 | 选择邮局汇款或网上银行转帐方式进行商品支付 |
优先级 | 5 |
输入 | 选择支付方式 |
操作序列 | 选择支付方式 |
输出 | 确认某个支付方式,反馈订单号给游客或用户。 |
面向对象 | 游客,用户 |
补充说明 |
|
3.1.6 个人订单管理
3.1.6 .1订单查询
订单查询 | |
功能描述 | 当用户登陆了系统,可以查询该用户订单的详细信息 |
优先级 | 5 |
输入 | 查询订单 |
操作序列 | 点击我的订单按钮――>显示我的订单的详细信息或查询失败信息 |
输出 | 显示我的订单的详细信息或查询失败信息 |
面向对象 | 注册用户 |
补充说明 | 订单信息包括:订单号、订购商品、应付金额、订单状态 |
3.1.6 .2订单打印
名称 | 订单打印 |
功能描述 | 打印用户订单 |
优先级 | 5 |
输入 | 打印订单 |
操作序列 | 点击打印订单按钮――>输出打印的订单。 |
输出 | 打印的订单 |
面向对象 | 注册用户 |
补充说明 | 订单信息包括:订单号、订购商品、应付金额、订单状态、订单产生日期 |
3.1.7 管理员信息管理
3.1.7 .1管理员登录
管理员登录 | |
功能描述 | 跳转到管理员页面。如果用户名或密码有错,系统会拒绝用户登陆,并提示错误信息。 |
优先级 | 5 |
输入 | 用户名和密码 |
操作序列 | 输入用户名和密码――>验证登录信息――>登录成功或失败 |
输出 | 登录成功页面或登录失败页面 |
面向对象 | 管理员 |
补充说明 | 登录、退出(关闭)系统 |
3.1.7 .2管理员密码修改
管理员密码修改 | |
功能描述 | 登陆的管理员能对自己的密码进行修改 |
优先级 | 5 |
输入 | 旧密码、新密码、确认新密码 |
操作序列 | 点击修改密码按钮――>填写相关表单――>点击确定按钮。 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 |
|
3.1.7 .3添加普通管理员
名称 | 系统管理员添加管理员 |
功能描述 | 系统管理员添加新的低级别的管理员 |
优先级 | 4 |
输入 | 新的管理员账号、密码、重复密码、权限等级 |
操作序列 | 点击修改密码按钮――>填写相关表单――>点击确定按钮。 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 系统管理员 |
补充说明 |
|
3.1.7 .4查询普通管理员
名称 | 系统管理员查询普通管理员 |
功能描述 | 系统管理员查询其他的管理员 |
优先级 | 4 |
输入 | 按下查询管理员按钮,显示除了系统管理员之外的所有管理员列表 |
操作序列 | 按下查询管理员按钮,显示除了系统管理员之外的所有管理员列表 |
输出 | 操作成功显示除了系统管理员之外的所有管理员列表或操作失败提示 |
面向对象 | 系统管理员 |
补充说明 | 考虑到管理员很少,因此只要查询管理员就一次性显示所有的管理员信息列表 |
3.1.7 .5修改普通管理员
名称 | 系统管理员修改管理员权限 |
功能描述 | 系统管理员修改其他的管理员的权限 |
优先级 | 4 |
输入 | 按下修改管理员权限按钮,显示除了系统管理员之外的所有管理员列表 在列表右边对应着修改与删除按钮,并且此时候只有权限一项可以修改。 |
操作序列 | 按下修改管理员权限按钮,显示除了系统管理员之外的所有管理员列表 在列表右边对应着修改与删除按钮,并且此时候只有权限一项可以修改。 修改权限后(这里是选择权限等级),点击修改。 |
输出 | 操作成功显示除了系统管理员之外的所有管理员列表或操作失败提示 |
面向对象 | 系统管理员 |
补充说明 | 考虑到管理员很少,因此只要查询管理员就一次性显示所有的管理员信息列表 |
3.1.7 .6删除普通管理员
名称 | 系统管理员删除管理员 |
功能描述 | 系统管理员删除其他的管理员 |
优先级 | 4 |
输入 | 按下删除管理员按钮,显示除了系统管理员之外的所有管理员列表,在列表右边对应着删除按钮 |
操作序列 | 按下删除管理员按钮,显示除了系统管理员之外的所有管理员列表,点击删除。 |
输出 | 操作成功显示当前删除后的显示页面或操作失败提示 |
面向对象 | 系统管理员 |
补充说明 | 考虑到管理员很少,因此只要查询管理员就一次性显示所有的管理员信息列表 |
3.1.8 用户信息管理
3.1.8 .1查询用户信息
查询用户信息 | |
功能描述 | 管理员输入用户账号或者身份证号,可查询某个用户的信息包括密码。 |
优先级 | 5 |
输入 | 用户名 |
操作序列 | 输入用户名-->验证查询信息—>查询成功或失败 |
输出 | 查询成功后显示用户的详细信息或查询失败页面 |
面向对象 | 管理员 |
补充说明 |
|
3.1.8 .2删除特定用户信息
删除用户 | |
功能描述 | 管理员根据用户名,删除某个用户的信息 |
优先级 | 5 |
输入 | 用户名字 |
操作序列 | 输入用户名字-à查询上次登陆时间界面—>删除用户 |
输出 | 删除成功页面或失败页面 |
面向对象 | 管理员 |
补充说明 |
|
3.1.9 商品管理
3.1.9 .1查询商品
查询商品 | |
功能描述 | 管理员查询商品的信息。 |
优先级 | 5 |
输入 | 点击查询按钮 |
操作序列 | 点击查询按钮à查询商品信息界面à输入商品名称,选择商品分类(必选)查询特定商品;选择商品分类(必选)查询则显示该分类下所有商品列表 à查询成功或失败页面à查询失败返回查询页面再次查询à查询成功显示商品的信息 |
输出 | 操作成功提示或操作失败提示。 |
面向对象 | 管理员 |
补充说明 | 查询失败返回到查询商品的信息界面 如果不写商品名称,则显示该分类下所有商品列表 |
3.1.9 .2修改商品
修改商品 | |
功能描述 | 管理员修改商品的信息。 |
优先级 | 5 |
输入 | 点击修改按钮 |
操作序列 | 点击修改按钮à查询商品信息界面à输入商品ID,名称,选择商品分类查询特定商品à查询成功或失败页面à查询失败返回查询页面再次查询à查询成功显示商品的信息(可修改)à修改商品的内容(不仅包括商品的基本信息,也包括是否将商品设置为推荐商品)à点击确认修改按钮à修改成功或失败页面 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 修改失败返回到查询成功显示商品的信息的页面 修改界面显示的信息为:商品名称、价格、数量、大分类下拉列表、小分类下拉列表 |
3.1.9 .3添加商品
增加新商品 | |
功能描述 | 管理员增加商品 |
优先级 | 5 |
输入 | 商品的相关信息 |
操作序列 | 点击增加商品按钮à输入商品的信息界面à输入商品信息(大分类,小分类)à点击确定按钮à通过Session作用域保存商品ID,通过商品ID查询数据库商品信息,有返回值,已经存在该商品,增加失败,弹出新页面显示失败信息,并返回到输入商品的信息界面,没有返回值,增加成功,将数据信息存入数据库,增加成功。 |
输出 | 增加成功或失败页面 |
面向对象 | 管理员 |
补充说明 | 商品的信息包括:商品名称、价格、大分类(下拉列表选择)、小分类(下拉列表选择)、数量。 |
3.1.9 .4删除商品
删除商品 | |
功能描述 | 管理员删除商品 |
优先级 | 5 |
输入 | 点击删除按钮 |
操作序列 | 点击删除按钮à查询商品信息界面à输入商品ID,名称,选择商品分类查询特定商品à查询成功或失败页面à查询失败返回查询页面再次查询à查询成功显示商品的信息à点击确认删除按钮à删除成功或失败 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 删除失败返回查询成功现实商品信息的页面 |
3.1.9 .5评论管理
评论管理 | |
功能描述 | 管理员查看所有的评论,删除特定商品的特定评论或所有评论 |
优先级 | 5 |
输入 | 点击删除按钮或者查看按钮 |
操作序列 | 在后台管理员可在商品管理中点击评论管理,即可查看所有的商品评论—>在评论内容中都有相关的详细链接,点击链接—>可查看到评论所对应的具体商品的信息; 对特定的评论可以点删除按钮即可删除评论; 管理员可对问答性的评论给予回复 |
输出 | 经回复或删除后的评论信息 |
面向对象 | 管理员 |
补充说明 | 生成的评论列表为:评论人、评论内容、日期、删除按钮 |
3.1.10 商品分类管理
3.1.10 .1查询商品分类
名称 | 查询商品分类 |
功能描述 | 管理员查看数据库中所有商品分类信息 |
优先级 | 5 |
输入 | 点击选择下拉列表显示分类信息 |
操作序列 | 点击分类查询连接,显示页面中有大分类的下拉列表框(从数据库中读取),选择大分类下拉列表中某一项目,就在当前页面下面显示该大分类的全部小分类列表。 |
输出 | 显示相关分类信息 |
面向对象 | 管理员 |
补充说明 |
|
3.1.10 .2修改商品分类
名称 | 修改商品分类 |
功能描述 | 管理员修改分类信息 |
优先级 | 5 |
输入 | 修改分类信息 |
操作序列 | 点击修改分类连接,选择修改大分类还是小分类,如修改大分类,则转向修改大分类页面,先选择修改的大分类,输入修改后的大分类名称,提交,如操作成功则提示成功修改,否则返回原页面并提示失败。 如修改小分类,则转向修改小分类页面,通过大分类下拉列表选择小分类所属的大分类,通过小分类下拉列表选择要修改的小分类,然后在文本框输入修改后的小分类名字,提交,如操作成功则提示成功修改,否则返回原页面并提示失败。 , |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 修改页面与删除页面为同一个页面 |
3.1.10 .3删除商品分类
名称 | 删除商品分类 |
功能描述 | 管理员删除商品的分类 |
优先级 | 5 |
输入 | 点击删除分类按钮 |
操作序列 | 点击删除分类连接,选择删除大分类还是小分类,如删除大分类,则转向删除大分类页面,先选择删除的大分类,提交,如操作成功则提示成功删除,否则返回原页面并提示失败。 如删除小分类,则转向删除小分类页面,通过大分类下拉列表选择小分类所属的大分类,通过小分类下拉列表选择要删除的小分类,提交,如操作成功则提示成功删除,否则返回原页面并提示失败。
|
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 修改页面与删除页面为同一个页面 |
3.1.10 .4添加商品分类
名称 | 添加商品分类 |
功能描述 | 管理员可以增加商品的分类 |
优先级 | 5 |
输入 | 添加分类的信息 |
操作序列 | 点击添加分类连接,选择添加大分类还是小分类,如添加大分类,则转向添加大分类页面,输入大分类名称,提交,如操作成功则提示成功添加,否则返回原页面并提示失败。 如添加小分类,则转向添加小分类页面,通过大分类下拉列表选择小分类所属的大分类,然后在文本框输入小分类名字,提交,如操作成功则提示成功添加,否则返回原页面并提示失败。
|
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 |
|
3.1.11 订单管理
3.1.11 .1查询订单
名称 | 查询订单 |
功能描述 | 管理员选择查询方式(未支付的订单、最新订单、未发货订单、失效的订单)或者订单流水号 |
优先级 | 5 |
输入 | 查询方式,或者订单流水号 |
操作序列 | 输入查询方式或者订单流水号---显示订单列表 |
输出 | 订单的列表或者订单的详细信息 |
面向对象 | 管理员 |
补充说明 |
|
3.1.11 .2修改订单状态
名称 | 修改订单状态 |
功能描述 | 管理员选择查询方式(未支付的订单、已支付的订单、最新订单、未发货订单、失效的订单)或者订单流水号后,显示订单列表,在旁边的支付选项和发货选项进行修改。选择修改按钮。对该订单信息进行修改(只能修改是否已经支付和是否已经发货) |
优先级 | 5 |
输入 | 选择修改项目 |
操作序列 | 输入查询方式或者订单流水号-à显示订单列表 –->进行修改支付和发货选项-à点击确认按钮 |
输出 | 修改成功或失败的页面 |
面向对象 | 管理员 |
补充说明 |
|
3.1.11 .3删除订单
删除订单 | |
功能描述 | 管理员选择查询方式(未支付的订单,已支付的订单,最新订单,未发货订单,失效的订单)或者订单流水号后,显示订单列表,在旁边按下删除按钮,弹出对话框是否删除。 |
优先级 | 5 |
输入 | 选择删除项目 |
操作序列 | 输入查询方式或者订单流水号-à显示订单列表 –->点击删除按钮是否删除。 |
输出 | 删除成功或失败的页面 |
面向对象 | 管理员 |
补充说明 |
|
3.1.12 销售统计
3.1.12 .1按时间统计销售信息
名称 | 按时间统计销售信息 |
功能描述 | 根据时间统计销售的信息 |
优先级 | 5 |
输入 | 时间 |
操作序列 | 输入时间,生成销售纪录报表 |
输出 | 销售报表 |
面向对象 | 管理员 |
补充说明 |
|
3.1.12 .2按商品名统计商品的销售情况
名称 | 按商品统计商品的销售情况 |
功能描述 | 根据商品类别,名称来统计销售的信息 |
优先级 | 5 |
输入 | 商品类别,名字 |
操作序列 | 输入商品类别,名字,生成销售记录报表 |
输出 | 销售报表 |
面向对象 | 管理员 |
补充说明 |
|
3.1.13 首页管理
3.1.13 .1公告管理
名称 | 公告管理 |
功能描述 | 显示网站公告信息 |
优先级 | 5 |
输入 | 公告信息 |
操作序列 | 点击公告管理――>显示所有公告信息――>可对公告删除或增加 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 管理员可以对公告信息进行增、删、查 |
3.1.13 .2资讯管理
名称 | 资讯管理 |
功能描述 | 管理网站的资讯信息 |
优先级 | 5 |
输入 | 资讯信息 |
操作序列 | 点击资讯管理――>显示所有资讯信息――>可对资讯删除或增加 |
输出 | 操作成功提示或操作失败提示 |
面向对象 | 管理员 |
补充说明 | 管理员可对资讯信息进行增、删、查 |
3.2性能
系统主要的操作界面是浏览器,所以对于整个供应链系统,性能的好坏主要取决于以下一些性能指标:用户的并发访问数量,页面平均等待时间,数据检索时间等。
考虑到用户比较固定,主页日平均访问量的估计在1200次,计算方法:
用户数 =用户数量 + 其他用户数量
主页日平均访问量 = 用户数 × 5 × 系数
取值:用户数量 = 100;其它类型用户数量 = 100;系数 = 1.2
主页日平均访问量 = (100 + 100) × 5 × 1.2 = 1200次
页面平均等待时间控制在4秒之内。
3.3数据结构
3.3.0 数据库表汇总
表名 | 功能说明 |
用户信息表(userinfo) | 用户基本信息管理 |
一级商品分类表 (firstsort) | 一级商品分类信息管理 |
二级商品分类表(secondsort) | 二级商品分类信息管理 |
商品信息表 (goods) | 商品基本信息管理 |
商品库存表(storage) | 商品库存信息管理 |
销售表(sale) | 销售商品基本信息管理 |
管理员表(manager) | 管理员基本信息管理 |
中间表(middle) | 连接管理员表和权限表 |
权限表(purview) | 管理员权限信息管理 |
订单表 (orders) | 订单基本信息管理 |
商品评论表 (leaveword) | 评论基本信息管理 |
公告表(placard) | 公告信息管理 |
资讯表(news) | 资讯管理 |
转帐表(transfer) | 在线支付信息管理 |
3.3.1 订单表
表名 | orders(订单表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
oid (订单id) | INTEGER | not null | unique,primary key |
ostate(订单状态) | CHAR(1) | not null | ([ostate] = ‘0’or [ostate] = ‘1’or [ostate] = ‘2’) |
name (姓名) | VARCHAR2(20) | not null |
|
address(地址) | VARCHAR2(50) | not null |
|
tel(联系方式) | VARCHAR2(20) | not null |
|
paytype(支付方式) | CHAR(8) | not null | ([paytype] = ‘网上支付’or [paytype] = ‘邮汇’) |
riqi(订单日期) | DATE | not null |
|
money(付款金额) | NUMBER(10,3) | not null |
|
pid(用户ID) | INTEGER | not null | References person(pid) |
补充说明 | 状态0未付款未出货,状态1付款未出货,状态2付款已出货 |
3.3. 2 用户信息表
表名 | userinfo(用户信息表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
userid(用户ID) | INTEGER | not null | unique,primary key |
name(用户登录名) | VARCHAR2(20) | not null |
|
password(密码) | VARCHAR2(10) | not null |
|
question(密码提示问题) | VARCHAR2(30) | not null |
|
answer(密码提示答案) | VARCHAR2(30) | not null |
|
realname(用户真实姓名) | VARCHAR2(20) |
|
|
sex(性别) | CHAR(2) |
| ([sex] = ‘男’or [sex] = ‘女’) |
email(邮箱) | VARCHAR2(20) | not null |
|
id(身份证号) | CHAR(18) | not null |
|
postalcode(邮政编码) | CHAR(6) |
|
|
address(地址) | VARCHAR2(30) |
|
|
tel(联系电话) | CHAR(11) |
|
|
score(积分) | NUMBER(10,3) |
|
|
3.3.3 商品信息表
表名 | goods (商品信息表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
gid(商品ID) | INTEGER | not null | unique,primary key |
name(商品名) | VARCHAR2(20) | not null |
|
description(商品描述) | VARCHAR2(100) | not null |
|
image(商品图片) | VARCHAR2(50) | not null |
|
sid (商品二级分类ID) | INTEGER | not null | References secondsort(sid) |
3.3.4 商品评论表
表名 | leaveword (商品评论表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
lid (评论ID) | INTEGER | not null | unique,primary key |
message(评论信息) | VARCHAR2(100) | not null |
|
name(评论者) | VARCHAR2(20) | not null |
|
riqi(评论日期) | DATE | not null |
|
gid (商品ID) | INTEGER | not null | References goods(gid) |
3.3.5 销售表
表名 | sale(销售表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 约束条件 |
saleid (销售表ID) | INTEGER | not null | unique,primary key |
gid (商品ID) | INTEGER | not null | references goods(gid) |
scount (销售数量) | INTEGER | not null |
|
oid(订单ID) | INTEGER | not null | references order(oid) |
saleprice(出售价) | NUMBER(10,3) | not null |
|
state(发货状态) | CHAR(1) | not null | ([state] = ‘0’or [state] = ‘1’) |
riqi(订单/发货日期) | DATE | not null |
|
补充说明 | 该表存放销售货物的信息.其中发货状态用0和1标示,0表示未发货,1表示已发货.由发货状态确定日期为订单日期还是发货日期 |
3.3.6 商品一级分类表
表名 | firstsort(商品一级分类表) | |||
数据类型(精度范围) | 空/非空 | 主外键约束 |
| |
fid (一级分类表ID) | INTEGER | not null | unique,primary key |
|
fname(一级分类名称) | VARCHARV2(20) | not null |
|
|
补充说明 | 将商品分类 |
|
3.3.7 商品二级分类表
表名 | secondsort(商品二级分类表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
sid (二级分类表ID) | INTEGER | not null | unique,primary key |
sname (二级分类名称) | VARCHAR2(20) | not null |
|
fid(一级分类表ID) | INTEGER | not null | References firstsort(fid) |
补充说明 | 在一级分类的基础上对商品进行二级分类. |
3.3.8 管理员表
表名 | manager(管理员表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
mid(管理员表ID) | INTEGER | not null | unique,primary key |
name(管理员名称) | VARCHAR2(20) | not null |
|
password(密码) | VARCHAR2(20) | not null |
|
补充说明 | 根据管理员权限分辨管理员的级别,从而实现不同的操作 |
3.3.9 中间表
表名 | middle(中间表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
mid(管理员表ID) | INTEGER | not null | unique,primary key References manager(mid) |
pid(权限表ID) | INTEGER | not null | unique,primary key References purview(pid) |
补充说明 | 连接管理员表和权限表 |
3.3.10 权限表
表名 | purview(权限表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
pid(权限表ID) | INTEGER | not null | unique,primary key |
purview(权限描述) | VARCHAR(10) | not null |
|
补充说明 | 按管理员所能管理的模块确定权限 |
3.3.11 商品库存表
表名 | storage(商品库存表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
storageid(库存表ID) | INTEGER | not null | unique,primary key |
gid(商品ID) | INTEGER | not null | References goods(gid) |
inprice(进价) | NUMBER(10,3) | not null |
|
outprice(出价) | NUMBER(10,3) | not null |
|
count(库存数量) | INTEGER | not null |
|
补充说明 |
|
3.3.12 公告表
表名 | placard(公告表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
placardid(公告表ID) | INTEGER | not null | unique,primary key |
messages(公告内容) | VARCHAR | not null | References goods(gid) |
riqi(发布日期) | DATE | not null |
|
补充说明 | 管理员可查看、删除、发布公告 |
3.3.13 资讯表
表名 | news(资讯表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
nid(资讯表ID) | INTEGER | not null | unique,primary key |
content(资讯内容) | VARCHAR | not null |
|
title(资讯标题) | VARCHAR | not null |
|
riqi(发布日期) | DATE | not null |
|
补充说明 |
|
3.3.14 转帐表
表名 | transfer(转帐表) | ||
列名 | 数据类型(精度范围) | 空/非空 | 主外键约束 |
tid(转帐表ID) | INTEGER | not null | unique,primary key |
account(卡号) | CHAR | not null |
|
password(密码) | CHAR | not null |
|
balance(余额) | NUMBER | not null |
|
补充说明 |
|
3.4测试要点
3.4.1 功能测试
保证业务功能的实现。
测试要点如下:
模块名称 | 登录系统 |
实现要求 | 用户注册:游客有选择注册的权利,点击用户注册可以注册新的用户,按照要求填写注册所用的信息,按照必填与选填来完成注册功能。注册信息包括:用户名,密码,确认密码,密码提示问题,密码提示答案,真实姓名,性别, 身份证号, 邮箱地址,邮编,邮寄地址,联系电话。 用户登录:已经注册的用户可以登录网站,输入正确的用户名与密码即可以登录网站。 找回密码:如果用户忘记密码,可以通过找回密码功能输入问题提示与相关答案修改密码,用户可以通过新输入的密码登录网站。 退出登录:用户点击注销按钮可以退出登录。
|
模块名称 | 个人信息管理 |
实现要求 | 查询个人信息:在用户登录后,可以通过个人信息查询查询自己所填写的个人详细信息。 修改个人信息:用户登录后,可以修改个人信息,信息以文本框形式显示,可以看到原来所填信息并作出相关处理。 修改个人密码:用户登陆后,可以修改个人密码,输入原来密码与两次新密码,如果原密码正确即可以修改密码。 |
模块名称 | 浏览商品 |
实现要求 | 查询商品模块:登录用户或游客根据查询条件查询某类或某个商品。查询条件有:商品大分类,商品小分类以及关键字。 商品评论模块:登录用户或游客对商品具体信息页面可对该商品进行评论。输入内容有:用户名(登录用户默认为该登录用户的用户名,游客默认为“游客”用户名),评论内容。 |
模块名称 | 购物车管理 |
实现要求 | 添加商品: 添加商品到购物车,必须要先浏览商品,找到自己想买的商品后,点击添加到购物车按钮,就可以将商品放入到购物车。放入购物车中后用户打开购物车显示该购物车中所有放入的商品信息列表,包括:商品名、商品单价、商品个数(可修改)、一个修改按钮(修改购买的数量)、一个删除按钮(可将此商品移出购物车)。 商品删除:点击删除按钮,可将此商品移出购物车。 修改购买商品的数量:重新输入购买商品的数量,然后点击修改。 |
模块名称 | 支付管理 |
实现要求 | 提交邮寄信息:登录用户或游客填写支付购买的相关邮寄信息。相关信息有:联系人、邮寄地址、邮编、联系电话(登录用户此处默认信息为该用户注册时填写的相关信息)、邮寄方式。 选择支付方式:登录用户或游客选择付款方式。付款方式:邮局汇款、银行转账、网上银行转账。 网上转账:选择网上银行转账的登录用户或游客才有此功能。输入内容:用户的银行卡号和密码以及转账的银行卡号和金额(转账的银行卡号和金额均为系统自动提供) |
模块名称 | 个人订单管理 |
实现要求 | 订单查询:当用户登陆了系统后,可以选择察看自己的历史订单,将会生成订单信息表项。 订单打印:用户选择要进行打印的订单,在安装打印设备的情况下,可以将订单打印出来。 |
模块名称 | 管理员信息管理 |
实现要求 | 管理员登录:输入管理员的ID、密码、验证成功进入系统、验证失败返回错误信息 管理员修改密码:管理员可输入原密码、新密码、确认密码。先验证原密码是否正确,如果错误则返回错误信息;如果正确就验证新密码和确认密码是否相同,成功则修改密码,提交到数据库,否则返回错误的信息。 系统管理员添加普通管理员:系统管理员可添加普通管理员。添加成功则对数据库操作,添加失败则返回错误信息。 系统管理员查询普通管理员:通过普通管理员ID 可查询普通管理员的相关信息。 系统管理员删除普通管理员:通过普通管理员ID 可删除普通管理员的相关信息。 系统管理员修改普通管理员的权限:可选中管理权限对特定的普通管理员进行修改。 |
模块名称 | 用户管理 |
实现要求 | 查询用户信息:管理员把查询用户的个人详细信息。个人的信息包括用户ID、用户名、密码、密码提示问题、密码提示问题的答案、真实姓名、性别、邮箱地址、邮编、邮寄地址、身份证号、联系电话、用户积分。 删除特定用户信息:管理员删除特定的用户。 |
模块名称 | 商品管理 |
实现要求 | 查询商品:管理员查询商品的相关信息。商品的信息包括:商品ID、商品名称、商品信息、图片、商品二级分类ID、进价、出价、库存数量。 添加商品:管理员添加新的商品。 删除商品:管理员删除不需要的商品。 评论管理:管理员就用户对商品的评论信息可进行查看和删除。 修改商品:管理员修改商品的信息。修改内容包括商品的是否推荐情况。 |
模块名称 | 商品分类管理 |
实现要求 | 查询分类:管理员根据大分类查看所有小分类内容 添加分类:管理员根据需要添加大分类或者小分类,添加小分类的时候,必须选择与之对应的大分类。 修改分类:管理员根据需要修改大分类或者小分类名称,要修改小分类前,必须先选择之对应的大分类。 删除分类:管理员根据需要删除不必要的大分类或者大分类所属的小分类。 |
模块名称 | 订单管理 |
实现要求 | 查询订单:管理员选择查询方式(未支付的订单、最新订单、未发货订单、失效的订单)或者订单流水号(对应的为订单表中ID号),显示订单信息的列表:(订单生成日期、订单中的购买内容、金额统计显示、订单状态(是否支付,是否发货))。 修改订单状态:管理员在查询订单后,可以选择特定的订单进行状态修改,可以将未支付修改为已支付,未发货修改为已发货。 删除订单:管理员在查询订单后,选择特定的订单进行删除。 |
模块名称 | 新闻管理 |
实现要求 | 对所有的公告和资讯管理,获取所有的公告和资讯信息,对其进行查看、添加、删除 |
模块名称 | 销售统计 |
实现要求 | 管理员可以根据不同时间段查询商品销售情况。 查询条件可选:按时间统计销售信息和按商品名统计该商品的销售情况 按时间统计可分为:按日统计、按星期统计、按月统计、按年统计和自定义统计。 输出结果显示:商品ID、商品名称、商品销售数量、商品利润以及商品的销售总利润。 按商品名统计输出结果显示:商品ID、商品名称、商品销售数量。 |
3.4.2 性能测试
保证系统的性能达到要求。
测试要点如下:
测试要点 | 测试要求 |
系统速度 | 平均等待时间控制在4秒之内。 |
权限控制 | 只有管理员可以控制,普通员工不能超越权限。 |
错误控制 | 存在必要的错误检查,给出错误提示。 |