基于C#的IT网上商城系统设计报告.doc

上传人:精*** 文档编号:828678 上传时间:2023-09-06 格式:DOC 页数:21 大小:2.02MB
下载 相关 举报
基于C#的IT网上商城系统设计报告.doc_第1页
第1页 / 共21页
基于C#的IT网上商城系统设计报告.doc_第2页
第2页 / 共21页
基于C#的IT网上商城系统设计报告.doc_第3页
第3页 / 共21页
基于C#的IT网上商城系统设计报告.doc_第4页
第4页 / 共21页
基于C#的IT网上商城系统设计报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、 目 录第1章 设计背景- 3 -1.1 开发背景- 3 -1.2 技术要求- 3 -第2章 总体设计52.1 功能模块- 4 -2.2 数据库设计7第3章 详细设计- 10 -3.1 功能描述- 10 -3.2 数据库连接- 20 -第4章 总结- 20 -4.1 心得体会- 21 -4.2 不足之处- 21 -参考文献- 21 -Gdou网上书城摘 要电子商务模式是目前互联网人士思考较多的一个话题,在有了BC, BB等模式之后,一些网站最近又在尝试一种全新的概念BBC模式,而且看来这一模式已经被许多的网上书店所接受。在解释BBC模式时,书生科技公司总裁王东临先生认为:“该模式的意思是中间的

2、 B直接面对客户,把订单交给第一个B来执行。这种模式看起来好像只是传统的渠道销售的翻版,在互联网时代根本不可行,因为互联网经济的一大特征就是压扁渠道,Amazon等大行其道的原因也正是基于这种“中间商死亡”的论调,他们抢占的正是原来中间商的利润。因此,BBC模式长期以来被认为是一种不可能成立的模式。其实,如果中间的B能够提供一种独特的服务,把消费者都吸引到它那里去,并通过它下订单,则该模式就是可行的。Gdou书城采用B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此架构无

3、须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。本篇论文介绍了本系统开发环境和运行平台、ASP.NET,语言采用C#。而后台的数据库则使用Microsoft SQL Server 2005管理平台的数据。关键词: 动态页面;SQLserver;ASP.NET ;C#第1章 设计背景1.1 开发背景网站来源信息,为网络销售人员从不同方面分析网站运营的效果提供了方便,至少可以看出部分常用网站推广措施所带来的访问量,如分类目录、搜索引擎自然检索、投放于网站上的在线显示类网络广告等。网上销售为人们提供了更广阔的环境:人们不受时间的限制,不受空间的限制,不受传

4、统购物的诸多限制,可以随时随地在网上交易。更广阔的市场:在网上这个世界将会变得很小,一个商家可以面对全球的消费者,而一个消费者可以在全球的任何一家商家购物。更快速的流通和低廉的价格:电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。更符合时代的要求:如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。1.2 技术要求本系统采用B2C结构编写,前台是使用Visual Studio 2005平台,使用的语言是ASP.NET,后台使用强大的数据库软件SQL Server 2005。1、Visual Studio 2005是一套

5、完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。2、SQL Server的概述:SQL Server是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、

6、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2005为不同规模的企业提供了一个完整的数据解决方案。SQL Server 2005不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也用于需要在客户端本地存储独立数据库的应用程序中。所以在CS结构中采用SQL Server 2005作为数据库平台是很是实用的。3、AS

7、P.NET的概述: ASP.NET是建立在微软新一代.Net平台架构上,利用普通语言运行时(Common Language Runtime)在服务器后端为用户提供建立强大的企业级Web应用服务的编程框架。ASP.NET可完全利用.Net架构的强大,安全,高效的平台特性。ASP.NET是运行在服务器后端编译后的普通语言运行时代码,运行时早绑定(Early Binding),即时编译,本地优化,缓存服务,零安装配置,基于运行时代码受管与验证的安全机制等都为ASP.NET带来卓越的性能。ASP.NET主要包括WebForm和WebService两种编程模型。前者为用户提供建立功能强大,外观丰富的基于

