《大学毕业论文-—基于软件的网上书店设计与实现.doc》由会员分享,可在线阅读,更多相关《大学毕业论文-—基于软件的网上书店设计与实现.doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、本科毕业论文(设计)(2014届)题 目:基于的网上书店设计与实现 学 院: 机电与信息工程学院 专 业: 计算机科学与技术 学生姓名: 李强 学号: 21006031031 指导教师: 陆超泽 职称(学位): 助教 合作导师: 职称(学位): 完成时间: 成 绩: 黄山学院教务处制学位论文原创性声明兹呈交的学位论文,是本人在指导老师指导下独立完成的研究成果。本人在论文写作中参考的其他个人或集体的研究成果,均在文中以明确方式标明。本人依法享有和承担由此论文而产生的权利和责任。声明人(签名):年 月 日目 录摘要1Abstract:21 引言31.1 系统开发背景31.2 研究应用现状31.3
2、论文主要工作32 系统概述与需求分析52.1 系统总体描述52.2 功能需求分析53 系统总体设计73.1 系统设计目标73.2 系统设计思想73.3 系统结构设计73.4 系统功能模块73.5 数据库设计83.5.1 数据库需求分析83.5.2 数据库结构分析设计93.6 数据库表设计94 系统详细设计154.1 系统总体实现154.2 首页设计和编码164.3用户界面设计184.4 后台管理界面的设计264.5 系统详细设计的总结295 总结和展望295.1 整个设计系统的总结295.2 系统的展望29参考文献31致 谢32目录需要更新,因为你加了小章节基于ASP.NET的网上书店的设计与
3、实现机电与信息工程学院 计算机科学与技术专业 李强指导老师:陆超泽(助教)摘要:本文介绍了运用ASP.NET、SQL Server 2008等技术,在Microsoft Visual Studio2012平台上实现网上书店系统的方法和过程。本系统采用B/S模式开发,使用三层架构,即表示层、数据访问层和业务逻辑层。三层架构思想:即将各个功能明确分开,放在独立的层中,各层之间通过协作来完成整体功能。表示层是为了与用户交互;数据访问层对数据库进行增、删、改、查等;业务逻辑层一般又分为两层:业务表观层和业务规则层;业务表观层是用来实现与表示层的沟通,业务规则层是用来实现用户密码的安全等。这样分层的优点
4、:分工明确,条理清晰,易于调试,而且具有可扩展性,可维护性强。缺点:增加成本。网上书店系统为用户提供一系列网上购书服务。系统包含两类用户,即管理员和普通用户。针对这两类用户,系统根据登录时的角色判断,跳转到相应的页面为其提供操作。网上书店系统实现了图书信息的列表显示,用户通过选择图书种类进入对应种类的图书列表,也可以输入图书名称进行模糊查询。普通用户可以针对某一本书进行放入购物车、查看详细信息、查看留言等操作,在结算中心,系统为用户创建当次购书订单,默认为“未结”状态。同时系统为普通用户提供订单管理操作,方便用户查看订单,并可以针对以前的未结订单进行已结操作。管理员负责整个系统的运行与维护,针
5、对图书、订单、留言、用户、角色等,执行添加、删除、修改等操作。关键字: ASP.Net;书店系统;订单The design and implementation of online bookstore based on ASP.NET Electrical and information engineering college of computer science and technology Li qiang Instructor: Liu Chaoze (teaching assistant) Abstract: this paper introduces the use of ASP.
6、NET, SQL Server 2008 technology, such as in Microsoft Visual Studio2012 platform implementation method and process of online bookstore system. This system adopts B/S model development, the use of three layer architecture, namely the presentation layer, data access layer and business logic layer. Thr
7、ee layer architecture thought: the various function clearly separated, in separate layers, each layer through collaboration between to complete the function. The presentation layer to interact with the user; The data access layer to the database to add, delete, change, check, etc. Business logic lay
8、er is divided into two layers: the superficial layer and business rules of business; Business superficial layer is used to realize the communication with the presentation layer, business rule layer is used to implement the safety of the users password, etc. Such a layered advantages: division of lab
9、or is clear, clear, easy to debug, and scalability and maintainability. Weakness: increase costs. Online bookstore system to provide users with a series of online bookstores. System contains two kinds of users, administrators and ordinary users. According to these two types of users, judging system
10、according to the role of the login, jump to the corresponding page with operation. Online bookstore system has realized the book information, according to the list of users by selecting the types of books into the corresponding types of book list, also can enter the name of the fuzzy query. Ordinary
11、 users can target a book in the shopping cart, check the detailed information, view the message, such as operation, in the center of the settlement, the system for users to create acquisition order, when the time is outstanding state by default. System for ordinary users with order management operat
12、ions at the same time, the convenience of the user to see the order, and can be conducted on the previous outstanding orders have been operating. Administrator is responsible for the operation and maintenance of the whole system, in view of the books, order, leave a message, users, roles, etc., to p
13、erform add, delete, modify, and so on. Key words: ASP.Net; The bookstore system; The order1 引言1.1 系统开发背景 伴随着Internet正向我们大踏步走来,电子商务将成为21世纪主流的商业模式。网上书店将是随着这些网络技术的发展而出现的一种新型图书销售渠道。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易。网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的;它24小时的全天候和全方位服务是店面书店所不能比及的;成本低廉更是开设网上书店的主要原因。
14、而与其他商品相比,书籍运送几乎不怕碰撞碎裂,不具时效性;同时书本具有功能单一,形式简单,易于判断和选择而独具优势,最适合于网上交易;再次是单价低,降低了消费者第一次在网络购物的门槛,所以网上书店成了电子商务的先锋。 1.2 研究应用现状总的来看,国内的网上售书缺乏规范,随意性强,买卖双方的权益保障都有缺陷。国内网上书店的目的主要有:利用图书销售盈利、效仿亚马逊提高无形资产价值、以拉广告赚钱、紧跟电子商务潮流等,其中,前两种占大多数。然而,实际情况是网上书店并未达到预期的效果,有的根本没什么访问量,有的虽然访问人数众多,但成交有限、营销平淡,同时网上广告也并未被广大商家认同。于是,这些书店不得不
15、面临生存危机。1.3 论文主要工作本文在充分调研了各大网上书店管理系统基础上,分析了系统的需求,以数据库SQL Server为依托,技术上采用.NET平台进行设计,以C#为编程语言,利用Microsoft Visual Studio 2012工具开发出了具有可扩展性的网上书店。本系统由前台和后台两大部分组成。前台管理模块用于实现用户浏览,用户在线下单等功能。 后台管理模块用于用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等。 论文的结构安排如下:1.引言 这部分主要描述了系统的开发背景和系统的研究应用现状。2.系统概述和需求分析 这
16、部分主要描述了系统的总体描述和功能需求分析。3.系统的总体设计 这部分主要描述了系统设计目标、系统设计思想、系统结构设计、系统功能模块、系统数据库设计和系统数据库表的设计。4.系统的详细设计 这部分主要描述了系统总体实现、首页设计和编码、用户界面设计和后天管理界面的设计。5.总结与展望 这部分主要描述了该系统在设计前期,进行了大量的需求分析,设计过程中也尽可能地与实际应用系统相吻合,所以该系统具有较强的实用价值,完全能够实现一个实际的网上书店应用系统所应具备的各种功能。在设计过程中学习借鉴其他的优秀软件,取长补短。 2 系统概述与需求分析2.1 系统总体描述系统通过先进的.NET平台技术构架的
17、,实现用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等业务功能,进一步规范网上书店的管理。系统分为两类用户:普通用户、系统管理员。2.2 功能需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的跑书店买需要的图书。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,网上书店为大家带来了极大的方便。网上书店系统特点:(1) 先进的购书流程引入购物车购物方式,把记录客户所有的购书临时信息
18、写入数据库表中,订单结束后,自动清除相关数据,客户不用再担心订购时临时数据的丢失,确保客户购书准确无误。(2) 科学的书店管理模式通过完善的信息发布系统,客户可以及时得到书店最新图书的相关信息,掌握行业动向;后台结构化管理模式,涵盖了栏目设置、图书资料编辑、用户管理、订单管理、基础信息管理等等,为书店的电子化管理提供了一套良好的管理模式。(3) 人性化的操作界面一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本书店系统经过精心打造,同时也可根据书店客户的品味专门订制,让书店的设计充分体现电子商务时期的时尚、大众化。(4) 完善的在线帮助提供详细的在线帮助信息,如交款方式、退换图书原
19、则、交易条款等。帮助用户了解购书流程,清楚书店在退换图书等各方面的原则及条款。2.3 系统概述与需求分析的总结 随着Internet的飞速发展,网上购书已成为越来越多人的首选购物的方式。图书发行公司可以通过这个电子商务平台销售自己的图书,消费者可以通过该系统订购自己要买的图书。3 系统总体设计系统架构设计的目标是使系统的安全性高,简洁大方,灵活易用并能满足企业各个方面实际需求。设计者须遵守架构的规约。3.1 系统设计目标系统的设计应遵循的原则:系统的安全性,系统必须在保证正常的功能的情况下,应该同时具有很高的安全性,可以防止各种各样的不法攻击;系统的先进性,系统应该采用当今最先进的技术平台,使
20、用先进的技术,在各个方面都具有很多优势;系统的可靠性,系统的各项功能都必须相对完整稳定,不容易出现问题。在系统登录,信息查询,数据处理上都能高效迅速完成。3.2 系统设计思想(1) 书店前台功能强大 、操作方便前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受电子商务给他们带来的便利。(2) 书店后台本系统后台管理在考虑书店管理操作简便的同时,提供了强大的书店管理模式。它包括用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等等。 3.3 系统结构设计前台:用户
21、注册用户登录查看图书信息添加图书到购物车在线支付后台:管理员登录订单管理、图书管理、会员管理、物流管理、图片管理退出3.4 系统功能模块根据系统功能分析,可以画出系统的功能模块图,系统模块图如下图所示,图3-1和图3-2分别为前台和后台的功能结构图。网上书店系统前台 用户注册登录用户信息修改图书搜索 图书详细信息购物车用户充值用户付款用户帮助联系管理员后台入口图3-1 前台系统功能结构图 网上书店后台管理 管理首页 订单管理 版权信息 会员管理 物流管理 系统管理 图书管理 订单信息 会员信息 是否已确认 是否已付款 是否已发货 是否已归档 管理员管理 会员管理 图书管理 图书类别管理 图片上
22、传管理 支付方式管理 配送方式管理 配送地点管理图3-2 后台系统功能结构图3.5 数据库设计3.5.1 数据库需求分析在网上书店系统中,数据库应当解决如下需求。 保存注册用户的个人信息,包括联系资料等。 保存图书信息,包括书名、价格、作者、图片等信息。 保存购物车的详细信息。 保存购书信息,包括用户ID、图书ID、数量、总价等。 保存订单信息,包括日期、支付方式、是否确认等。3.5.2 数据库结构分析设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的数据表,以及它们之间的关系,为后面的逻辑结构设计打下基础。分析此系统的需求,可以得到数据库关系图,如图3-3所示。图3-3 数据
23、库关系图3.6 数据库表设计据库的概念结构设计完毕后,可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。如图3-4所示。图3-4数据库表系统部分数据库表的逻辑结构每段的开头要空两个格子,以下一样要进行修改管理员表(Admin)用来存储管理员的信息,包括管理员ID、管理员账号和管理员密码。具体信息见表1所示,事例如下图所示。列名数据类型是否允许空说明AdminIDbigint否管理员ID,自动编号Adminvarchar(50)否管理员帐号Passwordvarchar(50)否管理员密码表1:Admin管理员表 区域表(Area)用来存储区域与本地的距
24、离,包括区域ID、区域名称和区域与本地的距离。具体信息见表2所示,事例如下图所示。列名数据类型是否允许空说明AreaIDbigint否区域ID,自动编号AreaNamevarchar(50)否区域名称AreaKMint否区域与本地的距离表2:Area区域表 图书信息表(BookInfo)用来存储信息传递的动态信息,包括图书ID、类型ID、图书名称、图书详细介绍、ISBN序号、图书页码、出版社、出版时间和作者等。具体信息见表3所示,事例如下图所示。列名数据类型是否允许空说明BookIDBigint否图书ID,自动编号ClassIDBigint否类型ID,外键BookNamevarchar(50)
25、否图书名称BookIntroduceNtext是图书详细介绍ISBNvarchar(20)否ISBN序号PageNumvarchar(20)是图书页码Publishervarchar(100)否出版社PublishDatevarchar(20)否出版时间Authorvarchar(50)否作者BookUrlvarchar(50)否图书对应图片的URL地址MarketPriceFloat否图书市场价格MemberPriceFloat否图书会员价格IsrefinementBit否是否推荐IsHotBit否是否热销AddDateDatetime否图书信息添加日期IsDiscountBit否是否打折表
26、3:BookInfo图书信息表购书信息表(BuyInfo)用来存储购书信息传递的动态信息,包括购书信息ID图书ID、购买的图书数量、订单ID和总价等。具体信息见表4所示,事例如下图所示。列名数据类型是否允许空说明BuyIDBigint否购书信息ID,自动编号BookIDBigint否图书ID,外键NumInt否购买的图书数量OrderIDBigint否订单ID,外键SumPriceFloat否总价MemberIDBigint否会员ID,外键表4:BuyInfo购书信息表 购物车表(ShopCart)用来存储用户订书的动态信息,包括购物车ID、图书ID、购买数量、总价格和会员ID。具体信息见表5
27、所示,事例如下图所示。列名数据类型是否允许空说明CartIDbigint否购物车ID,自动编号BookIDbigint否图书ID,外键Numint否购买数量SumPricefloat否总价格MemberIDbigint否会员ID,外键表5:ShopCart购物车表 会员表(Member)用来存储书店用户的所有信息,包括用户ID、用户帐号、性别、用户密码、真实姓名、安全提问和安全答案等。MemberID字段由SQLServer负责初始化和填入新值,每次有新记录插入时该值自动加1,从而保证每个值是唯一的。具体信息见表6所示,事例如下图所示。列名数据类型是否允许空说明MemberIDbigint否用
28、户ID,自动编号Namevarchar(50)否用户帐号Sexbit否性别Passwordvarchar(50)否用户密码TrueNamevarchar(50)是真实姓名Questionsvarchar(50)是安全提问Answersvarchar(50)是安全答案Phonecodevarchar(20)是电话号码Emailsvarchar(50)是电子邮件Cityvarchar(50)是所在城市Addressvarchar(200)是具体地址PostCodechar(10)是邮政编码AdvancePaymentfloat否用户余额LoadDatedatetime否注册时间表6:Member会
29、员表图片信息表用来存储图片ID、图片名称和图片URL地址。具体信息见表6所示,事例如下图所示。列名数据类型是否允许空说明ImageIDBigint否图片ID,自动编号ImageNamevarchar(50)否图片名称ImageUrlvarchar(200)否图片URL地址表7:图片信息表3.7系统总体设计的总结 根据对网上书店系统的需求分析,网上书店系统应该包括图书管理模块、购物车管理模块订单管理模块和用户管理模块。1、 图书管理模块:包含允许用户浏览图书列表、查看图书商品详细信息快递查询所需的图书3个功能。2、 购物车管理模块:顾客可以把要买的图书放入购物车,查看购物车的内容,对自己购物情况
30、进行修改或者确认。顾客可以删除图书、修改图书数量。顾客确认情况无误后可以结帐。3、 订单管理功能模块:包括显示历史订单和显示订单的详细信息2个功能。显示历史订单负责显示某个用户所有的历史订单记录,显示订单详细信息负责显示某个指定订单的详细信息。4、 用户模块包括用户注册、用户登陆、修改用户个人信息等功能。需要顶格4 系统详细设计通过以上的系统需求分析和系统总体设计,就已经有了一个网上系统的大体轮廓。4.1 系统总体实现1、前台主要功能包括注册/登录、购物车、联系方式、图书查询、图书分类浏览、图书展示、打折专区、热门推荐、精品推荐、在线帮助功能等等。2、书店系统前台设计的特色(1) 购物车 每个
31、注册的用户,都拥有一个属于自已的购物车管理界面,客户可以轻松的查看购物车中的图书。本系统充分考虑到了本模块对于客户的重要性,所以界面尽量做的简捷,采用开放式结构,一目了然,方便客户轻松掌控自已的信息。(2) 购书的详细过程会员注册-选择图书-放入购物车-去下订单购物车与下订单:推出了全新的网上商务理念,这也是本系统与其他书店较大的不同的地方之一。(3) 灵活多样的图书展示区网站前台图书显视栏目分为以下几种方式: (1)精品推荐 (2) 图书打折区 (3)热销图书 (4)图书分类(4) 详细的用户帮助信息 主要包括交款方式、退换图书原则、配送信息和交易条款的信息。3、系统提供完善的系统管理在主页
32、的管理入口,点击进入。出现验证管理员窗口,输入用户名和密码,进入系统管理器。后台分为订单管理、图书管理、用户管理、管理员帐号管理、物流管理和图片管理。 (1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。(2) 图书管理是对图书信息进行管理,添加或删除图书信息,也可对图书信息进行修改。动态添加图书信息,信息内容要求完善。(3) 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号,可以对用户和管理员进行统一的管理。(4) 物流管理模块主要实现的
33、是支付方式管理、配送方式管理、配送地点管理(5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。4.2 首页设计和编码如图4-1所示,为网上书店首页,主要向用户展示各种图书信息。图4-1 网上书店首页数据库连接代码public SqlConnection GetConnection() string myStr = ConfigurationManager.AppSettingsConnectionString.ToString(); SqlConnection myConn = new SqlConnection(myStr); return myConn;登录判定当用户进行添
34、加图书到购物车、在线充值、在线付款、修改个人信息等操作时,程序需要验证用户是否已经登录作为前提条件,如果用户没有登录,则不应该访问这些页面,因此需要制作一个判断用户是否登录并加以处理的模块。/ / 判断用户是否存在/ / 会员登录名/ 会员登录密码/ public int UserExists(string P_Str_Name, string P_Str_Password) SqlConnection myConn = dbObj.GetConnection();SqlCommand myCmd = new SqlCommand(Pr_UserExists, myConn);myCmd.Co
35、mmandType = CommandType.StoredProcedure;/添加参数SqlParameter Name = new SqlParameter(Name, SqlDbType.VarChar, 50);Name.Value = P_Str_Name;myCmd.Parameters.Add(Name);SqlParameter Password = new SqlParameter(Password, SqlDbType.VarChar, 50);Password.Value = P_Str_Password;myCmd.Parameters.Add(Password);S
36、qlParameter returnValue = myCmd.Parameters.Add(returnValue, SqlDbType.Int, 4);returnValue.Direction = ParameterDirection.ReturnValue;/执行过程myConn.Open();try myCmd.ExecuteNonQuery();catch (Exception ex) throw (ex);finally myCmd.Dispose();myConn.Close();int P_Int_returnValue = Convert.ToInt32(returnVal
37、ue.Value.ToString();return P_Int_returnValue;4.3用户界面设计用户注册代码/ / 向用户表中插入信息/ / 会员名/ 性别/ 密码/ 真实姓名/ 找回密码问题/ 找回密码答案/ 电话号码/ E_Mail/ 会员所在城市/ 会员详细地址/ 邮编/ 预付金额/ 登录日期public int AddUInfo(string P_Str_Name, bool P_Bl_Sex, string P_Str_Password, string P_Str_TrueName, string P_Str_Questions, string P_Str_Answers
38、, string P_Str_Phonecode, string P_Str_Emails, string P_Str_City, string P_Str_Address, string P_Str_PostCode)SqlConnection myConn = dbObj.GetConnection();SqlCommand myCmd = new SqlCommand(Pr_InsertUInfo, myConn);myCmd.CommandType = CommandType.StoredProcedure;/添加参数SqlParameter Name = new SqlParamet
39、er(Name, SqlDbType.VarChar, 50);Name.Value = P_Str_Name;myCmd.Parameters.Add(Name);SqlParameter sex = new SqlParameter(sex, SqlDbType.Bit, 1);sex.Value = P_Bl_Sex;myCmd.Parameters.Add(sex);SqlParameter Password = new SqlParameter(Password, SqlDbType.VarChar, 50);Password.Value = P_Str_Password;myCmd
40、.Parameters.Add(Password);SqlParameter TrueName = new SqlParameter(TrueName, SqlDbType.VarChar, 50);TrueName.Value = P_Str_TrueName;myCmd.Parameters.Add(TrueName);SqlParameter Questions = new SqlParameter(Questions, SqlDbType.VarChar, 50);Questions.Value = P_Str_Questions;myCmd.Parameters.Add(Questi
41、ons);SqlParameter Answers = new SqlParameter(Answers, SqlDbType.VarChar, 50);Answers.Value = P_Str_Answers; myCmd.Parameters.Add(Answers);SqlParameter Phonecode = new SqlParameter(Phonecode, SqlDbType.VarChar, 20);Phonecode.Value = P_Str_Phonecode;myCmd.Parameters.Add(Phonecode);SqlParameter Emails
42、= new SqlParameter(Emails, SqlDbType.VarChar, 50);Emails.Value = P_Str_Emails;myCmd.Parameters.Add(Emails);SqlParameter City = new SqlParameter(City, SqlDbType.VarChar, 50);City.Value = P_Str_City;myCmd.Parameters.Add(City);SqlParameter Address = new SqlParameter(Address, SqlDbType.VarChar, 200);Address.Value = P_Str_Address;myCmd.Parameters.Add(Address);SqlParameter PostCode = new SqlParameter(PostCode, SqlDbType.Char, 10);PostCode.Value = P_Str_PostCode;myCmd.Parameters.Add(Po