544053737毕业设计(论文)基于UML的书店在线销售系统_第1页
544053737毕业设计(论文)基于UML的书店在线销售系统_第2页
544053737毕业设计(论文)基于UML的书店在线销售系统_第3页
544053737毕业设计(论文)基于UML的书店在线销售系统_第4页
544053737毕业设计(论文)基于UML的书店在线销售系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于uml的第三波书店在线销售系统 分类号郑州电力高等专科学校毕 业 设 计(论 文)题 目基于uml的书店在线销售系统并列英文题uml-based bookstore online sales system系部电子信息系 专业计算机应用技术姓名 班级计算机0702指导教师 职称讲师论文报告提交日期2010年6月10号 郑州电力高等专科学校 摘要随着科技日新月异的发展,internet已经成为人们生活、工作、学习越来越离不开的平台。web技术已经不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。例如网上电子商务、社会信息数据库等。网络实现了远程通讯,人们能够通

2、过计算机网络进行电子邮件的发送,召开网络会议,网上购物,甚至坐在家里就可以上大学(网上教育)。因此,考虑到我所学的专业知识,及自己的能力,我决定做一个基于b/s体系架构创建这个基于uml建模的书店在线销售系统,紧跟行业发展,满足人们生活、学习的需要。本系统采用基本三层结构建立一个基于b/s架构的第三波书店在线销售系统,实现信息网络化。登录者可以注册成为本系统的用户,查询图书信息,将图书放入购物车,实现在线购买和付款,及修改个人密码和个人信息。在后台管理员可以进行订单管理,用户管理,图书管理,图片管理等,方便网站的管理与维护。本系统中采用microsoft visual studio 2008作

3、为开发平台,使用sqlserver2005作为后台数据库。整个个性化页面生成系统主要由使用asp.net技术开发实现个性化web页面生成。关键词:uml、基本三层结构、sqlserver数据库、asp.net。abstractalong with the rapid development of science and technology, the internet has become the platform of people's lives , work, and study, they can't depart from it .web technology has

4、 not only limited to provide information service, but also has increasingly become an operation platform, to provide powerful service functions for users.for example online e-commerce and social information database, etc.the remote communication has come true,people can send e-mails,have a meeting a

5、nd go shopping through the computer network,even they can learn the courses of the university at home(distance learning).therefore, from my professional knowledge and abilities,i decide to creat the online sales system of a bookstore which is based on b / s architecture,it is based on uml modeling.c

6、losely follow the industry development,meet the needs of people's lives and learning.   this system uses a basic there-tier application and set up the third wave of  online bookstore sales system which is based on b/s structure,which can make information network come ture.you can

7、register as users of the system,and then you can look up the informations of the books,put the books into the shopping cart and purchase and pay for them online.you can also change your password and personal information.in the background, the administrator can carry on the orders management,the libr

8、ary management, the pictures management and so on.it is convenient to do the site management and maintenance.the system uses microsoft visual studio 2008 as development platform and uses sqlserver2005 as backend database.the individual page generating system consists of using the a technology.keywor

9、ds: uml, there-tier application, sqlserver database, asp.net.目 录第一章 前言11.1 课题背景11.2 研究意义21.3 课题研究的主要工作3第二章 相关技术52.1 基于uml语言的建模语言52.2 三层结构技术在系统中的应用72.3 用户控件的应用92.4 数字水印效果的实现102.5 asp中session的用法102.6 购物车的实现原理11第三章 系统需求分析153.1 系统的功能需求153.2 系统设计思想16第四章 系统数据库设计及其实现214.1 系统数据库总体设计214.2 部分数据表的设计21第五章 系统总体设

10、计及部分重要模块的实现245.1 部分界面的展示245.2 三层结构的实现255.3 登陆及注册新用户的实现285.4 图书增查改的实现34第六章系统测试386.1 系统测试工具386.2 简单的系统测试38第七章 总结1致 谢2参考文献3附录a1第一章 前言1.1 课题背景临近毕业,考虑三年来大学生活的点点滴滴,一直以来我都对网络比较的感兴趣,于是结合大学三年一直学习的c#.net考虑做一个书店在线销售系统。随着21世纪的到来,信息化时代已经向我们走来,这个时代的最重要的标志就是计算机的广泛应用。如今社会上计算机应用已经达到非常普及的程度,随处都可以见到计算机的身影。我们也熟悉了在社会各处遇

