毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc

上传人:土8路 文档编号:10311380 上传时间:2021-05-07 格式:DOC 页数:31 大小:783.50KB
返回 下载 相关 举报
毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc_第1页
第1页 / 共31页
毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc_第2页
第2页 / 共31页
毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc_第3页
第3页 / 共31页
毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc_第4页
第4页 / 共31页
毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)ASP.NET网上书店系统设计与实现(含源程序).doc(31页珍藏版)》请在三一文库上搜索。

1、如需源代码,联系如需源代码,联系 QQ153893706QQ153893706 目 录 前言 .1 第 1 章 系统概述 .2 第 1.1 节 ASP.NET 简介 .2 第 1.2 节 系统开发环境及配置 .2 第 2 章 系统需求分析 .3 第 3 章 系统总体设计 .4 第 3.1 节 系统设计思想 .4 第 3.2 节 系统结构设计 .4 第 3.3 节 系统功能模块 .4 第 4 章 系统详细设计 .6 第 5 章 系统数据库设计 .8 第 5.1 节 数据库需求分析 .8 第 5.2 节 数据库结构分析设计 .8 第 5.3 节 数据库逻辑设计 .9 第 6 章 系统编码实现 .1

2、0 第 6.1 节 首页设计和编码 .10 第 6.2 节 用户界面的设计 .12 第 6.3 节 后台管理界面的设计 .19 第 7 章 总结 .23 参考文献 .24 致谢 .25 附录 .26 前言前言 随着中国加入 WTO,全球经济一体化的逐步深入,网上书店已是现代传统书店必不 可少的经营策略。目前,网上书店在国际互联网上可以实现的商务功能已经多样化,可 以说从最基本的对外沟通展示功能、信息发布功能,在线图书展示功能、在线洽谈功能、 在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎以往 传统书店功能都可以在互联网上进行电子化的高效运作。 技术的进步对传统书店上网

3、解决方案提出更严格的要求和挑战。为了保护传统书店 的投资,书店上网解决方案应切合传统书店实际的需求和发展的趋向,使投入回报和管 理效益最大化,传统书店在实施上网方案的之前,必须对一系列问题进行科学的论证, 如网上书店的需求分析、网上书店总体规划、网上书店系统的功能和实施方案、网上书 店的传播与推广、运行网上书店系统的软件和硬件配置、网上书店的管理系统和管理方 法等等。网上书店具体实施的质素直接影响传统书店在 Internet 的实际效果和经济效益, 这不仅是技术问题,同时也涉及到管理的因素。 综上所述,网上书店已经成为互联网时代传统书店的必由之路。 第第 1 章章 系统系统概述概述 第第 1.

4、1 节节 ASP.NET 简介简介 ASP.NET 是 ASP 的下一代版本,然而 ASP.NET 又并非从 ASP3.0 自然演化而来,在 许多方面,ASP.NET 与 ASP 有着本质的不同。ASP.NET 完全基于模块与组件,具有更好 的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具 有革新意义的新特性,让 ASP.NET 远远超越了 ASP,同时也提供给 web 开发人员更好的 灵活性,有效缩短了 web 应用程序的开发周期。ASP.NET 与 Windows 2000 Server/Advanced Server 的完美组合,为中小型乃至企业级的 web

5、商业模型提供了一个更 为稳定,高效,安全的运行环境。 ASP.NET 是统一的 Web 应用程序平台,它提供了为建立和部署企业级 Web 应用 程序所必需的服务。ASP.NET 为能够面向任何浏览器或设备的更安全的、更强的可升级 性、更稳定的应用程序提供了新的编程模型和基础结构。 ASP.NET 是 Microsoft .NET Framework 的一部分,是一种可以在高度分布的 Internet 环境中简化应用程序开发的计算环境。.NET Framework 包含公共语言运行库, 它提供了各种核心服务,如内存管理、线程管理和代码安全。它也包含 .NET Framework 类库,这是一个开

