APP下载

立体化软件设计实践体系研究

2009-06-20闫大顺石玉强刘磊安

计算机教育 2009年10期
关键词:软件设计立体化课程建设

闫大顺 石玉强 刘磊安

文章编号:1672-5913(2009)10-0006-03

摘要:随着经济社会发展和IT行业竞争的加剧,对计算机及其相关专业学生的软件设计能力要求越来越高。本文对软件设计相关知识体系和基础实验进行深入分析,构建一个符合技能培养规律的立体化实践体系,实施系统化训练,提高学生的实践应用能力和创新意识。

关键词:软件设计;立体化;实践;课程建设

中图分类号:G642

文献标识码:A

当前中国高等院校开设的计算机及其相关的专业培养学生以编程能力为核心的软件设计成为其重要的目标,其中高职和专科院校对于学生的开发软件的技能需要更为迫切。从当前IT企业的调研数据分析,计算机及其相关专业的毕业生软件设计素质远远达不到培养方案的要求,更不用说能够满足社会的需求。造成这样的结果不仅和专业的课程体系有关系,同时也与计算机类专业的实践体系和管理机制有相当大的关系。本文以学生软件设计的实践能力和创新意识的提高为目的进行的一系列研究,构筑精细化的管理机制,创建立体化的实践体系,以期激发学生专业知识学习和软件设计的原动力,提高学生创新热情,为社会培养出优秀的人才。

1立体化软件知识体系

培养学生的软件设计能力,需要有系统的计算机知识和程序设计语言平台的知识。当前模式是学生按照培养方案一个个的课程有序地学习,以期掌握比较多的专业知识。各个课程的知识属于不同领域,有些学生有能力把这些知识融会贯通,更多的学生是在课程教学结束就固化在那里,不能灵活使用,不能程序设计时所需要的系统化知识,大大影响了学生的实践能力提高,更不用提他们的创新了。

建立计算机专业的课程群,实施课程体系的改革,按照融会贯通的知识体系实现教学,可以使学生的知识系统化,也可以进一步提高学生灵活应用计算机不同知识的能力。依靠教师的教学和管理来实现这个目标与当前的教学形式和教学手段是不相符的,不能适应学生主动学习的潮流。基于开放性、延伸性、可扩展性,把计算机专业知识数字化,建立一个完善的Web知识系统。该系统的专家模块具有类似教师的能力,能够实现计算机知识学习的导航以及知识之间的穿梭的功能,学生在该系统的帮助下,自主的实现知识之间的关联,建立一个系统的计算机知识体系。

专家系统的一个重要特征是知识的动态增加。教师是Web知识系统的知识主要提供者,以教师的专业素质可以提供高水平高质量的知识到知识库。然而教师的力量是有限的,拥有无限精力和灵动性的学生可以提供其拥有的新知识,为知识库提供源源不断的内容。学生的知识层次有限,从而可以使其提供的新知识先和原来的知识建立起松散的组织,这些知识经过多种形式的核准就可以进入知识体系,让学生有比较大的成就感,其原理如图1所示。为此要建立各个知识获取的历程,显示知识增加的状态和围绕知识的讨论,增加学生学习的浸入感,让学生与知识为伍,打下坚实的基础。学生和教师对系统的知识更新,可以大大提高基于Web知识系统的完整性和系统性。已经毕业的学生和IT行业的会员也基于该平台进行知识学习和更新,同样也可以提高知识库积累的速度。

图1 立体化Web知识平台

知识是需要交流的。当前的在线和离线的软件比较多,让学生之间、师生之间实现良好的沟通。知识的交流需要相同的知识体系,需要相应的知识才可以,Web知识系统就是双方交流的基础,提高知识交流的效率。其实知识的交流过程,知识逐步显现的过程也是知识,积累过程知识是本系统实现的重点,这也是知识构建的重要部分,为比较固定的知识提供一个动态化的过程。

2软件设计基础实践体系

计算机专业知识的学习主要目的是为了实现软件设计或程序设计,这个编程能力的培养是建立在大量的练习基础上的。现在各个高校的实践教学的内容非常充分,综合性实验和设计性实验开出率都是100%,然而毕业的学生不会编程,就业的时候不能融入到IT企业的开发流程中。从计算机专业实践的教学规律来看,学生首先要按照各个课程进行专项型的实践锻炼,采用综合性实验连贯课程的知识,采用设计性实验来提高学生的创新能力,目的是好的,但很少有学生能够达到这样的目标。学生进行课程实验、课程实习的内容和管理模式变革已经成为必然。

