软件工程课程设计网上书店大学论文.docx
- 文档编号:16277945
- 上传时间:2023-07-12
- 格式:DOCX
- 页数:45
- 大小:714.94KB
软件工程课程设计网上书店大学论文.docx
《软件工程课程设计网上书店大学论文.docx》由会员分享,可在线阅读,更多相关《软件工程课程设计网上书店大学论文.docx(45页珍藏版)》请在冰点文库上搜索。
软件工程课程设计网上书店大学论文
《软件工程》课程设计
小组报告
课程设计题目:
网上书店
专业:
班级:
2**4级
组长:
完成起止日期:
2015-10-6至2015-12-25
小组完成任务情况统计表(占用一页)
学号
姓名
项目角色
任务完成情况简评
组内评分
签字
联系
方式
1301170437
主程序员
完成情况好,协调小组工作进程
1302270503
辅助程序员
能较快完成工作,完成情况好
1301170504
辅助程序员
工作认真,完成情况好
1301061439
素材文档员
能较好的完成实验报告以及文档保管工作
网页设计员
进行网页的设计
一、课程设计概述(目的、任务及分工情况、开发环境、参考资料)
1、目的
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
该系统管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。
查看图书调查报告、游客可以在线注册为会员、投票、购书。
本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
2、任务及分工情况
任务:
采用不同的软件开发技术,完成对软件开发项目的需求分析过程,给出系统的
逻辑功能模型,数据字典以及规格说明书。
分工情况:
每人分担不同的任务,组长作为主程序员全面协调小组工作,负责整个项目开发工作、网站需求分析、系统测试与调试和小组文档核查等工作;**,***作为辅助程序员主要负责网站结构设计与前台程序的开发等工作,以及负责网站数据库设计与后台程序的开发等工作;***文档管理员主要负责完成课程设计小组最终报告、小组电子文档管理和帮助系统开发等工作;**涛作为网页设计员主要负责美工、网页设计与实现等工作。
3、开发环境
系统名称:
《网上书店管理系统》
需求背景分析:
随着互联网的迅速发展以及我国经济的稳定平衡发展,人们对于知识的追求也越来越高,因而市场场上出现了各类的图书,但由于各种各样的原因使得消费者在选购图书的时候不能找到自己合意的书籍,同时由于网络经济的迅速发展激生出了网上卖书的现象,由于网上书店里面的图书相当丰富,且价格较市场上的书店里的便宜,以致于越来越多的人上网购书,同时也使得越来越多的人在网上开设自己的书店,本系统即是在以上各种条件成熟的条件下,建立的一个可以让消费者登录本系统购买他们的图书的一个网上书店管理系统、
系统用途:
本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和卖书的行为,同时大大减少的人员的参与。
系统使用范围:
网上想买书者。
4、参考资料
①《实用软件工程》(第二版)陆慧恩张成姝编著清华大学出版社
②《软件工程设计》吕云翔刘浩王希鹏周建编著机械工业出版社
③《ASP.NET网络应用开发例学与实践》郭常圳李云锦编著清华大学出版社
④《ASP.NET2.0(C#)基础教程》李勇平编著清华大学出版社
二、项目的需求分析过程及需求模型
1、可行性分析
可行性研究是系统分析阶段的第二项活动。
此活动的主要目标是:
进一步明确系统的目标、规模与功能,对系统开发背景、必要和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。
可行性研究是对系统进行全面、概要的分析。
通过调查分析,新系统设计方案有以下三个可行性:
1.技术可行性:
本系统采用Windows作为操作平台。
数据库系统选用SQLserver2005,该数据库管理系统提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。
本系统的开发平台选用visualstudio2005,这是目
前web数据库应用软件的主流开发平台。
2.经济可行性:
采用新的网上书店可取代原系统的工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期提高员工信息的利用率,使销售质量更上一个台阶。
3.营运可行性
(1).本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。
(2).面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。
软件的开发应能在较长时间内满足学校的发展需要。
2、系统需求分析
1.总体需求
建立对图书提供全面管理信息的系统对所有的图书,客户提供全面管理对图书详细信息提供管理。
2.功能需求
在Internet,客户可通过IE或其他浏览器浏览书目信息;在互联网,可提交订单;具有购物车功能;客户能通过书名来检索书籍;客户可在网上进行注册,成为会员;客户能查看当前订单和以往订单;书店员工能查找客户联系信息;书店员工在发货后能改写订单中的发货日期。
3.性能需求
网上书店系统与相关单位的链接;系统可以对图书的库存进行统计;易于维护和扩充;系统界面设计友好,操作方便、灵活;具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务;具有保密机制,各级使用者只能看到允许查看的系统信息;
三、项目设计模型(包括总体设计和详细设计),重点阐述采用的主要方法与技术
1、总体设计
项目规划:
网上书店管理系统是一个典型的web数据库开发应用程序,由前台图书展示及销售、后台管理两部分组成。
1.1、前台商品展示及销售:
该部分主要包括新书上架、购物车、
会员管理、图书公告及订单查询、图书查询等。
1.2、后台管理:
该部分主要对商城内的一些基础数据进行有效管
理,包括图书管理、会员管理、订单管理、公告管理等。
运行环境规定
程序版本
项目
详细
操作系统
WindowsXP
数据引擎
MicrosoftSqlServer2005
权限要求
对SqlServer数据库具
有建表、备份的权限对
SqlServer数据库具有建
表、备份的权限
硬件要求
双XEON2.4GCPU1G
内存RAID5数据冗余
磁盘阵列或更高
开发工具:
数据库
MicrosoftSqlServer2005
开发工具
Visualstudio2005
2、概要设计
2.1功能分析层次图:
网上书店管理系统
首页
购物车
订单管理
会员管理
收银台
图书展台
会员注册
填写订单信息
移出购物车
添加至购物车
图书分类浏览
新书上架
书上架
清空购物车
购书结账
会员登录
会员登录修改
订单查询
查看购物车
2.2数据库结构设计
网上书店管理系统从管理员,用户(会员)出发,通过注册会员实现对图书的购买及款项的交付。
其中通过对图书的分类查询来获取自己需要的图书,因而确定图书的分类表,通过对图书的分类,可以实现对实际图书的管理,进而确定有了图书的详细介绍表即图书表;但在消费者买书的时候需要将自己的订单整理好放到订单表中,故而有了用户的订单表,这是在确定订单的时候用的表,而之前则有一个购物车表,使得用户在网站浏览的时候能将自己喜欢的图书暂时保存在自己的购物车表中,将确定是否购买时,可以将自己不购买的图书随时移出购物车。
还有就是在消费者买完图书后,卖家为了获得消费者们的评价,以及是否还需要在进这种书时,专门有一个用户评价的表格来表明消费者们对哪类书感兴趣,进而随时改变销售策略。
3、表的详细设计:
书籍的类别表:
Category
书籍的详细信息列表:
消费者的注册信息列表:
消费者的订单列表:
消费者的订单书籍详细信息列表:
消费者的购物车信息列表:
消费者对于购买的书籍的评价列表:
它们的数据之间的关系如图所示:
通过对以上设计图的步骤分析,可以使购买者快速方便的学会在网上购书的流程。
3、设计测试方案:
为保证系统的数据安全性,进入本系统购书时需要使用自己的账号,密码,这样在以后的购书过程中就无需再输入账号或密码了,节省了很多时间。
本系统功能模块主要有三个:
游客注册成为会员,将购买的书籍放进自己的购物车,结账等待收书。
4、用例图
a、管理者用例:
1.登录:
管理员登录。
图表a.1管理者登录用例图
2.订单管理:
包括对订单的增加删除以及查询订单功能。
图表a.2管理者对订单管理用例图
3.图书管理:
对图书的查询(通过年份、书名、作者查询)、删除、添加以及对图书的修改。
图表a.3管理者对图书管理用例图
4.用户管理:
对用户的查询,删除用户。
图表a.4管理者对用户管理用例图
b、客户用例图
1.登录:
用户登录。
图表b.1客户登录用例图
2.订单管理:
让用户可以对自己订单进行查看、撤销、订单的查询、订单的日期查询、修改订单等等。
图表b.2客户对订单管理用例图
3.图书选购:
通过刘丹图书的信息,当需要购买时创建购物车,通过购物车来进行对图书进行浏览、删除以及订单的生成和数量的修改等等。
图表b.3客户图书选购用例图
4.注册:
用户的注册。
图表b.4客户注册用例图
5、详细设计
5.1系统界面设计
①进入网站显示的界面当用户在URL中输入本网站管理系统的地址后,进入到本网站首页,若不想买书只是看看则是作为游客身份,这时可以看到网站推荐的最新书籍的信息,以及其他图书的信息。
然而只能浏览,不能购买。
若想买书则需要注册成为会员身份。
②注册登陆界面
注册登陆界面的主要功能就是让购书者将自己的信息写入数据库存储起来,当用户确认买书时,售书者根据用户的注册信息将用户所购买的书籍发送到用户注册的地址。
③书籍列表界面及详细详细书籍介绍界面
此界面通过对书籍的详细介绍使得用户对自己购买的书籍有一详细的了解。
同时可以扩大自己对其他图书的了解,进一步购买做准备。
④购物车页面:
此模块的主要功能是充当一个仓库,不过此仓库装的是想要购买的书籍,用户在网站浏览时可以随时将自己喜欢的图书放进进购物车,最后付账时可以将自己不买的图书移除购物车。
⑤账户页面
此页面主要是记录了会员购买的图书的列表,以及自己的总花费。
可以让会员实时的知道自己的账单。
⑥查找页面
此模块的主要功能是方便用户快速的找到自己需要的书籍,不必未来会寻找而烦心。
⑦评论页面
此模块的主要功能为用户对自己购买的书籍作出评价,一方面让网站管理人员知道自己卖的书籍的好坏,一方面扩大自己网站的知名度。
5.2测试用例设计
每个系统都要有一定数量的测试用例来测试系统是否符合用户的要求,此书店管理系统也不例外。
网上书店管理系统采用管理员admin极普通会员作为测试用例。
四、实现项目的过程与步骤
整个开发过程经历两个阶段,即两次迭代:
第一阶段:
设计并实现网上书店系统;
第二阶段:
根据第一阶段的经验,设计并实现书店管理系统;
1第一阶段计划
工作内容
起止时间
工作量(人天)
人员分工
说明
<任务1>阶段一之前期调研阶段
2015-10-06至
201-10-12
5×6
全组
画出用例图,确定需求,尤其是重要需求
<任务2>阶段一之需求分析
2015-10-13至2015-10-20
5×7
全组
根据已经确定的需求,展开分析。
确定模块划分。
<任务3>阶段一之总体设计
2015-10-22至
2015-10-29
5×7
全组
模块的总体设计
<任务4>阶段一之详细设计
2015-11-3至
2015-11-10
5×7
全组
根据总体设计进行详细设计,包括数据库设计
<任务5>阶段一之编码及模块测试
2015-11-15至
2015-11-25
5×10
全组
所有模块以及数据库的编码和模块测试
<任务6>阶段一之集成测试
2015-12-02至
2015-12-17
5×15
全组
继承测试,整理工作产品并提交
2第二阶段计划
待定
3风险估计
由于组员还是学生,有各自的日常工作以及其他课程,因此在网上书店项目的的投入时间十分有限,这是本项目的最大风险,必须加以注意。
4预算
软件资金投入较少,具体预算分配简略。
5支持条件
计算机WindowsXP
MicroSoftVisual2005
五、遇到的困难与获得的主要成果
1主要问题:
①网站的安全性:
保证管理者和注册用户的密码安全,分权限管理,数据库访问控制;管理员应具有一定网络安全及防黑知识。
②网站可维护性:
网站管理者须懂得一定的服务器应用、ACCESS数据库应用、硬件维护、IIS配置等方面的技能。
③网站的灵活性:
系统应该具有良好的功能可扩充性,以应对未来用户的更高的要求。
④故障处理:
系统运行中难免出现一些故障,对此我们提出以下建议和要求:
对用户提交的重要资料及时备份。
(如:
当用户修改注册资料时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复。
)
做好数据库和服务器的日常维护工作,出现故障时可与我们联系由我们帮助解决。
2主要成果:
游客进入系统使得首页
如图所示:
publicpartialclassBookList:
System.Web.UI.Page
{protectedvoidPage_Load(objectsender,EventArgse)
{if(string.IsNullOrEmpty(BookTypeID))
return;
if(!
IsPostBack)
BookList1.PageIndex=1;
BindBookList(BookTypeID,BookOrderByFields.DateAdded);
BookList1.LblSearchCondition.Text="搜索类别:
"+BookTypeName;
}}
privatestringBookTypeID
get
{if(BookTypeTreeNavigationExpanded1._SelectedNode==null)
if(Request.QueryString["BookTypeID"]==null)
returnnull;
returnRequest.QueryString["BookTypeID"].ToString();
}else
{returnBookTypeTreeNavigationExpanded1._SelectedNode.Value
}}}
privatestringBookTypeName
{get{if(Request.QueryString["BookTypeName"]==null)
returnnull;
returnUri.UnescapeDataString(Request.QueryString["BookTypeName"].ToString());}}
2会员的登录注册信息
如图所示:
主要代码如下:
protectedvoidRegisterClick(objectsender,EventArgse)
{if(!
Page.IsValid)
return;BookShopOnline.Model.Useruser=newUser();
user.RoleID=(int)Role.RegisterUser;//必填项
user.UserName=RegisterUser1.TxtUserName.Text;
user.UserPwd=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;
intresult=newUserBll().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图书分类及列表信息:
如图所示:
主要代码如下:
protectedvoidPage_Load(objectsender,EventArgse)
{if(string.IsNullOrEmpty(BookTypeID))return;
if(!
IsPostBack){BookList1.PageIndex=1;
BindBookList(BookTypeID,BookOrderByFields.DateAdded);
BookList1.LblSearchCondition.Text="搜索类别:
"+BookTypeName;}}privatestringBookTypeID
{get{if(BookTypeTreeNavigationExpanded1._SelectedNode==null)
{if(Request.QueryString["BookTypeID"]==null)returnnull;returnRequest.QueryString["BookTypeID"].ToString();}else{returnBookTypeTreeNavigationExpanded1._SelectedNode.Value;}
}
}privatestringBookTypeName
{get(if(Request.QueryString["BookTypeName"]==null)
returnnull;
returnUri.UnescapeDataString(Request.QueryString["BookTypeName"].ToString());
}
以下为图示的详细信息页面:
4查找图书页面如下:
主要代码为:
protectedvoidPage_Load(objectsender,EventArgse)
{BookDBbookDB=newBookDB();
MyList.DataSource=
bookDB.SearchProductDescriptions(Request.Params["txtSearch"]);
MyList.DataBind();
if(MyList.Items.Count==0)
{ErrorMsg.Text="Noitemsmatchyourquery";}
此文档仅描述以上几个页面,其他的在运行系统时可以一一调试运行显示。
六、测试与运行记录(要求针对某个功能利用某种测试方法进行全面的测试)
测试用例设计原则:
1.测试用例的代表性:
能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。
2.测试结果的可判定性:
即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。
3.测试结果的可再现性:
即对同样的测试用例,系统的执行结果应当是相同的。
1测试用例设计网上书店--等价类划分方法
一.方法简介:
1.定义
是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。
2.划分等价类:
等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:
测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。
等价类划分可有两种不同的情况:
有效等价类和无效等价类。
1)有效等价类
是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
2)无效等价类
与有效等价类的定义恰巧相反。
无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。
对于具体的问题,无效等价类至少应有一个,也可能有多个。
设计测试用例时,要同时考虑这两种等价类。
因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。
3.划分等价类的标准:
1)完备测试、避免冗余;
2)划分等价类重要的是:
集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;
3)并是整个集合:
完备性;
4)子集互不相交:
保证一种形式的无冗余性;
5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
4.划分等价类的方法:
1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;
3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 网上 书店 大学 论文