6、发人员用于创建应用程序的综合的、面向对象的类型集合。 第第 1.2 节节 系统开发环境及配置系统开发环境及配置 首先 ASP.NET 的运行环境: Win2000 Server+IIS(Win2000 Server 中 IIS 是默认安装) / Win2000 Advance Server+IIS(这里 IIS 也是默认安装) / WinXP+IIS / Win2003+IIS 除了上面的环境,Visual Studio 2005 自带编译器和 Web 服务器进行调试,在部署网 站之前,所有工作都可以在 Visual Studio 2005 中完成。 部署网站到 IIS 时,可以直接复制网站,

7、也可以采用 ClickOnce 部署,两者的区别是 前者快速方便,后者灵活性较强。 第第 2 章章 系统需求分析系统需求分析 21 世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应 用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会 的发展。许多人还停留在以前的跑书店买需要的图书。这大大地阻碍了人类经济的发展。 为了适应现代社会人们高度强烈的时间观念,网上书店为大家带来了极大的方便。我所 开发的这个网站所采用的是当前较为流行的软件 Visual Studio2005 + DreamWeaver 8 作为 实现,以数据库 SQL Server 20

8、05 作为系统的后台操作。 网上书店系统特点: (1)、先进的购书流程 引入购物车购物方式,把记录客户所有的购书临时信息写入数据库表中,订单结束 后,自动清除相关数据,客户不用再担心订购时临时数据的丢失,确保客户购书准确无 误。 (2)、科学的书店管理模式 通过完善的信息发布系统,客户可以及时得到书店最新图书的相关信息,掌握行业 动向;后台结构化管理模式,涵盖了栏目设置、图书资料编辑、用户管理、订单管理、 基础信息管理等等,为书店的电子化管理提供了一套良好的管理模式。 (3)、人性化的操作界面 一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本书店系统经 过精心打造,同时也可根据书

9、店客户的品味专门订制,让书店的设计充分体现电子商务 时期的时尚、大众化。 (4)、完善的在线帮助 提供详细的在线帮助信息,如交款方式、退换图书原则、交易条款等。帮助用户了 解购书流程,清楚书店在退换图书等各方面的原则及条款。 第第 3 章章 系统总体设计系统总体设计 第第 3.1 节节 系统设计思想系统设计思想 (1) 书店前台 功能强大 、操作方便 前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便 性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受电子商务给他们带来的便 利。 (2) 书店后台 本系统后台管理在考虑书店管理操作简便的同时,提供了强大的书店管理模式。

10、它 包括用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管 理,图书打折管理、物流管理、版权信息等等。 第第 3.2 节节 系统结构设计系统结构设计 前台:用户注册用户登录查看图书信息添加图书到购物车在线支付 后台:管理员登录订单管理、图书管理、会员管理、物流管理、图片管理退出 第第 3.3 节节 系统功能模块系统功能模块 根据系统功能分析,可以画出系统的功能模块图,系统模块图如下图所示,图 3-1 和 图 3-2 分别为前台和后台的功能结构图。 图 3-1 前台系统功能结构图 网上书店后台管理 管理首页 订单管理 版权信息 会员管理 物流管理 系统管理 图书管理 订单信

11、息 会员信息 是否已确认 是否已付款 是否已发货 是否已归档 管理员管理 会员管理 图书管理 图书类别管理 图片上传管理 支付方式管理 配送方式管理 配送地点管理 图 3-2 后台系统功能结构图 网上书店系统前台 用户注册登录 用户信息修改 图书搜索 图书详细信息 购物车 用户充值 用户付款 用户帮助 联系管理员 后台入口 第第 4 章章 系统详细设计系统详细设计 通过以上的系统需求分析和系统总体设计,就已经有了一个网上系统的大体轮廓了 1、前台主要功能包括 注册/登录、购物车、联系方式、图书查询、图书分类浏览、图书展示、打折专区、 热门推荐、精品推荐、在线帮助功能等等。 2、书店系统前台设计

