精品课程设计网上书城系统详细设计说明书.docx
- 文档编号:8311494
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:38
- 大小:374.52KB
精品课程设计网上书城系统详细设计说明书.docx
《精品课程设计网上书城系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《精品课程设计网上书城系统详细设计说明书.docx(38页珍藏版)》请在冰豆网上搜索。
精品课程设计网上书城系统详细设计说明书
详细设计说明书
November16
2010
网上书城
详细设计说明书
1引言
1.1编写目的
目的:
编写网上书城系统详细设计说明书的目的在于从详细设计的角度明确网上书城项目的业务品种、功能范围,明确与业务主机/终端系统的接口和业务处理模式,使系统开发人员和产品管理人员明确产品功能,可以有针对性的进行系统开发、测试、验收等各方面的工作。
读者:
项目经理、概要设计人员,编码人员,测试人员。
1.2背景
系统名称:
网上书城系统
任务提出者:
开发者:
用户:
网上图书交易用户
运行该程序系统的计算中心:
服务器端:
操作系统:
WINDOWSXPSP2或WINDOWSSERVER2003
WebServer:
IIS5.1
客户端:
操作系统:
任何pc平台;
浏览器:
InternetExplorer,NetscapeNavigator等
1.3定义
(1)B/S结构(Browser/Server,浏览器/服务器模式):
是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如NetscapeNavigator或InternetExplorer,服务器安装Oracle、Sybase、Informix或SQLServer等数据库。
浏览器通过WebServer同数据库进行数据交互。
(2)SQLServer2005开发版:
微软提供的数据库开发工具。
1.4参考资料
(1)《软件工程》钱乐秋赵文耘牛军钰齐治昌清华大学出版社
(2)Web数据库系统开发教程文振焜张小健林佳利刘晔清华大学出版社
(3)ASP.NET(C#)实践教程邵良杉刘好增马海军清华大学出版社
(4)《软件设计文档国家标准》GB8567-88
2程序系统的结构
系统总的来说需要实现以下功能:
1.前台系统、
1.1会员登录注册模块
1.2购物车功能模块
1.3订单查询功能模块
1.4推荐图书模块
1.5图书分类列表模
1.6图书搜索模块
2.后台系统
2.1会员管理模块
2.2图书管理模块
2.3订单管理模块
系统购书流程如下:
3图书管理模块
3.1程序描述
该模块负责管理所有网上书店的图书信息。
此模块主要用于管理员添加、查询、更改、删除图书。
3.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
系统名称:
网上书城
设计人:
吴毅
模块名:
图书管理模块
日期:
2010-11-12
上层调用模块:
会员登录注册模块
下层被调用模块:
查询模块,修改模块,删除模块
输入数据:
数据库中存储的图书信息
输出数据:
查询,修改,删除后的图书信息,错误信息
处理:
查询,修改,删除图书信息
3.3性能
管理高效性:
系统在图书管理模块设计方面,应该讲究系统管理的方便性及高效性,因为在后期使用阶段,随着信息量的增大,必定会给管理带来一定的困难,所以做到以上的性能要求是必要的,这样也可提高系统的反应速度。
3.4输人项
通过登录模块的管理员登录以后才能进入后台管理界面
名称
标识
数据类型
数值有效范围
输入方式
图书编号
BookID
int
4
键盘输入
图书分类编号
CatID
int
4
键盘输入
图书名
BookName
nvarchar
50
键盘输入
图书封面
BookImages
nvarchar
50
键盘输入
市场价格
BookMarketPrice
money
8
键盘输入
销售价格
BookPrice
money
8
键盘输入
图书信息
BookIntro
nvarchar
500
键盘输入
图书数量
BookAmount
int
4
键盘输入
图书促销
BookSales
int
4
键盘输入
3.5输出项
输出查询结果以及修改、删除后的图书信息。
名称
标识
数据类型
数值有效范围
输出方
输出媒介
图书编号
BookID
int
4
写入数据库
数据库
图书分类编号
CatID
int
4
写入数据库
数据库
图书名
BookName
nvarchar
50
写入数据库
数据库
图书封面
BookImages
nvarchar
50
写入数据库
数据库
市场价格
BookMarketPrice
money
8
写入数据库
数据库
销售价格
BookPrice
money
8
写入数据库
数据库
图书信息
BookIntro
nvarchar
500
写入数据库
数据库
图书数量
BookAmount
int
4
写入数据库
数据库
图书促销
BookSales
int
4
写入数据库
数据库
3.6算法
暂不考虑。
3.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
3.8接口
3.9存储分配
BookByCategory存储过程:
该存储过程可以实现获取某分类中图书信息,包括图书的编号、图书名称、图书价格、图书的图像等,并按照图书名称和图书市场价格进行升序排列。
3.10注释设计
暂不考虑
3.11限制条件
(1)由于本系统的开发将是基于浏览器的B/S结构,所以浏览器端的语言使用HTML/CSS/JavaScript,服务器端的语言使用ASP(.NET),开发人员将不能用其他的开发语言。
而数据库也将随之采用SQLServer2005。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试和维护及升级。
3.12测试计划
1.对本程序将采用白盒测试技术,使用路径覆盖的测试方法进行测试。
(1)测试修改图书信息功能
输入数据:
图书名《软件工程》;市场价格38..00改为40.00;数量2改为5。
预期结果:
图书名:
《软件工程》;市场价格40.00;数量5。
(2)测试删除图书信息功能
输入数据:
删除原有的用户名为《软件工程》的信息。
预期结果:
删除后查询不到名为《软件工程》的图书信息。
(3)测试查询图书信息
输入数据:
查询新注册的名为《WEB数据库》的图书信息
预期结果:
显示《WEB数据库》的信息。
2.进度安排:
编写完模块后立即进行测试
3.13尚未解决的问题
暂未发现
4会员管理模块
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
4.1程序描述
该模块负责管理所有网上书店的用户信息。
此模块主要用于管理员查询、更改、删除账户。
4.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
系统名称:
网上书城
设计人:
吴毅
模块名:
会员管理模块
日期:
2010-11-13
上层调用模块:
会员登录注册模块
下层被调用模块:
查询模块,修改模块,删除模块
输入数据:
数据库中存储的会员信息
输出数据:
查询,修改,删除后的会员信息,错误信息
处理:
查询,修改,删除会员信息
4.3性能
管理高效性:
系统在会员管理模块设计方面,应该讲究系统管理的方便性及高效性,因为在后期使用阶段,随着信息量的增大,必定会给管理带来一定的困难,所以做到以上的性能要求是必要的,这样也可提高系统的反应速度。
4.4输人项
通过登录模块的管理员登录以后才能进入后台管理界面
名称
标识
数据类型
数值有效范围
输入方式
输入来源
用户名
UserName
nvarchar
16
提取数据库
Users表
密码
Password
nvarchar
12
提取数据库
Users表
电子邮件
Varchar
50
提取数据库
Users表
4.5输出项
输出查询结果以及修改、删除后的用户信息。
名称
标识
数据类型
数值有效范围
输出方式
输出媒介
用户名
UserName
nvarchar
16
写入数据库
数据库
密码
Password
nvarchar
12
写入数据库
数据库
电子邮件
Varchar
50
写入数据库
数据库
4.6算法
暂不考虑。
4.7流程逻辑
4.8接口
4.9存储分配
根据需要,说明本程序的存储分配。
(1)ModPwd存储过程:
该存储过程的功能实现会员密码的修改。
(2)ModUserInfo存储过程:
该存储过程用于修改用户的信息,可以对用户出密码以外的所有信息进行修改。
4.10注释设计
暂不考虑
4.11限制条件
(1)由于本系统的开发将是基于浏览器的B/S结构,所以浏览器端的语言使用HTML/CSS/JavaScript,服务器端的语言使用ASP(.NET),开发人员将不能用其他的开发语言。
而数据库也将随之采用SQLServer2005。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试和维护及升级。
4.12测试计划
1.对本程序将采用白盒测试技术,使用路径覆盖的测试方法进行测试。
(1)测试修改会员信息功能
输入数据:
用户名张三改为李四;密码123456改为654321;Email:
123456@改为654321@。
预期结果:
用户名:
李四;密码654321;Email:
654321@。
(2)测试删除用户信息功能
输入数据:
删除原有的用户名为李四的信息。
预期结果:
删除后查询不到李四的信息。
(3)测试查询用户信息
输入数据:
查询新注册的名为王五的用户信息
预期结果:
显示王五的信息。
2.进度安排:
编写完模块后立即进行测试
4.13尚未解决的问题
暂未发现
5购物车模块设计说明
5.1程序描述
该模块用于对用户放入购物车以及对所有购物订单进行统计并汇总,然后给用户反馈一个总账单。
5.2功能
窗体名称:
ShoppingCart.aspx
窗体描述:
控件名称
功能
响应事件
Label.OrderMsgLabel
用于显示订单的提示信息
——
DataView.MyDataGrid
用于显示该次购物的图书名称,市场价格,数量,会员价格和总金额。
——
BUTTON.UpdateBtn
用于更新选定图书后购物车中的数据
BUTTON.CheckoutBtn
用于用户结算本次购物的总金额
——
窗体名称:
Checkout.aspx
窗体描述:
控件名称
功能
响应事件
Label.OrderMsgLabel
用于显示订单的提示信息
——
DataView.MyDataGrid
用于显示该次购物的图书名称,市场价格,数量,会员价格和总金额。
——
Label.TotalLbl
用于显示本次购物金额
——
BUTTON.SubmitBtn
把本次购物信息转换成订单
SubmitBtn_Click
5.5输入项
名称
标识
数据类型
输入方式
输入媒介
处理数据
提交
BUTTON.SubmitBtn
无
点击按钮
鼠标
修改数据库
搜索窗体
Search.ascx
无
点击按钮
鼠标
查询数据库
图书名称
BookName
nvarchar(50)
键盘输入
键盘
查询数据库
市场价格
BookMarketPrice
money
点击按钮
鼠标
查询数据库
数量
BookAmount
Int
键盘输入
键盘
修改数据库
价格
BookPrice
money
点击按钮
鼠标
查询数据库
金额小计
UnitCost
Int
系统计算
数据库
修改数据库
订单编号
OrderID
Int
系统自动生成
数据库
查询数据库
订单日期
OrderDate
Date
系统自动生成
数据库
查询数据库
5.4输出项
名称
标识
数据类型
输出方式
输出媒介
图书名称
BookName
nvarchar(50)
写入数据库
数据库
市场价格
BookMarketPrice
money
写入数据库
数据库
数量
BookAmount
Int
写入数据库
数据库
价格
BookPrice
money
写入数据库
数据库
金额小计
UnitCost
Int
写入数据库
数据库
订单日期
OrderDate
datetime
写入数据库
数据库
订单编号
OrderID
int
写入数据库
数据库
5.5算法
无5.6流程逻辑
5.7接口
于本模块相关的图示如下:
5.8存储分配
参考数据库详细说明书.
5.9注释设计
ShoppingCart.aspx前添加注释:
//购物车模块,用于统计用户购买的图书
Checkout.aspx前添加注释:
//结账模块,生成用户订单,并且统计用户购买书籍的价格。
5.10限制条件
该程序只有注册普通用户登录后才能使用。
管理员不能进入此模块,但可以进行维护和管理。
5.11尚未解决的问题
在购买图书的时候不能知道是否还有库存,能否及时发货。
其他问题有待发现。
6图书搜索模块设计说明
6.1程序描述
图书搜索功能主要是为了让顾客方便查找自己需要的图书,
分为一般普通搜索和高级搜索
6.2功能
程序
输入
处理
输出
search.aspx
图书名称
查询数据库中所有匹配的图书
图书信息
窗体名称:
search.aspx
窗体描述:
控件名称
功能
Textbox1
用于顾客输入图书名称
Button1
用于实现搜索图书
6.3输入项
名称
标识
数据类型
输入方式
输入媒介
处理数据
Textbox2
图书名称
字符串
单击
键盘
比较
Button
搜索
消息
鼠标单击
鼠标
数据库中检索
6.4输出项
名称
标识
数据类型
输出方式
输出媒介
图书名称
BookName
字符串
读数据库
显示器
图书价格
BookPrice
Money
读数据库
显示器
6.5算法
通过对用户提交的图书名称和图书价格范围在数据库中检索,使用简单全表扫描算法进行检索.
6.6流程逻辑
6.7接口
6.8存储分配
参考数据库设计说明书
6.9限制条件
(1)由于本系统的开发将是基于浏览器的B/S结构,所以浏览器端的语言使用HTML/CSS/JavaScript,服务器端的语言使用ASP.NET,开发人员将不能用其他的开发语言。
而数据库也将随之采用SQLServer2005。
(2)开发人员在编写代码的过程中需要严格按照软件工程的要求来进行,以利于接下来的测试和维护及升级。
6.10尚未解决的问题
由于本程序没有付款的模块,所以我们无法看到哪些订单是已经付费的,哪些没付费的。
7订单管理模块
7.1程序描述
该模块用于以表格的形式显示订单,提交和查看订单以及查看订单对应的商品。
7.2功能
程序
输入
处理
输出
OrderManage.aspx
用户BookID和orderID
查询数据库中该用户的消费信息
用户购书数量及购书金额
窗体名称:
OrderManage.aspx
窗体描述:
控件名称
功能
Textbox
输入用户ID
Button
查询用户购书数量及购书金额
7.3输入项
名称
标识
数据类型
输入方式
输入媒介
处理数据
Textbox
用户ID
字符串
单击鼠标
键盘
比较
Button
查询
消息
单击鼠标
鼠标
数据库中检索
7.4输出项
名称
标识
数据类型
输出方式
输出媒介
userID
用户标识
字符串
读数据库
显示器
totalCost
花费总额
Int
读数据库
显示器
7.5算法
通过对用户提交的用户ID在数据库订单表中检索,使用索引扫描方法进行检索.
7.6流程逻辑
7.7储存分配
参考数据库设计说明书.
7.8注释设计
暂略
7.9限制条件
该程序只有注册用户登录后才能使用。
7.10尚未解决的问题
无
8畅销图书模块设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
8.1程序描述
在主页面显示最受欢迎的前五种图书信息。
用户一进入网站主界面就可以看到那些图书是最受欢迎的,让一些本来还不知道到底要买哪些书的顾客提供参考。
它随着用户网上购书成功的输入信息,反馈到数据库。
首先调用程序:
SqlCommandmycmd=newSqlCommand("MostSoldBooks",myconn);
SqlDataReaderresult=mycmd.ExecuteReader();
dl_mostsold.DataSource=result;
dl_mostsold.DataBind();
再利用 newID="New1"runat="server"/>实现前五种最畅销的图书信息统计,把图书名、图书的价格显示到(ID)New1及利用 DataListID="dl_mostsold"runat="server"RepeatDirection="Horizontal"ShowFooter="False"ShowHeader="False">它相应的图片信息显示到(ID)dl_mostsold。 显示如下: 8.2功能 8.3性能 随着书城图书总量的增加,图书的销售记录势必会越来越来庞大,如果程序不能实现必要的精度、高效、灵活性。 此系统就会越用越不好用,这显然不是我们希望的。 所以我们要注意尽可能实现高效、灵活的程序。 每次销售图书信息更新后,系统能够及时实现畅销模块功能。 8.4输人项 名称 标识 数据类型 输入方式 输入媒介 输入来源 图书名称 图书名称 Varchar 用户输入 键盘 GridControl1 数量 数量 Int 用户输入 键盘 GridControl1 价格 价格 Int 参数传递 系统 GridControl1 小计 小计 Int 参数传递 系统 GridControl1 8.5输出项 名称 标识 数据类型 输出方式 输出媒介 图书名称 图书名称 Varchar 写入数据库 数据库 图书价格 图书价格 Int 写入数据库 数据库 8.6算法 选择操作的实现选用的是索引扫描方法; 连接操作的实现选用的是索引连接方法。 8.7流程逻辑 8.8接口 因为畅销模块是在主界面显示的,所以它没有上一层模块。 它的界面显示如下: 它的下层模块是BookDetails.aspx,例如点击《VisualBasic+Access数据库开发与实例》则会链接到: 8.9存储分配 在页面加载时要显示最受欢迎的图书信息,连接到数据库后,通过MostSoldBooks存储过程获取最受迎的图书信息。 8.10注释设计 a.加在模块首部的注释; 8.11限制条件 所有的登录用户都可以使用。 8.12测试计划 软件测试经过的步骤: 单元测试—>集成测试—>确认测试—>系统测试 畅销图书模块进行单元测试对程序单元进行测试,检查畅销图书模块是否都实现规定的功能,从而发现畅图书模块编码中或算法中的错误。 例如: 把一种图书销售记录加到前五名,看主界面上是否有显示出来。 把图书的记录加到很大,看畅销模块功能是否能高效显示。 可以用白盒测试、黑盒测试和介于两者的灰盒测试。 8.13尚未解决的问题 把畅销图书相关的信息尽可能的显示到主界面中去,畅销图书模块尽可能实现高效的算法,尽可能避免数据冗余、插入删除异常 9用户注册登录模块设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。 以下给出的提纲是针对一般情况的。 对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。 9.1程序描述 在该模块中用户可以在注册页面,注册自己的信息成为该系统的会员。 成为会员后可以通过登录界面登录到网上书城。 这时用户就可以浏览和购买书籍。 9.2功能 用户登录: 用户登录时,需要填写会员名,密码,和随机动态生成的验证码,其是为了防止恶意攻击而设置。 用户注册: 要求用户输入姓名,用户名,密码,性别,邮箱,真实姓名,邮编,详细住址。 姓名栏以及用户名栏添加了空验证控件,如果用户未填入任何信息则给出提示提示用户填入信息。 邮箱栏设置了格式验证要求用户输入的信息必须符合%@%.com的格式。 网页整体设置了错误信息收集控件能够显示所有用户输入信息的错误提示给出提示。 当用户输入的信息全部符合规则后才可进行注册操作。 把用户输入的信息全部装到一个实体类中,然后调用业务逻辑层的插入操作执行注册,注册会先判断是否已经存在该用户,如果存在则插入失败,如果不存在该用户才会注册成功。 9.3性能 A: 精度 用户注册: 用户登录: UserIDint UserNameint B: 时间特性 要求数据传输时间在2分钟以内,服务器响应时间在1分钟以内,总响应时间为5分钟。 C: 灵活性 当用户需求变化时,我们可以根据用户的需要添加和删除本模块的一些功能。 9.4输人项 用户注册输入: 列名 允许空 数据类型 输入方式 输入媒介 UserID 否 int 键盘输入 鼠标 UserName 否 nvachar 键盘输入 鼠标 Password 否 nvachar 键盘输入 鼠标 Name 否 nvachar 键盘输入 鼠标 Email 否 nvachar 键盘输入 鼠标 IDCardNumber 否 nvachar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品课程 设计 网上 系统 详细 说明书