采用Web模式对学生的课程实验进行精细化管理,学生独立完成自己的实验程序设计,提高规范的实验素材,由系统和教师联合评判,给出学生评判,指出学生哪些方面不足,在Web实践系统的帮助下,完成进一步的实验练习,完善自己的不足。Web系统在学生做实验室的时候能收集反应学生能力的各个方面的信息数据,也给教师有针对性的教育提供有力的帮助,也可以是Web实践系统能够在专家系统的帮助下给学生深入的练习,使学生在基本完成实验的基础上得到全面的锻炼,基于Web基础技能训练平台各个模块之间的关系如图2所示。课程设计也要采用相同的模式进行,每个学生都在不同实验题目的规划下进行各个步骤的程序分析和设计,采用规范的模式进行。这样学生可以实现课程相关的实验实践锻炼,但是这些仅仅是程序设计的基础。

图2 基于Web基础技能训练平台

3立体化软件设计实践体系

学生的基础实验做得很好,然而当他们走向IT岗位时仍然不会编程的,这是因为学生没有接触到实际的程序设计需求。学生到IT企业的实习是一个非常好的方法,但是IT企业不能接收所有的计算机专业学生的实习,为此需要在高校的校内构建出软件设计的需求分析,这个就需要一个Web软件设计项目综合训练系统来实现管理,其各个组成部分如图3所示。首先计算机专业的教师把自己的科研项目文档化、规范化、教学化成为Web项目管理系统的基础,完成基于Web软件设计项目管理的基础,验证该系统的管理流程和管理精度。再此基础上把软件企业成熟的软件开发项目,去掉知识产权部分和商业机密部分,添加到该系统,这样的方式是最接近实际的软件开发需求。互联网时代,开源项目已经成为推动软件产业发展的一个重要动力,很多政府、企业单位采用开源的操作系统、应用服务器、开发工具、开源数据库系统等等,为开源项目开发提供动力。网络上成熟开源项目文档化,也是Web系统的添加的一个重要组成部分。这三部分内容是已经开发过的,开发的流程是经过验证的,是学生练习掌握软件开发技巧的重要的方式。

学生在此Web系统帮助下的开发训练要经过两个阶段。第一个阶段是学生作为一个开发团队的个体,按照Web系统分配的任务,在Web系统的监督下、任务流程的管理下完成任务,Web系统进行评价,看学生在一个开发角色扮演时那些是合格的,重要的是还有那些能力仍然存在欠缺,给出一个弥补欠缺的训练模式,给出后续的训练内容,直到学生的不足得到补充。在这个系统的帮助下,学生可以得到不同角色的锻炼,迅速掌握软件开发所需要的各个技能和技巧,为学生的职业生涯奠定深厚的基础。第二个阶段是在Web系统给出的软件开发任务自主组织一个开发团队,由多位学生担任项目开发的各个角色,独立开发出项目。开发过程中教师可以给予一定的帮助,关键是学生按照自己的需求,在Web系统中独立寻找问题的解决方法,也可以从互联网上获取帮助,学生要把出现的问题、问题解决的过程、问题解决的结果和收获补充到实践平台中,有益增加项目开发知识。在这两个阶段的训练下,学生基本得到解决实际问题的解决方法、软件设计的策略、软件设计的各个过程的锻炼,具备了解决实际IT工程的基础。这个时候学生具备了到IT企业实习的良好的条件,能够迅速适应软件开发的各个角色。

图3基于Web的软件设计项目管理平台