11、见它们的环境,家庭娱乐,学校的机房,金融场所,以及到处可见的网吧,计算机如水银般无孔不入。我们甚至会怀疑计算机还将向哪里深入,还将控制哪个地方,当然这前景依然是乐观的。现在的计算机是由早期的电动计算器发展而来的。1945年,世界上出现了第一台电子数字计算机“eniac”,用于计算弹道。是由美国宾夕法尼亚大学莫尔电工学院制造的,但它的体积庞大,占地面积170多平方米,重量约30吨,消耗近100千瓦的电力。显然,这样的计算机成本很高,使用不便。1956年,晶体管电子计算机诞生了,这是第二代电子计算机。只要几个大一点的柜子就可将它容下,运算速度也大大地提高了。1959年出现的是第三代集成电路计算机。

12、从20世纪70年代开始,这是电脑发展的最新阶段。到1976年,由大规模集成电路和超大规模集成电路制成的“克雷一号”,使电脑进入了第四代。超大规模集成电路的发明,使电子计算机不断向着小型化、微型化、低功耗、智能化、系统化的方向更新换代。20世纪90年代,电脑向“智能”方向发展,制造出与人脑相似的电脑,可以进行思维、学习、记忆、网络通信等工作。进入21世纪,电脑更是笔记本化、微型化和专业化,每秒运算速度超过100万次,不但操作简易、价格便宜,而且可以代替人们的部分脑力劳动,甚至在某些方面扩展了人的智能。于是,今天的微型电子计算机就被形象地称做电脑了。计算机技术的发展速度是其它科学行业不可比拟的,现

13、代计算机是采用先进的电子技术来代替陈旧落后的机械或继电器技术,随着大规模和超大规模集成电路的发展,应用到计算机上,使计算机的体积越来越小,计算机的运算速度越来越快,价格越来越低。但要想大幅度提高计算机的性能必将遇到难以逾越的障碍,科学家们把目光投向了最基本的物理原理上,未来光子、量子和分子计算机为代表的新技术将推动新一轮超级计算技术革命。因此,面对当前迅猛发展的信息化建设和灵活多变的信息系统的应用,寻找一种易于维护、易于组件复用、交互性良好的、高效的web应用程序开发方案,具有极其重要的意义,本文正是在这样的背景下开展研究的。1.2 研究意义近年来,随着网络技术和internet的迅速发展,基

14、于browser/server结构的web应用,因其具有易用性、通用性和良好的可扩展性等优点而发展迅速,正逐渐成为实现企业管理信息系统的主流技术。而开发一个web应用系统是一项浩大的工程,要求设计者能够提出合理的系统架构。合理的系统架构可以减少开发及维护系统所用的资源,提升工作效率。因此,在web企业级应用系统开发过程中,设计模式的选定和应用系统架构的设计是一个重要环节。信息技术中具有重要地位的软件产业发展速度更迅速,随着软件产业的规模越来越大和对软件通用性的要求越来越强,在软件开发的各个阶段都要求有尽可能的可交互性和可重用性,即要求有尽可能完善的规范和通用的工具。因此在七十年代出现了各式各样

15、的建模语言,最多的时候有五六十种之多。这些建模语言,功能大体相近,但样式大都不同,这给使用者带来了很大的不便。用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点来选择合适的建模语言。各国软件开发人员历经各种比较和使用。最终,uml统一建模语言脱颖而出,成为软件建模领域的佼佼者。因此当今的软件建模基本是研究基于uml建模的方案。利用uml采用面向对象方法为web应用程序建模,可以大大提高系统开发的效率。随着面向对象技术逐渐成为当前计算机界关心的重点,它成为当今软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结

