NET开发实验课

作者:何俊 更新时间:2013-04-30 20:32 点击:
【论文发表关健词】原型系统; 实验实训; .NET; 管理系统
【职称论文摘要】
通过对基于.NET的B/S管理系统一般项目的分析,给出了一个基于.NET的原型系统的设计过程。分析了该原型系统的数据库设计、数据层、业务逻辑和Web页面设计。以苏州大学应用技术学院项目实验教学为例,探讨了采用基于该原型系统的实验方法和步骤。

                                                  题目:基于项目事例为内容的.NET开发实验课的探讨

  1 基于.NET 的B/S管理系统项目分析
  基于.NET B/S信息管理系统大多是基于数据库的管理系统,该类系统的开发都有统一的套路:开发语言选择VB或C#,后台数据库选择Sql Server或Access等;体系结构通常为三层架构[1~2]:表示层、应用逻辑层(即中间层)、数据层[3];从开发者的角度看,表示层对应Web页面或用户控件的集合,数据层提供直接操作数据库的全体对象集合,而应用逻辑层提供表示层和数据层之间的访问接口,该层起到承上启下的作用,采用类库方式向上提供访问接口,向下包装数据层接口。基于.NET的B/S管理系统的通用体系结构如图1所示。
  三层体系结构是:表示层、应用逻辑层、数据层。在表示层,将各个功能页面划分成许多自定义用户控件或服务器控件,将控件搭建成完整的功能页面,并将数据安全访问和功能操作、设置等验证放在控件中,使用模块表进行管理,其目的是便于装配和安全控制。数据访问及业务逻辑层主要采用微软提供的标准数据应用访问块Application Blocks for .NET。该类库集成数据库的连接、方法重载返回DataSet和DataReader访问数据库、采用Execute或ExecuteScalar等方法重载更新和修改数据库,以及ExecuteXmlReade方法处理XML文档的输入输出。在本原型系统中扩充了标准数据应用访问块的功能,使其能够提供满足数据访问的要求和部分业务逻辑的实现。
  在本原型系统中,都使用了数据访问层中的SqlCommand对象调用存储过程去执行数据库操作,很少直接在程序中使用SQL语句执行数据库操作。在一些例子中,可能见不到SqlCommand对象,因为存储过程名直接传递给了数据访问层相应的功能函数,但这仍将导致SqlCommand对象的创建。
  2 基于.NET的B/S模式管理系统原型设计
  我们选择在Web开发中用的最多的通用权限子系统作为原型系统对学生进行讲解, 通用权限子系统具有通用性,能够方便地集成到其他系统中。我们对数据库设计[4~5]、应用逻辑层和数据层、Web 页面设计、Web菜单设计一系列开发过程给予详细的分析。
  2.1 数据库设计
  通用权限子系统数据设计如图2所示。
  ⑴ 用户(User)
  User表的作用是提供可访问Web应用系统的登录帐户和密码。用户是有权使用本系统的人。主要字段包括用户ID(UserID)、密码(Password)、用户级别(UserLevel)、用户名(Name),UserID为关键字。
  ⑵ 组(Group)
  Group表的意图是提供对资源的访问权限,不同的组具有不同的访问权限,同一类用户定义为一个组。主要字段包括组名(GroupName)、读取权限(ReadRight)、添加权限(AddRight)、编辑权限(EditRight)、删除权限(DeleteRight)、审核权限(AuditRight)等,GroupName作为关键字。在我们的模型中将用户组分为两类:系统组和自定义组。系统组即系统一开始就设定的组。系统组包括:超级管理员组、普通管理员组、过客组等。
  自定义组:由超级管理员用户定义的组。例如,可以定义:全权浏览组、审核组等。
  ⑶ 用户组成员(UserGroup)
  UserGroup表是User表和Group表的关系表。GroupName和UserID是这个表的组合关键字。一个用户可以隶属于多个组。用户与组的多对多联系通过“用户组成员”UserGroup表体现。用户所在组的权限就是该用户所具有的权限。

    ⑷ 系统模块(Module)
  系统模块表Module是描述一个功能页面、一个菜单项或一个文件等资源的实体。Module表的字段包括模块ID(ModuleID),该字段为关键字、模块名称(ModuleName)、 Aspx或Ascx文件名称或菜单名称(FileName)、模块类型(ModuleType),常用模块类型主要分为菜单项、Web用户控件、Web服务器控件、Web页面、窗口、应用程序文件、资源文件等。
  ⑸ 用户组模块(GroupModule)
  定义每个用户组具有某个模块的访问权限。如果某个用户组对某个模块没有相关记录,则认为该用户组对该模块没有任何权限。该表是Group表和Module表的关系表,GroupName和ModuleID为组合关键字。
  2.2 数据层和业务逻辑层的设计
  在基于SQL Server数据库的逻辑和物理数据库实现之后,就可用RapidTier等工具软件快速生成具有标准格式的基于VB或C#三层架构的框架源代码。我们采用RapidTier工具自动生成的项目中BuildSolution.bat批处理文件为编译产生源代码文件; InportSPs.bat批处理文件帮助产生Sql存储过程(包括所有表的Insert、Add、Delete和Modify操作)。RapidTier工具产生的三层实现模式如图3所示。
  在RapidTier工具产生的解决方案中包括如下三个独立的工程。
  ⑴ Model工程:该项目中的类为数据实体,类中只包含属性,其属性对应数据库中表的各个字段信息。即数据实体类的实例通常对应表的一条记录,可从数据库提取记录信息到该实体对象,或用该实体对象添加或修改数据库中表的记录。
  ⑵ DAL工程:该项目为数据访问层,所有的类均从DaoBase基类继承,该基类提供可扩展的数据访问功能,如连接信息、共有属性等。该项目中的每一个类中的接口(即方法)提供一个表的Select、Insert、Update、Delete等数据库操作方法;Select方法通常返回DataTable或DataSet对象; Insert、Update、Delete方法返回Boolean或Integer。对于Insert和Update方法,参数类型为Model项目中的相应数据实体,该项目中实体对象的方法通常被BLL层(业务逻辑层)中的对象调用。底层操作数据库所采用的技术为微软提供的数据应用访问块Application Blocks for .NET,其中SqlHelper类中提供的共享方法直接操作数据库。
  ⑶ BLL工程:该层为业务逻辑层,为表示层提供访问接口。业务逻辑层控制如字段级的验证,可能还有一些不能在单个列中表示的包含不同实体或概念的更高级的业务规则等,通常都放在该层中。业务逻辑层对象通过访问DAL层中的方法返回DataTable、DataSet或数据实体到表示层。该层中的实体对象不会直接访问数据库。 (责任编辑:论文发表网)转贴于八度论文发表网: http://www.8dulw.com(论文网__代写代发论文_论文发表_毕业论文_免费论文范文网_论文格式_广东论文网_广州论文网)

发表评论
本站模板均经测试成功,请放心下载,遇到任何问题或者需要购买付费论文请联系本站。
表情:
验证码:点击我更换图片