#软件工程网上书店管理系统详细课程设计报告(很经典)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.引言 (1)
二.系统开发的目标 (1)
三.可行性研究 (2)
四.系统需求分析 (2)
五.总体设计 (3)
六.概要设计 (4)
七.详细设计 (7)
八.软件测试 (8)
九.页面显示效果及代码分析 (13)
十.特别说明......................................................... ..20十一.参考资料.. (21)
一、引言
1.编写目的
本需求分析文档的目的是说明网上书店管理系统最终需要满足的条件和限制,为进一步设计和实现提供依据。
本文档将用户的需求用文字的形式固定下来,是和用户沟通的成果,也是用户验收项目时的参考。
2. 项目背景
系统名称:《网上书店管理系统》
需求背景分析:随着互联网的迅速发展以及我国经济的稳定平衡发展,人们对于知识的追求也越来越高,因而市场场上出现了各类的图书,但由于各种各样的原因使得消费者在选购图书的时候不能找到自己合意的书籍,同时由于网络经济的迅速发展激生出了网上卖书的现象,由于网上书店里面的图书相当丰富,且价格较市场上的书店里的便宜,以致于越来越多的人上网购书,同时也使得越来越多的人在网上开设自己的书店,本系统即是在以上各种条件成熟的条件下,建立的一个可以让消费者登录本系统购买他们的图书的一个网上书店管理系统。
系统用途:本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和卖书的行为,同时大大减少的人员的参和。
系统使用范围:网上想买书者。
二、系统开发的目标
管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。
查看图书调查报告、游客可以在线注册为会员、投票、购书。
本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
三、可行性研究
可行性研究是系统分析阶段的第二项活动。
此活动的主要目标是: 进一步明确系统的目标、规模和功能,对系统开发背景、必要和意义进行调查分析并根据需要和可能提出开发系统的初步方案和计划。
可行性研究是对系统进行全面、概要的分析。
通过调查分析,新系统设计方案有以下三个可行性:
1.技术可行性:本系统采用Windows 作为操作平台。
数据库系统选用SQL server2005,该数据库管理系统提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。
本系统的开发平台选用visual studio 2005,这是目前web数据库使用软件的主流开发平台。
2.经济可行性:采用新的网上书店可取代原系统的工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期提高员工信息的利用率,使销售质量更上一个台阶。
3.3.营运可行性(1).本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。
(2).面对于系统设计还应该以“标
准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。
软件的开发应能在较长时间内满足学校的发展需要。
四、系统需求分析
1. 总体需求
建立对图书提供全面管理信息的系统
对所有的图书,客户提供全面管理
对图书详细信息提供管理
2. 功能需求
在Internet,客户可通过IE或其他浏览器浏览书目信息;
在互联网,可提交订单;
具有购物车功能;
客户能通过书名来检索书籍;
客户可在网上进行注册,成为会员;
客户能查看当前订单和以往订单;
书店员工能查找客户联系信息;
书店员工在发货后能改写订单中的发货日期;
3. 性能需求
网上书店系统和相关单位的链接;
系统可以对图书的库存进行统计;
易于维护和扩充;
系统界面设计友好,操作方便、灵活;
具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;
具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,
不能修改图书,防止随意删改,同时提供信息备份的服务;
具有保密机制,各级使用者只能看到允许查看的系统信息;
五、总体设计
项目规划
网上书店管理系统是一个典型的web 数据库开发使用程序,由前台图书展示及销售、后台管理两部分组成。
1.1、前台商品展示及销售:该部分主要包括新书上架、购物车、会员管理、图书公告及订单查询、图书查询等。
1.2、后台管理:该部分主要对商城内的一些基础数据进行有效管理,包括图书管理、会员管理、订单管理、公告管理等。
2运行环境规定
程序版本项目详细
操作系统Windows XP
数据引擎Microsoft Sql Server 2005
权限要求对Sql Server数据库具
有建表、备份的权限对
SqlServer数据库具有建
表、备份的权限
硬件要求双XEON2.4GCPU 1G
内存RAID5数据冗余
磁盘阵列或更高
开发工具:
数据库Microsoft Sql Server 2005
开发工具Visual studio 2005
六、概要设计
1功能分析层次图:
网上书店管理系统
首页
图书展台购物车收银台会员管理订单管理
2.数据库结构设计 网上书店管理系统从管理员,用户(会员)出发,通过注册会员 实现对图书的购买及款项的交付。
其中通过对图书的分类查询来获取 自己需要的图书,因而确定图书的分类表,通过对图书的分类,可以 实现对实际图书的管理,进而确定有了图书的详细介绍表即图书表; 但在消费者买书的时候需要将自己的订单整理好放到订单表中,故而 有了用户的订单表,这是在确定订单的时候用的表,而之前则有一个 购物车表,使得用户在网站浏览的时候能将自己喜欢的图书暂时保存 在自己的购物车表中,将确定是否购买时,可以将自己不购买的图书 随时移出购物车。
还有就是在消费者买完图书后,卖家为了获得消费 者们的评价,以及是否还需要在进这种书时,专门有一个用户评价的 表格来表明消费者们对哪类书感兴趣,进而随时改变销售策略。
以下即为表的详细设计: 书籍的类别表:Category
书籍的详细信息列表:
消费者的注册信息列表:
消费者的订单列表:
消费者的订单书籍详细信息列表:
消费者的购物车信息列表:
消费者对于购买的书籍的评价列表:
它们的数据之间的关系如图所示:
3.网站用例关系示意图:
通过对以上设计图的步骤分析,可以使购买者快速方便的学会在网上 购书的流程。
4 设计测试方案:
为保证系统的数据安全性,进入本系统购书时需要使用自己的账 号,密码,这样在以后的购书过程中就无需再输入账号或密码了,节 省了很多时间。
本系统功能模块主要有三个:游客注册成为会员,将购买的书籍 放进自己的购物车,结账等待收书。
七 详细设计 1系统界面设计
新 书 上 架 书上架
图
书分类 浏览
添加至购物车
查 看 购 物
车
移出 购 物
车
清
空购 物
车
填写订
单信
息
购
书
结
账
会
员
注
册
会
员
登
录
会员
登录修改
订
单
查
询
1.1 进入网站显示的界面
当用户在URL中输入本网站管理系统的地址后,进入到本网站首页,若不想买书只是看看则是作为游客身份,这时可以看到网站推荐的最新书籍的信息,以及其他图书的信息。
然而只能浏览,不能购买。
若想买书则需要注册成为会员身份。
1.2注册登陆界面
注册登陆界面的主要功能就是让购书者将自己的信息写入数据库存储起来,当用户确认买书时,售书者根据用户的注册信息将
用户所购买的书籍发送到用户注册的地址。
1.3 书籍列表界面及详细详细书籍介绍界面
此界面通过对书籍的详细介绍使得用户对自己购买的书籍有一详细的了解。
同时可以扩大自己对其他图书的了解,进一步购买做准备。
1.4 购物车页面:
此模块的主要功能是充当一个仓库,不过此仓库装的是想要购买的书籍,用户在网站浏览时可以随时将自己喜欢的图书放进进购物车,最后付账时可以将自己不买的图书移除购物车。
1.5账户页面
此页面主要是记录了会员购买的图书的列表,以及自己的总花费。
可以让会员实时的知道自己的账单。
1.6 查找页面
此模块的主要功能是方便用户快速的找到自己需要的书籍,不必未来会寻找而烦心。
1.7 评论页面
此模块的主要功能为用户对自己购买的书籍作出评价,一方面让网站管理人员知道自己卖的书籍的好坏,一方面扩大自己网站的知名度。
2测试用例设计
每个系统都要有一定数量的测试用例来测试系统是否符合用户的要求,此书店管理系统也不例外。
网上书店管理系统采用管理员admin极普通会员作为测试用例。
八软件测试
1测试目的:测试软件在设计及运行过程中出现的问题,以及得到对于问题改进的建议。
2 测试概要
2.1 测试采用的标准及技术
表一:开始/中断/完成测试
开始/中断/完成测试标准说明
开始测试标准硬件环境可用且软件正确安装完成
中断测试标准安装无法正确完成或文档错误或系统异常
完成测试标准完成测试中的测试规划并达到质量目标
表二:测试技术
测试技术说明
编写测试用例在产品编码阶段编写测试用例
单元测试对具体模块或函数进行测试
集成测试检测模块集成后的系统是否达到要求
系统测试对业务流程及数据流的处理是否符合标准,系统对
业务流的处理是否存在逻辑不严谨和错误以及存在
不合理的标准及要求
表三:测试类型
测试类型说明
功能测试检测产品是否实现了其功能
边界值测试选择边界数据进行测试,确保功能正常,程序正常界面测试检查界面是否美观合理
文档测试检查文档是否足够、描述是否合理
2.1.1单元测试
利用visual studio 2005中自带的单元测试功能进行单元测试,测试各个类中的函数。
按要求输入,测试和预期结果是否吻合,如果不吻合,单元测试结果将显示失败或其他的错误信息。
具体如下:
1测试ReviewDB.cs类下的AddReview(int productID, string
customerName, string customerEmail, int rating, string comments) 函数声明如下:public void AddReview(int productID, string customerName, string customerEmail, int rating, string comments) 函数预期实现的功能:将用户评论的内容添加到用户书籍信息当中. 输入:用户评论
期望输出:评论内容
测试结果:通过
2测试ShoppingCartID.cs类下的函数GetShoppingCartId(),ShoppingCartID.cs在App_code目录下。
函数声明如下: public String GetShoppingCartId()
函数取其实现的功能:以用户ID作为购物车ID,实现对购物车的管理
输入:ID=1
期望输出:用户的购物车内容
测试结果:通过。
2.1.2集成测试
本系统的集成测试重点是页面间的跳转是否正确以及页面间的参数传递是否正确。
对于页面间跳转的测试,主要测试点击本系统中的各个页面的导航链接提示是否跳转到相应的页面,对于参数传递的测试,主要测试页面间传递参数所产生的结果是否正确。
1页面跳转测试
表四:页面跳转测试结果
编号跳转链接名称所在页面测试结果
1 用户注册Login.aspx 通过
2 查找图书SearchResult.aspx 通过
2参数传递测试
参数传递主要测试的是页面间跳转的新页面依赖于所传递的参数的页面跳转。
表五:参数传递测试结果
编号参数传递链
接
所在页面预期结
果
发现问
题
测试结
果
1 用户注册Login.aspx 用户名,
密码,电
子邮件
等均为
空白通过
2 查找图书SearchResult.aspx查找不
存在出现图
书
不通过
2.1.3系统测试
系统测试是按照贴近实际的场景进行部署后对系统进行的一系列严格有效地测试。
它主要包括两个方面,一是功能测试,二是性能测试。
1功能测试
表六:功能测试设计表
编号功能名称功能描
述输入/需
要
输出/结
果
发现问
题
测试结
果
1 登录退出会员登
陆网站用户名,
密码
成功登
录或出
错
通过
2对性能的测试
表七 性能测试
编号 性能名称 性能描述
输入
系统响应 发现问题 测试
结果 1
正确性需求 系统能够将新注册的会员信息准确的导入到数据库中
用户的注册信
息
数据库中的信息本更新
无
通过
2
时间特性需求
九.页面显示效果及代码分析 1游客进入系统使得首页 如图所示:
public partial class BookList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (string .IsNullOrEmpty(BookTypeID)) return ;
if (!IsPostBack)
BookList1.PageIndex = 1;
BindBookList(BookTypeID,BookOrderByFields.DateAdded);
BookList1.LblSearchCondition.Text = "搜索类别:"+ BookTypeName; } }
private string BookTypeID
get
{ if(BookTypeTreeNavigationExpanded1._SelectedNode==null) if (Request.QueryString["BookTypeID"] == null)
return null;
return Request.QueryString["BookTypeID"].ToString(); } else
{ return BookTypeTreeNavigationExpanded1._SelectedNode.Value } } }
private string BookTypeName
{ get { if (Request.QueryString["BookTypeName"] == null)
return null;
return Uri.UnescapeDataString( Request.QueryString["BookTypeName "].ToString());} }
2会员的登录注册信息
如图所示:
主要代码如下:
protected void RegisterClick(object sender, EventArgs e)
{ if (!Page.IsValid)
return; er user = new User();
user.RoleID =(int) Role.RegisterUser; //必填项
erName = RegisterUser1.TxtUserName.Text;
erPwd = RegisterUser1.TxtUserPwd.Text;
user.Email = RegisterUser1.TxtEmail.Text; //选填项 user.RealName = RegisterUser1.TxtRealName.Text;
user.PostalCode = RegisterUser1.TxtPostalCode.Text; user.Phone = RegisterUser1.TxtPhone.Text;
user.Address = RegisterUser1.TxtAddress.Text;
int result = new UserBll().InsertUser(user);
if (result == -2) { RegisterUser1.LblMsg.Text = "注册失败!该用户名已存在。
"; return; }
if(result == -3) { RegisterUser1.LblMsg.Text = "注册失败!该Email 已存在。
"; return; if (result==1)
{ Response.Redirect("RegisterResult.aspx?BackUrl=" + hyperFromUrl.NavigateUrl); } }
else { RegisterUser1.LblMsg.Text = "注册失败!检查输入并重试。
"; } }
3图书分类及列表信息:如图所示:
主要代码如下:
protected void Page_Load(object sender, EventArgs e)
{ if (string.IsNullOrEmpty(BookTypeID)) return;
if (!IsPostBack) { BookList1.PageIndex = 1;
BindBookList(BookTypeID,BookOrderByFields.DateAdded);
BookList1.LblSearchCondition.Text = "搜索类别:" + BookTypeName; } } private string BookTypeID
{ get{if(BookTypeTreeNavigationExpanded1._SelectedNode==null) { if(Request.QueryString["BookTypeID"] == null) return null; return Request.QueryString["BookTypeID"].ToString();} else
{ return BookTypeTreeNavigationExpanded1._SelectedNode.Value;
}
}
} private string BookTypeName
{ get(if (Request.QueryString["BookTypeName"] == null) return null;
return
Uri.UnescapeDataString( Request.QueryString["BookTypeName"].ToS tring());
}
以下为图示的详细信息页面:
4查找图书页面如下:
主要代码为:
protected void Page_Load(object sender, EventArgs e)
{ BookDB bookDB = new BookDB();
MyList.DataSource =
bookDB.SearchProductDescriptions(Request.Params["txtSearch"]);
MyList.DataBind();
if (MyList.Items.Count == 0)
{ ErrorMsg.Text = "No items match your query"; } 此文档仅描述以上几个页面,其他的在运行系统时可以一一调试
运行显示。
十.特别说明
10.1 网站的安全性:
保证管理者和注册用户的密码安全,分权限管理,数据库访问控
制;管理员应具有一定网络安全及防黑知识。
10.2 网站可维护性:
网站管理者须懂得一定的服务器使用、ACCESS数据库使用、硬
件维护、IIS配置等方面的技能。
10.3 网站的灵活性:
系统应该具有良好的功能可扩充性,以应对未来用户的更高的要
求。
10.4 故障处理:
系统运行中难免出现一些故障,对此我们提出以下建议和要求:对用户提交的重要资料及时备份。
(如:当用户修改注册资料
时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复。
)做好数据库和服务器的日常维护工作,出现故障时可和我们联
系由我们帮助解决。
参考资料:
1《实用软件工程》(第二版)陆慧恩张成姝编著
清华大学出版社
2 《软件工程设计》吕云翔刘浩王希鹏周建编著
机械工业出版社
3《网络使用开发例学和实践》郭常圳李云锦编著清华大学出版社
4 《2.0(C#)基础教程》李勇平编著
清华大学出版社。