网上图书商城.docx

上传人:b****3 文档编号:10407744 上传时间:2023-05-25 格式:DOCX 页数:25 大小:501.58KB
下载 相关 举报
网上图书商城.docx_第1页
第1页 / 共25页
网上图书商城.docx_第2页
第2页 / 共25页
网上图书商城.docx_第3页
第3页 / 共25页
网上图书商城.docx_第4页
第4页 / 共25页
网上图书商城.docx_第5页
第5页 / 共25页
网上图书商城.docx_第6页
第6页 / 共25页
网上图书商城.docx_第7页
第7页 / 共25页
网上图书商城.docx_第8页
第8页 / 共25页
网上图书商城.docx_第9页
第9页 / 共25页
网上图书商城.docx_第10页
第10页 / 共25页
网上图书商城.docx_第11页
第11页 / 共25页
网上图书商城.docx_第12页
第12页 / 共25页
网上图书商城.docx_第13页
第13页 / 共25页
网上图书商城.docx_第14页
第14页 / 共25页
网上图书商城.docx_第15页
第15页 / 共25页
网上图书商城.docx_第16页
第16页 / 共25页
网上图书商城.docx_第17页
第17页 / 共25页
网上图书商城.docx_第18页
第18页 / 共25页
网上图书商城.docx_第19页
第19页 / 共25页
网上图书商城.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

网上图书商城.docx

《网上图书商城.docx》由会员分享,可在线阅读,更多相关《网上图书商城.docx(25页珍藏版)》请在冰点文库上搜索。

网上图书商城.docx

网上图书商城

 

面向对象技术及方法

期末作业(论文)

 

题目基于MVC模式下的网上商城的设计与实现

学院计算机与信息学院

专业通信与信息系统

学生姓名  

学号

指导老师

 

摘要

基于Browser/Server结构的Web应用,因其具有易用性、通用性和良好的可扩展性等优点而迅速发展,正逐渐成为实现电子商务系统的主流技术。

Asp.NetMVC3构架是MVC设计模式的一个应用实例,应用Asp.NetMVC3构架可以减轻设计和开发大型企业级软件的负担,使设计人员和编程人员在较短的时间里就能够开发出系统原型。

本文在剖析MVC模式的设计思想后,总结了基于MVC模式开发Web应用程序的优缺点;研究了基于MVC模式的工作原理和实现机制;接着作者将实现MVC设计模式的Asp.NetMVC3构架引入到电子商务系统的开发中,并结合一个具体实例网上购物系统开发,实践了应用Asp.NetMVC3构架开发Web应用程序的全过程。

在开发过程中,通过应用MVC设计模式实现了表示逻辑和业务逻辑的分离,为系统的开发和维护提供了更大的灵活性和更好的可管理性。

通过实践证明,基于MVC设计模式不但能够有效地解决传统Web应用程序开发中存在的问题,而且采用分层和模块化设计,使得系统流程清晰,易于扩展和维护。

关键字:

MVC,Asp.NetMVC3构架,设计模式,网上购物系统

 

E-commercesystemdevelopmentbasedonMVCpattern

Abstract

Web-basedapplicationswiththeBrowser/Servermodemakegreatprogressesforitsgeneralavailability,whichiseasyuseandgoodexpansibilityinthedesignofe-commercesystemdevelopment.Amvc3isanapplicationinstanceofMVCpattern,itcanbeusedtoreduceworkloadobviouslyinordertomaketheengineerstodevelopthesystemprototyperapidly.

Inthispaper,afteranalyzingthedesignideaofMVCpattern,wegettheconclusionofadvantageanddisadvantageoftheWebapplicationbasedonMVCpattern.ThenresearchingtheworkprincipleandtheprocessofrealizationofAmvc3frameworkbasedonMVCpattern.TheauthorappliestheMVCdesigntothee-commercesystemdevelopment.WithaninstanceofshoppingSystemonlinedevelopment,wecarryoutthewholeprocessofdevelopingwebapplicationwithmvcframework.Inthiscase,distinctionbetweendescriptionlogicandbusinesslogicbecomereliablewithintheMVCdesignpattern,whichmeansbetterflexibilityandeasiermanagementtheexplorationofasystem.ItprovesthattheMVCpatternandStrutsFrameworkareagoodchoicetodevelopmentofWebApplications,consideringitsfunctionalclassification,systemextensibility,andmaintainability.

 