16、构、应用平台、分布式系统、网络管理结构、cad技术、人工智能等领域。当然,在web程序开发中,开发人员也经常引入面向对象技术。面向对象软件系统设计的目标是在支持可维护性的同时,提高系统的可复用性。两个目标存在同时达成的可能性,一个复用效率高的系统必定是一个维护方便的系统。因此,开发人员往往采用面向对象技术提高信息系统开发的效率。asp.net是创建动态网页的一种强大的服务器端技术,是一种基于 b/s的应用程序,可创建交互的web页面。asp.net页面的开发,包括数据绑定,状态保持,母版页和导航等。作为一个初学者,我希望自己可以根据自己所掌握的知识,与当前科技的发展相结合,使自己更好的掌握所学

17、的知识,并且更加深入的了解当前的科技发展方向,为以后的工作学习打下更加坚实的基础。1.3 课题研究的主要工作 本文以第三波书店在线销售系统为背景,研究下面几个方面的问题: 1) 利用rational rose和uml,进行面向对象的信息系统的分析与设计的问题 讨论如何将建模语言uml及建模工具rational rose应用到从需求分析到编码的各个环节当中。 通过对需求的深入理解使得项目开发从一开始就能按正确的分析和设计方法进行。此后,借助 uml的一些成熟方法开发出可行的软件设计方案,以编写出最佳的软件实现,从而明显提升所开发软件的可扩展性、易维护性以及可重用性。 2)利用三层构架技术进行系统

18、设计及应用利用三层结构实现系统的总体构架,使系统的总体构架清楚明了,并且通过此三层架构的运用,使系统适应变化、利于维护,同时将各功能模块分离,有利于协作开发并且越来越多的企业在开发项目时采用三层结构作为项目的基础架构。3)利用uml建模语言进行系统需求分析uml是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。4)利用用户控件、封面数字水印等技术进行页面及图片的显示问题由于系统中多次用到登陆页面和注册页面,这样我使用了自己制作的一组自定义控件作为用户控件,这样不

19、仅可以定义显示界面,还可以编写事件处理代码,当多个页面包括有部分相同的用户界面时,可以将这些内容相同的部分提取出来。数字水印技术的使用保护了自己作品不被侵害,保护著作权,防止他人盗用受保护的资源。39第二章 相关技术2.1 基于uml语言的建模语言uml是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。uml的本意是要成为一种标准的统一语言,使得it专业人员能够进行计算机应用程序的建模。uml的主要创始人是jim rumbaugh、ivar jacobson和g

20、rady booch,他们最初都有自己的建模方法(omt、oose和booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。uml成为"标准"建模语言的原因之一在于,它与程序设计语言无关。(ibm rational的uml建模工具被广泛应用于j2ee和.net开发。)而且,uml符号集只是一种语言而不是一种方法学。这点很重要,因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。2.1.1 ibm rational rose(1)ibm rational roseibm rational软件工具为开发人员和开发团队提供了整个

21、开发生命周期的支持。单独使用时,rational 软件的每种工具在其各自市场领域中都处于领先地位。结合使用时,它们更是提供了无与伦比的自动化和易用性。rational 软件工具可以在 windows、unix、linux 和大型机平台上使用,并且可以支持绝大多数语言、ide 和操作环境,其中包括:java、eclipse、c/c+/c#、visual basic .net、microsoft .net、com/+、corba、100 多个针对实时和嵌入式系统开发人员的开发环境,以及最新的internet/web 服务标准。(2)rational rose的特点:² 保证模型和代码高度

22、一致rose可以实现真正意义上的正向、逆向和双向工程,可以方便快捷地建立软件系统的原型模型,可缩短开发周期,降低维护成本,大幅度地提高程序的安全性,使编程过程更规范合理。² 支持多种语言用户可以根据自己在开发语言方面的需要灵活选择不同的版本。² 为团队开发提供强有力的支持² 支持模型的internet发布² 生产使用简单且定制灵活的文档² 支持关系数据库的建模2.1.2 实体建模软件行业中最常被误解的一个术语实际上是我们非常熟悉的一个:实体关系(er)。这是因为我们经常缺少一种能被开发团队的所有成员理解的共同定义。我们假定团队的每个成员都对与

23、er 和 er 建模相关的方法学、语法和机制(mechanics)有着同样清楚的理解。er 建模本身定义了在基于信息的系统的分析和设计中用到的方法。数据库设计者通常使用该方法来收集需求,并定义数据库系统的构架。该方法的输出是实体类型、关系类型和约束条件的清单。2.1.3 uml中的简单约束不幸的是,er 建模没有为 er 图的表示定义图解语法。数据库团队经常单独使用表示法,并且将 er 建模限制在关系数据库设计的范围内。我们需要一种能让整个系统开发团队的成员获得更广泛理解的表示法。统一建模语言(uml)是一种分析人员和软件开发人员广泛使用的语言,特别适合 er 图的图形化表示。通过使用 uml

24、,开发团队受益匪浅,这些获益包括团队成员间的交流更加简单,由于该语言是基于原模型的,因而更容易与知识库集成,标准化输入/输出格式(xmi)的使用,应用建模和数据建模的普遍使用,从分析到实施再到部署的统一表示,以及规格说明书的完整性。2.2 三层结构技术在系统中的应用2.2.1三层架构(3-tier application) 、三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表示层(ui)、业务逻辑层(bll)、数据访问层(dal)。区分层次的目的即为了“高内聚,低耦合”的思想。 数据访问层 表示层 业务逻辑层响应数据客户请求响应数据客户请求 图2

25、.1 三层结构之间的关系 1)、表示层(ui):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 2)、业务逻辑层(bll):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。业务逻辑层(business logic layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(domain)逻辑有关。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而

26、言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。 3)、数据访问层(dal):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找

