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

来源 :计算机时代 | 被引量 : 0次 | 上传用户:ffg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 通过对基于.NET的B/S管理系统一般项目的分析,给出了一个基于.NET的原型系统的设计过程。分析了该原型系统的数据库设计、数据层、业务逻辑和Web页面设计。以苏州大学应用技术学院项目实验教学为例,探讨了采用基于该原型系统的实验方法和步骤。
  关键词: 原型系统; 实验实训; .NET; 管理系统
  中图分类号:TP393.07 文献标志码:B 文章编号:1006-8228(2013)04-60-03
  Discussion on .NET development experiment based on projects
  He Jun
  (School of Computer Science & Technology, Computing Center, Soochow University, Suzhou, Jiangsu 215006, China)
  Abstract: Through analysis of .NET B/S management system, a design process which based on .NET prototype system is presented. The prototype system is analyzed by the database design, data layer, the design of business logic and web page. Taking the experimental teaching of Applied Technology College of Soochow University as example, the method and procedure of experiment for this prototype system are discussed in this paper.
  Key words: prototype system; training teaching; .Net; management system
  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或数据实体到表示层。该层中的实体对象不会直接访问数据库。
  三个工程的关系是:DAL工程负责直接与数据库中的数据表进行存取操作。BLL工程通过调用DAL工程中的方法来实现对数据库的间接操作,同时添加业务逻辑代码,只有BLL工程可以直接调用DAL工程中的方法,不可以跨层调用(Web即表示层不能直接访问DAL层中的对象)。 Web表示层(或桌面应用程序)通过调用BLL层的方法来实现与用户的交互,同时Web层中对输入数据进行一些初级验证。Model提供数据实体供Web、BLL、DAL三层之间进行数据传递。DAL工程、BLL工程和Model工程均为类库工程,编译后为DLL动态连接库。在ASP.NET中,它们的引用关系是WEB工程引用BLL工程和Model工程即包含Imports Tyqx.BLL和Imports Tyqx.Model语句;BLL工程引用DAL工程和Model工程,其中Tyqx为该项目的名称空间。
  2.3 Web页面模版的设计
  B/S管理信息系统的页面框架模式如图4所示。
  页面采用框架模式,或基于VS2008的母版页方式建立;页面顶部显示系统名称,底部显示版权和其他信息,中间的左边固定显示功能菜单,中间的右边区域为功能页面的操作区。该页面框架模式为通行的B/S信息管理系统的典型界面操作模式。
  对于页面的设计,首先我们遵循每个Page对应一张表的CRUD操作,在此基础上增加表关系的查询浏览和统计页面等高级功能页面。
  2.4 菜单设计
  采用sdmenu菜单开发工具可以非常方便地设计具有优秀界面的Web菜单。sdmenu菜单开发工具界面如图5所示。在选择好菜单模板后,编辑好自己的菜单,然后设置各菜单所对应的超连接页面,再通过该工具中Publish菜单将Java脚本代码直接发布到Web页面中,之后将脚本文件和image图片目录拷贝到Web项目所在的目录下即可。
  3 基于原型设计的实验过程
  3.1 让学生了解原型设计
  教师通过上述原型设计系统中的数据库文档,对于三层开发模式、系统体系架构、Web设计模式、Web界面设计和Web菜单设计等应向学生详尽描述一般项目的开发过程,为了提高学生的动手能力,我们还专门将原型系统的设计过程通过视频软件记录下来,让学生边学边做,起到了良好的教学效果。在.Net综合实验实训课上,我们开发了数套从文档到代码的项目案例,以便学生课后研究并为项目开发提供参考。
  3.2 以原型设计为模板,让学生参照进行开发
  按照数据库简单明了和与学生有密切关系的原则选择典型项目,如表1所示。
  3.3 基础代码的实现
  ⑴ 从典型项目中任意选择一个项目,根据给定的逻辑表结构和表的关系的文档,让学生在Sql Server 2005中设计好关系数据库;   ⑵ RapidTier工具产生基于C#的三层架构原代码项目框架,然后使用Visual Studio S2008打开项目,添加ASP.NET Web应用程序,并添加相应项目的引用;
  ⑶ 执行RapidTier工具自动生成的InportSPs.bat批处理文件,该批处理文件用来自动建立基于每张表的CRUD操作的存储过程。项目中的数据库操作全部通过存储过程完成,避免在代码中直接使用Sql语句;
  ⑷ 使用sdmenu菜单开发工具开发相应管理系统的Web菜单;
  ⑸ 根据给定的原型系统的Web页面模版,让学生设计登录页面、各相应数据表的CRUD操作页面、部分高级功能页面等。
  3.4 上交实验项目报告书
  学生根据给定的步骤完成项目的开发,然后编写开发过程,完成项目架构->数据库设计->Web菜单->页面设计->代码编写这一系列的过程,让学生将这一系列过程书写成实验项目报告书,作为开发实例递交作业,把作业的成绩核定为占实训总成绩的40%。本实验项目从2009年在苏州大学应用技术学院实施以来,经过调查,有90%的学生反映教学效果非常好,另有10%学生反映原型系统有些简单,与实际项目开发有一定的距离。
  4 结束语
  采用原型系统的教学方法,与在计算机专业课教学中采用“以任务驱动的教学模式”[8]进行专业实训课教学具有相同的功效,能够使学生真正成为课堂的主体,使教师成为学生学习的引导者。学生由被动接受者转变为主动探究者,可促进学生的独立性,让学生从教师精选出的有限任务中,主动地获得良好的开发体验。“原型系统”教学法在任务的安排、人员分配、项目的功能定义等方面还有待进一步研究和提升。
  参考文献:
  [1] 黄志军,陈修亮,沈科宇.基于ADO.NET油料装备管理系统多层架构的设计与实现[J].计算机与数字工程,2007.5:167-170
  [2] 王海晖,杜卉.基于Visual C#.Net教学研究项目管理系统的开发[J].计算机与数字工程,2006.10:130-132
  [3] 赵宏伟,秦昌明.基于B/S 3层体系结构的软件设计方法研究[J].实验技术与管理,2011.7:64-66
  [4] 严悍,张宏,许满武.基于角色访问控制对象建模及实现[J].计算机学报,2000.23(10):1064-1071
  [5] 蒋玮,胡仁杰.基于角色的访问控制模型在实验室教学管理系统中的应用[J].实验室研究与探索,2007.6:4-6
  [6] 皮之军,李建海,于敏等.开放式实验教学模式的研究与探索[J].实验技术与管理,2010.27(5):27-29
  [7] 张勇,刘军山,黄启来.实验教学模式创新与课堂教学设计[J].实验技术与管理,2010.27(6):15-17
  [8] 田海梅,张燕.基于任务驱动的计算机专业课教学模式[J].实验技术与管理,2011.5:145-147
  [9] 毛玉萃,赵植武.校内IT项目实践模式的探索[J].实验室研究与探索,2007.26(3):103-104
  [10] 蔡晓.高校实验室MIS分析与设计[J].实验技术与管理,2001.18(6):35-37