8、表单(Form)的可编程Web页面。后者通过对HTTP,XML,SOAP,WSDL等Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。第2章 总体设计2.1 功能模块1、系统的功能结构图如下:图2.1 功能结构图2、各功能模块简要描述1)登录网站,用户可以在页面中登录,管理员点击下方后台登陆。1.1用户登录进入书籍列表页面,按类别分别列出数据库中的书籍信息,点击可以买书。1.2管理员进入后台以后,可以对图书进行添加,删除,修改操作,或者对图书类别,用户等进行同样的操作。还可以进行资金提现查看。a.图书类别修改:进入后台以后,可以根据图书的类别找到

9、这一类别的所有图书。b.图书信息修改与添加:进入后台以后,可以对图书的信息进行修改,也可以添加详细信息。2)没有帐号的还可以进入注册页面进行注册,注册页面具有验证功能,可以判断用户输入的信息是否符合相应的要求。3)图书列表:通过用户进入后,可以看到推荐的书,最新图书和热销图书的列表。可以根据用户选择的图书类别显示相应类别的图书信息列表。4)图书详细信息页面,根据用户选定的书籍显示相应书籍的详细信息,还设有购买功能。5)购物车页面显示用户选定需要购买的图书信息并完成结算.2.2 数据库设计1、系统数据库主要E/R图如下: 会员E-R图 首先 画出部分图书信息E-R图 图2.2 数据库结构图2、数

10、据库主要表结构如下:数据库详细设计列名类型主码可为空值描述bookid数字YN由数据库自动生成的顺序编号,作为图书的标示。bookname文本NN书籍的名称。bookpublisher文本NY出版社bookdate文本NY出版日期yeshu数字NY页数banci数字NY该书的版次isbn文本NYISBNshichangjia数字NY市场价huiyuanjia数字NY会员价best book数字NY管理员推荐此书chengjiaocount数字NY该书成交数liulancount数字NY该书被浏览次数dazhe数字NY该书折扣nclassid数字NY该书属于什么次类anclassid数字NY该书

11、属于什么主类bookpic文本NY该书的图片bookauthor文本NY作者adddate日期/时间NY入库日期表格订单信息表列名类型主码可为空值描述dingdanid自动编号YN由数据库自动生成的顺序编号,图书定单的主码。useraccount文本NN用户下单次数dingdandate日期/时间NN下单日期bookid数字NN书表的主码bookcount数字NN书的数目dingdan文本NN定单zhuangtai数字NN定单状态shway数字NN送书方式sex文本NN性别zonger数字NN消费总额username文本NN姓名useremail文本NN电子邮件 续表tel文本NN电话user

12、id数字NN帐号表格图书主类信息表列名类型主码可为空值描述anclassid自动编号YN由数据库自动生成的顺序编号,作为主类的主码。anclass文本NN主分类的名anclassidorder数字NN与分类名对应的编号changyong数字NN常用分类表格图书次类信息表列名类型主码可为空值描述nclassidINTYN由数据库自动生成的顺序编号,作为次类的主码。nclassCharNN标题。nclassidorderBeizhuNN内容anclassidNumNN种类编号changyongCharNN常用表格关键字搜索表列名类型主码可为空值描述keyid自动编号YN由数据库自动生成的顺序编号,

13、作为搜索关键字的主码。keyname文本NN搜索关键字的名称。keycount数字NY该关键字被搜索的次数 表格反馈信息表列名类型主码可为空值描述fkidINTYN由数据库自动生成的顺序编号,作为反馈信息的主码。fkleixingCharNN类型续表fksubjectCharNN主题fkcontentCharNN具体内容fkusernameCharNN 用户名fkemailCharNNemailfklaiziCharNY传真fktelCharNN邮编表格会员信息表列名 类型主码可为空值描述userid 自动编号YN由数据库自动生成的顺序编号,作为信息分类的主码。useraccount 文本NN