27、等。数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是xml文档。简单的说法就是实现对数据表的select,insert,update,delete的操作。如果要加入orm的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。2.2.2如何建立三层构架决定如何划分你的层(是物理的还是不是物理的)是非常重要的。在划分时应考虑下面因素:1、注意如果划分成物理层,你的应用程序的速度会因为不同服务器在网络中通信的延迟而减慢。所以,如果你决定用物理层,请确保获得性能的提升大于性能的降低。2、按照n层架构设计你的应用程序。3、

28、部署以及维护物理分布式的应用程序的成本是很高的。你首先需要不止一台服务器,你还需要网络硬件来连接这些服务器。在这种情况下,部署应用变得更加复杂!因此这样做之前请确定这样做是否值得。另外还要注意,你的应用程序的每层都做何使用。你也许因为运行的多个服务都需要某一层而把该层放到别台服务器上。例如,你也许会因为给不同的用户定制不同的表现层,而将业务逻辑层放于别处;你也许会因为还有其它的应用访问同一个数据库,而把sql server服务放到别处。 2.3 用户控件的应用在 asp.net 中,使用与 asp.net 页相同的语法,以声明方式创作的服务器控件。该控件用 .ascx 扩展名保存为文

29、本文件。用户控件允许对页功能进行分区和重用。第一次请求时,页框架立即将用户控件分析为从system.web.ui.usercontrol 派生的类,并将该类编译到一个程序集中;页框架在后面的请求中将重用该程序集。因为用户控件不需要预编译就可以进行页面样式创作和部署,所以开发起来很容易。通常,开发服务器控件有两种方法:第一种方法:就是所说的自定义控件开发,即继承如control的基类实现服务器控件。第二种方法:即开发用户控件。创建用户控件与创建普通asp.net web页面类似,但是如同简述的那样,它们会有些不同。下面列举了创建用户控件必须采取的主要步骤:(1)创建一个扩展名为.ascx的文本文

30、件。这是用户控件和asp.net web页面的第一个不同点,后者使用的扩展名为.aspx。(2)在文本文件顶部添加control指令,并通过language属性来设置所选择的编程语言,例如c#。这是用户控件和web页面的第二个不同点,后者使用page指令而不是control。(3)向文本文件添加html标记文本和asp.net服务器控件。可以添加除html、body和form之外的任何html标记。这是因为用户控件不能单独使用,而必须作为web页面的一部分使用。这是用户控件和web页面的第3个不同点。由于web页面自身独立,因此最终用户能够直接访问它,对于用户控件则不是这样。下面图示为本系统中