12、的特色 (1) 购物车 每个注册的用户,都拥有一个属于自已的购物车管理界面,客户可以轻松的查看购 物车中的图书。本系统充分考虑到了本模块对于客户的重要性,所以界面尽量做的简捷, 采用开放式结构,一目了然,方便客户轻松掌控自已的信息。 (2) 购书的详细过程 会员注册-选择图书-放入购物车-去下订单 购物车与下订单: 推出了全新的网上商务理念,这也是本系统与其他书店较大的不同的地方之一。 (3) 灵活多样的图书展示区 网站前台图书显视栏目分为以下几种方式: (1)精品推荐 (2) 图书打折区 (3)热销图书 (4)图书分类 (4) 详细的用户帮助信息 主要包括交款方式、退换图书原则、配送信息和交

13、易条款的信息。 3、系统提供完善的系统管理 在主页的管理入口,点击进入。出现验证管理员窗口,输入用户名和密码,进入系统管理 器。后台分为订单管理、图书管理、用户管理、管理员帐号管理、物流管理和图片管理。 (1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。 此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已 确认、是否已付款、是否已发货和是否已归档。 (2) 图书管理是对图书信息进行管理,添加或删除图书信息,也可对图书信息进行修改。动 态添加图书信息,信息内容要求完善。 (3) 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号,可

14、以对用户和管理员进 行统一的管理。 (4) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理 (5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。 第第 5 章章 系统数据库设计系统数据库设计 第第 5.1 节节 数据库需求分析数据库需求分析 在网上书店系统中,数据库应当解决如下需求。 保存注册用户的个人信息,包括联系资料等。 保存图书信息,包括书名、价格、作者、图片等信息。 保存购物车的详细信息 保存购书信息,包括用户 ID、图书 ID、数量、总价等。 保存订单信息,包括日期、支付方式、是否确认等。 第第 5.2 节节 数据库结构分析设计数据库结构分析设计 得

15、到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的数据表,以 及它们之间的关系,为后面的逻辑结构设计打下基础。分析此系统的需求,可以得到数 据库关系图,如图 5-1 所示 图 5-1 数据库关系图 第第 5.3 节节 数据库逻辑设计数据库逻辑设计 数据库的设计数据库的设计 数据库的概念结构设计完毕后,可以将上面的数据库概念结构转化为某种数据库系 统所支持的实际数据模型,也就是数据库的逻辑结构。如图 5-2 所示 图 5-2 数据库表 系统部分数据库表的逻辑结构系统部分数据库表的逻辑结构 表设计详细信息见附录 第第 6 章章 系统编码实现系统编码实现 第第 6.1 节节 首页设计和编码

16、首页设计和编码 如图 6-1 所示,为网上书店首页,主要向用户展示各种图书信息。 图 6-1 网上书店首页 数据库连接代码数据库连接代码 public SqlConnection GetConnection() string myStr = ConfigurationManager. AppSettingsConnectionString.ToString(); SqlConnection myConn = new SqlConnection(myStr); return myConn; 登录判定登录判定 当用户进行添加图书到购物车、在线充值、在线付款、修改个人信息等操作时,程 序需要验证用户

17、是否已经登录作为前提条件,如果用户没有登录,则不应该访问这些页 面,因此需要制作一个判断用户是否登录并加以处理的模块。 / / 判断用户是否存在 / / 会员登录名 / 会员登录密码 / public int UserExists(string P_Str_Name, string P_Str_Password) SqlConnection myConn = dbObj.GetConnection(); SqlCommand myCmd = new SqlCommand(Pr_UserExists, myConn); myCmd.CommandType = CommandType.Stored

18、Procedure; /添加参数 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); SqlParameter returnValu

19、e = 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(returnValue.Value.ToStr

20、ing(); return P_Int_returnValue; 第第 6.2 节节 用户界面的设计用户界面的设计 用户注册代码用户注册代码 / / 向用户表中插入信息 / / 会员名 / 性别 / 密码 / 真实姓名 / 找回密码问题 / 找回密码答案 / 电话号码 / E_Mail / 会员所在城市 / 会员详细地址 / 邮编 / 预付金额 / 登录日期 public int AddUInfo(string P_Str_Name, bool P_Bl_Sex, string P_Str_Password, string P_Str_TrueName, string P_Str_Questi

21、ons, string P_Str_Answers, 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; /添加参数 SqlP

22、arameter Name = new SqlParameter(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);

23、Password.Value = P_Str_Password; myCmd.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 =

24、P_Str_Questions; myCmd.Parameters.Add(Questions); 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; myC

25、md.Parameters.Add(Phonecode); SqlParameter Emails = 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

26、 = 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(PostCode); SqlParameter MemberId = myCmd.Parameters.Add(Me

27、mberId, SqlDbType.BigInt, 8); MemberId.Direction = ParameterDirection.Output; /执行过程 myConn.Open(); try myCmd.ExecuteNonQuery(); catch (Exception ex) throw (ex); finally myCmd.Dispose(); myConn.Close(); return Convert.ToInt32(MemberId.Value.ToString(); 用户登录用户登录 protected void btnLoad_Click(object sen

28、der, EventArgs e) SessionUID = null; SessionUsername = null; if (txtName.Text.Trim() = | txtPassword.Text.Trim() = ) Response.Write(alert(登录名和密码不能为空!); location=javascript:history.go(-1);); else if (txtValid.Text.Trim() = lbValid.Text.Trim() int P_Int_IsExists = uiObj.UserExists(txtName.Text.Trim(),

29、 txtPassword.Text.Trim(); if (P_Int_IsExists = 100) DataSet ds = uiObj.ReturnUIDs(txtName.Text.Trim(), txtPassword.Text.Trim(), UserInfo); SessionUID = Convert.ToInt32(ds.TablesUserInfo. Rows00.ToString(); SessionUsername = ds.TablesUserInfo.Rows01.ToString(); Response.Redirect(index.aspx); else Res

30、ponse.Write(alert(您的登录有误,请核对后再重新登录!); location=javascript:history.go(-1);); else Response.Write(alert(请正确输入验证码!); location=javascript:history.go(-1);); 购物车代码购物车代码 / / 向购物车中添加信息 / / 图书编号 / 会员价格 / 会员编号 public void AddShopCart(int P_Int_BookID, float P_Flt_MemberPrice, int P_Int_MemberID) SqlConnection

31、 myConn = dbObj.GetConnection(); SqlCommand myCmd = new SqlCommand(Pr_InsertShopCart, myConn); myCmd.CommandType = CommandType.StoredProcedure; /添加参数 SqlParameter BookID = new SqlParameter(BookID, SqlDbType.BigInt, 8); BookID.Value = P_Int_BookID; myCmd.Parameters.Add(BookID); SqlParameter MemberPri

32、ce = new SqlParameter(SumPrice, SqlDbType.Float, 8); MemberPrice.Value = P_Flt_MemberPrice; myCmd.Parameters.Add(MemberPrice); SqlParameter MemberID = new SqlParameter(MemberID, SqlDbType.BigInt, 8); MemberID.Value = P_Int_MemberID; myCmd.Parameters.Add(MemberID); /执行过程 myConn.Open(); try myCmd.Exec

33、uteNonQuery(); catch (Exception ex) throw (ex); finally myCmd.Dispose(); myConn.Close(); / / 显示购物车中的信息 / / 信息表名 / 控件名 / 会员编号 public void SCIBind(string P_Str_srcTable, GridView gvName, int P_Int_MemberID) SqlConnection myConn = dbObj.GetConnection(); SqlCommand myCmd = new SqlCommand(Pr_GetShopCart,

34、 myConn); myCmd.CommandType = CommandType.StoredProcedure; /添加参数 SqlParameter MemberID = new SqlParameter(MemberID, SqlDbType.BigInt, 8); MemberID.Value = P_Int_MemberID; myCmd.Parameters.Add(MemberID); /执行过程 myConn.Open(); try myCmd.ExecuteNonQuery(); catch (Exception ex) throw (ex); finally myCmd.

35、Dispose(); myConn.Close(); SqlDataAdapter da = new SqlDataAdapter(myCmd); DataSet ds = new DataSet(); da.Fill(ds, P_Str_srcTable); gvName.DataSource = ds.TablesP_Str_srcTable.DefaultView; gvName.DataBind(); / / 返回合计总数的 Ds / / 信息表名 / 员工编号 / 返回合计总数的 Ds public DataSet ReturnTotalDs(int P_Int_MemberID,

36、string P_Str_srcTable) SqlConnection myConn = dbObj.GetConnection(); SqlCommand myCmd = new SqlCommand(Pr_TotalInfo, myConn); myCmd.CommandType = CommandType.StoredProcedure; /添加参数 SqlParameter MemberID = new SqlParameter(MemberID, SqlDbType.BigInt, 8); MemberID.Value = P_Int_MemberID; myCmd.Paramet

37、ers.Add(MemberID); /执行过程 myConn.Open(); try myCmd.ExecuteNonQuery(); catch (Exception ex) throw (ex); finally myCmd.Dispose(); myConn.Close(); SqlDataAdapter da = new SqlDataAdapter(myCmd); DataSet ds = new DataSet(); da.Fill(ds, P_Str_srcTable); return ds; 第第 6.3 节节 后台管理界面的设计后台管理界面的设计 管理员登录后台代码管理员登

38、录后台代码 protected void btnLogin_Click(object sender, EventArgs e) if (txtAdminName.Text.Trim() = | txtAdminPwd.Text.Trim() = ) Response.Write(alert(登录名和密码不能为空!); location=javascript:history.go(-1);); else if (txtAdminCode.Text.Trim() = SessionValid.ToString().Trim() int P_Int_IsExists = mcObj.AExists(

39、txtAdminName.Text.Trim(), txtAdminPwd.Text.Trim(); if (P_Int_IsExists = 100) DataSet ds = mcObj.ReturnAIDs(txtAdminName.Text.Trim(), txtAdminPwd.Text.Trim(), AInfo); SessionAID = Convert.ToInt32(ds.TablesAInfo.Rows00.ToString(); SessionAname = ds.TablesAInfo.Rows01.ToString(); Response.Write( window

40、.open(AdminIndex.aspx);window.close();); else Response.Write(alert(您输入的用户名或密码错误, 请重新输入!);location=javascript:history.go(-1);); else Response.Write(alert(验证码输入有误, 请重新输入!);location=javascript:history.go(-1);); 后台设计后台设计 后台的设计主要分为 6 大块:订单管理、管理员管理、会员管理、物流管理、图书 管理和图片管理。 1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可

41、以进行删除。 此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已 确认、是否已付款、是否已发货和是否已归档。 2) 管理员管理和会员管理模块的主要实现的是管理员和用户的添加、修改和删除。 3) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理。 4) 图书管理模块主要实现的是图书和图书类别信息的添加、修改和删除。 5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。 如图 6-2 所示,为后台图书管理页面,管理员可以查看图书相关信息,可以对图书进 行信息修改和删除操作。 图 6-2 图书管理页面 如图 6-3 所示,为后台订单管理页面,管

42、理员可以对定单进行核实,也可以删除相应的订 单信息。 图 6-3 订单管理页面 如图 6-3 所示,为图片管理页面,管理员可以进行图片的上传和删除操作。 图 6-3 图片管理页面 第第 7 章章 总结总结 短短两个月毕业设计,每天忙忙碌碌,一步一步走来,今天终于迎来了自己的成果。 在这期间,经常遇到各种各样的问题,时常为不能解决的问题而一筹莫展,但这并未因 此打消我的信心,而是使我更加专著的去解决问题,也因此这相对短暂的时间却是三年 来过得最为充实的日子,充满了挑战的艰辛与乐趣。 在老师的指导和督促下,经过两个月的紧张设计与开发,我的毕业设计基于 ASP.NET 的网上书店系统终于开发完成了。 通过本系统的开发使我所学的专业知识得到 了综合的运用,对以前很多抽象、枯燥的理论知识加深了理解,同时也使我学会了利用 结构化程序设计思想开发管理信息系统,并用模块化方法加以实现。 通过本次的系统开发,我深刻地认识到信息系统开发的每一步都是以上一步为基础 的。因此每一步文档的编写都必须正确、完整,否则就会给下一步的工作带来不必要的 麻烦,加大工作量。因为系统是为用户服务的,所以要充分了解用户的需求,考虑用户 的特点和使用方面的习惯,以协调人机关系。在系统实施中应结合各方面的要求,尽可 能选择自己熟悉的程序设计语言。系统测试中要根据实

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1