资源描述
软件设计说明书
1. 引言 4
1.1 编写目的 4
1.2 命名规范 4
1.3 参考资料 4
1.4 相关文档 4
1.5 版本更新记录 5
2. 总体设计 5
2.1 需求规定 5
2.2 硬件运行环境 5
2.3 软件运行环境 5
2.4 开发环境 6
2.5 基本设计思想 6
2.6 子系统清单 6
2.7 功能模块清单 7
3. 接口设计 9
3.1 用户接口 9
3.2 外部接口 9
3.3 内部接口 9
4. 数据库设计 9
4.1 数据库中表名列表 9
4.2 数据库表之间的关系 10
4.3 数据库表的详细清单 10
5. 功能模块设计 14
5.1 网站首页 14
5.2 登录界面 15
5.3 注册页面 15
5.4 修改个人信息 16
5.5 修改头像 16
5.6 修改密码 17
5.7 找回密码页面 17
5.8 个人信息 18
5.9 发布商品 18
5.10 修改商品 18
5.11 发布需求页面 19
5.12 查看需求页面 19
5.13 商品信息界面 19
5.14 查看我的收藏 20
5.15 商品列表页面 20
5.16 需求列表页面 21
5.17 分类页面 21
5.18 我的商品页面 22
5.19 查看别人对我的商品的报价页面 22
5.20 查看我对别人的商品的报价页面 22
5.21 求购产品页面 23
6. 存储过程设计 23
6.1 涉及users表的存储过程 23
6.2 涉及products表的存储过程 24
6.3 涉及require表的存储过程 27
6.4 涉及orders表的存储过程 29
6.5 涉及letter表的存储过程 30
6.6 涉及category表的存储过程 30
6.7 涉及collect表的存储过程 31
7. 角色授权设计 31
8. 系统出错处理设计 31
8.1 出错信息 32
8.2 故障预防与补救 32
8.3 系统维护设计 33
9其他 33
9.1出错处理设计 33
9.2安全保密设计 34
10.测试计划 34
1. 引言
1.1 编写目的
本软件设计说明书主要针对需求分析描述了设计的各个模块。
本文档是为了让客户了解开发者所开发的软件功能是否满足了客户的预想的功能,以及各功能模块之间是否存在与客户之间相违背的地方。如果关于该软件有什么需要改进的地方请客户及时提出,以方便开发人员更好的、更全面的开发该软件。该说明书也将作为开发者前期开发的重要依据。开发人员希望通过该说明书能够让开发者和用户更好的沟通,并作为后期软件交付时软件是否符合用户标准的一个重要参考。
1.2 命名规范
l 数据库表名用小写开头的英文命名,字段名用大写开头的英文命名。
l 私有变量以“_”开头的小写英文字母命名,其他变量用小写英文字母开头。
l 所用函数用小写英文字母开头。
l 所有类用大写英文字母开头。
1.3 参考资料
[1]吕云翔,王昕鹏,邱玉龙.软件工程——理论与实践.北京:人民邮电出版社,2012.
[2]吕云翔,刘浩,王昕鹏,周建.软件工程课程设计.北京:机械工业出版社,2009.
[3]“小型二手货交易平台”需求规格说明书
1.4 相关文档
“小型二手货交易平台”需求规格说明书
1.5 版本更新记录
版本号
创建者
创建日期
维护者
维护日期
维护纪要
V1.0
温鑫
2013-5-18
温鑫
2. 总体设计
2.1 需求规定
本系统利用Web平台,通过注册在本系统上发布供应或需求信息。买家可以与卖家进行在线沟通,因此可以进行目的性强的交易,提高交易效率和质量。详细需求说明可参见《“小型二手货交易平台”需求规格说明书》。
2.2 硬件运行环境
(1)服务器
l 处理器型号:AMD或Intel2.0GHz以上
l 内存容量:1GB以上
l 网络配置:100M网卡
(2)Web浏览PC机
l 处理器型号:AMD或Intel1.6GHz以上
l 内存要求:256MB以上
l 网络配置:100M网卡
2.3 软件运行环境
(1)服务器
l 操作系统:Windows7或WindowsServer2008及以上版本系统。
l 数据库:SQLserver2008ExpressEdition。
l WEB服务器:MicrosoftIIS6.0或以上版本。
(2)客户机
操作系统等均无限制,有浏览器、有网络即可。
2.4 开发环境:
2.4.1 硬件环境
本系统采用PC机开发,配置如下:
l 处理器型号:AMD/Intel1.6GHz及以上。
l 内存剩余空间:512MB及以上。
l 外存剩余空间:1GB及以上。
l 网络配置:100M网卡、串口。
2.4.2 软件环境
1)服务器
操作系统:Windows7或WindowsServer2008及以上版本系统。
数据库:SQLserver2008ExpressEdition。
WEB服务器:MicrosoftIIS6.0或以上版本。
2)客户机
操作系统等均无限制,有浏览器、有网络即可。
2.5 基本设计思想
校内的交易平台,应注意消息的准确及时,实现交流的方便性。因此,我们主要实现“登入登出”,“浏览商品”,“浏览需求”,“线上交流”等功能。在网页组织的设计中,我们尽量使用同一个网页完成一项功能及相关功能。在网页的美观设计方面,注意页面风格一致,简洁清晰。
2.6 子系统清单
子系统清单见表1。
表1子系统清单
子系统编号
子系统名称
子系统功能描述
1
登录注册
1. 会员登录时,对其身份进行检验,识别
2. 游客可以进行注册
3. 已注册的用户可以修改个人信息,找回密码,注销等
2
浏览信息
用户可以浏览商品和需求目录或商品和需求
3
商品管理
用户可以对自己商品的相关信息进行修改
4
线上交流
用户可以与其他用户进行交流
5
购买商品
1. 用户可以管理自己的收藏
2. 对感兴趣的商品进行报价,并对报价进行管理
6
需求管理
1. 用户可以浏览需求目录或需求
2. 用户可以对自己需求的相关信息进行修改
7
系统管理
后台功能
2.7 功能模块清单
功能模块清单见表2。
表2功能模块清单
模块编号
名称
模块功能描述
101
用户注册
游客注册,成为会员
102
会员登录
会员登录系统
103
找回密码
会员将个人密码丢失后,经过审核可以重新获得密码
104
修改个人信息
会员登录后进行资料管理,如联系方式修改等
105
用户注销
会员离开系统时,进行注销
201
分类浏览商品目录
用户根据分类浏览商品目录
202
搜索商品
用户根据搜索浏览商品目录
203
浏览商品
用户浏览商品详细信息
301
查看商品
查看用户自己已发布的商品
302
发布商品
用户发布新商品
303
删除商品
用户删除自己发布的商品信息
304
修改商品信息
用户修改自己商品的信息
305
处理报价
用户处理对自己商品的报价
401
留言
用户在网站上对其他用户留言
402
在线交流
用户间通过网站进行及时交流
403
发送邮件
用户发送邮件给想要交流的用户
404
举报
用户举报违反规定用户
405
查询用户
用户查询其他用户的详细信息
501
加入收藏
用户向收藏中加入待买的商品
502
查看收藏
用户查看收藏信息
503
删除收藏商品
用户删除收藏中要购买的商品信息
504
清空收藏
用户清空收藏中信息
505
提交报价
用户向商品拥有者提交报价
506
查看报价
用户查看自己的报价
507
取消报价
用户取消自己的报价
601
查看需求
查看用户自己已发布的需求
602
发布需求
用户发布新需求
603
删除需求
用户删除自己发布的需求信息
604
修改需求信息
用户修改自己商品的需求
701
商品分类
系统通过商品标签为商品分类
702
匹配商品及需求
系统通过商品及需求的标签对其进行匹配并发送邮件
703
审核信息
系统及网站管理对信息进行审核
704
删除过期信息
系统及网站管理对过期信息进行删除
705
提供交易信息
系统将相关交易信息显示在主页上
706
提供活动信息
系统将相关活动信息显示在主页上
3. 接口设计
3.1 用户接口
用ASP.NET4.0搭建,提供清晰简洁易用美观的用户界面。
3.2 外部接口
数据存储:本系统设计大量数据的存储及处理,通过ADO.NET与MSSQLServer2008Express进行交互。
邮件发送:本系统发送邮件采用Smtp模块,利用Gmail服务器进行邮件发送
3.3 内部接口
本系统以数据为中心,网站各模块均通过ADO.NET与数据库服务器进行交互。
页面跳转时,通过Session及querystring传递参数。
4. 数据库设计
4.1 数据库中表名列表
数据库中表名列表见表3。
表3数据库中表名列表
编号
表名
表功能说明
1
category
商品类别的表
2
uers
会员信息表
3
products
商品信息
4
letter
留言表
5
require
需求表
6
order
标价表
7
collect
标价表
4.2 数据库表之间的关系
数据库表之间的关系见图1。
图1数据库表之间的关系
4.3 数据库表的详细清单
category表见表4。
表4 category表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
categoryID
类别编号
int
否
主键
2
categoryName
类别名称
nchar(10)
否
3
categoryNo
该类别商品数目
Int
否
4
upcategoryID
上一级类别
nchar(10)
是
uers表见表5。
表5 uers表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
username
用户名
nvarchar(20)
否
主键
2
password
密码
nvarchar(20)
否
3
nickname
昵称
nvarchar(20)
否
4
email
邮箱
nvarchar(50)
否
5
question1
密码提示问题1
nvarchar(50)
否
6
answer1
密码提示问题1答案
nvarchar(50)
否
7
question2
密码提示问题2
nvarchar(50)
否
8
answer2
密码提示问题2答案
nvarchar(50)
否
9
question3
密码提示问题3
nvarchar(50)
否
10
answer3
密码提示问题3答案
nvarchar(50)
否
11
photo
头像
nvarchar(MAX)
是
12
birthyear
出生年
nchar(10)
是
13
sex
性别
nchar(10)
是
14
major
专业
nvarchar(50)
是
15
birthmonth
出生月
nchar(10)
是
16
birthday
出生日
nchar(10)
是
17
QQ
qq号
nvarchar(50)
是
18
telephone
电话
nvarchar(50)
是
19
stuNo
学号
nchar(10)
是
20
enterschool
入学年
nchar(10)
是
products表见表6。
表6 products表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
pID
商品编号
nvarchar(50)
否
主键
2
username
用户名
nvarchar(50)
否
外键
3
pname
商品名称
nvarchar(50)
否
4
ptag1
商品类别1
nchar(10)
否
外键
5
ptag2
商品类别2
nchar(10)
是
外键
6
pinformation
商品信息
nvarchar(MAX)
否
7
pphoto1
商品图片1
nvarchar(50)
否
8
pphoto2
商品图片2
nvarchar(50)
是
9
pphoto3
商品图片3
nvarchar(50)
是
10
pphoto4
商品图片4
nvarchar(50)
是
11
pnumber
商品数目
int
否
12
pprice
商品价格
float
否
13
ptagelses
商品自定义标签
nchar(10)
是
14
time
发布时间
nvarchar(50)
否
letter表见表7。
表7 letter表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
LID
留言编号
nvarchar(50)
否
主键
2
fromusername
发表用户
nvarchar(50)
否
外键
3
Lcontent
留言内容
nvarchar(MAX)
否
4
ischecked
是否被查看
nchar(10)
否
5
time
时间
nvarchar(50)
否
6
id
商品编号或需求编号
nvarchar(50)
否
7
class
需求或商品
nchar(10)
否
8
tousername
接收用户
nvarchar(50)
否
外键
require表见表8。
表8 require表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
RID
需求编号
nvarchar(50)
否
主键
2
username
用户名
nchar(10)
否
外键
3
rname
需求名称
nchar(10)
否
4
rtag1
需求类别1
int
否
外键
5
rtag2
需求类别2
int
是
外键
6
rphoto1
需求图片1
nvarchar(50)
否
7
rphoto2
需求图片2
nvarchar(50)
是
8
rphoto3
需求具体信息
nvarchar(50)
是
9
rphoto4
用户自定义类别
nvarchar(50)
是
10
rinformation
需求图片3
nvarchar(MAX)
否
11
rtagelse
需求图片4
nchar(10)
是
12
time
发布时间
nvarchar(50)
否
13
rprice
需求价位
Float
是
order表见表9。
表9 order表
序号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
oID
报价编号
nvarchar(50)
否
主键
2
pID
商品编号
nvarchar(50)
否
外键
3
opnum
要买的数目
int
否
4
username
购买人用户名
nvarchar(50)
否
外键
5
price
报价
float
否
6
YorN
是否交易成功
nchar(10)
否
collect表见表10。
表10 collect表
编号
英文字段名
中文字段名
数据类型
是否允许为空
主键/外键
1
cid
收藏编号
nvarchar(50)
否
主键
2
id
需求或商品编号
nvarchar(50)
否
外键
3
username
用户名
nvarchar(50)
否
外键
4
class
需求或商品的标示
nchar(10)
否
5. 功能模块设计
5.1 网站首页
参数:无
调用背景:
l 用户浏览器打开网站时跳转至此页面;
l 当“返回主页”项被单击时,跳转至此页面;
页面组成:这个页面由四个部分组成。上部是由商品分类组成的,其中包括搜索框,及其他按钮。中间为循环滚动商品条。下部左边为广告,右边为滚动的需求信息。
调用描述:
l 单击商品分类图片上特定分类,跳转到特定商品分类网页上,通过id参数进行区分。
l 单击“搜索”按钮,跳转到特定搜索商品页面,通过id参数进行区分。
l 单击“免费发布商品”按钮,跳转到发布商品界面,通过id参数记录登陆用户。
l 单击“需求信息”,跳转到搜索需求页面。
l 单击“发布需求”,跳转到发布需求页面,通过id参数记录登陆用户。
l 单击滚动商品中任意项,跳转到该商品的详细信息页面,通过id参数记录。
l 单击需求信息中任意项,跳转到该需求的详细信息页面,通过id参数记录。
5.2 登录界面
用户登录.aspx
参数:id=?,指定登录之后跳转的页面。
调用背景:
用户在未登录状态下,不能进行除浏览之外的任何操作,包括购买商品等等。用户在其他界面进行的操作,系统都会自动给出提醒,并链接到登陆界面。
页面组成:
由一个登录框组成,登录框包括用户名和密码两个文本框,以及验证码的输入文本框,一个登录按钮,记住账号和自动登录两个复选文本框,和忘记密码及注册新用户两个超级链接按钮。
调用描述:
l 当前用户没有登录,在用户名和密码及验证码填入后,单击“登录按钮”。在数据库中进行查询,若存在此记录。根据id参数跳转到相应的界面:
l 单击忘记密码超链接按钮,则页面跳转至找回密码界面
l 单击注册新用户超链接按钮,则页面跳转注册界面。
5.3 注册页面
注册.aspx
参数:无
从Session中读取并跳转回进入注册的界面。若是从登录页面进入的,则跳转回进入登录界面的界面。
调用背景:
当用户在任意界面单击“注册”时,跳转到此页面。
页面组成:由一个表格构成,表格中的项即是要填充的详细个人信息,在表格下是本网站的规则及是否同意的选择框。再下面是两个按钮“确定”和“取消”。在表格旁边是一个“检测用户名是否重复”按钮
调用描述:单击“用户名是否重复”按钮后,会在数据库中检索是否有重复的username,单击“确定”按钮后,会检验各项是否填正确,如填写正确,则弹出对话框提示正确信息,并跳转到该跳转的页面。
5.4 修改个人信息
参数:id=?,指定会员的用户名(即账号)。
调用背景:单击导航栏中的“修改个人信息“,此页面被调用。
页面组成:由一个表格及一张图片组成,表格中的项为要填的个人信息,图像为用户头像。页面中包括“保存修改”,“更新密码”,“更新头像”等按钮。
调用描述:
l 单击“保存修改”按钮,更新数据库中相应信息,并跳转到“主页.aspx”。
l 单击“更新”,跳转到“修改密码.aspx”,通过id参数记录登录用户。
l 单击“更新头像”,跳转到“修改头像.aspx”,通过id参数记录登录用户。
5.5 修改头像
参数:id=?,指定会员的用户名(即账号)。
调用背景:单击“修改个人信息.aspx”中的“更新头像”,此页面被调用。
页面组成:由一个图片,一个fileupload控件,“更新”按钮,“保存设置”按钮,“撤销”按钮组成。
调用描述:
l 点击“更新”按钮,将相应图片上传到服务器,并将网页上图像的URL指向该图片。
l 点击“保存设置”按钮,更新数据库中相应数据,并跳转到“修改个人信息.aspx”,通过id参数记录登陆用户。
l 单击“撤销”按钮,跳转到“修改个人信息.aspx”,通过id参数记录登录用户。
5.6 修改密码
参数:id=?,指定会员的用户名(即账号)。
调用背景:单击“修改个人信息.aspx”中的“更新”,此页面被调用。
页面组成:表格包括,“当前密码”,“新密码”,“确认新密码”,“验证码”等项,及“发送到邮箱”按钮,“确认修改密码”按钮,“返回”组成。
调用描述:
l 点击“发送到邮箱按钮”将验证码发送到用户邮箱。
l 点击“确认修改密码”按钮,,更新数据库中相应数据,并跳转到“修改个人信息.aspx”,通过id参数记录登陆用户。
l 单击“返回”按钮,跳转到“修改个人信息.aspx”,通过id参数记录登录用户。
5.7 找回密码页面
找回密码.aspx
参数:无
调用背景:
在登录页面单击找回密码按钮,此页面被调用。
页面组成:两个容器,第一个中有输入文本框和“下一步”、“取消”两个按钮,第二个中有一个表格,表格中是要填写的身份验证信息及新密码,表格下面是两个按钮“确定”和“取消”,表格旁边有一个“向邮箱发送激活码”的按钮。
调用描述:
l 输入用户名,单击下一步,会在数据库中检索所输入的用户名是否存在,若存在则跳转到第二页,否则弹出相应信息。
l 输入验证身份的相应信息及新密码,单击确定,会与数据库中的数据进行比较,若成功则将新密码写入到数据库中,并跳转回登录界面,否则弹出相应提示信息。
5.8 个人信息
参数:id=?,指定会员的用户名(即账号)。Type=?,指定返回之后跳转的页面。
调用背景:单击“查看个人信息”,此页面被调用。
页面组成:由一个表格及一张图片组成,表格中的项为要填的个人信息,图像为用户头像。页面中包括“返回”按钮。
调用描述:单击“返回”按钮,跳转到type参数中指定页面。
5.9 发布商品
发布商品.aspx
参数:username=?,制定会员的ID。
调用背景:单击商品列表页面中的免费发布信息按钮,若用户已登录,则直接跳转至该页;若没有登录,则先跳转至登陆界面,在跳转至此页。
页面组成这个页面有左右两个部分组成。左边是添加商品所需要填写的输入数据控件,右边是所添加的商品图片的预览区域。左边的控件包括商品信息,商品数量、商品价格、商品标签(2个)、用户自定义标签、商品图片(4个)、商品详细描述。
调用描述:改变上传的图片,右边的显示区域进行动态显示。
5.10 修改商品
修改商品.aspx
参数:username=?,制定会员的ID。
调用背景:单击商品列表页面中的免费发布信息按钮,若用户已登录,则直接跳转至该页;若没有登录,则先跳转至登陆界面,在跳转至此页。
页面组成这个页面有左右两个部分组成。左边是修改商品所需要填写的输入数据控件,右边是所修改的商品图片的预览区域。左边的控件包括商品信息,商品数量、商品价格、商品标签(2个)、用户自定义标签、商品图片(4个)、商品详细描述。
调用描述:改变上传的图片,右边的显示区域进行动态显示。
5.11 发布需求页面
Words_detail.jsp
参数:UserID=?指点发布者
调用背景:单击nomal_top.jsp的发布需求时,此页被调用。
页面组成:需求标题,需求内容,商品类型1-5,价格,图片。
5.12 查看需求页面
All_words_list.jsp
参数:UserID=?指点查看者
调用背景:单击nomal_top.jsp的查看需求时,此页被调用。
页面组成:一个表格,总共4列,包括编号、标题、发布需求时间、发布需求人。点击每一条需求的标题就可以看到具体内容:发布需求者在Words_detail.jsp中填写的内容,包括需求标题,需求内容,商品类型1-5,价格,图片,发布需求人,并在最后有一个编辑按钮。
调用描述:当点击编辑按钮且查看者就是发布需求者时,这时页面会跳掉发布需求页面,并在发布需求页面保留已经发布的需求的内容。
5.13 商品信息界面
商品信息.aspx
参数id=?
调用背景:当用户已登录时,单击商品列表中的某个商品时,系统会自动跳转至该商品的详细信息界面。
页面组成:该界面有5个image控件用于存放商品的图片,有一个textBox控件用来显示具体的商品信息,有两个按钮,分别为“向他报价”和“和他联系”,下方为Gridview控件,用于显示买家的留言信息和评论信息。下方为freetextBox控件,用于输入评论内容等。
调用描述:
用户点击商品列表中的某个商品,跳转至此界面,若用户在未登录的状态下用发表评论,则提示其请先登录,用户点击通过“向他报价”按钮,可以通过该按钮像卖家发送自己所愿意接受的价格,卖家可以点击是或否来同意或拒绝这项交易。用户点击“和他交流”按钮,就可以弹出交流工具,和其进行线上交流。
5.14 查看我的收藏
我的收藏.aspx
参数id=?
调用背景:当用户已登录时,单击导航栏中我的收藏的超链接,系统会自动跳转至当前登录用户的商品界面。
页面组成:该页面有一个gridview控件用来显示用户所收藏的商品。
调用描述:
用户点击导航栏的我的收藏超链接,跳转至此界面,用户可以查看该用户收藏的商品
5.15 商品列表页面
搜索物品.aspx
参数:search=?,class1=?,class2=?指定搜索的名称及类别。
调用背景:
l 在主页中搜索文本框中输入要查询的物品,单击搜索后,此页面被调用。
l 在分类页面中搜索文本框中输入要查询的物品,单击“搜本类”或“搜全站”,此页面被调用。
页面组成:页面由搜索输入文本框和“搜索”按钮和一个商品信息的列表组成。
调用描述:这个页面是由于在主页或分类页面中用户填入了相应的信息而出现的
l 若search=?,class1与class2为空,则显示所有匹配的商品的简略信息
l 若search=?class1=?,class2为空(class2=?),则显示在该类别下的匹配的商品的简略信息。
当点击商品图片或商品名称时跳转到商品信息.aspx?id=?页面,显示详细信息
5.16 需求列表页面
搜索需求.aspx
参数:search=?,指定搜索的名称
调用背景:
在主页单击“需求专区”按钮,此页面被调用。
页面组成:页面由搜索TextBox和“搜索”按钮和一个商品信息的列表组成。
调用描述:
l 若search为空,则显示所有需求的简略信息
l 若search=?,则显示所有匹配的需求的简略信息
当点击需求图片或需求名称时跳转到求购信息.aspx?id=?页面,显示详细信息。
5.17 分类页面
分类.aspx
参数:class1=?,class2=?指定商品的类别。
调用背景:
在主页单击各个分类按钮,此页面被调用。
页面组成:页面由搜索输入文本框和“搜本类”按钮、“搜全站”按钮和一个商品信息的列表组成。
调用描述:
l 若class1=?class2为空,则显示ptag1匹配的商品。
l 若class1=?,class2=?则显示ptag1和ptag2匹配的商品。
当点击商品图片或商品名称时跳转到商品信息.aspx?id=?页面,显示详细信息。
5.18 我的商品页面
查看我的商品.aspx
参数:username=?根据用户名得到对应的商品信息
调用背景:在导航栏中单击“我的商品”按钮,此页面被调用。
页面组成:我的商品的信息的列表
调用描述:
当单击商品中的报价按钮时跳转到查看报价1.aspx?id=?
5.19 查看别人对我的商品的报价页面
查看报价1.aspx
参数:id=?对应的商品id
调用背景:在我的商品页面单击某一商品中的“报价”按钮,此页面被调用
页面组成:别人对我的商品的报价的信息的列表
调用描述:
单击报价中的“已完成交易”按钮时,会完成交易。完成后商品数目会减去相应数目。单击报价中的用户名时,会跳转到聊天工具,与其进行交流。
5.20 查看我对别人的商品的报价页面
查看报价2.aspx
参数:username=?根据用户名得到对应的报价
调用背景:在导航栏中单击“我的报价”按钮,此页面被调用。
页面组成:我对别人的商品的报价的信息的列表
调用描述:
单击报价中的商品名称时,会跳转到商品信息.aspx?id=?页面,显示商品详细信息。
5.21 求购产品页面
参数:无。
调用背景:单击导航栏中的“求购产品”,在求购页面中点击一条求购信息就跳转至该页面。
页面组成:这个页面有上下两个部分组成,其中上面的页面又有左中右3个部分组成。其中左边的页面显示求购产品的图片信息,中间的部分是求购产品的具体的文字信息,右边的小页面显示的需求发布者的一些基本信息。下边的部分则是留言板,主要是显示看过该条需求的人员发表的一些留言,其中每一条留言显示的信息包括留言内容、留言时间、留言者的图片、昵称等信息,留言板的最下方发表留言的区域。
调用描述:单击留言按钮,若用户没有登录,则弹出提示请先登录的信息,然后跳转至登录页面。若用户已经登录,但是留言板中没有输入留言,则提示留言不能为空。若没出现以上情况,则会把留言保存到相应的数据库中。
6. 存储过程设计
6.1 涉及USERS表的存储过程
n getUserInfo()
功能描述:取得某用户的详细信息。
入口参数:username。
出口参数:指定用户的详细信息。
伪语言实现:
CreateproceduregetUserInfo()
As
select*
fromusers
whereusername=@user
n insertNewUser()
功能描述:添加新会员。
入口参数:username、passward等。
出口参数:无。
伪语言实现:
CREATEPROCEDUREinsertNewUser(@usernamenchar(10),@passwardnvarchar(50)...)
AS
INSERTINTOusersvalues(@username,@passward…)
RETURN;
n updatePassward()
功能描述:修改密码
入口参数:username、passward
出口参数:无
伪语言实现:
CREATEPROCEDUREupdatePassward(@usernamenchar(10),@passwardnvarchar(50))
AS
UPDATEuserssetpassward=@passward.TextWHEREusername=@name;
RETURN;
6.2 涉及PRODUCTS表的存储过程
n insertNewProduct()
功能描述:添加新的商品
入口参数:username
出口参数:无
伪语言实现:
Insertintoproducts(ptag1,ptag2,pinformation,pnumber,pprice,pelsetag,pphoto1,pphoto2,pphoto3,pphoto4,pID,username)values(@ptag1,@ptag2,@pinformation,@pnumber,@pprice,@pelsetag,@pphoto1,@pphoto2,@pphoto3,@pphoto4,@pID,@username)
n updateProduct()
功能描述:更新商品信息
入口参数:username,pID
出口参数:无
伪语言实现:
Selectptag1,ptag2,pinformation,pnumber,pprice,pelsetag,pphoto1,pphoto2,pphoto3,pphoto4fromproductswherepID=@pID
Updateproductssetpname=@pname,ptag1=@ptag1,ptag2=@ptag2,pinformation=@pinformation,pnumber=@pnumber,pprice=@pprice,pelsetag=@pelsetag,pphoto1=@pphoto1,pphoto2=@pphoto2,pphoto3=@pphoto3,pphoto4=@pphoto4wherepID=@pID
n getProduct()
功能描述:获取商品信息
入口参数:username,pID
出口参数:商品详细信息
伪语言实现:
Selectptag1,ptag2,pinformation,pnumber,pprice,pelsetag,pphoto1,pphoto2,pphoto3,pphoto4fromproductswherepID=@pID
n Getpphoto()
功能描述:可以得到商品图片
入口参数:pid
出口参数:无
伪语言实现:
Selectpphoto1,pphoto2,pphoto3,fromproductswherepid=@pid
n Getpinformation()
功能描述:可以得到商品详细信息
入口参数:pid
出口参数:无
伪语言实现:
Selectpinformationfromproductswherepid=@pid
n getSomePro()
功能描述:随机取得20个商品记录。
入口参数:无。
出口函数:20个商品记录。
伪语言描述:
CreateproceduregerSomePro()
As
selecttop20rname,RID
fromrequire
orderbyNewID()
n getProductBySearchandClass()
功能描述:根据搜索信息及分类信息获得匹配的商品信息
入口参数:search、class1、class2。
出口参数:匹配成功的商品信息
伪语言实现:
CREATEPROCEDUREgetProductBySearchandClass(@searchnvarchar(50),@class1nchar(10),@class2nchar(10))
AS
SELECT[username],[pname],[pinformation],[pphoto1],[pnumber],[pprice],[date],[pid]FROM[products]WHERE(([pname]LIKE'%'+@pname+'%')AND([ptag1]LIKE'%'+@ptag1+'%')AND([ptag2]LIKE'%'+@ptag2+'%'))
RETURN;
n getProductByClass()
功能描述:根据搜索信息及分类信息获得匹配的商品信息
入口参数:class1、class2。
出口参数:匹配成功的商品信息
伪语言实现:
CREATEPROCEDUREgetProductByClas
展开阅读全文