31、我使用的一个控件:图2.2 用户控件的利用2.4 数字水印效果的实现数字水印(digital watermark)技术是将与多媒体内容相关或不相关的一些标示信息直接嵌入多媒体内容当中,但不影响原内容的使用价值,并不容易被人的知觉系统觉察或注意到。通过这些隐藏在多媒体内容中的信息,可以达到确认内容创建者、购买者,或者是否真实完整。数字水印是信息隐藏技术的一个重要研究方向。数字水印效果的三种实现方法如下:(1) 直接编辑每张图片使用图片编辑工具,对每张图片进行编辑。这种方法可以说是省脑力,费人工。(2) 编程实现批量编辑图片通过编程方式给图片批量添加数字水印效果。这种方式解决了上一种方法的问题,不

32、过它也有一个问题,就是破坏了原始图片。(3) 在图片显示时,动态添加数字水印效果 能不能不修改原始图片,只在服务器发送图片到客户端前我们做一些处理,动态的添加水印效果呢?答案是肯定的,就是使用httphandler技术。 2.3 水印图片在我的网站系统中,我是通过创建httphandler程序来动态实现数字水印效果的。2.5 asp中session的用法session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个session。在web应用程序中,当一个用户访问该应用时,session类型的变量可以供这个用户在该web应用的所有页面中共享数据;如果另一个用

33、户也同时访问该web应用,他也拥有自己的session变量,但两个用户之间无法通过session变量共享信息,而application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。语法:session.collection|property|method集合:contents 包含已用脚本命令添加到会话中的项目。 staticobjects 包含通过 <object> 标记创建的并给定了会话作用域的对象。 属性:codepage 将用于符号映射的代码页。 lcid 现场标识。

34、60;sessionid 返回用户的会话验证。 timeout 应用程序会话状态的超时时限,以分钟为单位。 方法:abandon 该方法破坏 session 对象并释放其资源。 事件:global.asa 文件中声明下列事件的脚本。session_onend session_onstart 2.6 购物车的实现原理  购物车相当于现实中超市的购物车,不同的是一个是实体车,一个是虚拟车而已。用户可以在购物网站的不同页面之间跳转,以选购自己喜爱的商品,点击购买时,该商品就自动保存

35、到你的购物车中,重复选购后,最后将选中的所有商品放在购物车中统一到付款台结账,这也是尽量让客户体验到现实生活中购物的感觉。服务器通过追踪每个用户的行动,以保证在结账时每件商品都物有其主。     购物车的功能包括以下几项:Ø 把商品添加到购物车,即订单Ø 删除购物车中已定购的商品Ø 修改购物车中某一本图书的订购Ø 清空购物车Ø 显示购物车中商品清单及数量、价格     实现购物车的关键在于服务器识别每一个用户并维持与他们的联系。但是http协议是

36、一种“无状态(stateless)”的协议,因而服务器不能记住是谁在购买商品,当把商品加入购物车时,服务器也不知道购物车里原先有些什么,使得用户在不同页面间跳转时购物车无法“随身携带”,这都给购物车的实现造成了一定的困难。     目前购物车的实现主要是通过cookie、session或结合数据库的方式。下面分析它们的机制及作用。1. cookie     cookie是由服务器产生,存储在客户端的一段信息。它定义了一种web服务器在客户端存储和返回信息的机制,cookie文件它包含域、路径、生

37、存期、和由服务器设置的变量值等内容。当用户以后访问同一个web服务器时,浏览器会把cookie原样发送给服务器。通过让服务器读取原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针对性地投放广告等等。利用cookie的特性,大大扩展了web应用程序的功能,不仅可以建立服务器与客户机的联系,因为cookie可以由服务器定制,因此还可以将购物信息生成cookie值存放在客户端,从而实现购物车的功能。用基于cookie的方式实现服务器与浏览器之间的会话或购物车,有以下特点:Ø coo

