查字典论文网 >> 企业级应用软件设计能力培养的体系和模式

企业级应用软件设计能力培养的体系和模式

小编:葛茂根

引言

应用软件(Application Software)不同于系统软件,是专为满足用户不同领域、不同问题的应用需求而提供的软件系统。企业级应用软件适用于整个系统的应用需求,相比于一般的应用软件,规模更大,结构更复杂。随着社会经济的迅速发展,企业级应用软件开发已经成为我国信息化建设的主要领域之一。与此同时,与中低端的蓝领程序开发人员不同,各种复合型、应用型、能胜任高中端应用软件设计开发的毕业生成为各企业(特别是名企、大企)的争抢对象。因此,无论从市场需求还是专业背景角度看,企业级应用软件设计能力都应成为每一个计算机专业和软件工程专业学生的必备专业技能之一。

然而,传统的培养方案往往只关注编程方法和技巧的传授,而忽视以程序为基础、面向整个应用软件工程体系软件设计能力的培养。研究如何提高大学生开发大中型企业级应用软件设计开发能力并加以实践,对于全面提升学生的专业能力和就业竞争力、培养社会各界急需的复合型和应用型高中端软件开发人才具有重要意义。

近20年来,发达国家都在系统和综合的视野下,从观念、目标、教育内容到教育方法对软件工程教育进行整体改革。例如,南加州大学通过设置面向本科生的软件工程课程,允许学生运用所学知识开发真正的客户项目。鉴于软件工程人才培养与软件行业需求的差距,Subrahmanyam提出一种新的包含7个智能模块的合作框架,使得学生更具有挑战能力并且接近软件行业需求。CDIO工程教育模式则是近年来国际工程教育改革的最新成果。CDIO代表构思、设计、实现和运作,其理念不仅继承和发展了欧美20多年来工程教育改革的成果,更重要的是系统地提出具有可操作性的能力培养、全面实施以及检验测评的标准。

在国内,CDIO工程教育模式正被逐步引入高等工科教育教学过程的各个环节。在这方面比较有特色的成果有汕头大学提出的EiP-CDIO人才培养模式,广州大学提出的融合知识、能力、社会于一体的校企合作办学模式,清华大学提出的基于CDIO的知识传播和创造模式等。在软件工程实践能力培养方面,国内也有一些高校开展了卓有成效的研究和实践工作。例如,华中科技大学的肖来元等人提出软件人才工程实践能力成熟度模型STP-CMM;南京大学根据IEEE-CS/ACM SE2004设计出本科生软件工程课程设计NJU-SEC2006,该课程设计关注3个主题,即知识专递序列用以匹配不同的软件开发规模、通过本科项目将专业实践融入课程、根据中国国情改革传统的计算机科学课程教育。

1 以能力培养为导向的企业级应用软件设计知识体系设计

企业级应用软件设计属于当今软件工程界的前沿应用领域,知识更新速度非常快。一种主流的应用软件设计方法或工具往往在5年,甚至更短的时间内就可被边缘化。从有利于学生未来长期的职业实践角度出发,学校应该为学生提供一个着眼于长期能力培养,而不是追求短期应用效果的核心课程体系。一个有利于学生应用软件设计能力育成的课程体系应该能反映当今主流工业界对于应用软件设计技能的长期的、核心的和与时俱进的需求,而过于陈旧的知识体系、工具性和操作性的内容则不利于学生提升应用软件设计能力。

鉴于企业级应用软件设计开发涉及的知识点众多而且分布散乱,我们以设计平台+设计框架+设计模式的方式重新梳理涉及现代主流开发过程的知识体系,并以跨课程整合、综合型课程设计等多种方式实现各个知识点的有效覆盖和衔接。其中,设计平台表示软件开发架构,决定所应用的技术路线,一般可分为JavaEE/J2EE和NET等;设计框架是整个或部分系统的可重用设计,是可被应用开发者定制的应用骨架,如模型一视图一控制框架;设计模式(Design Pattern)则是可复用的设计范例,是在一定条件下针对某些软件开发问题的可重用的系统化解决方案,也是设计框架在详细设计层面的细化。从设计平台到设计框架,再到设计模式是一个从宏观到微观的逐步具体化过程。

以JavaEE/J2EE设计平台为例,相应的设计框架包括模型一视图一控制框架、异步JavaScript和XML(AJAX框架)、REST(Representational State Transfer:表述性状态转移)框架、对象持久化框架、控制反转框架等;相应的设计模式则数量繁多,典型的有工厂模式、单例模式、装饰模式、外观模式、观察者模式、策略模式、访问者模式等。采用UML表达的以能力培养为导向的企业级应用软件设计知识体系模型如图1所示。