14、用户帐号useremail 文本NN用户电子邮件userpassword 文本NN用户密码regdate 日期/时间NN 加入时间question 文本NY密码保护问题answer 文本NY密码保护答案logintimes 数字NN登陆次数续表lastlogintime 日期/时间NN上次登陆时间username 文本N真实姓名city 文本NN所在城市address 文本NN送书地址youbian 数字NN邮编tel 文本N联系电话表格管理员信息表列名类型主码可为空值描述adminid自动编号YN由数据库自动生成的顺序编号,作为信息分类的主码admin文本NN用户名password文本NN密

15、码flag数字NY权限标志位第3章 详细设计3.1 功能描述1、首页,主要用于显示网站的一些动态更新,显示最新的书,还有最热销的图书,和推荐图书。1)首页最上面是一个导航条,可以方便的进行网站的导航,左上角是登录框,中间依次是网站推荐,新书上架,热销图书三个区域,他们的数据会根据数据库中相关数据的变动而变动,做面是一个图书分类图3.1 首页截图部分代码:public partial class _Default : System.Web.UI.Page CommonClass ccObj = new CommonClass(); GoodsClass gcObj = new GoodsClas

16、s(); protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) RefineBind(); HotBind(); Newsgoods(); public void ST_check_Login() if (SessionUserName = null) Response.Write(alert(对不起!您不是会员,请先注册!);location=Default.aspx); Response.End(); public string GetVarMKP(string strMarketPrice) retur

17、n ccObj.VarStr(strMarketPrice, 2); public string GetVarHot(string strHotPrice) return ccObj.VarStr(strHotPrice, 2); protected void RefineBind() gcObj.DLDeplayGI(1, this.dLRefine, Refine); protected void HotBind() gcObj.DLDeplayGI(3, this.dlHot, Hot); protected void Newsgoods() gcObj.DLNewGoods(dlDis

18、count); public void AddressBack(DataListCommandEventArgs e) Sessionaddress = ; Sessionaddress = Default.aspx; Response.Redirect(/showInfo.aspx?BookID= + Convert.ToInt32(e.CommandArgument.ToString(); protected void dLRefine_ItemCommand(object source, DataListCommandEventArgs e) if (e.CommandName = de

19、tailSee) AddressBack(e); else if (e.CommandName = buy) AddShopCart(e); Response.Redirect(shopCart.aspx); protected void dlDiscount_ItemCommand(object source, DataListCommandEventArgs e) if (e.CommandName = detailSee) AddressBack(e); else if (e.CommandName = buy) AddShopCart(e); Response.Redirect(sho

20、pCart.aspx); 2)用户登录,用户登录时,需要填写会员名,密码,和随机动态生成的验证码,其是为了防止恶意攻击而设置。3.2 用户登录截图部分代码:public DataTable UserLogin(string strName,string strPwd) SqlCommand myCmd = dbObj.GetCommandProc(proc_UserLogin); SqlParameter Name = new SqlParameter(UserName,SqlDbType.VarChar,50); Name.Value = strName; myCmd.Parameters.

21、Add(Name); SqlParameter Pwd = new SqlParameter(Password,SqlDbType.VarChar,50); Pwd.Value = strPwd; myCmd.Parameters.Add(Pwd); dbObj.ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, tbUser); return dsTable; 3)注册页面,要求用户输入姓名,用户名,密码,性别,邮箱, 真实姓名,邮编,详细住址。姓名栏以及用户名栏添加了空验证控件,如果用户未填入任何信息则给出提示提