38、kie存储在客户端,且占用很少的资源,浏览器允许存放300个cookie,每个cookie的大小为4kb,足以满足购物车的要求,同时也减轻了服务器的负荷;Ø cookie为浏览器所内置,使用方便。即使用户不小心关闭了浏览器窗口,只要在cookie定义的有效期内,购物车中的信息也不会丢失;Ø cookie不是可执行文件,所以不会以任何方式执行,因此也不会带来病毒或攻击用户的系统;Ø 基于cookie的购物车要求用户浏览器必须支持并设置为启用cookie,否则购物车则失效;Ø 存在着关于cookie侵犯访问者隐私权的争论,因此有些用户会禁止本机的cookie

39、功能。2. session    session是实现购物车的另一种方法。session提供了可以保存和跟踪用户的状态信息的功能,使当前用户在session中定义的变量和对象能在页面之间共享,但是不能为应用中其他用户所访问,它与cookie最重大的区别是,session将用户在会话期间的私有信息存储在服务器端,提高了安全性。在服务器生成session后,客户端会生成一个sessionid识别号保存在客户端,以保持和服务器的同步。这个sessionid是只读的,如果客户端禁止cookie功能,session会通过在url中附加参数,或隐含在表单中提交等其他方式在页面

40、间传送。因此利用session实施对用户的管理则更为安全、有效。     同样,利用session也能实现购物车,这种方式的特点是:n  1)session用新的机制保持与客户端的同步,不依赖于客户端设置;n  2)与cookie相比,session是存储在服务器端的信息,因此显得更为安全,因此可将身份标示,购物等信息存储在session中;n  3)session会占用服务器资源,加大服务器端的负载,尤其当并发用户很多时,会生成大量的session,影响服务器的性能;n &

41、#160;因为session存储的信息更敏感,而且是以文件形式保存在服务器中,因此仍然存在着安全隐患。3. 连接数据库的方式   这也是目前较普遍的模式,在这种方式中,数据库承担着存储购物信息的作用,session或cookie则用来跟踪用户。这种方式具有以下特点:Ø 数据库与cookie分别负责记录数据和维持会话,能发挥各自的优势,使安全性和服务器性能都得到了提高。Ø 每一个购物的行为,都要直接建立与数据库的连接,直至对表的操作完成后,连接才释放。当并发用户很多时,会影响数据库的性能,因此,这对数据库的性能提出了更高的要求。Ø 使c

42、ookie维持会话有赖客户端的支持。各种方式的选择:     虽然cookie可用来实现购物车,但必须获得浏览器的支持,再加上它是存储在客户端的信息,极易被获取,所以这也限制了它存储更多,更重要的信息。所以一般cookie只用来维持与服务器的会话,例如国内最大的当当网络书店就是用cookie保持与客户的联系,但是这种方式最大的缺点是如果客户端不支持cookie就会使购物车失效。    session 能很好地与交易双方保持会话,可以忽视客户端的设置。在购物车技术中得到了广泛的应用。但session的文件属

43、性使其仍然留有安全隐患。结合数据库的方式虽然在一定程度上解决了上述的问题,但当在购物流程中涉及到对数据库表的频繁操作,尤其是用户每选购一次商品,都要与数据库进行连接,当用户很多的时候就加大了服务器与数据库的负荷。第三章 系统需求分析3.1 系统的功能需求21世纪以来,人类经济高速发展,人们生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方式越来越不适应现在社会的发展。许多人还停留在以前的跑书店买需要的图书,网上书店为大家带来了极大地方便。我所开发的第三波书店在线销售系统基本上实现了在线购物的需求,采用microsoft visual studio

44、2008作为开发平台,使用sqlserver2005作为后台数据库。本网上书店在线销售系统是基于b/s架构,本网站系统的开发主要是方便用户足部出户就可以购买商品,减少供应商店面费用。本系统共有三类用户: Ø 普通用户是指没有登陆权限(主要指网络用户),以匿名用户的身份访问系统网站。此类用户主要有浏览系统信息、查看商品信息,注册成为会员。把本网站设为首页,添加到收藏夹,联系开发人,查看交款方式,退换货原则,配送范围,交易条款,保密协议等操作。浏览的内容包括:商品信息、商品分类信息。Ø 用户:这类用户拥有普通用户的所有权限;普通用户可以注册成为会员,并根据会员id和密码登陆系统

