网上书店实验报告.docx
《网上书店实验报告.docx》由会员分享,可在线阅读,更多相关《网上书店实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
网上书店实验报告
《》课程设计报告
(2015——2016年度第二学期)
题目
网上书香
姓名
范美宏
学号
00228
专业
软件工程
班级
2014级F班
二〇一六年六月二七日
《软件测试方法和技术》课程设计
成绩评定
学号
姓名
成绩
备注
00228
范美宏
指导教师:
陈瑞
摘要:
随着Internet技术的发展,人们的日常生活已经离不开网络。
未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。
Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。
本设计尝试用ASP.NET在网络上架构一个网上书店,以使每一位顾客不用出门在家里就能够通过上网来轻松购书。
本文从理论和实践两个角度出发,对一个具有数据挖掘功能网上书店进行设计与实现分析。
论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:
面向对象的分析设计流程;系统中所用到的开发技术ASP.NET以及ADO.NET的特点、结构框架以及使用方法。
接着对书店系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。
最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。
本网上书店系统是在VisualStudio.Net平台上运用ASP.NET技术来实现的。
其主要功能有:
用户管理,新书上架,分类查找,图书检索,图书收藏夹,购买流程,销售排行,图书评论,网站管理等。
论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。
关键词:
面向对象分析与设计,ASP.NET,ADO.NET
一、课程设计的目的与要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
二、设计正文
1.概述
1.1课题题目:
好书在线系统
1.2系统的主要目标:
本系统目标是实现选课系统所需的各种基本功能,能够很好的实现在线购书、评论、查看书籍信息等功能,还可以实现管理员进行对书籍的管理、对评论的管理以及对于订单的管理等功能。
1.3系统的开发环境及运行环境:
操作系统:
WindowsXPProSP2
建模工具:
RationalRose2003
数据库系统:
SQLServer2005
开发工具:
VisualStudio2008
Web服务器:
IIS+ASP.NET2.0平台
2.系统需求分析
随着网络在中国的广泛普及,网络支付手段的逐步完善,越来越多的中国人逐渐习惯于网上购物,习惯于鼠标点击下订单,送货上门的快捷便利的购物方式。
传统书店的购书观念正在被网上书店这一方便快捷的购书方式所冲击。
网上书店在国际互联网上可以实现的商务功能已经越来越多样化,从最开始的信息发布功能,到现在的在线图书展示功能、在线洽谈业务功能、在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎传统书店所提供的功能都可以在互联网上进行电子化的高效运作,而借助网络的跨地域特点,更是将传统书店的地域限制加以突破,全国各地的读者都可以通过网络在同一个网上书店购书,从而大大增加了客户的数量。
为了使网上书店的投入回报和管理效益最大化,在对网上书店进行系统开发之前,必须对一系列问题进行科学的论证,如网上书店的需求分析、网上书店总体规划、网上书店系统的功能和实施方案、网上书店的传播与推广、运行网上书店系统的软件和硬件配置、网上书店的管理系统和管理方法等等。
综上所述,网上书店已经成为互联网时代购书者的最佳选择,必将获得巨大的成功。
E-R图
位置不够
图2-1学生选课系统E-R图
E-R说明:
2.1数据流图
图2-2学生选课系数据流图
3.系统总体设计
3.1设计问题域子系统
学生选课系统是实现学生选课退课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为4个模块:
管理员模块,教师模块,学生模块和公有模块,分别用于完成各自的功能。
以下为学生选课系统总体设计图和各功能模块说明:
(1)总体设计图
查找分类浏览
书简介
新用户注册
(2)各模块功能
表3-1学生选课系统功能模块表
用户模块
注册登录后,实现查询书籍详细信息,将要购买书籍添加至购物车,购买自己想要书籍.
购物车模块
记录用户待付款书籍.
3.2设计数据管理子系统
(1)数据库表
表3-2数据库表
序号
数据库表
数据表存储的内容
1
Books
存储书本详细信息
2
Categories
存储书目的信息
3
Customers
存储用户的信息
4
ShoppingCart
存储购物车的信息
5
Reviews
存储购物记录的信息
6
Orders
存储订单信息
7
OrderDetails
存储订单详细信息
(2)数据库表结构
①学生表Books的详细数据字段:
表3-3Books学生用户表
②教师表Categories的书目的信息字段:
表3-4Categories的书目的信息表
③课程表Customers的详细数据字段
表3-5Customers信息表
4)OrderDetails的详细数据字段:
表3-6OrderDetails信息表
⑤系统管理员表Orders的详细数据字段:
表3-7Orders
⑥Reviews的详细数据字段:
表3-8Reviews系院表
ShoppingCart的详细数据字段
表3-9ShoppingCart
3.3设计人机交互子系统
(1)用户
(2)用户描述
①管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。
②教师用户的描述:
教师用户在本系统中具有管理选修了自己开设的课程的学生的权限,查看选修了自己开设课程的学生信息有及提交学生成绩。
③学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。
(3)设计命令层次
①系统的人机交互子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
②通过采用树形结构,细化命令的组织方式,如下:
4.详细设计
学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:
管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。
4.1系统用户登录流程图
4.2用户密码修改流程图
购物车模块
5.系统实现
本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。
5.1数据库,代码如下:
5.2购物车代码如下:
<%@PageTitle=""Language="C#"MasterPageFile="~/Bookshop.master"%>
protectedvoidSqlDataSource1_Selected(objectsender,SqlDataSourceStatusEventArgse)
{
if(e.AffectedRows>0)//当Ì¡À前¡ã购o物?
车¦Ì不?
空?
Label1.Text="";
else//当Ì¡À前¡ã购o物?
车¦Ì为a空?
,ê?
提¬¨¢示º?
先¨¨购o买¨°书º¨¦籍?
Label1.Text="请?
先¨¨选?
择?
您¨²要°a购o买¨°的Ì?
书º¨¦籍?
!
ê?
";
}
ContentID="Content1"ContentPlaceHolderID="head"Runat="Server">
Content>
ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
GridViewID="GridView1"runat="server"AutoGenerateColumns="False"
DataKeyNames="RecordID"DataSourceID="SqlDataSource1"AllowPaging="True"
AllowSorting="True">
CommandFieldShowDeleteButton="True"ShowEditButton="True"/>
BoundFieldDataField="BookID"HeaderText="书º¨¦号?
"ReadOnly="True"
SortExpression="BookID"/>
BoundFieldDataField="Bookname"HeaderText="书º¨¦名?
"ReadOnly="True"
SortExpression="Bookname"/>
BoundFieldDataField="Author"HeaderText="作Á¡Â者?
"ReadOnly="True"
SortExpression="Author"/>
BoundFieldDataField="Quantity"HeaderText="数ºy量¢?
"
SortExpression="Quantity"/>
BoundFieldDataField="UnitCost"HeaderText="单Ì£¤价?
"ReadOnly="True"
SortExpression="UnitCost"/>
BoundFieldDataField="Amount"HeaderText="金e额?
"ReadOnly="True"
SortExpression="Amount"/>
GridView>
SqlDataSourceID="SqlDataSource1"runat="server"
ConnectionString="<%$ConnectionStrings:
BooksDBConnectionString%>"
DeleteCommand="DELETEFROM[ShoppingCart]WHERE[RecordID]=@RecordID"
onselected="SqlDataSource1_Selected"
SelectCommand="SELECTShoppingCart.RecordID,ShoppingCart.CartID,ShoppingCart.Quantity,ShoppingCart.BookID,ShoppingCart.DateCreated,Books.Bookname,Books.Author,Books.UnitCost,Books.UnitCost*ShoppingCart.QuantityasAmountFROMShoppingCartINNERJOINBooksONShoppingCart.BookID=Books.BookIDWHERE(ShoppingCart.CartID=@CartID)"
UpdateCommand="UPDATE[ShoppingCart]SET[Quantity]=@QuantityWHERE[RecordID]=@RecordID">
ParameterName="RecordID"/>
SessionParameterName="CartID"SessionField="CartID"/>
ParameterName="Quantity"/>
ParameterName="RecordID"/>
SqlDataSource>
LabelID="Label1"runat="server">
Label>
Content>
5.3系统登录页面,代码及运行效果如下:
<%@PageLanguage="C#"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/xhtml1/DTD/xhtml1-transitional.dtd">
protectedvoidLogin1_LoggedIn(objectsender,EventArgse)
{
Session["CartID"]=Login1.UserName;
Session["Username"]=Login1.UserName;
}
LoginID="Login1"runat="server"CreateUserText="新?
用®?
户¡ì注Á¡é册¨¢"
CreateUserUrl="~/Register.aspx"DestinationPageUrl="~/Default.aspx"
DisplayRememberMe="False"onloggedin="Login1_LoggedIn"BackColor="#EFF3FB"
BorderColor="#B5C7DE"BorderPadding="4"BorderStyle="Solid"BorderWidth="1px"
Font-Names="Verdana"Font-Size="0.8em"ForeColor="#333333"Height="140px"
Width="194px">
BorderWidth="1px"Font-Names="Verdana"Font-Size="0.8em"ForeColor="#284E98"/>
ForeColor="White"/>
Login>