基于三层架构的Web应用程序设计

时间:2024-02-05 点赞:50083 浏览:101033 作者原创标记本站原创

本文是一篇数据库论文范文,数据库方面有关毕业论文开题报告范文,关于基于三层架构的Web应用程序设计相关本科毕业论文范文。适合数据库及网上购买及信息管理方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:利用三层架构来开发软件是现在比较主流的一种开发方式,三层结构适合群体开发,每组人员可以有不同的分工,协同工作使效率倍增,同时还降低了对开发人员能力的要求.该文以电子商务中的服务超市为例,开发一个网上购买服务的Web应用程序,使用ASP.NET和SQLServer数据库作为开发平台、VB.NET语言编写应用程序,完成了对网站数据新增、修改、删除、调用查询等功能.该系统主要包括:用户管理、商品管理、订单管理、购物车管理等功能模块.结合上述功能的实现,该文详细论述了三层架构技术在Web应用系统设计过程中的实现方法,并体现了该技术在软件工程实施过程中的优势.


关 键 词:三层架构;Web应用程序;ASP.NET

中图分类号:TP302文献标识码:A文章编号:1009-3044(2013)35-7978-02

1概述

1.1三层架构

三层体系架构是N层体系结构的一种特殊结构,也是最常见的一种结构.简单地说,N层结构是指把解决方案分解到N个逻辑层中.在一个比较复杂的项目中,把业务层分解为多个层有许多好处,如结构清晰、代码复用性强、维护方便等.该文以网上购买服务的Web应用系统的实现为例,说明使用三层结构的技术方法和优势.选择三层架构是因为它提供了N层体系结构的大多数优势,同时不需要花费很长时间来设计用以支持N层复杂体系结构的代码.

三层架构自下而上分别指的是业务表示层(UI)、逻辑层(DDL)、数据访问层(DAL).表示层主要是由窗体和用户控件组成,该层是直接面向用户的,要求设计美观大方、界面方便使用.表示层中的业务逻辑都存储在业务逻辑层中,当用户操作界面发生请求时,由表示层调用业务逻辑层中相应的方法来具体实现.业务逻辑层是程序的核心部分,它主要是由各种函数构成,它们集中在该层有利于模块化管理和程序复用,且能够使程序结构清晰、提高可读性.数据访问层负责接收来自业务层的数据调用请求,该层包含数据库访问链接字符串,负责访问数据库调用存储过程,并将数据操作结果返回给业务逻辑层.

1.2开发平台和技术

该文实例使用Microsoft公司的ASP.NET和SQLServer数据库作为开发平台、VB.NET语言编写应用程序,他们都是主流开发工具,具有兼容性好、移植性强、执行效率高、复用性好等特点.实例选取了B/S结构(即浏览器/服务器结构)作为应用模型,这种结构对用户端机器性能要求低、安全性高,迎合了大众主流需求.系统使用B/S模式三层架构开发,可以将工作细分,有利于团队分工协作,多组同时进行开发不同模块,互不干扰、效率显著提高.

2需求分析

服务超市网站是一个运用三层系统架构理念设计的网上购买服务的Web应用系统.根据开发需求,该系统包括前台用户界面和后台管理员界面.其中面向用户的界面主要包括用户注册登录、商品展示、用户购物管理等,后台管理界面主要包括用户管理、商品管理、订单管理等.

在前台界面中新用户的注册几乎是每个网站都有的功能,当用户成功注册后就可以通过用户名和登录并进行购物,否则只能浏览商品但不能购买.商品的展示分为首页推荐商品展示、商品分类展示和各类商品详情展示.用户可以通过购物车管理购买商品的种类和数量,并能自主进行删除种类、修改数量等操作,另外用户还可以收藏喜欢的商品、对商品进行评论.

后台管理界面主要是为了方便网站管理员对网站的数据进行管理维护.其中用户管理包括用户账号状态管理、用户详细信息管理、修改、用户收藏管理、用户评论管理等功能.商品管理包括商品类别管理、商品详细信息管理、首页推荐显示等功能.订单管理包括可以按照用户、订单号、时间段、订单状态等约束进行查询、修改、删除等操作.另外系统还提供一些统计报表和视图,提供数据批量导入导出等功能.

3软件规划设计及实施

表示层(UI),Web窗体和Web用户控件组合起来就构成了应用程序的表示层,它们将创建由访问者的浏览器加载的HTML代码,是用户能够直接接触到的界面.将每一层单独放在一个项目中,表示层包含的用户界面都存放在UI项目中.该项目中包含如网站首页Main.aspx、登录界面Login.aspx、商品展示界面GoodsShow.aspx等,该层中包含一些界面简单的通用代码,如网站首页中包含有一个商品展示列表控件GoodsList.ascx,其相应代码就存放在GoodsList.ascx.vb中,而其需要条用的主要的业务逻辑代码则存放在相应的业务逻辑层中.