45、,登陆之后可以对更改自己的信息但会员id做为数据库表主键不能修改。会员登陆后可以查看商品信息,查看各种分类商品信息,将商品添加到购物车中,修改购物车中商品数量,或是删除某些不想要的商品。Ø 系统管理员:系统管理员主要负责管理着系统后台信息;主要有订单管理,商品管理,会员管理,物流管理和系统管理。订单管理有未确认订单和已确认订单管理,未付款订单。商品管理主要有商品添加和商品管理,商品类别添加和商品类别管理。会员管理主要有添加管理员和管理管理员,管理会员。物流系统主要有支付方式添加和管理,配送方式添加和管理,配送地点添加和管理。系统管理主要是上传管理。 因此,本系统主要功能是对商品进行管

46、理规划,方便会员购买。3.2 系统设计思想3.2.1 系统设计思想书店前台:功能强大,操作方便。 前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便,目的是让大多数不懂电脑操作的客户也能轻松地享受网上购物带来的极大方便。主要包括以下几个模块: 商品信息展示 用户注册 用户登陆 用户信息修改 购物车管理 书店后台:本系统后台在考虑书店管理操作简便的同时,提供了强大的书店管理模式。主要包括以下几个模块: 订单管理 商品管理 用户管理 物流管理 系统管理3.2.2 系统结构设计 参与者汇总游 者:查看商品信息和注册成为会员。会 员:查看商品信息和购买商品,修改个人信息等。管理员

47、:管理商品信息,管理用户信息等。 前台流程:用户登录用户登陆用户注册用户登录查看图书信息添加图书到购物车在线支付 后台流程:管理员登录订单管理、图书管理、用户管理、图片管理退出网上购物系统为顾客提供一个类似于超级市场的网络界面。通过网络界面,用户登录后执行各种操作,没有注册的用户可以查找商品信息,查看首页面的最受欢迎商品等信息。网上购物系统书籍分类列表模块书籍查找模块订单查询模块书籍详细信息模块购物车模块最新书籍推荐模块用户登陆登陆登陆未登陆图3.1 第三波书店系统流程图 1.系统逻辑这一阶段的主要目标是明确用户的信息需求,系统管理管理人员完成各自工作任务的信息需求。确定系统的逻辑功能,提出系

48、统的逻辑方案,是系统分析阶段的最终成果,是系统分析的最后一项活动,也是形成系统分析结果的关键工作,这一阶段不但要利用前几个活动的工作成果,而且要在此基础上进一步调查、明确问题、进行创新。本系统的逻辑模型主要以数据流图和数据字典为描述工具。在对在线销售系统的管理方式和业务流程进行分析和研究的基础上,通过对系统的初步调查和详细调查,按信息系统中应有的数据流和数据结构来勾画系统的概貌。 2.数据流图数据流图四种基本成分组成:外部项(外部实体)、加工(数据加工)、数据存储、数据流。数据流图基本图例,如图3.2所示。图3.2 基本数据流图本书店在线销售系统订单审核数据流程图为例,其顶层数据流图,如图3.

49、4所示。图3.3 系统审核订单数据流程图数据流图重点在描述以处理逻辑为中心的数据的流入与流出,而对数据本身未加描述,影响了用户对数据流图的理解。数据字典是对数据流图的很好的补充,它是数据流图上所有成分的定义和解释的文字集合,它是对数据流图的各种成分起注解、说明的作用,同时它还对系统分析中其他需要说明的问题进行定义和说明。系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发以至将来系统运行与维护是必须的信息尽可能放入数据字典。数据字典对数据流图的描述尽可能说明下列问题: 什么?(是什么或是什么) 何出?(在何处来或者来自何处,去向何处) 何时?(何时出现,时间长短)数据字典描

