MVC分层结构论文
MVC分层结构论文(精选4篇)
MVC分层结构论文 第1篇
1 关键技术
1.1 分层架构模式
分层(layer)模式[4]是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础。分层描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1层。这是系统的基础。通过将第K层放置在第K-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。
因而分层模式就可以定义为:将解决方案的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级别,每一层都应与它下面的各层保持松散耦合。
分层模式的关键点在于确定依赖,即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。
1)伸缩性,伸缩性指的是应用程序是否能支持更多的用户。应用的层越少,可以增加资源(如CPU和内存)的地方就越少。层数多,就可以将每层分布在不同的机器上。
2)可维护性,可维护性指的是当发生需求变化时,只需修改软件的某一部分,不会影响其他部分的代码。
3)可扩展性,可扩展性指的是在现有系统中增加新功能的难易程度。层数多,就可以在每个层中提供扩展点,不会打破应用的整体框架。
4)可重用性,可重用性指的是程序代码没有冗余,同一个程序能满足多种需求。例如,业务逻辑层可以被多种表示层共享。
5)可管理性,可管理性指的是管理系统的难易程度。将应用程序分为多层后,可以将工作分解给不同的开发小组,从而便于管理。应用越复杂,规模越大,需要的层就越多。
1.2 Java EE中的三层结构
在Java EE企业应用系统开发中,比较流行三层结构(不包括后台数据库),将系统分为表示层、业务逻辑层和数据访问层[5]。
1.2.1 表示层
表示层位于最外层(最上层),离用户最近,用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。它负责检查输入的数据的正确性和有效性,负责呈现样式,负责呈现友好的错误信息。
1.2.2 业务逻辑层
业务逻辑层处于数据访问层与表示层中间,在数据交换中到了承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“透明”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色:对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都集中在业务逻辑层上,它负责系统领域业务的处理,负责逻辑性数据的生成、处理及转换。
1.2.3 数据访问层
也称持久化层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或XML文档。简单地说就是实现对数据表的Select、Insert、Update、Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的映射,以及对象实体的持久化。它不负责检查数据的正确性和可用性,不了解数据的用途,不承担任何业务逻辑。
1.3 结合MVC模式的分层结构
MVC(Model-View-Controller,模型-视图-控制器)是当今比较流行的一种设计模式,其目的是实现WEB系统的职能分工功能,强制性地分开WEB应用程序的输入、处理和输出[6],把系统分为三个核心部分:模型、视图、控制器。MVC的核心思想是将一个应用程序的数据业务处理、表示和控制功能分别在三个不同的层上实现[7]。模型、视图、控制以最少的耦合协同工作,从而提高应用的可扩展性和可维护性。其中,模型实现系统中的业务逻辑,通常可以用Java Bean或EJB来实现;视图用于与用户的交互,通常用JSP或JSF来实现;控制是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
在上述的三层结构中,业务逻辑层起到了关键的作用,它隔离了表示层和数据访问层,使系统易于维护和扩充。但是,这样的分层结构,还没有解决表示层的问题。在表示层中,处理用户的请求、调用业务功能、显示界面等还混合在一起,JSP中还经常嵌入Java代码,使这部分代码难以重用,尤其是程序的结构不清晰。为此结合MVC模式,可以将三层架构中的表示层进一步划分为视图层和控制层,使得页面与控制逻辑分离,程序结构更加清晰,便于重用和维护。具体对应关系如图1所示。
2 系统分析与设计
2.1 需求描述
网络书城的主要功能就是让用户能够足不出户就可以购买到自己想要的书籍,所以网络书城系统主要提供如图1所示的功能。
1)用户能够使用本网站完成图书的浏览、查询和购买。
2)普通用户只能浏览图书信息,浏览分为3种方式:按类别浏览、按条件浏览、查询图书。
3)普通用户通过注册成为注册用户,注册后的用户可以登录,如忘记密码可以找回密码,登录后可以修改注册资料。
4)注册用户登录后可以进行在线图书购买,购买的图书存放在购物车中,可以对购物车中的商品数量进行修改、删除。调整好购物车中内容后,可以把该内容保存到订单中,在保存订单的时候要求用户填写送货地址和联系方式。订单提交后用户可以开始新的购物过程。
5)对于后台系统,要求可以进行商品目录的维护,商品的图片可以上传到服务器,可以进行特价商品维护,订单可以查询详细信息,具有订单确认和订单发送的功能。
2.2 用例分析
用例图(Use-case Diagram)显示外部参与者与系统的交互,能够更直观地描述系统的功能。图2和图3是书城系统的两个用例图。
2.3 功能设计
网络书城拥有功能强大的信息查询系统,它像一个指路牌,把作者带到需要搜寻的图书面前,从大体上来看,它的主要业务可以归为以下几个部分,即管理员管理、用户管理、图书浏览、商品订购、后台图书维护、后台订单维护等。表1给出了书城的模块划分。
2.4 数据库设计
SQL Server企业管理器是基于一种在称之为微软管理控制台(MMC)的新的通用服务器管理环境下进行工作的,这种共享结构为微软服务器的应用程序提供相一致的用户接口。用户可以用它创建和修改表、视图、存储过程、规则、默认值和用户自定义的数据类型、管理报警信号、操作员视图出错记录,创建网络辅助作业,创建并管理全文本索引以及导入和导出数据。Microsoft SQL Server 2000[8]能提供超大型系统所需的数据库服务。为了降低开发成本,基于使用简便和使用广泛的原则,该系统采用SQL Server2000作为后台数据库。本系统所涉及的主要数据库表如下。
1)bs_admin(管理员):admin_name、admin_password、admin_real Name;
2)bs_role(角色):role_id、admin_name、role_name;
3)bs_customer(客户):cust_id、cust_name、cust_password、cust_realname、cust_phone、cust_email、cust_address、cust_zipcode、cust_datetime;
4)bs_category(图书分类):cat_id、cat_name;
5)bs_book(图书):book_id、cat_id、book_name、book_publisher、book_isbn、book_picture、book_price、book_author、book_desc、book_count、book_discount;
6)bs_order(订单):ord_id、cust_id、ord_datetime、ord_total、ord_order State、ord_send Way、ord_reciever、ord_phone、ord_email、ord_ad-dress、ord_zipcode;
7)bs_log(日志):log_id、log_info、log_ip、log_datetime。
2.5 程序结构设计[9]
系统采用分层结构,整体上分4层:视图层、控制层、业务逻辑层和数据访问层。
视图层主要是通过JSP或JSF实现,放在【Web页】文件夹下。为了便于管理,划分如下文件夹:admin(管理员)、customer(客户)、book(图书)、bookimages(图书图像)、cart(购物车)、order(订单)、common(公共)、css(样式表)、images(图像)、script(脚本)。
在源包下,建立bookstore.action(控制类包)、bookstore.idao(数据访问接口包)、bookstore.dao(数据访问实现类包)、bookstore.iservice(业务逻辑接口包)、bookstore.service(业务逻辑实现类包)、bookstore.model(数据模型或实体类包)、bookstore.common(一些公共类包)、bookstore.tag(自定义标签包)。
3 结束语
综上所述,基于MVC模式分层结构设计并开发的网络书城系统,提高了开发效率,增强了系统的稳定性、可维护性、可扩展性,适应了网络购书的发展趋势,克服了传统的三层web设计方案的缺点,减少了读者查找书籍的时间。网络书店真正打开了传统书店的四面墙,最大限度地沟通不同地域的爱书者。
参考文献
[1]彭明,蒋晓瑜.基于ASP.NET技术的网上书城系统分析[J].计算机光盘软件与应用,2012(4):176-177.
[2]吴洁.基于B/S模式的网络书店系统的研究与设计[J].江西科学,2012,30(4).
[3]金涛,白月飞.基于J2EE的Struts框架技术应用与研究[J].自动化与仪器仪表,2010(4):68-70.
[4]J2EE多层体系结构及在教育信息平台中的应用[J].计算机应用研究,2004(6):209-211.
[5]Deepak Alur,Jo hn Crupi,Dan Malks.J2EE核心模式(影印版)[M].北京:科学出版社,2004.
[6]周浩.基于J2EE的Struts框架研究与探讨[J].株洲师范高等专科学校学报,2007,12(5):57-59.
[7]张新曼.JSP-Web开发技术与典型应用[M].北京:人民邮电出版社,2007:85.
[8]GraemeMalcolm.ProgrammingMierosoftSQLServer2000 with XML[M].Microsoft Press,2001.
MVC分层结构论文 第2篇
管理信息系统(Management Information System,MIS)是一个由人、计算机及其他外围设备等组成的、能进行信息的收集、传递、存贮、加工、维护和使用的系统。管理信息系统属于是一门新兴的科学,其主要任务是最大限度地利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。完善的管理信息系统(MIS)由信源、信宿、信息处理、信息用户和信息管理者五个部分组成。其中信息处理是整个系统的核心,该部分的主要作用是分离和选择信息、对于信息进行分类与识别、确保信息的准确性与有效性。衡量M IS 的优劣,主要通过以下标准:需求信息的确定性与有效性、信息的可采集性与可加工性、能否通过程序为管理人员提供有用信息、能否对信息进行有效管理的同时进行分析与判断这四个方面来进行判断。同时,必须考虑到随着信源、信宿、信息用户和信息管理者的变化,评价MIS 的标准的具体内容也随之发生变化,使得信息处理的方法与要求也随之改变,如何在发展中使得现有系统能够最大限度地适应变化,保持信息处理的准确性与有效性,一直是MIS 面临的挑战之一。技术发展带来的新挑战
由于MIS 的基础在于最大限度地利用现代计算机及网络通讯技术,因此MIS 必然是随着现代计算机及网络通讯技术的发展而不断发展的。现有的管理信息系统在为使用单位带来很多的优越性的同时,也面临了更多新的挑战。概括起来,目前,采用的各种管理信息系统,大都面临以下新的需求:
(1)随着M IS 的深入,各种信息数据共享的需求逐步提高,同时,M IS 也面临着不断提高的安全要求。
(2)管理对信息数据统一查询、提取、管理的需求,种类日益增加,数量日益庞大,要求的速度越来越高。
(3)对经过管理信息系统中的信息数据缺乏集成,难以为管理信息系统内外用户提供全面、详细、快速、准确的信息。
(4)目前管理信息系统主要支持的功能还局限于事后追踪,还不能够支持如:辅助决策与机器学习等功能。为了能够更好地发挥管理信息系统的功效,就必须结合技术发展的成果对于信息系统来进行重新思考。现代软件体系结构建模
为了能够充分利用现有的MIS,同时易于进行功能的扩充,需要利用技术发展的新成果来进行MIS 架构的重新分析与设计。软件架构理论是近年来研究的热点,它代表的是面向系统的高层结构指导思想,是对软件系统结构的总体设计与分析,对于设计大型复杂的应用系统更具有重要的指导意义。采用软件体系结构的思想来设计架构,面临很多问题,其中,最主要的问题是应该按照什么样的原则、应该如何设计模型,以及应该如何利用模型来表示软件体系结构。设计模型的主要原则可以简单概括如下:
(1)模型要能够充分反映出软件各个模块之间的相互关系;
(2)模型要能够形成一个总体框架,同时易于控制与扩展;
(3)模型应该能够反映出软件运行时候的动态关联;
(4)模型还必须能够反映出基于软件生命周期的软件功能演化总体过程;
(5)同时,模型还必须能够支撑软件功能的发展变化,并且保持其健壮性与稳定性。依据现在的软件体系结构的研究,模型能够划分成为结构模型、框架模型、动态模型、过程模型和功能模型等种类,其中:
a。结构模型偏重于系统内部各个构件的关系;
b。框架模型偏重于系统的总体结构与布局;
c。动态模型偏重于软件系统内外的变动与演进;
d。过程模型偏重于搭建软件体系结构的总体流程与步骤;
e。功能模型偏重于软件体系结构的功能构件化与功能模块化。
这里,根据需要,舍弃了比较抽象的框架模型、动态模型与过程模型,选择采用以功能模型为主的系统结构描述方式。分层管理信息系统架构分析
原有的管理信息系统属于基于当时的技术水平的管理信息系统,它们大都开发于不同的数库,使用了不同的软件结构,都来自于对管理实体内部的物质流、资金流、增值流等流程的运行状态进行分析后,实现的基于运行状态的数据管理。
总结起来,其一般性的结构都采用树型结构,在系统程序进行总的控制下,基于同步模式,有多级子系统实现其设计功能,基于树型结构的M IS 曾经很好地满足了用户的需求,但是随着技术的发展,用户逐渐增加了对于MIS的功能要求,同时对于原有系统的缺陷,也更为敏感。在软件系统日益复杂和庞大的今天,面向专业领域的软件架构的成功设计能大大降低系统开发的时间和各方面的费用,提高系统的健壮性和易维护性,确保系统的可扩展性,对系统的成功实施具有决定性意义。而在面向专业领域的软件架构的实施原则中,三个最重要的指导思想就是分层次、面向对象、模块化,这也是如何改进、弥补原有系统的缺陷的几个最主要方法。其中,模块化即按照功能或者应用的不同,将软件划分为若干部分,一个功能就是一个模块,这些功能的组合就是一个软件。比如一个营销网站:管理商品的就是商品模块,管理客户信息的就是客户模块,管理订单的就是订单模块,每个人完成自己担当的模块,以提高效率,开发完成之后这些功能的组合就是一个营销网站。当然,一个大的模块还可以分成若干小的模块。
模块化的系统设计方法有许多的优点:
(1)模块化遵循传统SA/SD 方法遵循的软件设计原则(如:信息抽象、信息隐藏及模块独立性等),易于实现或修改。
(2)模块化实现的软件,能够很好地同分层次、面向对象等设计理念相结合。
(3)模块化实现的软件,其功能相对独立,因此在架构上可以分开,具有很大的灵活性,易于进行软件复用。同时,请注意,面向对象技术的本质就是模块化的构件思想,通过对于对象的数据抽象与数据封装,形成具有模块化功能的构件,然后根据各个模块之间的相互关系,进行模块功能层次性划分,从而在保证了各个模块的独立性的前提下,通过层次性功能模块,形成了
软件的总体运行框架,从而实现了安装不同层次、基于体系框架、进行软件功能的调整。
1)这就为软件功能的调整带来了简单易行的可操作性。
2)软件设计者能够依靠框架、基于模块、针对不同层次分别进行有针对性的功能改进。通过将问题分解,既降低了问题的直接难度,又易于分层次进行实现。
3)由于对象及其操作都封装在一个抽象数据类型或对象中,因此,易于采用模块化的实现方法。而采用层次架构的含义,是指将软件的框架设计成为相互独立、彼此提供服务与接收服务的层次结构,其中,各个层次接收下一层次提供的服务,并且为上一层次的功能提供服务。为了实现易于维护、软件重用等特点,需要对于层次的功能进行明确划分,对于层次之间的接口进行精确定义,同时适当地进行数据、业务流程的抽象,可通过建立拓扑约束模型等方法,增加层
次设计的抽象性,同时明确层次接口的约束条件,如果软件的规模确实非常大,还可以考虑各个层次之间实现基于不同应用的数据交换协议。同样,层次架构的采用,能够对整个软件系统的功能实现,产生良好的作用:通过接口的约束,能够实现功能模块化;通过层次设计抽象,能够促进模块功能泛化;通过层次间功能划分,能够实现功能的标准化,同时保证稳定性、健壮性与灵活性;通过建立拓扑约束模型,能够实现系统功能设计的抽象性;通过采用数据交换协议,能够保证软件的拓展性与软件可支持系统的规模。
总的来讲采用分层次架构来实现,有许多优点:
(1)能够支持软件设计的抽象。可以从上而下进行系统分析与设计,同时,能够在设计阶段将功能实现的具体细节与软件系统的框架的实现完全区分开来。
(2)实现了功能的稳定性与灵活性。通过保持各个层次功能的相对独立性,能够实现功能的可靠维护,同时,易于进行功能实现方法的调整,进行功能的拓展。
(3)提高了系统开发的可重用性。提高功能的模块化与实现的层次化,能够在模块与层次规模上进行软件的重用,从而提高了软件开发效率。
(4)支持模块化。模块化遵循传统SA/ SD 方法遵循的软件设计原则(如:信息抽象、信息隐藏及模块独立性等),易于实现或修改,同时,基于模块化实现的软件,能够很好地同分层次、面向对象等设计理念相结合。
(5)能够结合面向对象技术,也是采用分层次架构的一个重要原因。由于抽象数据类型概念对软件系统有着重要作用,目前软件开发已经非常重视使用面
向对象技术。面向对象技术的主要优点在于数据抽象与数据封装,因为抽象,所以能够描述大多数实体及其关系;因为封装,所以就能够根据实体之间的关系变动进行数据抽象,通过数据抽象与数据封装,就能够比较好地为功能模块化、软件层次化、架构体系化提供支持。根据软件架构的分层次思想,针对MIS 使用中出现的问题、用户的需求,通过对于现有的管理信息系统结构进行分析、对比与研究,发现该分层次架构。能够满足以下要求:
首先,MIS 所要达到的直接目的是确保对信息流的掌控,提高信息反馈的速度和质量。而信息流则是对管理实体内部的物质流、资金流、增值流等流程的运行状态的表达,因此,MIS 基本上可以游离于物资流、资金流的日常运作之外,不应该过多地涉及或者绑定业务流程的变动。这样,可以在设计上按照逻辑而不
是依据流程来实现对于数据的控制,因此,能够采用同步模式与异步模式相结合的工作原理。其次,MIS 应该按照管理实体内部的层次来划分业务逻辑层次,可以按管理实体内的职能部门划分模块。在统一规划好数据关系、编码方式和共享的单一数据源后可以按职能模块分别开发,然后在不同的层次进行流动,某些条件不成熟的部门甚至可以暂时不参与MIS 系统的运行。这样,可以在设计上按照分层次的软件体系结构来实现系统。最后,M IS 的作用是向各类管理人员提供更快、更准、更有价值的经过提炼的信息,因此,除了减员增效以外,MIS 不应该因为物资流和增殖流的运行状态改变或优化而改变,其设计理念应该是确保管理者运用MIS 提供的信息来作出相应的更有利于管理实体效益的决策,应该把重点放在如何管理数据、分析数据、利用数据上。这样,可以在设计上利用专门的数据资源层来进行数据的相关处理,实现信息数据的集成管理。
为了保持MIS 的可扩展性,除了采用分层次架构进行系统的设计外,还需要确保系统能够随着高新科技与信息化技术的迅猛发展而不断扩展、充分利用如:计算机网络技术、数据仓库技术、图形化技术、GPS/GIS 技术、无线通信技术、信息交换技术、中间件技术、在业务应用这一层次上,由系统来提供基于嵌入式平台的数据获取与数据输出的设计方案。该方案(基于分层结构的管理信息系统结构)的主
要优点是:
(1)可以支持系统的层次化设计;
(2)可以支持系统的模块化设计;
(3)易于进行功能的调整与实现;
(4)易于系统的维护与升级;
(5)能够很好地同面向对象等设计理念相结合;
(6)在架构上可以分开,具有很大的灵活性,易于进行软件复用。最终,能够支持实现全面支持嵌入式终端的管理信息系统,可以将管理信息系统的应用水带上一个新的台阶,实现功能的自动化、智能化。通过采用基于分层架构的管理信息系统的结构,就在相当程度上保证了能够利用高新科技与信息化技术进行可扩展性设计与模块化实现,就在很大程度上做到以下各点:
①能够确保将数据、图像、多媒体等信息集成处理,统一管理,充分利用;
②确保能够运用现代管理理论和先进的信息技术及其产品,整合现有的内部业务系统、信息资源和OA系统,重构起具有统一角色和权限、安全稳定可靠的管理信息系统平台;
③确保能够为决策层、经营层、管理层提供信息互动和信息共享,以期能够不断提升信息管理手段和管理水平。M IS 应该是发展变化的,MIS 也有其生命周期,一个好的MIS 应该是基于软件结构的、可扩展性的、分层架构的、基于模块化的。结束语
一个MIS 的真正生命力应该位于其感知变化、跟踪变化与适应变化上,因此一个好的信息系统的架构应该是能够满足以下要求的:
(1)能够满足用户目前的需要;
(2)能够进行扩展,满足用户今后的需要;
(3)能够与不同的系统、平台进行数据的交互;
高职院校数据结构分层教学方法探讨 第3篇
关键词:高职院校 数据结构 分层教学
中图分类号:G642文献标识码:A文章编号:1673-9795(2012)09(b)-0061-01
1 分层教学概述
分层教学是根据学生的学习水平和能力不同开展不同层面的教学活动,并针对不同发展层次学生的需求给予相应的学法指导,使每位学生尽可能的同时得到发展。数据结构的分层教学能较好的解决上述问题,调动各层次学生学习数据结构的积极性。
2 实施分层教学
2.1 了解差异,科学分层
在教授数据结构课程之前,根据学生的实际情况把学生大致划分三个层次:A组:C++基础扎实,接受能力强,学习态度积极,能积极思考问题。B组:C++基础一般,学习比较自觉,但遇到学习困难易退缩。C组:C++基础薄弱,学习态度不积极,极易丧失学习数据结构的信心。
2.2 数据结构分层教学目标
根据学生现有知识能力水平,首先对数据结构课程的教学目标可分为三个层次:A层为高级目标,要学生牢固掌握数据结构基本理论算法的基础上,注重学生知识的实践性与扩展性,强化算法设计与分析能力的培养;B层为中级目标,难度略有降低,要求学生能掌握数据结构基本理论与基础算法,理解掌握相关经典算法,强化培养程序设计能力;C层目标为基础目标,要求学生掌握数据结构基本理论和基础算法,理解经典算法并进行验证性实验,基本完成课堂教学的学习任务。C、B等级的学生可以在较好完成本层次目标之后,尝试向高难度的B、A层发起挑战,激发学习的兴趣,而A层的学生也可以通过B、C等级目标的学习对基础知识进行及时的复习与巩固,从而更好地完成本层次目标。(表1)
2.3 分层备课
分层备课是实施分层教学的前提,教师要根据不同层次的教学目标,设计相应教学内容。教师在备课时应根据学生的实际情况,把握哪些是基本要求,是所有学生应该掌握的;哪些是一般要求,是适合B组学生的;哪些可以适度的拔高适合A组学生的。例如:单链表的教学内容分两次课四个课时完成。第一次课内容如表1所示。下面通过第一次单链表的授课过程详细说明对三层学生分层授课的过程。
2.4 分层授课
分层授课是实施分层教学的中心环节,教师要把握好授课的内容学生是否能接受,处理好知识的衔接。
(1)A组:夯实基础,强化算法设计与分析能力。学习过程中注重基础理论与相关算法的牢固掌握,在本节课中,A组学生在牢固掌握③④⑤的基本理论和⑥⑦算法之后,还要理解掌握相关的经典算法。上机操作少讲多练,推荐能综合习题⑧从而提高学生算法分析设计能力,同时对于A组的学生要防止有骄傲自满情绪产生。
(2)B组:夯实基础,努力提高。B组学生如果松懈可能退入C组行列,因此,教师要及时发现解决他们学习中的困难。本节课要求掌握单链表的③④⑤基本知识点,理解掌握⑥⑦的单链表的查找中经典算法,加强C++语言指导,鼓励学生边操作边思考。
(3)C组:注重基础,承上启下。引入复习尤为重要,在单链表这节课首先要复习C++指针和顺序表优缺点等内容,以保证C组在接下来的教学活动能顺利进行。教学过程中要经常提问C组促进他们思考。教师应利用多媒体可交互重复的特点让C组学生理解掌握③④⑤基本知识点,引导学生理解经典算法并进行验证性实验。新课复习要通过选择、填空等的题目巩固新知识点,尽量让C组学生有新课新收获的成就感。
2.5 分层辅导
2.5.1 分组学习
由于上机实践操作时间有限,因此,教师在课下应设置学习小组,将一名A组学生与2至3名B、C组学生组成一组,让A组学生既能帮助到B、C组学生,又能调动B、C组学生的学习积极性,也有利用巩固A组的基础知识。
2.5.2 分层作业
分层作业针对学生的学习水平层次布置作业。布置的作业内容主要围绕作业量和作业难度两个方面进行分层设计。教师应要求A组学生选择完成B组和C组相关作业,鼓励B组与C组学生完成本层次作业后应尝试高一层次的作业。
(1)A组作业:减少基础作业量,增加作业难度。适当减少对A组学生的基础性练习量,使他们有更多的时间去做一些综合性题目。教师可以根据题目的难度适当给出提示,但不能影响学生对问题的自由分析。通过A组作业培养学生的算法设计与分析的能力。
(2)B组作业:确保完成基础目标B组作业的基础上,鼓励学生努力尝试A组作业。对于B组作业,教师可根据学生编写情况给予提示或按其想法帮其继续编写,培养学生分析、编写程序的能力。
(3)C组作业:控制作业量、降低难度。所谓的“控制”,并非减少作业量,而是增加基础知识和基本算法题目的作业量,减少有难度知识的作业量,其主要内容为基本概念、基础算法的相关题目,并鼓励C组学生尝试B组作业。
3 结语
数据结构课程实行的分层教学,是对教师的教授方法,学生管理提出了新的更高的要求,也增加了教学管理的繁杂程度,但是它对高职院校的数据结构提供了一个很好的可行的教学方法。数据结构利用分层模式进行教学,在实践过程中取得了较好的成效,各层次的学生学习积极性均有提高,较好的完成了教学目标。
参考文献
[1]朱战立.数据结构(C++语言描述)[M].北京:高等教育出版社,2008.
MVC分层结构论文 第4篇
在石化企业中,传统的油罐容量管理工作包括油罐数据的人工检定、油罐容量的人工计算、油罐容量数据报表的打印、保存、汇总及上交,整个工作流程中,除油罐数据的人工检定必须由人工手动完成外,油罐容量的计算以及容量数据报表的打印、保存、汇总上交,由人工的操作不仅效率低下,而且极易出错。本文中的油罐容量计算系统将油罐容量的计算、打印、保存、汇总上交整合集成到一套系统中,系统结构被划分为容量计算、数据打印、数据入网、系统维护四个模块。该系统对于实现企业管理的战略目标,为企业管理提供全面的数据共享具有重大意义[1]。
.NET作为一项主流且十分成熟的软件开发技术,在组织和管理数据方面,拥有众多新的设计研发模式[1]。MVC模式就是其中一种非常优秀的设计模式,具有代码耦合度低、灵活性强、重用性高等优点。而将AJAX技术融入MVC模式系统的三层结构设计之中,使系统对数据的获取和操作更加高效,提供良好的用户体验性。
1 MVC架构
MVC(英文全称:Model-View-Controller),中文直译为:“模型-视图-控制器”架构模型。它的主要思想是在各个对象之间取得高层接口,MVC设计模式将用户界面设计、流程控制和事务逻辑进行了分离,实现了表示与数据的分离[2]。MVC架构在开发和维护时具有很多优点,具体优点如下:
(1)核心耦合度低;
(2)系统可重用度高;
(3)软件生命周期内运维成本低;
(4)系统部署便捷、迅速;
(5)易于实现模块化管理。
MVC架构将应用程序的业务逻辑、用户界面及业务进行分离,可以实现高效的应用程序开发,建立松散耦合、柔韧性良好的应用程序。在MVC架构中,应用软件功能中的输入、处理、输出被分离至模型、视图、控制器之中。该架构的高重用性就体现在,一个计算模型(模型)可为多个用户交互界面(视图)提供数据,这里讲到的交互界面可以是html或javascript脚本语言写就的网页界面,也可以是由各级控件组合搭建的用户客户端界面,系统向用户提供交互界面,并输出与用户进行交互的图形结构,界面(视图)可向控制器请求需要的算法模型。控制器接受用户的输入并调用模型和视图去完成用户的需求,根据用户选择相应的模型去处理请求,随后调用相应的界面控件来显示模型返回的数据。如图1.1为基本的MVC架构模型[3]:
在上图中的架构中,模型、视图和控制器三者之间的关联十分紧密,构成了整个应用程序的业务逻辑,但是模块与模块之间又是相对独立的,新的业务逻辑可以很方便的增加到现有的应用中而不需要考虑对以前视图的影响,只需要创建新的视图或者利用已经存在的视图,从这个角度讲,将Web Service架构应用思想添加至该架构中,在控制器中建立视图和模型的联系就可以完成对该架构的升级改造。这种松散耦合的特性正是应用程序设计,尤其是在当前软件市场中多变的企业级应用软件设计工作最需要关注的方面之一。
2. 本系统的架构设计与实现
2.1 模型的设计
储油容量系统的模型层的作用为将系统内存在关联关系的实体类和方法分组并整合起来,使之在功能上形成各自独立等整体。该系统从功能模块上划分,如图2.1所示:
系统结构被划分为四个功能模块:容量计算模块,数据打印模块,数据入网模块,系统维护模块。
(1)容量计算模块由三个子功能模块构成,分别为立罐容量计算模块、球罐容量计算模块、卧罐容量计算模块。
(2)数据打印模块由两个子功能模块构成,分别为容量表打印和基础表打印。
(3)数据入网模块由三个子功能模块构成,分别为立罐数据入网,球罐数据入网,卧罐数据入网。
(4)系统维护模块由三个子功能模块构成,分别为罐区数据维护,罐表数据维护,密码维护。
从操作和系统管理的角度来看,将具有执行功能的各实体类以罐体类型为标志重新划分和整合,可以使系统在使用时更容易让用户理解和操作,并且可以做到模型与视图间的一对多关系的实现,重新分组整合后的系统结构图如图2.2所示:
各子功能模块被重新分组整合后,各罐体相关的计算方法和实体类被整合在一起,针对各罐体类型的容量计算、打印、数据上传和数据维护均布置在相关模型内,使系统的视图设计更加简单明确,软件开发和测试工作也更具有方向性。
2.2 视图的设计
作为系统中直接与用户交互的部分,在模型层将系统功能模块按照罐体类型分组整合后,视图层便将这种结构的改变表现出来,用户在对系统进行操作时,所以针对同一罐体类型的操作可以在同一界面内完成,不需要频繁切换界面。
在视图的显示效果上,使用业内应用广泛的Iris Skin皮肤组件对系统应用界面进行美化。Iris Skin是为.NET开发的具有极强易用性的Win Form组件包,该组件包使用Skin Engine作为功能核心,能完全自动的为应用程序换肤功能。使用该组件包不仅可以尽快将系统界面美化,更可以有效降低小型软件团队的开发成本。该组件由皮肤库(包含23套皮肤文件)和Iris Skin动态链接库文件组成,使用时需要将Iris Skin.dll添加到项目引用,并在页面的Load事件中将该皮肤参数指向要加载的皮肤库文件所在的绝对地址。
该引用代码如下:
skin Engine.Skin File=Application.Startup Path+@”皮肤文件.ssk”;
系统视图层和Iris Skin的关系如图2.3所示:
2.3 控制层的设计
控制层在系统中用于在控制上连接模型层和视图层,在接收到用户的操作请求后,向模型层和视图层发送修改参数,控制层实现了本系统中业务逻辑和数据显示分离的功能,使系统整体的耦合度降低。当用户发出数据请求时,会自动调用模型层中的操作方法,将请求传递给模型层处理,并将处理的结果以视图模型的形式返回给相应的视图,实现对界面数据显示的控制和更新模型层实体对象的状态。控制层对模型层的控制关系如图2.4所示:
在本系统中,控制层控制着模型层中各实体模型的加载数量,在开发过程中应用了诸如单例模式和工厂模式等的多种设计模式。
3 系统设计与实现
该储油容量系统以立式、卧式、球形金属罐的罐体容量计算功能为核心,集成了三种罐体的罐体数据的维护管理,罐体容量表的打印管理,罐体数据表的打印管理,罐体容量数据的数据内网传递管理,油罐罐区及罐号信息的管理等功能,并且保留了与其他可扩展系统的备用接口,是一个一体化的化工企业油罐信息管理平台。
3.1 系统功能实现
3.1.1 罐体容量管理和计算
系统开发出一套以罐体容量国标计量方法为计算依据的罐体容量计算类库,可以实现立式、卧式、球形三种油气储存罐体各种容量情况下的容量计算要求,针对化工企业油罐使用寿命长,存储情况更新频繁等特点,系统具有罐体数据管理功能,能够将罐体数据直观体现在系统界面上。其中,立式金属罐特有的管底容量计算和偏差计算也体现在系统中,容量数据精确度被保留到小数点后四位。
3.1.2 数据表打印
油罐容量管理工作中需要将罐体数据及油罐容量数据以纸质方式保存下来以备后续工作查阅。系统中加入了三种储存罐体的容量表打印、罐体表打印等功能。
3.1.3 罐区罐号管理
软件操作人员可以在系统内对公司内各油罐存储设施的安放区域及罐体的编号进行管理,系统为油罐区域的管理提供了简单直观的操作界面,为罐号与罐区的对应关系的管理降低了难度,提高了准确度。
3.1.4 罐体数据入网
该系统的罐体及容量数据将直接为化工企业的整个生产管理系统提供管理数据,系统设置了与下游生产管理系统(MES)的数据接口,所有罐体及容量数据均可从公司企业内网直接传至生产管理系统。另外,为确保系统稳定性及数据的准确性,系统提供了数据撤回及操作日志记录功能,可对系统数据的每一步操作进行记录,确保操作安全有效。
3.2 数据库设计
依据三类存储设施的特性,系统内设计并添加了9个数据表,分别为立罐数据表,卧罐数据表,球罐数据表等,其中,顶板类型表,径向偏差表,罐底计算表因与立罐特性相关,与立罐数据表存在依赖关系,罐区罐号关系表,罐区存储表分别对立罐数据表、卧罐数据表和球罐数据表存在依赖关系。如此设计,可提升系统数据的完整性。
4 市场应用前景
目前,包括中国石化集团公司在内,国内石化企业尚无一套完整的以国家计量标准算法为指导的油罐容量计算应用软件,大型化工企业均设置有油罐数据检定团队,小型化工企业的罐体检定工作则采用项目外包的形式进行,但是,罐体容量的计算工作依然采用手动方式。原油罐容量系统的成型填补了该系统在国内应用的空白。
参考文献
[1]张勇军,熊庆国,黎学文.基于MVC的项目管理系统设计与实现[J].自动化与仪表,2015(11):58-61.
[2]胡腾波,叶建栲.基于MVC模式的Web GIS仿真系统[J].计算机应用研究,2009,26(1):247-249.
[3]陈鹏飞,田地,杨光.基于MVC架构的LIBS软件设计与实现[J].吉林大学学报:工学版,2016,46(1):242-245.
[4]李国盛;王娜.一种轻量级的Web服务Qo S预测机制[J].计算机应用研究,2016(1):21-23.
[5]吴衍标,熊勇,姚炜,等.基于RESTful Web的智能家居系统应用[J].计算机应用,2015(A02):284-289.
MVC分层结构论文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。