其他文献
摘 要: 分析了目前普通高校计算机基础教学在大学基础教育中的重要性,阐述了其中存在的突出问题。针对教学现状提出了一种新的尝试性教学模式。该模式借鉴计算机考试的培训模式,将大学的长期教学目标与短期的强化训练结合起来,以达到更优的教学效果。  关键词: 大学计算机基础教学; 计算机尝试性教学; 培训模式; 短期强化训练  中图分类号:G420 文献标志码:B 文章编号:1006-8228(2013)0
中央政府最新关于利用外资的指导意见向“两高一资”行业的外商投资说不.国家发改委副主任张晓强4月14日在国务院新闻办举行的发布会上表示。中国不能再做“两高一资”的世界
农业灌溉用水是我国水资源消耗最大的方面之一,在水资源紧缺的当代,加强节水灌溉工作的推行已经是相关部门刻不容缓的任务。我国在灌溉方面还没能完全的摒弃传统粗放作业的模
摘 要: “数据结构”是计算机科学与技术专业的一门核心课程,是一门理论与实践相结合的课程。学生对这门课程的学習往往不能将前后知识相关联并用于解决实际问题,对此提出在教学过程中从表达式求值及遍历二叉树出发,引导学生将该知识点与进化计算相关联。延伸出数学函数所对应的二叉树生成算法,二叉数求值算法,二叉树绘图算法,并将二叉树表达的树形结构编码用于进化计算,从而实现产品的外观造型设计。教学结果证明,该关联
著名经济学家、美国耶鲁大学教授陈志武在《锵锵三人行》节目中谈到,中国有经济和经济师,但是没有经济学。这个差别很关键,中国经济越来越强大,那么要有很多的经济师在政策上面出
针对多模式下模具车间调度问题,设计了一种混合蚁群算法进行求解。最后在企业信息系统的基础上,基于该算法模块设计了模具车间调度系统的框架。
在黑龙江省采访和调研期间,我们倾听着,观察着,思考着,感悟着。在这里,我们看到——一支充满了开拓激情、使命感极强的团队,在不遗余力地推动着TRIZ理论方法在黑土地上播种开
本文应用最小二乘法对南海莺歌海区域地质钻孔获得的黏性土的物理力学参数进行了分析,线性模拟了它们之间的相关关系,列出了它们之间的线性方程,并进行了相关性分析。
为解决PTP协议中传统网络同步时钟方差计算方法无法实时更新和易受外界干扰的问题,提出了一种基于动态指数平滑处理的网络同步时钟方差实时计算方法。试验证明,该算法能够有效
当今视频监控系统已经遍布于生活的各个方面,为人们的生活带来着巨大的方便。这些视频,提供了许多的信息,然而人们真正关注的往往只是运动目标的信息。这样的情况,对摄像头获得的视频进行处理,成为了一件迫在眉睫的事情。本文结合一种新的目标跟踪算法AMCMC(Added Markov Chain Monte Carlo),利用运动目标的颜色信息和形状信息,对获得视频进行进一步的处理,能够达到实时跟踪运动目标,