22、示用户填入信息。邮箱栏设置了格式验证要求用户输入的信息必须符合%.com的格式。网页整体设置了错误信息收集控件能够显示所有用户输入信息的错误提示给出提示。当用户输入的信息全部符合规则后才可进行注册操作。把用户输入的信息全部装到一个实体类中,然后调用业务逻辑层的插入操作执行注册,注册会先判断是否已经存在该用户,如果存在则插入失败,如果不存在该用户才会注册成功。图 3.3 用户注册界面截图部分代码: public int AddUser(string strName, string strPassword, string strRealName, bool blSex, string strPho

23、necode, string strEmail, string strAddress, string strPostCode) SqlCommand myCmd =dbObj.GetCommandProc(proc_AddUser); SqlParameter name = new SqlParameter(UserName, SqlDbType.VarChar, 50); name.Value = strName; myCmd.Parameters.Add(name); SqlParameter password = new SqlParameter(Password, SqlDbType.

24、VarChar, 50); password.Value = strPassword; myCmd.Parameters.Add(password); SqlParameter realName = new SqlParameter(RealName, SqlDbType.VarChar, 50); realName.Value = strRealName; myCmd.Parameters.Add(realName); SqlParameter sex = new SqlParameter(Sex, SqlDbType.Bit, 1); sex.Value = blSex; myCmd.Pa

25、rameters.Add(sex); SqlParameter phonecode = new SqlParameter(Phonecode, SqlDbType.VarChar, 20); phonecode.Value = strPhonecode; myCmd.Parameters.Add(phonecode); SqlParameter email = new SqlParameter(Email, SqlDbType.VarChar, 50); email.Value = strEmail; myCmd.Parameters.Add(email); SqlParameter addr

26、ess = new SqlParameter(Address, SqlDbType.VarChar, 200); address.Value = strAddress; myCmd.Parameters.Add(address); SqlParameter postCode = new SqlParameter(PostCode, SqlDbType.Char, 10); postCode.Value = strPostCode; myCmd.Parameters.Add(postCode); SqlParameter ReturnValue = myCmd.Parameters.Add(Re

27、turnValue, SqlDbType.Int, 4); ReturnValue.Direction = ParameterDirection.ReturnValue; dbObj.ExecNonQuery(myCmd); return Convert.ToInt32(ReturnValue.Value.ToString(); 2、管理员界面,对图书的详细信息进行修改,对书籍进行分类和修改,订单的修改,提现的查看。图 3.4.1 后台登陆界面1)图书类别修改,添加功能,页面内容板块添加了一个DataGridView控件,可以查看和添加,其中,在编辑修改图书类别的时候,点击列表中需要编辑的项目

28、行中的修改按钮,修改完成后点击更新即可。图3.4.2 图书类别添加功能截图部分代码: public void DLDeplayGI(int IntDeplay, DataList dlName, string TableName) SqlCommand myCmd = dbObj.GetCommandProc(proc_DeplayGI); SqlParameter Deplay = new SqlParameter(Deplay, SqlDbType.Int, 4); Deplay.Value = IntDeplay; myCmd.Parameters.Add(Deplay); dbObj.

29、ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, TableName); dlBind(dlName, dsTable); public void DLNewGoods(DataList dlName) SqlCommand myCmd = dbObj.GetCommandProc(proc_NewGoods); dbObj.ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, tbGoods); dlBind(dlName, dsTabl

30、e); 2)订单管理功能管理页面中,当前商城的所有订单,添加,删除,修改等方法。并且显示如下信息跟单员单号下订时间货品总额运费总金额配送方式收货人联系电话订单状态图3.5 订单列表功能截图3)书籍详细信息修改功能,在通过图书编号或者图书名选择了需要修改的图书以后,会出现如下界面,只需要在界面中修改对应选项,然后点击确认即可图3.6 书籍详细信息修改截图部分代码: public string GetClass(int IntClassID) SqlCommand myCmd = dbObj.GetCommandProc(proc_GCN); SqlParameter classID = new

31、SqlParameter(ClassID, SqlDbType.Int, 4); classID.Value = IntClassID; myCmd.Parameters.Add(classID); return dbObj.ExecScalar(myCmd).ToString(); 4)书籍添加功能,可以添加书籍。页面的每一栏都设置了验证控件来验证用户输入的信息是否符合规则。封面一栏设置的是上传控件,可把上传的图片保存到系统指定的图片文件夹中,然后就可以在其中选择该图片。出版日期一栏添加了第三方控件日期控件,用户可很直观的选出你想设置的日期。用户输入新书的全部信息后,给出判定,如果全部符合规

