资源描述
第一部分 概述
1.文档说明
本文档主要包括数据库详细设计和界面详细设计讲解,所以请认真阅读,以提高开发的质量和效率。
2.系统需求概述
整个系统中所有布局统一采用div布局,所有数据展示控件,如GridView和DataList都要有分页处理。建议在浏览页面时,设置浏览器:从工具--àInternet选项--à设置--à每次访问网页时检查。
第二部分 系统总体结构
本系统采用了传统的3层架构实现,理解起来更简单,请采用3层架构的模式开发你的系统。如下图所示:
第三部分 系统设计
类图
//*系统中主要的、关键实体类图,参考图如下*//
Ø [用例1]实现
l 时序图
//用例1的时序图,参考图如下*//
l 描述
第四部分 数据库设计
1.逻辑设计
数据库关系图:
2.表设计
//*所有的表的详细设计信息汇总,如:*//
4.1 数据库:GameCardSale所有表信息
表 名
功 能 说 明
UserInfo
存放用户基本信息
UserState
可扩展性,设置用户是否被屏蔽的状态
RoleInfo
存放角色基本信息
SysFun
存放菜单功能基本信息
RoleRight
存放所有角色权限
CardType
卡片类型信息表
Card
具体卡片表
CardState
可扩展,卡片是否被售出的状态
ShoppingCart
购物车功能,存放用户已经选择的卡片信息
TempRelativeCard
根据用户选择的卡片,给出相关的选择
ShopHistory
用户购物历史记录
PostHistory
用户汇款历史记录
ApproveState
可扩展,用户汇款被审核状态
PostFailedInfo
存放汇款失败时,系统发送的信息
News
存放系统公告信息
Advice
存放会员的投诉建议信息
4.2 表UserInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
UserId
Varchar(50)
非空
用户唯一标识
UserName
Varchar(50)
非空
真实姓名
PassWord
Varchar(50)
非空
密码
UserRole
int
非空
用户角色
Gender
int
非空
性别
PassQuestion
Varchar(50)
非空
密码提示问题
PassAnswer
Varchar(50)
非空
密码提示答案
Email
Varchar(50)
非空
TelNo
bigint
非空
电话号码
Address
Varchar(50)
联系地址
IDCardNo
bigint
身份证号
Money
float
用户余额
UserState
int
非空
表UserState中
UserStateId的外键
用户状态
4.3 表UserState
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
UserStateId
Varchar(50)
非空
1:正常状态;0:被屏蔽
UserStateName
Varchar(50)
非空
4.4 表RoleInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
RoleId
int
非空
角色id
RoleName
Varchar(50)
非空
角色名称
RoleDesc
Varchar(50)
角色描述
DisCount
int
会员折扣
4.5 表SysFun
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
NodeId
int
非空
菜单节点id
DisplayName
Varchar(50)
非空
菜单名称
NodeURL
Varchar(50)
菜单连接地址
DisplayOrder
int
非空
菜单显示顺序
ParentNodeId
int
非空
父节点id
4.6 表RoleRight
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
RoleRightId
int
非空
角色权限id
RoleId
int
非空
表RoleInfo中RoleId的外键
角色id
NodeId
int
非空
表SysFun中NodeId的外键
菜单节点id
4.7 表CardType
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
CardTypeId
int
非空
卡片类型id
CardTypeName
Varchar(50)
非空
卡片类型名称
CardPrice
int
非空
卡片价格
CardImage
Varchar(50)
对应图片地址
4.8 表Card
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
CardId
int
非空
卡片id
CardTypeId
int
非空
表CardType中CardTypeId的外键
卡片类型id
CardNo
bigint
非空
卡片序号
CardPassword
int
非空
卡片密码
CardDesc
Varchar(50)
卡片描述
CardTime
datetime
非空
添加卡片时间
CardState
int
非空
表CardState中CardStateId的外键
卡片售出状态
4.9 表CardState
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
CardStateId
int
非空
卡片状态id
1:售出;0:未售出
CardStateName
Varchar(50)
非空
卡片状态名称
4.10 表ShoppingCart
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
ShoppingCartItemId
int
非空
购物车项id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
CardTypeId
int
非空
表CardType中CardTypeId
的外键
卡片类型id
Num
int
非空
购买数量
4.11 表TempRelativeCard
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
TempRelativeCardId
Varchar(50)
非空
相关卡片标识id
UserId
int
非空
表UserInfo中userid的外键
用户id
CardTypeId
int
非空
表CardType中CardTypeId
的外键
卡片类型id
4.12 表ShopHistory
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
ShopHistoryId
int
非空
购物历史记录id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
CardId
int
非空
表Card中CardId的外键
卡片id
ShopTime
datetime
非空
购买时间
4.13 表PostHistory
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
PostHistoryId
int
非空
汇款历史记录id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
Bank
Varchar(50)
非空
汇款银行
Money
int
非空
汇款金额
PostTime
datetime
非空
汇款时间
PostDesc
Varchar(50)
备注
ApproveState
int
非空
表ApproveState中ApproveStateId的外键
审核状态
4.14 表ApproveState
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
ApproveStateId
int
非空
种子,自增1
审核状态id
ApproveStateName
Varchar(50)
非空
审核状态名称名称
4.15 表PostFailedInfo
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
PostFailedInfoId
int
非空
汇款失败信息id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
PostHistoryId
int
非空
表PostHistory中PostHistoryId的外键
汇款历史记录id
ReadState
int
非空
消息阅读状态
0:未读;1:已读
4.16 表News
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
NewsId
int
非空
公告id
Title
Varchar(50)
非空
公告标题
Content
Varchar(500)
公告内容
NewsTime
datetime
非空
发布公告时间
NewsState
int
非空
消息发布状态
1:已发布;
0:未发布
4.17 表Advice
表名
列名
数据类型(精度范围)
空/非空
约束条件
其他说明
AdviceId
int
非空
投诉建议id
UserId
Varchar(50)
非空
表UserInfo中userid的外键
用户id
Content
Varchar(2000)
非空
投诉或建议内容
…
第五部分 界面设计
1.登陆界面设计
说明:所有页面设计要求使用div布局完成。
查看商品
找回密码
点这里注册
网站公告
验证码,自动生成
图1.1用户登陆首页
用户登陆首页要求:只有当用户名、密码和验证码都正确时才能通过验证。“网站公告”部分为由下到上的滚动字幕,“查看所有商品”部分为从右到左的滚动字幕。点“注册会员”时,弹出添加新会员窗口,如图1.2所示。点“忘记密码?”,弹出找回密码页面,如图1.4所示。点“查看所有商品”,弹出商品展示页面,如图1.7所示。点网站公告信息,弹出该公告的详细信息页面,如图1.9所示。
会员注册页面:(如图1.2所示)
图1.2 用户注册页面
会员注册页面要求:用户登陆名只能为数字和字母以及“_”“-”,不得使用其它字符。并且用户登陆名不能少于4位,密码不能少于6位,最多不超过10位,email和电话都要进行有效性验证,除了地址和身份证号外,其他信息不能为空。提交后若注册成功则提示,如图1.3所示。
图1.3 注册成功提示信息
找回密码页面:(如图1.4所示)
图1.4 找回密码页面
找回密码页面要求:首先只显示用户登陆名填写部分,如图1.4所示。验证该用户是否存在,不存在则报错,若存在则显示找回密码问题和答案框部分,如图1.5所示。
图1.5用户存在后显示用户和密码框界面
如果问题和答案都填写正确,则显示输入新密码部分,如图1.6所示。
图1.6 问题和答案完全正确提交后的新密码界面
输入新密码后提交,则显示:“恭喜您,重新设置密码成功,请牢记”,确定后,找回密码页自动关闭。
商品展示页面:(如图1.7所示)
图1.7商品展示页面
商品展示页面功能要求:用DataList展示所有商品,如图1.7所示,要求实现翻页和模糊查询功能,点“放入购物车”后报告“请登录后购买!!”,如图1.8所示。
图1.8放入购物车时提示
公告详细信息浏览页面:(如图1.9所示)
图1.9公告详细信息页面
公告详细信息页面功能要求:显示公告标题和内容,点“关闭”按钮可以关闭窗体。
2.后台管理主界面设计
内容页部分
功能菜单部分
个人基本信息
图2.1 后台管理主界面
主界面功能要求:
要求使用母版页设计主界面,如图2.2所示,使用TreeView展示用户功能菜单,内容首页展示待审核的新用户和用户汇款,如图2.1所示。管理员菜单包括:个人管理、系统管理、综合信息3个父级模块,个人管理包括:修改资料、审核操作2个菜单,系统管理包括:用户管理、角色管理、分类管理、游戏卡管理、汇款审核、公告管理6个菜单项,综合信息包括:销售统计、浏览投诉2个菜单项。
图2.2 后台管理主页面设计
3.后台管理用例界面实现
//*用例界面实现是对需求的进一步明确和以可视化的方式呈现,作为编码和实现依据*//
Ø 用例1
个人修改资料界面:(如图2.3所示)
图2.3修改个人资料界面
修改个人资料页面功能要求:显示用户基本信息如图2.3所示,修改资料时的限制如注册时相同。
Ø 用例2
审核操作界面:(如图2.4所示)
图2.4审核操作界面
审核操作页面功能要求:用两个GridView分别显示待审核的用户和汇款信息,如图2.4所示,都有“查看详细”功能。点“通过审核”实现通过审核功能,如果汇款出现错误,点“撤回汇款”则以系统消息的形式通知用户。
Ø 用例3
用户管理界面:(如图2.5所示)
图2.5 用户管理界面
用户管理页面功能要求:用GridView展示用户基本信息,点“查看详细”可以查看更详细的信息,如图2.4所示,选中用户后,点页面上的四个操作按钮,即可以实现把用户设置为普通会员、vip会员、管理员和删除选中用户功能。另外添加全选功能,选择不同的用户角色,GridView重新绑定相应的用户信息。
Ø 用例4
角色管理页面:(如图2.6所示)
图2.6 角色管理界面
角色管理页面功能要求:用GridView展示角色基本信息,如图2.5 所示,要求实现添加角色、修改角色、删除角色、分配角色权限、浏览角色功能和设置会员优惠价功能。
添加角色页面:(如图2.7所示)
图2.7 添加角色界面
添加角色页面功能要求:为模式对话框,角色名称不能为空,提交后自动关闭并刷新角色管理页面。
修改角色页面:(如图2.8 所示)
图2.8 修改角色界面
功能要求同添加页面。
分配角色权限页面:(如图2.9所示)
图2.9 分配角色权限
分配角色权限页面功能要求:用CheckBoxList列出所有子菜单权限名称,不要求列出父菜单名称,要求选中子菜单时,自动把父菜单分配给该角色,把选中的权限分配给对应的角色,点“提交”提示“权限已生效”,确定后关闭该模式对话框。
角色功能浏览页面:(如图2.10所示)
图2.10 角色功能浏览界面
角色功能浏览界面功能要求:按角色展示它们被分配的权限,如图2.9所示。
设置会员优惠价页面:(如图2.11所示)
图2.11 设置会员优惠价页面
设置会员优惠价页面功能要求:会员类型又roleinfo表动态绑定,然后选择你要设置的会员类型,填写优惠价比(1~100之间的整数)后,点“提交”则更新选定会员类型的优惠价比例,如图2.12所示。
图2.12 设置会员优惠价比
能成功执行删除操作。
Ø 用例5
卡片类别管理界面:(如图2.13所示)
图2.13 卡片类别管理界面
卡片类别管理页面功能要求:卡片类别可以同名,用卡片类别和价格结合起来作为唯一标志,用ListBox列出所有卡片类别+价格。商品价格部分可以自己定义,但菜单项要合理。图片路径部分要求只保存图片的相对路径,并且输入框部分为只读,可以把所有的图片都放在项目中的“images”文件夹里,保存数据库时,路径保存为:“~/images/....gif”。点“添加新类型后”卡片类别列表自动刷新,显示刚才添加的卡片类别,另外点“删除选中类型”按钮,删除该行记录,并自动刷新卡片ListBox。
Ø 用例6
卡片管理界面:(如图2.14所示)
图2.14 卡片管理界面
卡片管理页面功能要求:用GridView显示卡片基本信息,按卡片类别名称和价格排序,相同的部分尽量合并单元格,如图2.14所示。实现添加、修改和删除功能。
添加卡片页面功能要求:为卡片管理页面弹出的模式对话框,如图2.15所示,要求所属类型部分为自动绑定的所有卡片类型+价格,默认编号是从数据库获取的当前默认种子最大值,卡号和密码部分要有有效性验证,比如卡号只能为10~20位整数,密码为3~10位数字。点“提交”后保存卡片信息,并自动关闭模式对话框。
图2.15 添加卡片界面
修改卡片页面功能要求:初始时分别绑定卡片管理中选中的卡片信息,卡片类型也要自动绑定为该卡片对应的类型,修改卡片的内容,“提交”更新卡片信息,关闭模式对话框,自动刷新卡片管理页面。
图2.16 修改卡片界面
Ø 用例7
汇款审核界面:(如图2.17所示)
图2.17 汇款审核界面
汇款审核页面功能要求:用GridView显示汇款基本信息,添加查看详细信息和全选功能,“汇款信息选择”下拉菜单项如图2.18所示,点“通过审核”追加用户余额,点“撤回汇款”通知用户汇款失败,当改变“汇款信息选择”中的类型时,则重新绑定GridView,显示相关信息。
图2.18 汇款审核菜单展开界面
Ø 用例8
公告管理界面:(如图2.19所示)
图2.19 公告管理界面
公告管理页面功能要求:用GridView显示公告基本信息,有添加、修改、删除和发布功能,要求发布后,不能修改,但可以删除。
添加新消息页面功能要求:公告管理页面弹出的模式对话框,如图2.20所示。填写消息标题和内容,提交后关闭该对话框,自动刷新公告管理页面,消息标题不能为空。
图2.20 添加新消息界面
修改消息页面功能要求:初始时显示该消息的基本信息,其他要求同添加新消息页面。
Ø 用例9
商品统计界面:(如图2.21所示)
图2.21 商品统计界面
商品统计页面功能要求:用GridView显示商品销售情况信息。
Ø 用例10
浏览投诉界面:(如图2.22所示)
图2.22 浏览投诉界面
浏览投诉页面功能要求:用DataList显示投诉建议基本信息。
4.前台操作主界面设计
内容页部分
功能菜单部分
个人基本信息
图4.1 前台操作主界面
前台操作主界面功能要求:
要求使用母版页设计主界面,如图4.1所示,使用TreeView展示用户功能菜单,内容首页展示所有可购商品信息,如图4.1所示。会员菜单包括:个人管理、会员操作、综合信息3个父级模块,个人管理包括:修改资料1个菜单,会员操作包括:商品列表、投诉建议、汇款通知3个菜单项,综合信息包括:存款记录、购物记录和联系我们3个菜单项。
5.前台操作用例界面实现
//*用例界面实现是对需求的进一步明确和以可视化的方式呈现,作为编码和实现依据*//
Ø 用例1
修改个人资料页面功能要求与后台管理中的相同。
Ø 用例2
商品列表界面:(如图4.2所示)
图4.2 商品列表界面
商品列表页面功能要求:用DataList显示可购商品基本信息,展示方式如图4.2所示。可以按照商品名称模糊搜索,点“放入购物车”后,打开新的窗口,里面显示该会员已经选择的卡片信息,当选择另外的商品点“放入购物车”后,只刷新原来的窗口不打开新窗口,点“我的购物车”共用刚才打开的窗口。如图4.3所示。
图4.3 我的购物车界面
我的购物车页面功能要求:用DataList显示选好的商品信息,根据已经选择好的商品,在上边用DataList列出推荐的商品,如图4.3所示。选择好的商品部分“您的成交价”即是该会员的身份所对应的优惠价比*卡片面值而得到,当更改购买数量时,金额总计自动刷新,当购买数量超过库存量,结算时报告库存不足的提示。推荐商品来源------首先查找购买了该会员已经选择的某一件商品的所有会员,然后从这些会员购买的商品中,挑选出被购买次数最多的2种商品,如果这些商品不在购物车中则把它们显示出来。依照上边的方法,遍历该会员选择好的所有的商品。
另外:当推荐的商品,点“购买”时,将自动更新已经选择的商品和推荐的商品数据,如图4.4所示。
图4.4 推荐的商品点“购买”后的界面
Ø 用例3
投诉建议界面:(如图4.5所示)
图4.5 投诉建议界面
投诉建议页面功能要求 :客户文本框部分默认为用户登陆时的id,内容有非空验证。
Ø 用例4
汇款通知界面:(如图4.6所示)
图4.6 汇款通知界面
汇款通知页面功能要求:客户默认为登陆id,银行默认为工商银行,汇款金额只能为数字类型,除了附言外,其他输入框都要求非空。
Ø 用例5
存款记录界面:(如图4.7所示)
图4.7 汇款记录界面
汇款记录页面功能要求:用GridView显示汇款基本信息,相同的项要进行合并,如图4.7所示。
Ø 用例6
购物记录界面:(如图4.8所示)
图4.8 商品列表界面
购物记录页面功能要求:用GridView显示购物历史记录,如图4.8所示。
Ø 用例7
联系我们界面:(如图4.9所示)
图4.9 联系我们界面
联系我们页面功能要求:静态页面,注意div布局。
附1.3 测试用例模板
Ø 测试用例模板(一)
测 试 项 目
说明/数据
用例编号
测试优先级
用例摘要
测试类型
用例类型
用例设计者
设计日期
对应需求编号
对应UI
对应UC
版本号
对应开发人员
前置条件
测试方法
输入数据
执行步骤
预期输出
实际结果
测试日期
结论
Ø 测试用例模板(二)
项目名称
程序版本
功能模块名
编制人
编制时间
功能特性
测试目的
续表
预置条件
特殊规程说明
用例编号
说 明
输 入
预期结果
测试结果
备 注
说明:
Ø 以上测试用例模板1适用于集成测试与系统测试,测试用例模板2适用于单元测试。
Ø 测试用例模板1可以根据情况适当简化。
附1.4 答辩用的幻灯片的目录结构
Ø 第一页是标题部分。
Ø 第二页是本幻灯片的主要内容和目录。
Ø 第三页是小组成员列表。
Ø 第四页是项目概述。
Ø 第五页是实施技术、框架及硬软件环境。
Ø 以下是功能模块技术实现的说明。
Ø 提示进行现场演示。
Ø 提示进行文档展示。
Ø 开发经验和总结。
Ø 提示可以进行答辩提问。
Ø 感谢。
详细的内容可以参看教员提供的电子文档。
附1.5 项目进度安排表模板
[系统名称]开发进度表
文档名称
项目名称
开发单位
项目组长
序 号
任务名称
计划日期
实际日期
负责人
进度偏差的原因
1
2
3
4
5
6
…
7
8
说明:
Ø 进度表用于进度汇报,并且为进度控制提供依据。
Ø 以上的进度,是项目里程碑和关键路径上主要控制点的进度情况汇报,也可以根据项目计划中工作分解结构的工作包进行更加细致的控制。
Ø 专门用于编码过程中的进度汇报,可以按照功能、模块、子系统的完成情况来进行汇报,进度控制的力度因不同的情况和要求而有差异。
Ø 若关键路径发生更改,需要在进度报告中说明。
Ø 可用灰色的进度表示项目的里程碑。
附录2 阶段项目评分标准
以下评分表用于评价学员阶段项目的综合得分,提供给教员作为参考。
序 号
考 评 项
考评方法和说明
单 项 总 分
1
项目参与
上课出勤、团队合作的情况
10%
2
理解需求和设计
绘制用例图、类图、数据库设计图
10%
3
功能编码
编码、调试、功能实现情况,正确完成的模块数
50%
4
测试工具的使用
测试用例的编写、随机抽取页面的bug数
10%
5
代码规范性
功能实现代码的规范性程度
使用CheckStyle检查Java代码规范
使用devAdvantage检查.NET代码规范
10%
6
阶段答辩
演讲技巧
10%
3.4.202508:3008:30:5725.3.48时30分8时30分57秒3月. 4, 254 三月 20258:30:57 上午08:30:57
2025年3月4日星期二08:30:57
展开阅读全文