上述知识体系中各个知识点分散于现行计算机专业和软件工程专业的不同专业课中。例如,教育部高等学校软件工程专业教学指导分委员会于2011年制定的《高等学校软件工程专业规范》,涉及的核心课程有程序设计基础、面向对象程序设计、数据库概论、网络及其计算、软件设计与体系结构、大型软件系统与体系结构等。教师在实际教学过程中,既可以穿插讲授相关专业课程,又可以通过一门课程进行集中讲授。

2 基于CDIO的企业级应用软件设计能力培养模式

CDIO工程教育模式是近年来国际工程教育改革的最新成果,但是迄今为止,其最成功的应用基本体现在机械类、电气类、化工类等专业的工程教育中。事实上,应用软件开发具有抽象性、实践性和综合性强的特点,其工程实践教学环节非常适合运用CDIO模式。教师在应用软件设计的实践教学过程中,基于CDIO模式,可以应用软件产品的生产周期为实践教学的框架或环境,将综合性学习经验、基本个人能力、人际能力对应用软件产品、软件开发过程和应用软件系统构建能力的培养融于一体。

基于CDIO的企业级应用软件设计能力培养模式覆盖从企业级应用软件的构思研发到运行改良乃至终结废弃的整个过程。在软件构思阶段,教师要求学生挖掘软件需求,同时指导学生正确、规范地编写技术文档,积极鼓励学生转变角色,即从一个开发者向最终使用者转变,以体验应用软件的设计关键;在软件设计阶段,教师指导学生给出应用软件的总体架构和局部设计方案,必要时可让学生提出多种可选方案并展示权衡决策过程;在软件实现阶段,教师指导学生合理使用各种快速开发工具并引入现代软件测试方法;在软件模拟运行阶段,教师主要采用相互试用的方式对应用软件的可操作性等性能指标作出最终评价。

在CDIO模式特别关注的工程能力培养方面,教师可采用连续型任务+方案方法,启发学生如何在设计过程中进行工程问题的探究。我们把一个企业级应用软件设计任务分割成若干个小问题。每个小问题对应一项子任务,最初的问题(子任务)由教师提出,学生在教师引导下给出解决问题的方案,并在此过程中学习与此方案相关的各个知识点(平台、框架、模式)。一项子任务的完成将引出另一项子任务,完成所有子任务意味着最终完成了整个应用软件设计任务。图2所示的迭代式的支持企业级应用软件开发过程的连续型任务+方案方法,不但能大大调动学生的学习积极性,而且对于培养学生主动构思和自主解决工程问题的能力具有较大实践意义。

3 企业级应用软件设计能力培养实践

企业级应用软件设计能力培养离不开实践环节,而且越接近于真实的工程实践环境,越能培养学生的职业化素养。营造真实的工程实践环境有利于实行体验式的实践教学活动,学生可以体验完整的软件开发过程,体验团队协作、激励和沟通带来的好处,从而极大地提升实践教学效果。

构建软件设计平台、项目过程、项目团队和协作平台,模拟真实的应用软件设计环境,可以为体验式的企业级应用软件设计工程实践教学提供基础。企业级应用软件设计过程环境不仅包括硬环境(如软件设计平台、开发工具),还包括软环境(如设计平台和框架、项目开发过程、项目团队和协作平台),其中软环境的构建对于培养学生的工程实践能力和实现体验式实践教学尤为重要。以设计平台和框架为例,它们是真实场景下开发企业级应用软件的基础,一般采用主流开源软件。一个基于JavaEE/J2EE设计平台的框架选择方案如表1所示。

最后,企业级应用软件设计能力培养实践过程中,对学生应用软件设计能力作出合理的评价至关重要。能力是直接影响活动效率并使活动顺利完成的个性心理特征,而应用软件设计能力则是反映个体开发软件这种精神活动的主观条件,一般很难对其进行准确的测量。然而,对学生软件设计能力进行合理评价是软件设计能力育成路径的关键,也是检验研究结果是否达到预想目标的重要途径。

4 结语

企业级应用软件设计能力培养对于立志从事大中型软件开发的学生至关重要。以往的教学实践往往只注重编程能力的培养,而忽视以程序为基础、面向整个应用软件系统设计体系的设计能力的培养。笔者研究的面向计算机和软件工程专业学生的企业级应用软件设计能力培养可行途径,主要包括知识体系、育成模式以及实践方案3个部分,特别是其中设计平台+设计框架+设计模式三位一体的企业级应用软件设计知识体系模型,以及支持企业级应用软件开发过程的连续型任务+方案方法,已连续4年应用于面向包括本科生和留学生在内的500名计算机专业和软件工程专业学生的软件系统设计与体系结构(JavaEE平台)课程教学实践中,并取得良好效果。未来,我们将构建面向软件系统设计与体系结构(NET平台)课程的知识体系和工程实践环境,并将其推广应用至专业硕士研究生的教学实践过程中,以期取得多类型、多层次、大范围的教学实践效果。

热点推荐

上一篇:关于影响计算机软件开发的问题研究

下一篇:如何对幼儿进行德育教育论文 幼儿园关于德育教育之类的论文