32、则后封装全部信息到一个书籍的实体类中执行插入操作。如果信息不符合规则则给出具体错误信息并确定到栏,能够让用户能够很快找到错误之处。图 3.7 书籍添加截图部分代码: public void DLNewGoods(DataList dlName) SqlCommand myCmd = dbObj.GetCommandProc(proc_NewGoods); dbObj.ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, tbGoods); dlBind(dlName, dsTable); 5)会员管理,本页面用来进行会

33、员信息的浏览和管理,可以进行删除操作。图3.8 用户列表截图部分代码:public DataTable GetUserInfo(int IntMemberID) SqlCommand myCmd = dbObj.GetCommandProc(proc_GetUI); SqlParameter memberId =new SqlParameter(MemberID,SqlDbType.Int, 4); memberId.Value = IntMemberID; myCmd.Parameters.Add(memberId); dbObj.ExecNonQuery(myCmd); DataTable

34、 dsTable = dbObj.GetDataSet(myCmd, tbUser); return dsTable; 3、用户页面,用户登入成功后显示的书籍列表信息是动态的,用户可以按书籍查找自己需要的书,点击书籍可以进入书的详细页面。1)网站推荐图书列表,本列表是根据管理员对于不同图书设置的不同权值的大小,来进行排序,优先显示前四本图书,其数据来自数据库中,所以修改以后,页面刷新就能看到不同的界面。2)新书上架列表,本列表的排序信息是图书的发布日期和时间,总是显示最新发布的四本图书。3)热卖图书列表,本列表中的数据排序是根据图书的销售情况,图书销售量会在系统中保存在数据库中,然后列表中的数

35、据对应着权值最大的四个数据4、图书详细信息,当用户点击了一本图书以后就会进入本页面,在这里用户能浏览到该图的全部信息,点击购买就能够放置该图书到购物车中了图3.9 图书详细信息截图部分代码: public string GetClass(int IntClassID) SqlCommand myCmd = dbObj.GetCommandProc(proc_GCN); SqlParameter classID = new SqlParameter(ClassID, SqlDbType.Int, 4); classID.Value = IntClassID; myCmd.Parameters.A

36、dd(classID); r3.2 数据库连接这个项目中使用的数据库是SQL Server ,采用的用户名密码登入模式。项目中导入DBClass.cs类,包含数据库操作的基本方法。部分代码如下:public void ExecNonQuery(SqlCommand myCmd) try if (myCmd.Connection.State != ConnectionState.Open) myCmd.Connection.Open(); myCmd.ExecuteNonQuery(); catch (Exception ex) throw new Exception(ex.Message, e

37、x); finally if (myCmd.Connection.State = ConnectionState.Open) myCmd.Connection.Close(); public string ExecScalar(SqlCommand myCmd) string strSql; try if (myCmd.Connection.State != ConnectionState.Open) myCmd.Connection.Open(); strSql=Convert.ToString(myCmd.ExecuteScalar(); return strSql ; catch (Ex

38、ception ex) throw new Exception(ex.Message, ex); finally if (myCmd.Connection.State = ConnectionState.Open) myCmd.Connection.Close(); 第4章 总结4.1 心得体会经过本次的课程设计,我重新学习了基础专业技术(HTML语言、ASP语言和Servlet),编写了一个网上书店系统。这次的课程设计,给我仅是初步的经验积累,对于迈向社会远远不够的。因此,面对过去,我无怨无悔,来到这里是一种明智的选择;面对现在,我努力拼搏;面对将来,我期待更多的挑战。年轻也许意味着欠缺经验,但是年轻也意味着热情和活力,我自信能凭自己的能力和学识克服各种困难实现自我的人生价值。战胜困难,抓住每一个机遇,相信自己一定会演绎

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 研究报告

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922