以主页上的商品展示为例,为满足表示层中商品展示的需要,在业务逻辑层项目DDL中,需要建立一个GoodsList.vb类来具体定义该业务的逻辑,包括字段绑定、数据获取、参数传递、调用访问数据库方法等.业务逻辑层负责接收来自表示层的请求,通过其内部算法的运算处理、调用数据访问层访问数据库,向表示层返回结果.在GoodsList.vb类中,定义一个GetGoodsList()函数,用来调用数据访问层访问数据库中的相应存储过程,实现数据获取功能.

数据访问层项目DAL中主要包含数据库操作类DataBase.vb、数据库连接类DBConn.vb、密钥构造类DataCrypto.vb,这些类主要和数据库进行交互,调用数据库中的存储过程或函数,来实现数据的获取或写入.

在商品展示示例中,业务逻辑层的GoodsList.vb类定义了商品展示的方式,并调用了数据访问层数据库操作类DataBase.vb中的ExecuteProcedure()函数与数据库交互,执行了数据库中的存储过程[GetGoodsList]获得了商品明细,得到数据集并反馈给表示层绑定在DataGrid控件上,从而显示给用户.

从上述过程可以看到商品展示在首页的业务流程符合三层架构设计思想,同样系统中其他功能的业务流程在三层架构中均有相应的类或函数与其对应.例如首页推荐商品展示、商品分类展示、商品详情展示三个功能模块的显示结果不同,但是在业务逻辑层中都会用到GoodsList.vb类中的GetGoodsList()函数,只是根据表示层空间传递的参数不同,不同的条件参数在通过数据访问层调用数据库存储过程执行后返回的结果也就不同.实际上三层架构各层中类的功能是相对完整的,在需要用到其功能的时候可以直接调用,这样程序的结构简洁明了,复用性还特别强,并且易于维护.如果发生数据库迁移或修改,我们只需要修改数据访问层中数据库连接类DBConn.vb里的连接字符串函数ConnStr()即可.其他层为访问数据库均是调用的连接字符串函数ConnStr(),这样做能够最大限度的降低程序的修改量和出错概率.

到此,已经完成了商品的展示功能,并且是按照三层架构的设计思想完成的.在实际的操作中,我们为了使项目逻辑结构更加清晰完整,是先按照系统所需功能设计数据库结构,然后分功能模块从页面开始设计,最后编写业务逻辑层算法代码和数据访问层代码.

4三层架构的优势

扩展性强、依赖性小.假设一个没有分层的系统各种逻辑关系紧密连接、相互关联制约、彼此间相互依赖不可替代,那么需要一旦要求改变,对系统的影响将是极为严重的,甚至是颠覆性的.三层架构规范了各层的职责,降低了层与层之间的依赖性,大大提高了系统的可扩展性.例如本文所示SQLSERVER数据库由于各种原因要更换成Oracle数据库,只要在修改数据访问层中的数据库连接类DBConn.vb,就可以实现数据库的访问迁移了.

复用性强、开发周期缩短.系统不同功能模块在各层中均有定义好的接口,可供其他功能模块调用,这种设计架构可实现团队并发试开发,提高了程序的复用性、缩短了开发周期.例如UI人员只需考虑用户界面的体验与操作,开发设计人员可以仅关注业务逻辑层的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了.每组开发人员的任务明确,开发进度就可以迅速的提高.

将三层架构设计思想运用在Web应用系统设计中能使其在长期使用过程中更加灵活,它的松散耦合体现出了很强的扩展性和复用性,提高了软件开发人员的工作效率,提升了系统的整体性能.

相关论文

基于ASP.NET的三层架构模式的与应用

此文是一篇数据库论文范文,数据库有关论文范文检索,与基于ASP NET的三层架构模式的与应用相关毕业论文的格式。适合不知如何写数据库及软件。

基于模版的Web应用程序的自动测试

为您写大学计算机毕业论文和职称论文提供大学计算机方面有关专科毕业论文范文,与基于模版的Web应用程序的自动测试相关论文范文集,包括关于。

Web应用程序安全设计应用技术的

本文是一篇数据库论文范文,数据库方面有关在职毕业论文开题报告,关于Web应用程序安全设计应用技术的相关毕业论文范文。适合数据库及信息技。

基于Web服务的应用程序设计

本文是一篇计算机硬件论文范文,计算机硬件类毕业论文格式模板,关于基于Web服务的应用程序设计相关毕业论文格式范文。适合计算机硬件及网络。