学生都到IT企业实习,会给学校的教学工作带来很大的冲击,这些现象已经在各个高校中或多或少的反应。为此学校要建立一个完善的机制和平台,为学生营造出一个实际软件开发的环境。这里关键是项目的获取,这个需要从多个方面获取软件开发的实际需求。首先是教师的科研需求,教师在前期的基础研究做好之后,把任务提交给Web项目管理系统,多个学生小组接到任务,进行分析,给出各自的设计,采用竞标的形式由教师挑选出合适的学生团队进行设计并完成软件开发任务,模拟出实际的IT公司的生产周期。仅仅依靠教师的科研任务是不能满足学生的软件开发需求的,同时科研中很多任务都是偏重理论和算法的分析,对于本科生毕业是面临社会的需求是不一样的。学生参与互联网的开源项目也是一个不错的选择,能够锻炼学生开发系统程序的能力,开源更加强调贡献、更加强调原创性,对于学生的创新性锻炼非常有好处,但是开源项目是有限的,同时需要高水平的程序员,对于学生的参与有些要求太高,不能锻炼大范围的学生技能。当今经济社会的急速发展,强烈需要信息化带动工业化的发展,软件开发的需求遍地都是,学校要作为一个实体,为学生承接社会的需求,在教师的辅助下主动为社会开发出功能完善的程序,这些项目有大有小,可以加入到Web项目管理系统,由系统来统一管理,组成一个个合适的开发队伍为社会提供软件产品,为了减少学校的责任,部分项目可以仅仅需要支付低廉的费用,甚至免费开发,主要是为学生提供一个机会参与到实际项目开发过程中,项目来源可以是学生、教职工有关的企业、政府单位、各种组织,也可以是网络上登记的各种需求,经过确认的形成的项目信息,在锻炼队伍的过程中为整个社会信息化的发展提供支持。

该系统同时也是学生创业的一个孵化器,积极鼓励学生按照兴趣成立开发小组、开发工作室,在Web项目平台的支持下团队协同工作共同开发项目,在实践中锻炼自己、提供自己的能力,也是学生就业后创业的基础。Web项目系统的开发管理中有一定的收益,要鼓励学生自己提出开发需求,开发出产品来,不是仅仅是做社会给予的成型的项目,这样可以大大提高学生的创新热情,开发出很多绿色软件产品,形成自己的开源产品,形成自己的知识产权,为今后学生的科研发展提供基础。

在项目训练和开发中,学生需要Web项目管理平台具有强大的知识库、技能支持,为此Web项目管理系统是一个开放的系统,学生、教职员工、IT行业会员都可以贡献出自己的知识、技能等等,为该平台的所有用户共享。为此该平台需要强大的已有项目完备资料管理系统,能够便捷得为用户提供所需要的帮助,从借鉴中直接获得问题解决的方法或提示。学生在项目开发的各个过程添加到Web项目管理库,添加开源软件库,为学生的项目锻炼打造一个强大的平台。

4结束语

对计算机及其相关专业的软件设计能力的提高已经成为当前各个高校要面对的迫切问题,解决该问题的关键是实践应用能力的训练,这些离不开课程实验和项目训练。虽然很多高校都采用了一些相应的办法,但是管理机制的效率不高,学生训练的效果不是很好。本文是在多年教研成果的基础上总结出来的立体化软件设计实践模式,采用基于Web的管理平台对软件设计实践流程进行了精细化的管理,使学生把计算机知识融会贯通,编程能力培养得到系统的训练,能够采用项目的形式进行综合能力和创新能力的锻炼,为IT行业培养出其所需要的人才。

参考文献:

[1] 雷东升,郑全英,张波.“C语言程序设计”立体化教学模式探索与实践[J]. 计算机教育,2008(22):123-124.

[2] 刘发贵,刘文谦.计算机专业学生软件项目管理的实践方案[J]. 计算机教育,2007(22):91-93.

[3] 刘敏力. 高校开放式公共计算机实验室的管理与实践[J]. 实验室科学,2006(3):71-72.

Research on the Three-Dimensional System of Software Design Practice

YAN Da-shun, SHI Yu-qiang, LIU Lei-an

(College of Computer Science and Engineering, Zhongkai University of Agriculture and Engineering,

Guangzhou 510225, China)

Abstract: With the economic and social development and increased competition in IT industry, software design capacity of computer specialty and related specialties students have become increasingly demanding. In this paper, knowledge system and base experiment are analyzed deeply, a three-dimensional practice system is built along with skills development law, students is systematically trained to improve their practical ability and sense of innovation.

Key words: software design; three-dimensional; practice; courses construction

猜你喜欢

软件设计立体化课程建设
中国管理模式研究的五项原则
构建“教会、勤练、常赛”的立体化学校体育新样态实践研究
小学德育工作存在的问题及对策
浅谈图书选题的立体化经营思路
基于STM8S903K3的序列打螺丝夹具的软件设计
“误差理论与数据处理”课程建设的实践与思考
基于卓越计划的金属结构材料课程实践化改革与建设
资源、生态与环境学科群体系下普通地质学课程建设思考
中高职一体化课程体系建设的探索与实践
一种VHDL语言代码重用的方法