Keywords:

MVC,A,designpattern,Netshoppingsystem

 

目录

1绪论1

1.1课题设计背景及目的1

1.1.1设计背景1

1.1.2设计目的1

1.2国内外研究状况2

1.3课题设计方法2

1.4本文的主要研究内容2

1.5论文的构成3

2MVC设计模式4

2.1什么是MVC设计模式4

2.2MVC的组成4

2.4MVC的处理过程6

2.5MVC模式的优点6

2.6MVC模式的缺点7

4基于MVC模式的网上购物系统设计8

4.1网上购物系统设计的总体方案8

4.1.1系统概述8

4.1.2系统需求8

4.1.3系统功能9

4.2网上购物系统模块功能分析9

4.2.1模块划分9

4.3数据库设计10

4.3.1表的设计10

4.4系统模块设计10

4.4.1用户注册模块10

4.4.2购物模块11

4.4.3商品管理模块11

4.4.4订单管理模块11

5网上购物系统功能测试12

5.1系统的调试12

5.2系统测试12

6总结和展望17

6.1总结17

6.2新技术的展望18

6.2.1JSF(JavaServerFaces)18

6.2.2ASP.NET4.019

致谢20

参考文献21

1绪论

1.1课题设计背景及目的

1.1.1设计背景

新经济时代的到来改变了每一个行业发展的速度与方向,而电子商务成为了新经济的代言人,它集中了当今世界最先进的技术、最有效快捷的传播沟通方式,并且符合世界经济一体化的潮流。

经济学家预测电子商务将成为未来流通产业的主流形式,自然而然,开展电子商务所使用的技术平台、网站开发和网页开发工具、常用的网页开发软件也向着多而精的方向发展!

在现代应用程序开发中,多层Web应用的开发已成为主流。

但是,在多层Web体系结构的设计中,仍然存在着程序可重用程度低、维护工作繁琐、应变能力较弱等不足。

同时,多层Web应用软件需要面对复杂的网络环境、多样化的用户需求、灵活的业务模式、复杂的业务流程、众多的组织机构及层次和角色分工等问题,在业务和技术上也是复杂多变的。

因此,如何组织应用程序以实现简单高效的程序编写、升级、维护和扩展,是当前Internet技术发展的热点之一,也是一个很值得探讨的研究课题。

随着面向对象技术的不断发展,许多系统提供了与应用相关的面向对象框架供开发人员使用,以简化应用程序的开发。

框架是可重用的、“半成品”应用程序,可以在它的基础上开发特定的应用程序。

一个框架由组件的集合构成,这些组件为解决目标领域问题提供了可重用的体系结构。

利用这个可重用的体系结构,使得这些问题的解决变得十分容易。

基于.net平台的MVC模式为采用技术的Web应用程序开发提供了一个可重用的体系结构。

MVC模式是专为交互式系统应用开发所设计的一种设计模式。

正是由于MVC模式在交互式系统开发中所体现的强大优势,而被开发人员逐步引入到.net体系之中,成为.net进行交互式应用开发的重要模式。

对应的实现组件,它的目的是为了帮助开发人员减少运用MVC设计模式开发Web应用的时间[1]。

1.1.2设计目的

利用现有的网络资源,快速掌握电子商务原理与程序设计的精髓;掌握MVC模型、.net框架的运行机制并能够将之运用到实践。

1.2国内外研究状况

MVC是XeroxPARC在20世纪80年代为编程语言smalltalk-80发明的一种设计模式,至今已经被广泛使用[2]。

MVC模式利用控制器来分离模型和视图,达到层间独立的效果,能够有效地解决在Web应用系统开发过程中由于系统结构的复杂程度较高而带来的诸多关键性问题,如代码之间的独立性问题,代码的易维护性问题,组件的可重用性问题,不同技能的开发人员如何分工的问题等等。

MVC模式已被推荐为Sun公司J2EE平台的设计模式和的平台设计模式,基于MVC模式的Web应用,更是受到越来越多的欢迎。

