All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASPX接收WINDOWS应用程序以POST方式发来的信息并存成文件_[Asp.Net教程]
教你如何在Perl下连接Access数据库_php资料_编程技术
简洁实用的表单验证程序_JavaScript技术_编程技术
SQLServer怎样配置发送电子邮件_[SQL,Server教程]
如何使用Ajax技术开发Web应用程序_[AJAX教程]
PHP+MYSQL建设网站程序需要注意两点_php资料_编程技术
技巧汇总:C#编程的七个小技巧_.net资料_编程技术
让你的ASP.NET虚拟主机也支持子网站_.net资料_编程技术
HTML 初学者指南(9)_[Html教程]
PHP实现同步远程Mysql_[PHP教程]
Reading number is top 10 pictures
China's ambassador to Libya embassy was shock, and the glass is broken in
这玉米,买还是不卖?
So beauty, will let you spray blood7
Sora aoi on twitter2
Sora aoi after swimming
Gang rape
XuRe xuan cool and refreshing photoes1
29 the belle stars after bath figure5
这才是真正的人体艺术3
Sell the barbecue as says father du breul5
Download software ranking
asp.net技术内幕
Unix video tutorial6
Unix video tutorial8
Unix video tutorial19
Boxer vs Yellow3
jdk1.5
Boxer's Top ten classic battle6
传奇私服架设教程
Eclipse-CALMSANNY (second edition)
软件工程思想
delv published in(发表于) 2014/1/8 7:03:39 Edit(编辑)
在.NET下多层架构企业管理系统的开发_[Asp.Net教程]

在.NET下多层架构企业管理系统的开发_[Asp.Net教程]

在.NET下多层架构企业管理系统的开发_[Asp.Net教程]

 摘 要 随着.NET 2.0的发布,在.NET下用多层架构来构建企业管理系统也越来越方便。本文以某国外贸易公司的管理系统为背景,介绍在.NET平台下,采用多层架构构建企业管理系统。

  关键词 .NET;单元测试;B/S架构

  引言

  .NET 框架是微软开发出的新一代开发平台。允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。本文介绍的管理系统是在.NET平台下开发的,以极限编程的开发思想,采用了面向对象开发、B/S架构、ASP.NET、C#以及自动化测试工具CSUnit。

  问题分析

  本系统为国外的某贸易公司开发,对公司的采购、销售、库存等各个贸易环节进行管理。该公司在国外,它的供应商在国内,而客户都是国外的公司。公司、供应商、客户目前都可以连接Internet,公司内部有局域网,对外主要通过ADSL高速连接Internet。

  在对公司的业务需求进行了仔细的分析后,我们认为整个系统应当包含如下的功能:能够及时同供应商进行交流,并对供应商的产品生产进度进行跟踪;收到供应商发来的产品后,可以对这些产品进行库存管理,并随时了解产品的库存状况;可以及时同客户进行交流,并对客户发来的订单状况进行跟踪;能够对用户进行权限控制,提高系统的可控性和安全性;新系统要界面友好、数据传输速度较快、易用性和扩展性强,等等。

  系统开发描述

  根据前面的系统需求和功能分析,系统主要分为以下几个部分:
  
  ⑴ 基本设置管理:包括人员管理模块——用于建立和维护使用系统的用户,公司管理模块——维护系统涉及到的客户和供应商信息,产品管理——添加、修改、删除以及查询产品信息。

  ⑵ 供应管理系统:因为公司的供应商主要在国内,系统采用中文界面,包括对采购订单的管理模块,生产进度管理模块,发货批次管理模块,报表管理模块以及交流信息管理模块。

  ⑶ 销售管理系统:该子系统负责与客户的交流,包括客户询价管理模块,客户订单管理模块,生产信息查询模块,质量信息反馈系统以及报表管理模块。

  ⑷ 库存管理系统:对公司的库存情况进行维护,包括库房基本设置模块,库房产品管理模块,报表管理模块。

  系统采用三层的体系结构,数据库采用Microsoft SQL Server2000,编程语言为C#以及ASP.NET, Web页面采用ASP.NET、codebehide代码,后台程序由C#编写。除Web表示层外,还有Model层、数据访问层DAL、业务逻辑层BLL,自动化测试层UT,等等。

  DAL负责数据库的数据存取,BLL通过调用DAL层的方法来实现业务需求,Web层通过调用BLL的方法来实现与用户的交互,UT层负责Model层、DAL层和BLL层的单元测试,Model提供数据实体类供Web、BLL、DAL调用,各层之间的关系如图1:



图 1


  DAL负责与数据库的交互,为了提高维护性,采用OOP的设计思想,只有BLL层可以直接调用DAL层类中的方法,不可以跨层调用。数据库的连接字段信息放置在Web.config文件中,例如:要连接SQL SERVER数据库,设置如下:


<add key=” MSSQLConnString” value=”server=(local); user id=sa; password=pwd;
database=dbEnt”/>

  对于DAL,数据访问可能比较频繁,需要经常进行数据库的连接以及关闭操作,因此系统没有采用ADO.NET,使用DataReader对象返回数据以提高应用程序的性能并减少系统开销。示例如下:


public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
try
{
 PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
 SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 cmd.Parameters.Clear();
 return rdr;
}
catch
{
 conn.Close();
 throw;
}
}

  BLL层的功能主要包括销售管理、采购管理、库存管理、基本设置管理、产品管理、质量管理、财务管理等方面,由多个不同的类互相配合实现复杂的业务逻辑。

  UT层负责对BLL、DAL以及Model进行单元测试,按照XP以及TDD的思想,先编写单元测试类,后开始类方法的编写。通过测试来指导程序代码的开发,单元测试的通过就是类方法的完成。UT层的结构类似DAL,BLL等,针对不同的类建立相应的测试单元类。UT的结构如图2:

  WEB层是直接与用户交互的层面,通过codebehind代码,该层直接调用BLL层的方法来实现用户的业务需求,并将结果显示在Web页面。因为公司服务器在英国伦敦,但是很多用户并不在英国,要考虑的问题包括:

  ⑴ 安全性 在web.config中对文件的安全性进行设置,即使用户登录系统后,某些网页必须有特定权限的用户可以浏览;对于页面间的参数传递通过Session进行,超级链接后不附加任何参数。

  ⑵ 速度 考虑到部分的用户上网速度比较慢,带宽不足,对于大批量的数据显示尽量采用分页的方式进行。

  ⑶ 易用性 由于很多的用户非计算机专业人员,因此要求系统使用方便而快捷,比如:对有多个输入框的数据输入,可以通过回车键在不同的输入框之间跳转,方便用户操作;对于内部管理系统,因为原先客户一直使用Access系统,要求新的系统具有较高的自学习能力,尽量参照原先系统。



图2 UT的结构图



  结束语

  本系统开发时间为12个月,开发人员为5人。数据库使用50多个库表,开发工具为Visio Studio 2003,采用开源工具CSUnit作为单元测试工具。在多层架构的开发模式下,不同的开发人员负责不同的层,可以专注于自己的部分。比如:负责Web页面的人可以专心设计界面,负责DAL层的人则主要考虑与数据库的交互,至于业务需求则由负责BLL层的人来进行。通过分层模式,大大改善了系统的维护性,也加快了开发速度。可以想像,伴随着微软.NET战略的推行,在.NET下多层架构的开发模式将越来越流行。


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.