资源描述
目录一 课程设计题目4二 需求分析5三 概要设计63.1 系统设计思想63.2系统结构设计63.3系统功能模块7四 详细设计84.1模块划分84.2数据库的设计84.3数据库结构分析设计114.4 连接数据库114.5代码介绍12五 运行界面18六 总结20参考资料22一 课程设计题目此次做的是网上售书管理系统,在此系统中有书店前台和书店后台的管理。前台:用户注册用户登录查看图书信息添加图书到购物车在线支付后台:管理员登录订单管理、图书管理、会员管理、物流管理、图片管理退出二 需求分析21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的跑书店买需要的图书。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,网上书店为大家带来了极大的方便。我所开发的这个网站所采用的是当前较为流行的软件Visual Studio2010作为实现,以数据库SQL Server 2005作为系统的后台操作。网上书店系统特点:(1)、先进的购书流程引入购物车购物方式,把记录客户所有的购书临时信息写入数据库表中,订单结束后,自动清除相关数据,客户不用再担心订购时临时数据的丢失,确保客户购书准确无误。(2)、科学的书店管理模式通过完善的信息发布系统,客户可以及时得到书店最新图书的相关信息,掌握行业动向;后台结构化管理模式,涵盖了栏目设置、图书资料编辑、用户管理、订单管理、基础信息管理等等,为书店的电子化管理提供了一套良好的管理模式。(3)、人性化的操作界面一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本书店系统经过精心打造,同时也可根据书店客户的品味专门订制,让书店的设计充分体现电子商务时期的时尚、大众化。(4)、完善的在线帮助 提供详细的在线帮助信息,如交款方式、退换图书原则、交易条款等。帮助用户了解购书流程,清楚书店在退换图书等各方面的原则及条款。三 概要设计3.1 系统设计思想(1) 书店前台前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受电子商务给他们带来的便利。(2) 书店后台它包括用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等等。3.2系统结构设计前台:用户注册用户登录查看图书信息添加图书到购物车在线支付后台:管理员登录订单管理、图书管理、会员管理、物流管理、图片管理退出3.3系统功能模块网上书店系统前台 用户注册登录用户信息修改图书搜索 图书详细信息购物车用户充值用户付款用户帮助联系管理员后台入口图3-1 前台系统功能结构图 网上书店后台管理 管理首页 订单管理 版权信息 会员管理 物流管理 系统管理 图书管理 订单信息 会员信息 是否已确认 是否已付款 是否已发货 是否已归档 管理员管理 会员管理 图书管理 图书类别管理 图片上传管理 支付方式管理 配送方式管理 配送地点管理图3-2 后台系统功能结构图四 详细设计4.1模块划分(1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。(2) 图书管理是对图书信息进行管理,添加或删除图书信息,也可对图书信息进行修改。动态添加图书信息,信息内容要求完善。(3) 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号,可以对用户和管理员进行统一的管理。(4) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理(5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。4.2数据库的设计列名数据类型是否允许空说明AreaIDbigint否区域ID,自动编号AreaNamevarchar(50)否区域名称AreaKMint否区域与本地的距离表1:Admin管理员表列名数据类型是否允许空说明AreaIDbigint否区域ID,自动编号AreaNamevarchar(50)否区域名称AreaKMint否区域与本地的距离表2:Area区域表列名数据类型是否允许空说明BookIDbigint否图书ID,自动编号ClassIDbigint否类型ID,外键BookNamevarchar(50)否图书名称BookIntroducentext是图书详细介绍ISBNvarchar(20)否ISBN序号PageNumvarchar(20)是图书页码Publishervarchar(100)否出版社PublishDatevarchar(20)否出版时间Authorvarchar(50)否作者BookUrlvarchar(50)否图书对应图片的URL地址MarketPricefloat否图书市场价格MemberPricefloat否图书会员价格Isrefinementbit否是否推荐IsHotbit否是否热销AddDatedatetime否图书信息添加日期IsDiscountbit否是否打折表3:BookInfo图书信息表列名数据类型是否允许空说明BuyIDbigint否购书信息ID,自动编号BookIDbigint否图书ID,外键Numint否购买的图书数量OrderIDbigint否订单ID,外键SumPricefloat否总价MemberIDbigint否会员ID,外键表4:BuyInfo购书信息表列名数据类型是否允许空说明CartIDbigint否购物车ID,自动编号BookIDbigint否图书ID,外键Numint否购买数量SumPricefloat否总价格MemberIDbigint否会员ID,外键表5:ShopCart购物车表列名数据类型是否允许空说明MemberIDbigint否用户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会员表列名数据类型是否允许空说明ImageIDbigint否图片ID,自动编号ImageNamevarchar(50)否图片名称ImageUrlvarchar(200)否图片URL地址4.3数据库结构分析设计分析此系统的需求,可以得到数据库关系图。 4.4 连接数据库public SqlConnection GetConnection() string myStr = ConfigurationManager.AppSettingsConnectionString.ToString(); SqlConnection myConn = new SqlConnection(myStr); return myConn;45代码介绍4.5.1用户登录和注册用户注册代码/ / 向用户表中插入信息/ / 会员名/ 性别/ 密码/ 真实姓名/ 找回密码问题/ 找回密码答案/ 电话号码/ 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, 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 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);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 = 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;myCmd.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 = 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(MemberId, 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 sender, 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(), 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 Response.Write(alert(您的登录有误,请核对后再重新登录!);location=javascript:history.go(-1););else Response.Write(alert(请正确输入验证码!);location=javascript:history.go(-1);); 4.5.2管理员登录后台代码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(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.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) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。2) 管理员管理和会员管理模块的主要实现的是管理员和用户的添加、修改和删除。3) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理。4) 图书管理模块主要实现的是图书和图书类别信息的添加、修改和删除。5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。五 运行界面5.1首页此图为网上书店首页,主要向用户展示各种图书信息。5.2 后台管理页面此图为后台图书管理页面,管理员可以查看图书相关信息,可以对图书进行信息修改和删除操作。5.3后台订单管理页面管理员可以对定单进行核实,也可以删除相应的订单信息。5.4图片管理页面,此图为图片管理页面,管理员可以进行图片的上传和删除操作。六 总结当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C#语言又是最常见,功能最强大的一种高级语言,因此做好C#语言课程设计是十分必要的。自从拿到题目到完成整个编程,从理论到实践,在这一个星期的时间里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正学到知识。在这次的文件管理系统中提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,但是通过这些问题可以发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固。通过这次课程设计,让把前面所学过的知识又重新温故了一遍并得到了很好的运用。 我做的是网上售书管理系统,就是这样一个简单的程序,对我一个初学者来说却是一个很大的困难,所以第一天上午在机房做了一个上午却丝毫没有进展,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下,通过同学的帮助和我的努力,当实现一个功能的时候,就很高兴,对后面的设计更是有了信心,通过一次次的尝试和测试,终于完成了所有的功能,我的系统做好了。通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C#,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 参考资料1管理信息系统分析与设计,邝孔武 编著,西安电子科技大学出版社 2006年12月2ASP.NET 基础与案例开发详解编著:易巍 张新颖 清华大学出版社 2009年8月3ASP.NET 程序设计与软件项目实训编著:郑伟 清华大学出版社 2009年3月4数据库技术与应用SQL Sever 2005编著:张建伟 人民邮政出版社 2009年2月5Visual C# 2008 入门经典编著:James Foxall 人民邮政出版社 2009年6月
展开阅读全文