框架是特定应用领域中的面向对象软件重用技术,是由特定应用领域的软件体系结构所决定的软件架构[3]。

应用框架可以降低软件开发的成本、提高软件质量。

随着面向对象技术、Web技术和.Net技术的发展,软件架构技术在Web开发中得到了广泛的应用。

MVC模式很好地实现了业务逻辑与用户界面的分离,同时,它提供了大量的自定义标签库,可以在控制器页面中分离动态显示逻辑与静态的HTML代码,使页面代码更清晰,可读性大大提高。

1.3课题设计方法

基于课题的要求和当今开发web技术的潮流,作者选用了VS2010作为开发环境。

VS是微软推出的功能强大的集成开发工具,也是处于市场领先地位的跨平台开发环境。

它在构建企业级的应用方面具有明显的优势,从应用的定义、设计、开发、测试、部署到这些过程中的管理,都为之提供了便利。

另外,还集成了许多优秀的开源项目。

在此系统设计中,直接利用了最新的MVC3构架进行MVC模式的设计,运用了集成的服务器。

选择了由微软公司提供的MicrosoftSqlServer2008为数据库后台服务。

1.4本文的主要研究内容

本文的重点是如何基于MVC模式实现对Web层的开发。

主要完成了下面几项工作:

1.MVC设计模式的研究。

对MVC设计模式进行了的研究,理解了该模式的模型、视图、控制器三部分在构成Web应用程序框架中所起的作用,并总结出使用此模式所存在的优势与不足。

2..NET框架的研究。

.NET是实现MVC模式的一个优秀的应用框架。

本文对该框架的工作原理及核心组件进行了分析及研究。

3.通过对MVC设计模式及.NET框架的研究,以及对多层Web体系结构各层实现方式的分析与对比,最终总结出开发Web应用程序的技术方案,并成功的应用到实际开发项目中,从而得到比较合理的基于.NET框架的Web应用开发的技术组合。

1.5论文的构成

第一章绪论部分简要阐述了本课题的研究背景,国内外的研究现状和成果,并介绍了课题研究的方法和论文的主要内容。

第二章介绍了设计模式概念并详细介绍了MVC设计模式。

详细分析了该模式的三个组成部分的主要功能,并总结了该模式的优势与不足。

第三章对网上购物系统进行了需求分析和模块的划分,然后利用框架设计了个模块,即用实例说明了MVC的应用。

第四章对网上购物系统进行了测试及预览,验证了课题设计方法的正确性。

第五章总结与展望。

对本文中所做的工作进行总结,并对目前新技术的发展做了展望。

 

2MVC设计模式

2.1什么是MVC设计模式

MVC是一种目前广泛流行的软件设计模式[6]。

近来,随着J2EE的成熟,它正成为J2EE平台上推荐的一种设计模式。

随着网络应用的快速增加,MVC模式的设计思想也影响着Web应用的开发[7],它为开发者理解和分析应用模型提供最基本的分析方法、清晰的设计框架和规范的依据。

2.2MVC的组成

MVC把一个应用的输入、处理、输出流程按照视图、控制、模型的方式进行分离,将Web应用分为三层:

视图层、控制层、模型层,也称为视图View、控制器Controller[8,9]。

模型,视图,控制器三者之间的关系如图2.1[2]

图2.1MVC设计模式

1.MVC模型(Model)

模型指的是真正完成任务的代码,包含应用系统的核心功能,表示一个应用系统的数据,并且包含访问、维护和管理这些数据的逻辑。

所有属于应用系统持久状态的数

据都应该保存于模型对象里。

模型提供的服务必须足够适用于不同的终端。

一个模型聚集了相关的数据和操作,以提供一个详细而精确的服务:

这些被封装在操作中的抽象事物的功能被模型化。

一个模型的接口提供了访问和更新模型状态,执行封装在模型中的复杂进程的方法。

模型服务被控制器访问,用于查询或更改模型的状态。

当模型状态发生变化时,模型会通报给视图。

在MVC的三个部件中,模型拥有最多的处理任务。

被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。

由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性,提高了系统设计的可重用性。

在MVC的处理过程中,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

2.MVC视图(View)

视图是用户看到并与之交互的界面。