50、述的主要内容有:数据流、数据元素、数据存储、加工和外部项,其中数据元素是组成数据流的基本成分。在系统分析中,数据字典起着重要的作用。它包含关于系统详细信息。一般说来,系统分析人员把不便在数据流图上注明而对于系统分析应该获得,对整个系统开发必需的信息,尽可能放入数据字典,部分数据字典如下所示。数据流系统名:提交订单 编号: f1 条目名:订货公司 别名: 来源:客户去处:p1接收订货信息数据流结构:合同编号客户名称签订日期商品型号数量单价总价供货日期付款情况签订人员备注简要说明:营销人员根据客户要求签订订货合同,随时了解合同付款情况。表3.4 数据字典:数据流数据元素系统名:销售订货 编号: f

51、2条目名:签订日期 别名: 数据流:f1订货要求存储处:订货客户记录数据元素属性:代码类型:日期型取值范围: 20102012意义:客户签订订货合同的时间简要说明:由营销人员填写订货合同。表3.5 数据字典:数据元素数据存储系统名:销售订货 编号: d2条目名:订货客户记录 别名:存储组织:订货客户记录记录数:数据量:主键:客户编号记录组成:合同编号、客户名称、签订日期、商品型号、数量、单价、总价、供货日期、付款情况、签订人员、备注简要说明:营销人员根据订货客户记录为客户准备商品。表3.6 数据字典:数据存储第四章 系统数据库设计及其实现4.1 系统数据库总体设计数据库设计图4.1 数据路设计

52、图4.2 部分数据表的设计1、users表包括id、 loginid 、loginpwd、name、address、phone、mail等,主要为:用户名和密码。系统管理员根据用户名密码登陆后台系统。表名:users字段名数据类型长度主外键字段说明备注idvarchar50主键商品名称非空loginidvarchar50外键商品类别非空loginpwdtext250无商品介绍无namevarchar50无商品品牌无addressvarchar50无商品计数单位无phonefloat50无商品重量无mailvarchar50无商品图片地址无2、searchkeyword表名:searchkeyw

53、ord字段名数据类型长度主外键字段说明备注idvarchar50主键商品名称非空keywordvarchar50外键商品类别非空searchcounttext250无商品介绍无3、order表名:order字段名数据类型长度主外键字段说明备注idvarchar50主键商品名称非空uservarchar50外键商品类别非空orderdatetext250无商品介绍无totalpricevarchar50无商品品牌无4、category表名:category字段名数据类型长度主外键字段说明备注idvarchar50主键商品种类id非空namevarchar50无商品标识图标无5、book表名:bo

54、ok字段名数据类型长度主外键字段说明备注idvarchar50主键商品名称非空publishervarchar50外键商品类别非空categorytext250无商品介绍无titlevarchar50无商品品牌无authorvarchar50无商品计数单位无publishdatefloat16无商品重量无isbnvarchar50无商品图片地址无wordscountfloat16无商品市场价格无unitpricefloat16无商品会员价格无contentdescriptionbool1无是否精品无aurhordescriptionbool1无是否热销无editorcommentdatetim

55、e32无上传日期无第五章 系统总体设计及部分重要模块的实现5.1 部分界面的展示 我的第三波书店的主界面: 图5.1我的第三波书店的主界面我的购物车界面:图5.2 我的购物车界面图书分类搜索界面:图5.3 图书分类搜索界面5.2 三层结构的实现5.2.1 三层结构的优势搭建第三波书店的三层架构前,我们知道三层结构有如下优势:² 适应变化、利于维护:项目需求往往随市场的变化而发生变化,三层结构通过将各功能模块分离,提高了项目的可维护性和代码的课重用性。² 适用于协作开发:现在的项目往往是很多人参与开发,有人专门负责页面的设计和开发,有人负责数据库操作的相关模块,三层结构将各功能模块分离,有利于协作开发。² 主流趋势:越来越多的企业在开发项目时采用三层结构作为项目的基础架构。三层结果将来会有更多的市场。5.2.2 三层结构的系统构建基于以上几点内容的考虑,我采用三层结构的设计方式,搭建第三波书店的系统构架。模型层 模型层包含所有与数据库有关的的表相对应得实体类。可以说,模型层提供了一个标准、规范,三层之间德 数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论