视图向用户显示相关数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。

视图可以向模型查询业务状态,但不能改变模型.视图还能接收模型发出的数据更新事件,当模型发生改变时,视图也将随之改变,以维持系统数据的一致性,从而对用户界面进行同步更新。

在MVC模式下,通常的设计前提是界面任务较小。

当然视图也应该具有一定的功能性并遵守可用性的约束,但视图界面不应当处理数据。

事实上,视图的每一部分都只能包含采集数据的逻辑,并把采集到的数据传递给设计模式中的其他组成部分进行处理。

对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和以及XHTML,XML/XSL,WML等一些标识语言和WebServices。

如何处理应用程序的界面变得越来越有挑战性.MVC一个大的好处是它能为应用程序处理很多不同的视图。

在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

3.MVC控制器(Controller)

控制器是联系模型与视图之间的纽带,控制模型和视图之间的交互过程。

它获取并翻译用户输入的动作,指定执行该动作的模型,或者根据用户的输入和执行的结果来选择下一个视图。

控制器封装的是外界作用于模型的操作。

通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。

一般控制器在模型和视图之间起到了沟通的作用,处理用户在视图上的输入,并转发给模型处理。

这样模型和视图两者之间可以做到松散藕合,甚至可以彼此不知道对方,而由控制器连接起这两个部分。

例如,当Web用户单击Web页面中的提交按钮发送来HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。

2.4MVC的处理过程

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

2.5MVC模式的优点

首先,最重要的是应该有多个视图对应一个模型的能力.即减少了代码的维护量,一旦模型发生改变,也易于维护。

现在一个应用程序需要用越来越多的方式访问。

在MVC设计模式之中,无论用户想要Flash界面或是WAP界面,用一个模型就能处理它们。

因为MVC己经将数据和业务规则从表示层分开,模型返回的数据没有进行格式化,同样的构件能被不同界面使用,这当然包含HTML的表现方式,也有Flash和WAP的表示处理界面。

同时模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。

因而在MVC设计模式中应用开发人员可以最大化的重用他的代码。

其次,分离数据和显示,实现了模型的可移植性。

一方面,分离数据和其表示,使得添加或者删除一个用户视图变得很容易,甚至可以在程序执行过程中动态的进行用户视图的更新。

模型和视图能够单独的开发(即业务逻辑和用户表现的分离),增加了程序了可维护性,可扩展性,并使测试变得更为容易。

另一方面,将控制逻辑和表现界面分离,允许程序能够在运行时根据工作流,用户习惯或者模型状态来动态选择不同的用户界面。

大部分Web应用程序都是用像ASP,PHP等过程化语言来创建的。

其将像进行数据库访问查询的数据层代码和像HTML这样的表示层代码混在一起。

经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,这需要精心的计划和不断的尝试。

MVC从根本上强制性的将它们分开。

尽管构造MVC应用程序需要一些额外的工作,但是它给开发者带来的好处是无庸质疑的。

再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。

一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。

如果需要数据库从SQLServer移植到Oracle,或者改变的基于RDBMS数据源到LDAP,开发人员只需改变他的应用模型即可。

一旦开发人员正确的实现了模型,不管数据来自数据库或是LDAP服务器,视图将会正确的显示它们。

由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想开发者能构造良好的松祸合的构件。

2.6MVC模式的缺点

MVC的缺点在于它没有明确的定义,所以一个开发人员完全理解MVC并不是很

容易。

使用MVC也需要精心的计划,由于它的内部原理比较复杂,所以开发者需要花

费相当可观的时间去考虑如何将MVC运用到应用程序之中。

同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。

每个构件在使用之前都需要经过彻底的测试。

但是一旦构件经过了测试,就可以毫无顾忌的重用它们了。

还有开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。

同时新东西的引入会带来新的问题,在选择MVC开发模式时必须仔细考虑这下问题:

1、必须基于MVC组件的方式重新思考和设计应用结构。

原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。

2、所有的页面和组件必须在MVC框架中实现,所以必须进行附加的开发工作。

3、MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架。

4基于MVC模式的网上购物系统设计

4.1网上购物系统设计的总体方案

4.1.1系统概述

此购物系统采用典型的B/S(浏览器/服务器)结构和HTML设计UI界面。

运用VS提供的开发Web应用程序的功能,开发出一个较为复杂的电子商务系统――网上购物系统。

此系统旨在模拟顾客在网上完成购物的过程,此外还有管理员进行商品管理、订单管理和商品统计的功能。

4.1.2系统需求

整个系统可以概括为7个用例和2个角色,Store是顾客浏览商品用例,Login是登入用例,Order是顾客订单用例,Account是顾客基本信息设置用例,Storemanage是商品管理用例,ShopingCart是购物车用例,Checkout是结算用例。

图4.1系统的UseCase

4.1.3系统功能

此系统实现了用户注册成为顾客、进行网上购物、修改个人信息/密码帐户管理、订单查询,管理员管理商品、管理订单、和商品统计的功能。

4.2网上购物系统模块功能分析

用户可以在初始化的Web页面上首先进行登陆或注册,如果是顾客登陆,可以进行购物操作,即添加商品到购物车、查看购物车、删除购物车里的商品、结帐、查询交易记录、修改个人信息和修改密码等操作。

如果是管理员登陆,可以进行商品的添加、修改和删除操作;对订单进行处理,包括对未处理订单的处理操作和取消操作。

对取消订单的恢复操作;对某个时间范围内的订单进行统计操作。

4.2.1模块划分

依照系统的功能可以划分为7个模块,即用户注册模块、购物模块、帐户管理/查询交易模块、基本设计模块、商品管理模块、订单管理模块和统计模块。

系统体系结构如图4.2所示。

图4.2系统体系结构

4.3数据库设计

根据需求本系统设计了五张表,表的功能字段对应着客户关系的属性。

数据库服务器选择MicrosoftSqlServer2008。

4.3.1表的设计

根据系统的功能模块和操作流程,可以整理出五表,它们是书籍类别表BookCatagories、商品信息表BookInfos、订单信息表Orders、购物车信息表Carts、订单详细信息表OrderDetails。

书籍类别表BookCatagories包含的字段有:

类别编号CId、类别名称CName、类别图片URLCImgURL。

商品信息表BookInfos包含的字段有:

商品编号BId、商品名称BName、商品价格BPrice、书籍作者BAuthor、书籍编号BNo、书籍封面图片urlBImgUrl、书籍简介BIntro、书籍类别Cid。

订单信息表Orders包含的字段有:

订单编号ordereid、订单时间orderDate、用户名称Username、用户真实姓名RealName、订单地址address、所在城市City、所在省份State、邮政编码PostCode、联系电话Phone、电子邮箱Email。

订单详细信息表OrderDetais包含的字段有:

订单详细信息编号OrderDetailId、所属订单编号Orderid、商品编号Bid、商品数量Quantity、商品单价UnitPrice。

购物车信息表Carts包含的字段有购物车标志RecordId、购物车编号CartId、购物车数量Count、购物车创建日期DataCreated。

用户的成员管理表直接使用的是3.5自带ASPNETDB数据库。

4.4系统模块设计

系统分为七个模块:

登陆注册模块、购物模块、帐户管理/交易记录模块基本、基本信息设置模块、订单管理模块、和商品管理模块。

4.4.1用户注册模块

用户注册模块包括在Membership类中,在控制器Account中的RegisterAction中,通过Account的数据模型,调用membership类中的CreatUser方法创建新的账号,在Account控制器中还包括了修改密码的ChangePasswordAction,用户可以通过此action实现密码的修改。

用户登录模块,通过Account控制器的LogOnAction,调用Membership.ValidateUser的方法负责用户登陆验证的业务逻辑。

Membership.ValidateUser()方法:

当用户在登陆界面输入用户名及密码的时候,就是调用此方法验证用户输入的信息是否与从数据库用户信息表中的用户信息匹配。

ModelState.IsValid:

检测用户登录输入信息时对输入的字符进行数据模型的验证,通过验证之后表单提交到服务器。

4.4.2购物模块

购物模块包括AddToCar、RemoveFromCart、CartSummary三个Action,其中AddToCar用于处理把商品添加到购物车,通过保存商品的Id,保存到购物车,RemoveFro

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2