引论:我们为您整理了13篇软件开发基础知识范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。
篇1
1计算机软件开发概述
随着社会经济的不断发展与更新,计算机的技术也在不断发展,虽然发展的历史不长,但是已经取得了明显的进步,都在利用着计算机的有利的效果和一些方面,计算机的开发和更大的进步是现在现在需要解决的问题,软件的开发与进步也是对社会有着不可或缺的力量,目前计算机也大概能按照使用者的需要执行各种需要的任务,是计算机的核心系统CPU将电路分成两种状态通路和不通路,并且和数学中的二进制有效地联合起来并执行使用者给的任务和命令,要想有效地实行使用者也必须采用二进制的方法,这是人机交流方面的一个重大进步,但是计算机也有一些缺陷是我们必须解决的,所以也是亟待解决的问题,然而的计算机研究人员在原来二进制的基础上再进一步地发展了和研发了高级计算机语言,这个方法是通过英语简化语言的方式,准确而又方便地实现了计算机器与人类的各种信息的交流,也进一步的方便了人们的生活和日常的工作。而目前是主流的VF和VB这两种可视化的编程语言的出现,让计算机的软件技术又在人类的发展历史上有一个里程碑,也使得平时生活中对计算机软件的开发技术感兴趣和有着深刻了解的人也可以简单地能控和致力于这些技术的发展,时代是进步的,技术也是不断发展的,也由此快速而又逐步趋向简洁的发展可以看出当前的计算机软件正在朝着更加有利于人们的方向发展,技术开发也在朝着简单有利的方向进行着,这是目前有利的一方面,还是需要更多的计算机研究人员们的不断努力。
2存在的问题
2.1计算机软件开发的特点
计算机的技术也在不断地成熟,随之而来的是软件的开发也是相当热门的门业与行类,伴随着计算机技术的发展计算机的软件技术也在不断地更新中,计算机的软件开发技术也在不断地发展中,就在短短几十年的时间取得了很大的进步并且目前仍有特别大的发展空间,在迎合人们生活与工作等各个方面的需要。新的计算机软件技术也在更新交替出现,目前已经存在的计算机的软件技术也在进行着不断地更新,因此,也毫无疑问地可以看出来计算机软件最明显的一个特点就是不断地交替,不间断,有着持续性。虽然目前有很多的计算机软件,但是随着经济的发展和社会的需要,新的计算机的开发软件也总是在顺应着人们的要求不断出现,也总是有不同程度的创新和发展,而软件的创新也是一个不间断的持续的过程,需要加以想象力并且很好的研究,但是对于已经存在的计算机软件不应该摒弃它们的作用,应该对其加以改革和创新,保持持续不间断的更新,才可以保证自身的安全性和其中的稳定性,就比如常见的也经常利用的Windows操作系统,作为一种现在的软件系统它就会定期地隔一段时间进行更新也会对自己的不足进行系统的完善,并且也会一些更新的消息可以自动进行更新,这也是其中的优势所在,软件的开发业在各个领域的运用中扮演着越来越重要的作用。另外,计算机软件技术开发的特点也是不断地随着经济的发展和运用以及社会生活在不断更新,计算机软件系统具有很强的针对性,对日常生活的需要和工作的各个方面都具有很大的帮助,也是它能够独立地发展成一门学科的关键所在。计算机软件的基础框架构架对于目前来说计算机软件的开发与设计已经成为了一个系统性的工程,对于软件设计的各个环节已经形成了一些固定的模式,所以在计算机软件开发的过程中最为重要的就是它的基础框架的构造与设计,只有选择一个优秀的基础框架这样才能够保证计算机软件开发的后面一些程序的编写,系统的维护和技术的拓展有着更高的利益和方便之处。因此在计算机的基础软件开发中和平时的活动中,必须首先确定计算机软件的基本框架,确定需要的基本目标,更有利于研究人员的开发,也能够为后继工作的编写提供给我们更多的便利。一个重要的问题是需要必须提高软件工程中的速度。
2.2计算机软件开发的过程
计算机软件的基础构架完成就需要进行一些编写工作,对需求分析工作已经认真的完成,就要进入最重要的环节,对于计算机的软件系统的实际设计环节,目前在这个过程计算机软件的研发人员最经常使用的C语言的编程,主要是因为它是高级语言,这种高级语言的结构性和它的基本框架都比较突出,所以被很多编程的人员经常使用,目前在软件编辑领域也出现了很多VF等可视化的编辑语言,但是人们大多还是使用C语言,也是因为软件设计的特殊性。一个重要的问题是需要必须提高软件工程中的速度,速度对大部分人来说都是一个重要的问题。对于基础框架的设计与利用是必须严格遵循一定的逻辑关系,计算机软件的设计是利用特定的逻辑关系必须对软件的内容进行严格的定义,而研发人员所必需遵循的特定的逻辑关系就是计算机软件技术开发中的基础的框架构造,因为计算机的基本框架的构造不仅能够决定平时运用这些软件时运行的流程和运行计算机的方式流程和速度等,还会对未来软件的维护和在发展产生更重要的影响,但是对于计算机的软件开发的基础构架不能是封闭式的,如果是封闭式的就不会具备这些基本的扩展能力,还有一个问题就是由于在编写程序的时候一些软件的系统的本身就比较复杂,这就需要研究人员的共同完成,这也造成了这个软件本身系统的庞大性,所以有时候在实际的编写过程中,那些本身庞大的软件在进行编写操作的时候会被分割成好几个编辑模块,在这些被分成细小模块的基础上就必须确立一个主函数,利用这些主函数对这些细小的模块进行管理,就比如在计算机系统软件在进行操作某个程序的时候,主函数就会对这些分散的编辑模块进行统一的调用,这样才能实现各个模块统一协调的工作,使得整个系统能够完整有序地进行,同时也提高了计算机软件设计的工作效率,加快了工作时的速度,正是因为多人的分工合作,才能更大地加快计算机软件系统的开发与工作状况。
2.3计算机软件开发的测试与维护
对于计算机中软件系统可以说是整个计算机系统中最重要的管理系统,计算机的系统会根据软件的系统进行各种工作。而目前对于计算机软件的基本框架基础应用最广泛的有3层:表示层、逻辑层、和数据层三层结构组成的基础的构架,在现在的基础框架中软件表示层、逻辑层和数据层分别对应着计算机软件系统的人机交互界面,逻辑关系和计算机语言区。这样对一个软件有了基本的基础构架,在后期进行维护的时候才能不伤害其他系统,仍可以使其他系统有条不紊地进行。一个优秀的软件技术的基础构架能够极大地提升在计算机软件的应用的效率和运行的速度。而当前的计算机软件系统的针对性也越来越强,所以在后续运用方面进行运行管理时应该根据自身的结构基础进行调用,面对目前计算机软件的开发形势与方向,研究人员必须进行一定的讨论最后再根据需求者的应用设计不同的适合客户发展的方面。这样既可以保证工作的方向性,也可对后部计算机软件的维护发挥一些重要作用,也可方便研究人员的设计工作。这些软件在进行编写成功后是不能马上投入到工作的,需要进行调试,一些研究人员的跟随,因为在其中可能会出现一些漏洞。根据各个软件的不同调试方法要利用科学的方法调试,也有益于后期的维护工作。
3计算机软件开发过程中的问题
3.1确立好计算机软件的基本框架
对于一开始的确立的框架结构必须选择科学无误的框架,才能有利于后期的一些编写的进行,计算机软件的研究开发人员必须进行准确无误的研究讨论,最后才可以确定客户需要,所以对于第一步的框架构造应该认真选取方案。
3.2完善程序编写数据
计算机软件技术开发过程中对于程序的编写的工作,根据第一步框架结构能够无误地进行,编写工作的进行跟从主函数的分配才使得各个工作有条不紊地进行,所以确实主函数,研究人员应该正确地讨论主函数的选用,才能使得主函数有利的支配于编辑模块,各个工作人员的分工才能更好地进行,对编写工作也有很大的方便性。因此在计算机的基础软件开发中和平时的活动中,必须首先确定计算机软件的基本框架,确定需要的基本目标,更有利于研究人员的开发,所以说建立基本的框架基础是首要目标。应该满足客户的要求进行软件的编写工作,而目前在日常生活中最常用于生活的是C语言,C语言主要特点是它的结构明显的突出,它的基础框架也是特别优秀的,也能够为后继工作的编写提供给更多的便利。一个重要的问题是需要必须提高软件工程中的速度,速度对大部分人来说都是一个重要的问题
3.3做好软件最后调试
最后就是完成后对于计算机软件的调试工作了,软件不能立即投入到使用中,需要进行严格的调试并认真地改正,满足客服的需求,在后期进行维护的时候才能不伤害其他系统,仍可以使其他系统有条不紊地进行。一个优秀的软件技术的基础构架能够极大地提升在计算机软件的应用的效率和运行的速度。这也方便后期对这些软件漏洞的维护,需要对大部分的数据进行研究工作,以保证计算机软件的有效进行,也可以防止后期漏洞的产生,也可以加快软件自动更新的作用。
4结语
随着当代社会经济的发展,计算机软件的开发技术已经深入日常生活中,也大大方便了平时的生活,成为了不可或缺的力量,编写的过程可能有些许的复杂,但是只要研究人员深刻的投入,所有问题都是可以解决的。
参考文献
[1]金.规范化在计算机软件开发中的应用[J].物联网技术,2016,(01).
[2]董海,叶永利.计算机软件开发的JAVA编程语言分析[J].数字技术与应用,2016,(01).
[3]许葵元.浅谈计算机软件开发中的分层技术运用[J].数字技术与应用,2016,(01).
篇2
一、引言
为培养应用型和技能型软件开发人才,在高职软件技术专业中实施三阶段技能递进培养模式,该模式将技能培训分为基本技能积累、专业核心能力培养和综合技能培训三阶段。基本技能积累阶段包含培养学生基本操作技能和编程技能的课程,如程序设计基础等课程;专业核心能力培养阶段包含培养更高一级专业能力的课程,如桌面应用程序开发、web应用程序开发等课程;综合技能培训阶段是在前两个阶段的基础上,开展以提高职业行动能力为目标的综合技术应用训练。
学生在教学阶段递进过程中需要通过大量实践掌握软件开发技能,因此每一门专业核心课程都设置相应的实训课程,这些课程与综合技术应用训练都是以软件开发项目为载体,通过实训,使学生提高实践能力、积累实际软件开发经验。为实现实践教学过程与软件开发过程的对接,必须采用相适应的教学模式以及提供合适的软件开发实训环境。由于培养费用、实践场地的限制,让每个学生都走上实际工作岗位参加真实环境中的项目开发存在很大的困难。在软件开发实训课程中采用基于虚拟实训的实践教学模式可以很好的解决上述问题,虚拟实训作为一种打破时间、空间限制的实训方式在节约教学投资、优化教学情境和实现资源共享等方面均起到十分重要的作用。
二、构建基于虚拟实训的实践教学模式
(一)构建思路
根据对软件开发人员岗位需求的调研,软件产品开发工作过程包括项目立项、需求分析、设计、编码、测试等一系列工作。工作任务对工作和技术的要求为熟悉软件开发流程,掌握相关开发技术,具备良好的代码编码习惯及技术文档编写能力,有较强自学能力、分析和独立解决问题的能力、团队合作精神和沟通能力。
为达到学习过程与工作过程的一致性,引入虚拟公司形式,采用虚拟环境与真实项目相结合、虚拟员工与真实管理相结合的方式,构建基于虚拟实训的实践教学模式。在学校的实训室中,模拟公司的工作环境,以真实项目为载体,按照公司的软件项目开发流程完成项目开发,缩短学生所学知识和应用的距离。通过教师学生员工化,模拟公司开发部的组织结构,教师担任项目经理的角色,完成岗位相应的工作,包括协调人员配置、制定项目解决方案、监控项目执行、提供技术指导、组织项目评审。学生担任开发部普通员工的角色,在软件开发员岗位上完成项目开发各阶段任务,在项目实践过程中熟悉规范的软件开发流程,掌握高效的软件项目开发方法和技能。
(二)内容结构
基于软件开发岗位工作任务的要求,构建具有“工学结合、校企结合、虚实结合”特点的虚拟实训教学模式。该模式主要由四部分组成:知识培训、项目实施、项目管理和项目评审。各组成部分涉及三大类角色:项目经理(教师)、项目组长(学生)、项目成员(学生),项目经理负责完成知识培训和项目管理,项目组长和项目成员负责项目实施工作,项目经理、项目组长和项目成员共同完成项目评审。
知识培训部分:包括专业基础知识、实训项目涉及的关键技术与知识以及项目应用领域知识的培训。专业基础知识培训包含软件工程基本知识、特定语言的代码规范、团队开发规范、技术文档编写、软件测试用例的执行和记录等项目开发支撑知识。关键技术与知识的培训由项目经理根据课程目标和项目特点展开,包括关键技术和常用架构的学习、企业最新技术和开发工具的引入。领域知识培训是指项目应用领域背景知识的介绍,例如财务管理系统的开发背景涉及金融财会的相关知识。
项目实施部分:项目实施是虚拟实训教学的重要组成部分,包括实训任务分解和项目实现。项目组接受来自项目经理的实训任务,由项目组长进行任务分解并分配到各项目成员。项目成员按照企业软件开发流程执行项目实施各阶段的典型工作任务。
项目管理部分:项目管理包括进度控制和过程检查两部分,由项目经理实施以保证实训项目按实训计划、实训大纲的要求如期完成。项目经理指导项目组长制定项目开发计划,根据项目计划监督各组的工作进度。过程检查部分包括设定过程检查点以及阶段通过标准,项目经理按照通过标准审查阶段成果,确保项目完成质量。
项目评审部分:项目评审部分由项目演示交流和项目考核两部分组成。在项目演示交流环节,各项目组介绍开发过程、演示项目运行结果、进行项目答辩。在项目考核方面,采用多元化的考核体系,注重对学生实训过程的评价,在项目经理考核的基础之上,参照项目组长评价,得出最终评价结果。
篇3
1 背景
工信部近日印发《软件和信息技术服务业“十二五”发展规划》,规划明确了“十二五”的发展思路和发展目标,确定了10项发展重点和8项重大工程。而据业界预计,到2015年,我国软件行业收入将突破4万亿元,年均增长25%以上,出口突破600亿美元。
2 项目实施的必要性和可行性分析
外包人才的缺口从结构层次来看,不是局部的人才短缺,而是全方位的供应不足。正规院校培养出来的学生能掌握基本的软件开发技术,但缺乏软件开发工作经验、项目交流和团队合作锻炼,需要经过相当的项目知识与技能培训。超过60%的高校开设了计算机专业。但是,适应外包企业需要的大学毕业生很少,大学毕业生常常需要企业花大力气培养,而企业希望招来就用,不愿自己培养人才增加成本。本软件开发、测试实训室应此目的设置,目标培养中低端软件人才。
3 建设实训中心项目的可行性
职业教育与普通教育相比有四个特点:一是教育性质和目标不同。重在对准备就业的学生传授职业知识,培养职业技能,陶冶职业道德,提高职业能力和劳动素质教育。二是教育内容与要求不同。以提高学生的专业知识与技术能力为主,重在让学生懂得做什么、怎么做,使学生学有专长,毕业后投身于社会经济建设的实践活动。目前尽管有部分学生升学,但就总体看,其教育内容与要求未变。三是课程模式与结构不同。其课程模式注重实践教学环节,课程结构注重强化学生技能的应用性、针对性和职业性。四是学校功能与任务不同。要求实施职业教育的学校必须具有实训实操的条件,否则职业教育很难获得应有的效果。
4 软件开发和测试实训室建设目标
软件开发技术实训可以包含四类实训课程:
软件开发实训:包括完整的生命周期的软件开发过程
软件阶段实训:选取软件生命周期其中某个阶段独立工作(例如编码工作)的实训;
软件测试实训:包括软件开发过程随行测试和独立的软件测试技术实训;
软件项目管理:这是关于软件技术高级培训。
实训装备:
硬件设备:5组服务器;50台工位电脑;网络和交换设备;5组光盘刻录、扫描仪和打印机等辅助设备;1套投影和无线扩音设备;互联网接入;软件平台:Windows 和Linux服务器平台,mySQl、SQL Server数据库系统、J2EE和.net开发平台和课程相关的软件工具;LoadRunner 、WinRunner等常用测试工具;项目管理工具MS Project;办公系统 Ms Office 管理软件:实训管理软件
实训方法:采用模拟企业运营方式将教练和学员混编成项目组方式完成软件开发和测试实训;打破学科界线和知识体系,以项目目标驱动安排教学内容,编制教材和教学课件,教学内容来源于合作企业以往的实际项目,由企业和学校共同对原项目分解、重组、封装形成教学课件,以实际项目文档为基础编制实训文档。
实训课程:本实训室分设以下类型实训课程
素质教育类课程:敬业精神、团队合作
企业标准类课程:ISO9000和CMM认证,企业化管理制度
项目管理类课程:项目管理方法和项目管理系统使用;
软件开发、测试类课程:包括软件生命周期理论、文档编制和理解、软件工具、编码和测试方法、系统部署、和版本管理等;
实训过程:
先期培训:素质类、企业标准、项目管理、背景知识等
基础培训:由教师教授课题涉及的基本方法、工具和规范;
开题培训:由专业项目管理人员做课题报告,解释项目要点;
5 实训课题:软件开发实训
本实训室培训软件开发人员和软件测试人员,实训方法可以将学员分组,在同一项目中分别承担软件开发和软件测试工作,也可以独立执行软件开发和软件测试实训课程
软件开发实训包括一下实训模块:
1)背景和基础知识:包括软件开发规范,软件企业ISO9000和CMM认证,学校软件工具等;
2)搭建开发环境:能够配置自己的软件开发环境,包括安装操作系统和开发工具包;能够配置自己与别人的协同开发环境,包括网络配置,文件共享,安装远程打印机等;
编写代码:使学员能够读懂详细设计,掌握开发工具的配置与使用,掌握开发语言的基本知识和数据结构,了解简单的算法,会设计简单的界面,并应用常见控件,具有数据库编程的初步能力;
图1
3)测试:使学员除了掌握测试的理论知识外,还应该学会编写单元测试案例,编写单元测试文档,在执行单元测试的时候,记录测试结果,并分析错误原因,以利于下一步的调试。
学员应掌握以下具体技术、平台和工具,Windows系列和Linux操作系统;Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,创建网络连接,网络打印;基于UML的详细设计文档,面向对象分析和设计;单元测试,黑盒测试,白盒测试,设计测试案例等;执行测试并调试错误,系统和配置技术;
软件测试实训包括以下实训模块:
计算机及常见操作系统、软件设计语言基础、 数据库基础、软件工程基础、软件测试基础、自动化测试:包括OSI模型、TCP/IP模型及常见网络协议,常用软件平台、工具使用LoadRunner 、WinRunner测试工具使用,各种测试规范
6 总结
在当今社会信息化的进程中,综合应用各种新技术的系统软件功不可没的,软件开发和测试使全社会的信息管理、信息检索、信息分析达到了新的水平,因此,学习软件开发、测试的相关基础知识,对于信息时代的每一个成员都是十分必要的。
参考文献:
[1] 杨文宏,李心辉.面向对象的软件测试[M].北京:中信出版社,2002.
篇4
信息技术的发展与应用使得数据与信息的处理方式有了质的变化,会计数据与会计信息也不例外。信息社会对会计人才的要求,除了会计专业知识本身外,对计算机会计毕业论文的操作能力、数据库的应用能力、计算机网络的了解、信息系统的分析设计与实施等相关技术的掌握也有了较高的要求。因此,对会计人才的培养需要从两方面着手:一方面是会计学科知识能力的培养,另一方面是信息技术应用能力的培养。
二、现状与问题
1.会计专业设置信息技术类课程的基本模式。目前,会计专业设置信息技术类课程一般采用的模式是:计算机应用基础+会计应用软件介绍+会计电算化。计算机应用基础:不同的学校在会计专业的计算机应用基础系列课程上的设置可能不同,但均以提高学生的计算机基础知识为目标。会计应用软件介绍:讲授常见的几种会计软件。这门课程的开设可使学生了解常见的会计软件,增强实际操作能力。会计电算化:讲授会计电算化系统的分析、设计、开发、实施、维护与操作的基本原理,或是按财务会计的核算模式讲授会计电算化应用系统的程序设计。但在学生严重欠缺数据库和管理信息系统知识的情况下,讲解会计信息系统的分析、设计、开发与实施等,其效果是比较差的。
2.教学上的问题。
(1)信息技术类课程在教学上与会计专业知识完全分离。由于讲授信息技术类课程的教师大多是计算机专业科班出身,比较缺乏会计专业知识,在教学过程中难以将信息技术与会计知识融会贯通,导致学生难以认识到信息技术对本专业的重要性,并将信息技术与会计知识完全分离。
(2)会计专业课程不涉及信息技术知识。除会计电算化等极少数与信息技术有关的会计专业课程外,大多数会计专业课程不涉及信息技术知识。然而,大多数会计专业课程在信息技术环境下增加了许多新的内容,由于教师缺乏信息技术方面的知识,在课堂上不能补充讲授与信息技术有关的知识,从而使课程的内容比较陈旧,缺乏新观念、新思想、新理论。同时,这类课程的教材的更新速度也比较慢。
(3)实践环节上对信息技术的应用不够重视。在实验室建设方面,一般比较重视建立手工会计模拟实验室,而会计专业的计算机实验室的建设就比较落后,主要表现为计算机网络环境较差、硬件配置较低、软件版本陈旧、开发平台落后、系统更新速度缓慢等。课程设计方面也是重视手工操作而忽视计算机处理流程。
(4)教学手段落后。传统的“黑板"粉笔”的教学手段很难满足信息技术类课程教学的要求。会计软件的演示操作与使用、会计信息系统的案例分析、编程效果的体现、大量数据的分析等均需要在多媒体教室或实验室内完成才能增加上课的信息量,取得好的教学效果。
3.教材问题。目前,适合会计专业教学的信息技术类课程教材很少。有的课程不得已选用计算机专业类教材,在课时、教学内容、实验环节上都可能存在一些问题。有的会计专业的教材如会计电算化,在信息技术内容的安排上比较肤浅、落后,先进性、实用性比较差。与教材配套的教学软件较少,除了一些软件开发商提供的演示软件外,很少有专门的教学软件来支持教学。
4.教师队伍建设需要加强。目前,既精通会计专业知识又具有较强的信息技术应用能力的教师比较少。加强教师队伍建设是提高教学质量的一个非常重要的环节。会计专业与计算机专业的教师在教学中要相互配合,学校通过组织研究一些课题和开发一些软件项目,为教师提供一个沟通与交流的平台,使得原来两个不同专业的教师能通过课题的开发研究,相互学习、共同进步,并能共同承担起会计专业教学中信息技术类课程的建设与教学。
三、会计专业信息技术类课程的设置目标
会计专业信息技术类课程的设置,其目标非常重要。没有一个好的目标,就不可能组织好课程建设。每一个学校可以根据自己的专业定位与实际情况,确定会计专业信息技术类课程设置的目标。
重庆工学院的会计专业信息技术类课程的设置以提高学生以下几种应用能力为目标:计算机基础应用能力!会计软件操作使用能力!会计软件开发能力!会计信息系统分析设计能力!会计软件实施能力。
四、会计专业信息技术类课程的设置
1.计算机基础应用能力的培养。开设《计算机文化基础》、《高级语言程序设计》等课程培养学生的计算机基础应用能力。通过《计算机文化基础》的学习,学生能掌握计算机的基础知识,具有较强的文档处理能力与excel电子表格的制作能力;通过《高级语言程序设计》的学习,学生能具有一定的高级语言编程能力,能通过国家计算机二级考试。
2.会计软件操作使用能力的培养。开设《会计软件概论》课程,使学生掌握当前常见的会计软件的安装、操作流程与使用方法,同时结合已经学过的会计基础知识,更加深入理解相关的会计软件知识。《会计软件概论》学完以后,可视具体情况再增设《会计学基础课程设计》,将手工账务处理与计算机账务处理结合起来进行教学,让学生通过比较,切实感受手工账务处理流程与计算机账务处理流程的差别。
3.会计软件开发能力的培养。开设《会计软件开发技术》、《会计软件开发技术课程设计》等课程,培养学生的会计软件开发能力。
《会计软件开发技术》主要讲授与会计软件开发有关的信息技术,内容涵盖数据库技术、数据库建模技术、计算机网络技术以及较先进的数据库开发平台技术。该门课程的信息技术含量较高,涉及面较广,讲授难度比较大。
学生通过对该门课程的学习,掌握数据库系统的基本概念、数据模型、关系数据库理论基础、sql语句以及数据库设计的内容,这门课程重点讲授microsoft公司的sql server2000的基本操作与使用。同时,还需要重点介绍数据库的建模技术,主要讲授sybase公司的powerdesigner工具。这些工具的使用对培养学生的会计信息系统分析设计能力非常重要。在《会计软件开发技术》这门课程中,还需要结合信息系统常见的网络结构讲授计算机网络的基本知识。在掌握了较好的数据库基础知识的前提下,讲授windows程序设计的基本内容,为了使学生能尽快地进入角色,我们选取了powerbuilder开发工具。
4.会计信息系统分析设计能力的培养。开设《管理信息系统》、《会计信息系统分析与设计》等课程培养学生的会计信息系统分析设计能力。《管理信息系统》主要讲授管理信息系统有关的基本概念、方法、结构和功能。通过学习,加深学生对信息系统的理论认识,
--> 掌握信息系统的基础理论、信息系统的战略规划和开发方法、信息系统的系统分析设计与实施的基本内容,了解面向具体对象的系统开发方法以及信息系统的管理、决策支持系统、信息系统的发展和对未来的影响等理论。
《会计信息系统分析与设计》在《管理信息系统》课程的基础上,进一步讲授针对会计信息系统的分析与设计方法,内容涉及会计信息系统各个主要子系统的业务处理流程分析、数据处理流程分析、数据属性分析、数据字典的设计、数据的输入输出分析设计、系统物理配置方案设计等。
同时,结合《会计软件开发技术》课程的知识,利用powerdesigner工具对会计信息系统各个主要子系统的数据模型进行分析与设计,在sql server2000数据库中建立相应的数据表,利用powerbuilder工具进行输入输出的界面设计与编程。
5.会计软件实施能力的培养。开设《会计信息系统案例分析》课程,并在毕业设计过程中,挑选一些学生进行会计信息系统软件分析、设计、开发与实施方向的毕业设计,培养学生的会计软件实施能力。
《会计信息系统案例分析》不是讲解会计软件的特点与使用,而是通过精选会计软件案例,结合《会计信息系统分析与设计》和《会计软件开发技术》课程的知识,深入分析会计信息系统中的经典模块,主要包括分析数据处理流程图、数据字典的设计、系统输入输出设计特点、典型的源程序、模块测试等内容。同时结合案例,讲授其在企业中的实施过程与系统维护。
五、结束语
篇5
软件工程是计算机科学与技术专业开设的一门核心课程,学生掌握软件开发过程和主流的软件开发方法是软件工程课程教学的基本目标。受教学资源、既定培养方案、学生个人条件等诸多因素的影响,软件工程课程教学中还存在一系列问题。我们根据软件工程课程特点,在近几年的教学实践中,对软件工程课程的教学内容、教学方法、实践教学方式等进行了逐步调整和改进,解决了软件工程课程教学中存在的部分问题。
一、软件工程教学中的问题
软件工程是一门伴随着软件危机的出现而发展起来的、集工程性和应用实践性为一体的课程。由于软件规模不断扩大、软件环境更迭频繁、软件危机的表现形式多样,致使软件开发的新方法、新技术层出不穷,软件工程课程的内容处于一种不断改进和发展的状态。但目前软件工程教材内容相对滞后,且多以软件开发理论和设计原则的形式呈现,软件开发案例等应用性内容偏少。在教学过程中,受教材内容影响,教师习惯从软件开发理论、软件设计原则出发安排教学内容,忽视软件开发案例在教学中的支撑作用,教学内容与实际应用脱节。软件开发过程包括软件体系结构设计、数据库系统设计、应用程序设计、软件系统实施等多个环节,所以软件工程教学内容还涉及除软件工程之外的其他多门软件类课程。受教学资源和课程计划学时等因素的制约,软件工程的教学内容往往缺乏相关软件类课程之间的实质性联系,且实践教学内容和时间相对不足。加之学生少有软件项目开发的机会和经历,致使学生感觉软件工程课程内容难以理解、不够实用,缺乏整体感和系统性。针对上述问题,我们将新的教学内容注入软件工程课程;通过案例教学强化软件工程课程的实用性特色;以层次化方式组织实践教学,使学生在软件开发基本技能、综合分析问题能力、软件系统开发经历、团队协作意识培养等方面得到系统训练。
二、软件工程教学的改革思路
1.调整教学内容、注入教学案例。在教学内容方面,对较陈旧的教材内容进行精简,并增加与现代软件开发方法和技术紧密相关的教学内容。针对软件工程教材内容普遍重视理论、实用案例不足的状况,将案例教学法[1]引入课堂教学中,通过案例分析对抽象内容进行诠释,帮助学生理解软件开发理论和原则。
2.贯通学科知识、突出综合特色。软件工程课程内容覆盖面较宽,与数据库系统原理、程序设计语言、算法设计与分析等软件类课程内容交织,为了实现相关课程之间内容的贯通、拓展学生的学科知识、提高学生综合分析和解决问题的能力,将专题学习(Project-Based Learning)[2]、任务学习(Task-Based Learning)[3]和基于问题的学习(Problem-Based Learning)[4]等教学方法不同程度的引入课程教学中,突出软件工程课程的综合性、实践性特色。
3.拓展实践环节、培养工程能力。软件工程实践教学直接影响学生的软件开发能力,学生软件开发能力的提高是一个循序渐进的过程。在常规的软件工程课程培养方案中,主要安排了基础实验内容,对学生的工程化意识和综合实践能力的培养重视不够。采取分层次、分步骤安排实践教学内容,由基础实验逐步过渡到综合实践的教学方式,可以将软件工程学科概念和学生的软件项目研发能力逐步整合在一起,使学生在软件工程实践过程中逐步掌握学科知识、提高软件项目的分析设计和实施能力。
三、软件工程教学改革的实践
1.课堂教学中的案例教学。案例教学可以强化软件工程理论与实际应用问题的结合。通过典型案例分析,可以对抽象的软件工程原理和准则进行直观诠释,帮助学生理解课程内容。
教学案例通常不是孤立的个案,一组精心设计的教学案例可以帮助学生理解基础知识、掌握基本技能、提高运用知识的能力。以软件需求建模为例,在讲述软件系统行为模型的描述工具状态转换图时,使用几个不同的教学案例,由浅入深地分析状态转换图的作用、使用规则以及如何描述系统的行为三个方面的问题。首先,以学生比较熟悉的操作系统中的一个进程为例,通过状态转换图形象的描述了进程的就绪、运行、等待和完成四个状态及其转换关系,着重说明状态转换图的作用。第二个案例是机票预订系统的行为模型创建,介绍状态转换图的画法规则。机票预订系统行为涵盖机票查询、机票预订、订单支付等几个分支,比较完整地展现了状态转换图中的图符及使用规则。实际的软件项目通常比较复杂,软件需求建模要考虑多种条件、各种异常状态,所以将复印机控制程序作为第三个案例,其状态转换图包括复印机正常工作流程、中断处理流程(比如复印过程中复印纸用完等情况)、硬件故障处理流程等几种系统行为。
2.问题式教学模式的运用。软件开发过程是一个综合性的系统工程。软件工程课程内容与多门先修的软件课程密切相关,软件开发项目是一个多学科贯通的综合实践问题。对于软件工程课程,从教学内容到教学形式都应该倡导调动学生的主动学习情绪,即学生能够基于自己的思考和实践解决问题。我们在软件工程教学改革实践中,提出了一种主动式、知识探究型的教学模式——问题式教学模式。问题式教学活动中,教师依据课程内容和学生的知识结构、设计具备一定挑战空间的非良构问题;将学生组织成学习团队;学生通过分析、解决紧密联系实际的非良构问题来探究问题背后隐含的概念和原理、拓展学科知识、提高实践能力、培养团队协作意识。[5]问题式教学方法注重教学内容的实用性,在一定程度上激发了学生的学习主动性、强化了学生的软件开发实践能力。
3.实践教学环节的调整。从学生运用软件工程基础知识的能力、系统化的个人职业技能训练、软件项目的开发能力和团队协作意识四个层面出发,将软件工程实践教学划分为基础实验和综合实践两个层次。
基础实验培养学生对软件生命周期组成阶段的理解,重点训练学生对需求分析、软件设计和软件测试阶段相应开发技能和工具的掌握。基础实验的内容偏重于设计型,实验形式又具有验证型的特征。基础实验是课堂教学中案例教学法的延伸和应用,教师在课堂上通过教学案例阐述如何运用软件工程理论、技能和工具;学生在实验过程中,模拟解决与教学案例类似的软件问题,以实践的方式体会和巩固软件工程知识。基础实验强调对每个学生进行软件工程基本技能的完整训练,学生通过实验获得软件开发过程的认知、掌握软件工程的理论和方法,提高个人的软件项目能力。
软件工程综合实践侧重对学生软件项目开发能力和团队协作意识的培养,是一个系统化的工程实践活动,实践内容涵盖软件项目开发的完整过程。学生可以通过综合实践环节获得较真实的软件项目开发经验。
在综合实践环节,教师要为学生提供兼具普适性和创新性特色的综合实践题目。普适性意味着实践题目要具备明确的可操作性,学生能够通过综合实践活动体验软件项目开发的基本规范、经历软件开发的完整过程、巩固软件工程理论知识和技能。所以综合实践题目应该与现实中的实际需求密切相关,这类需求明确具体,学生的感性认识深刻。考虑到学生组织成不同的软件开发团队、每个团队要完成各自独立的软件项目开发工作,实践题目还应该具备在知识需求上基本相同、但应用背景不同的特点,使学生容易借鉴类似的软件开发案例、从中汲取直观具体的软件设计和实现经验。题目的创新性特色体现在软件开发技能方面引导学生温故知新、举一反三;即对满足普适性要求的实践题目,进行适当的需求扩展和功能延伸,要适当保持问题的非良构性、保留一定的不确定性和疑点,留给学生思考空间。在综合实践题目的创新性层面上,学生需要在问题的牵引下去适当学习专业以外的知识、搜集提炼信息、补充项目本身缺失的条件,最终制定可行的软件项目实现方案并解决软件实施问题。综合实践题目的创新性特点,可以在一定程度上激发学生的创造性思维潜力、扩展学生的专业视野。
软件工程综合实践环节是学生对软件开发过程的模拟体验,现代软件开发工作多以团队协作方式进行。所以对学生而言,需要组建软件项目开发团队并进行成员角色分配。组建项目团队时要考虑学生的认知优势、学习习惯、学习兴趣、动手能力、逻辑思维能力,性格特点等因素,引导学生按照既发挥个人特长、又优势互补的原则进行团队组建和工作分工。
四、结语
将精心设计的典型教学案例注入软件工程教学内容中,可以有效改善软件工程教材内容偏重软件开发理论和软件设计原则、弱化软件开发实践的状况。知识探究型为主要特点的问题式教学模式可以激发学生的学习主动性、拓展学生的学科知识、提高学生综合分析和解决问题的能力。基础实验与综合实践相结合的层次化实践教学方式,将学生的软件工程基本技能和软件项目研发能力整合在一起,使学生在软件项目的分析设计和实施能力的训练、团队协作意识的培养方面获得完整体验。
参考文献:
[1]Hay·P,Katsikitis·M.The expert in problem-based and case-based learning:necessary or not?[J].Medical Education,2001,35(1):25-30.
[2]Robert Michael Capraro,Scott?W.Slough.Project-Based Learning:An Integrated Science,Technology,Engineering,and Mathematics(STEM)Approach[M].Sense Publishers,2009.
[3]B·R,Simone Grin Verlag.New Media and Task-Based Teaching/Task-Based Learning:Web Quests[M].Grin Verlag,2010
[4]Boud·D& Feletti,G.I.(eds.).The Challenge of Problem-Based Learning,2nd Ed[M].London:Kogan Page Ltd.,1997.
篇6
1 背景与理念
高职教育就是以社会需要为目标,以就业为导向,以技术应用能力为主线设计学生的知识、能力、素质结构和培养方案。可见对学生培养不仅要重视专业理论知识的学习,还要注重实践技能与创新能力的培养。在教学模式上强调以技能为主,培养具有高素质的技能型人才,根据软件技术专业的软件开发类课程本身课程的特点,多采用项目化的理一体化授课方式。可以让学生在学习技能知识的同时感知社会发展的行业要求,以快速适应职场环境,获取就业机会。
CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),是近年来国际工程教育改革的最新成果。它以产品研发到产品运行的生命周期为载体 ,让学生以主动的、实践的、课程之间有机联系的方式学习工程。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。它的这个特点非常适合《软件工程与UML建模》这类综合性课程,构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)正对应了软件开发流程的整个生命周期。
2 课程改革思路
软件工程类课程以提高学生的实践动手能力,提高学生的软件开发综合能力,增强软件项目建模与开发的工程方法和流程,培养软件开发规范意识,训练和积累“工程经验”,提升就业能力,鼓励学生自我发现问题解决问题为改革目的。
1、参照岗位能力标准,改进教学内容
根据软件工程师必备的能力标准,打破传统软件工程纯理论的学习模式,融入UML建模的内容。在软件工程管理知识基础上,学会如何用UML和Rose进行项目需求分析、结构规划和生成框架代码,以及如何从现有系统逆向转出工程代码,生成Rose模型。
以“项目导向、任务驱动”引导教学,以《图书馆管理系统》为主线,分别从软件基础、面向过程、面向对象三个阶段对本课程进行系统学习。同时以“实训任务单”作为任务驱动的载体。
2、校企合作、工学结合,实现“零距离”就业
我院大力发展校企合作,与重庆多家知名软件企业建立了良好的合作关系,课程的设计和内容设置均有行业、企业专家参与,大大提高了课程的可实施性和适用性。为此,我们围绕实训、实习环节建立了完善的实训体系。主动与行业、企业取得联系,加强校企合作,形成学校、企业、行业互动,共同合作参与学生的专业技能培养。企业专家会引入真实项目让学生参与,真正意义上做到与行业企业“零距离”接轨。
3、搭建内容标准化、结构模块化的课程体系
根据软件设计师相关岗位能力及职业资格证书考试要求,对其课程内容进行标准化。并根据课程内容将其划分为三个模块:基础部分、面向过程和面向对象。
在基础部分,主要掌握软件工程学的相关知识、可行性研究、需求分析及软件项目管理方面的知识;在面向过程部分,主要设计到软件总体设计、详细设计、软件的实现及维护;在面向对象部分,主要掌握用面向对象的思想对软件进行建模。
本课程理论与实践紧密结合,从“可实践”软件工程的角度描述需求分析、软件设计、软件实现、软件测试以及软件开发的管理,力求使学习者在掌握软件工程基础知识的同时,真正学会运用软件工程的思想和辅助工具进行规范化的软件需求分析、系统设计、实现和测试。课程采用具体的软件项目,“可实践”地介绍并引导学生如何用UML和Rose进行项目需求分析、结构规划和生成框架代码,以及如何从现有系统逆向转出工程代码,生成Rose模型。并介绍了C++、Java、Visual Basic与CORBA/IDL和XML代码的代码生成与逆向转出工程代码。
通过该课程学习,学生掌握使用设计工具紧扣用户需求,方便地开发出符合用户需求的系统或根据用户需求对现有系统进行改造,同时,按照软件工程思想进行规范化软件项目管理。
4、采用“项目引导、任务驱动”的行动导向的教学模式
软件工程类课程是项目制课程,整体授课采用项目分组教学法和教学做一体化教学法。项目组组织方式如图1所示:
图1 项目组组织方式
在教学过程中,实行“教、学、做”一体化的教学方式。基于学生在“学中做、做中学”,采用多种教学方法,针对不同的内容交替进行。如图2所示:
图2 “教、学、做”一体化教学方式示意图
每个任务按照“任务描述知识准备任务分析任务实施任务小结效果评价”的六个步骤完成,如图3所示:
图3 六步教学法示意图
3 总结
本文主要是借鉴CDIO工程教育理念,以软件工程类课程为载体,培养学生CDIO所要求具备的多种能力。通过对学生进行访谈发现,通过CDIO教育模式在进行教学改革应用实践,学生普遍反映这种教学方法非常适合他们的学习,案例教学很好的促进了他们对基础知识的学习,并且对以工程化的思想开发软件有了深刻的认识,软件开发能力和项目组织与管理的能力都得到了极大的锻炼和提高。
参考文献:[1]CDIO简介.http:///
[2]韩智.基于 CDIO 理念的软件工程课程教学改革[J].2010
[3]陶永芳,商存慧.CDIO 大纲对高等工科教育创新的启示[J].中国高教研究,2006(11):81-83
[4]查建中.工程教育改革战略“CDIO”与产学合作和国际化[J].中国大学教育,2008(5):16-19.
[5]张璇,李彤.结合CDIO教育理念与案例教学进行教学探索与实践[J].计算机教育,2008(24):155-157.
[6]RogerS.Pressman. 软件工程:实践者的研究方法[M]. 6版. 郑人杰,等译. 北京:机械工业出版社,2008.
[7]Thomas,J.W.,Mergendoller,J.R.,Michaelson,A.Pro-ject-basedLearning:A Handbook for Middle and High SchoolTeachers[M].Novato,CA:The Buck Institute forEducation,1999.
[8]朱景德.《高职软件技术专业项目化课程的探索与思考》,社会科学奖,2012年10月
篇7
.NET软件开发方向校企合作模式核心内容是以课程置换和融合的方式,将微软最新的.NET课程加入专业教学之中。由微软提供最新的与.NET相关课程的资源,授课采用“基础+专题”的形式,即各门课的大部分基础知识由通过培训的校内教师完成,每门课再开设若干专题,以微软培训讲师为主校内教师为辅共同完成。在实践教学方面,在校内建立微软实训室并由微软提供丰富的实训机会。学生通过对微软相关课程的学习,可以考取微软的相关证书,如微软认证技术专家(MCTS,分Web、Windows、分布式、SQL Server、BizTalk等方向),微软认证专业开发人员(MCPD),微软认证IT专家(MCITP),微软认证架构师(MCA)。目前侧重于MCTS的Web应用、Windows应用和数据库应用。从实践的情况来看,效果良好。计划扩展系统管理、信息管理、网络安全、信息安全等方向。
2培养方案
计算机应用型人才的培养,要首先培养高素质专
业技术分析、设计、开发、维护、应用、服务和管理人才,着重培养学生的工程素养,其次才是创新人才。
所谓工程素养,就是学生不仅要具备相应的技术,即专业知识,还要具备相应工程(行业、领域)的知识与经验,更重要的是要在理论等方面具备敏捷学习的能力。
本专业方向是与微软合作的.NET软件开发方向,目标是培养应用型工程科技人才,特别注重学生软件开发实践能力的培养。该专业的学生在学习阶段通过参加微软的认证考试还可获得相关的微软国际认证。其特色在于培养与国际接轨的多层次、实用型、复合型的软件领域专门人才。
2.1设计思想与原则
以“基础知识―应用能力―综合素质”为主线,即适度的基础知识+较强的实践/动手/应用能力+较好的综合素质,以市场对人才的需求为导向,以学以致用为原则,设计.NET软件开发方向培养方案。目标是要建立面向岗位技能的课程体系,引入来自于软件生产企业的项目作为案例教学和实训的内容,实施立体化的实践训练模式,构筑企业化的软件开发流程。
2.2知识结构分布
在整个培养方案中,专业基础课、专业方向课、专业选修课和专业实践教学环节共104个学分,占所有学分的60.5%,通识课程(主要集中在数学、英语和政治)50个学分,占29.1%;素质教育课程(注重文理渗透)18个学分,占10.4%。专业教育、通识教育与素质教育基本呈6∶3∶1的关系,如图1(a)所示。三者之间的学分能否按7∶2∶1的关系分布,是值得
进一步探讨的问题。专业基础课、专业方向课和专业选修课共88个学分,专业教育分布如图1(b)所示。这三者之间的学分可否按5∶3∶2的关系分布,也是值得进一步探讨的问题。另外,在专业教育中,专业实验/实践占44.2%,与专业理论教育基本呈5∶4的关系,如图1(c)所示。这样既突出应用型人才的培养,又突出综合素质的培养,且有良好的发展后劲,不至于只培养学生成为技能型的人才。
2.3各学期学分数统计
新培养方案各个学期的学分数统计如表1所示。该统计不包含各类实践教学与素质教育选修课,它们分散在各个学期,尤其是毕业实习与毕业设计(论文)主要分布在第7、8个学期。
为让休息近3个月的“高中毕业生”尽快熟悉大学生活,继续保持良好的学习习惯,尽早树立专业意识和接触专业知识,我们在第1个学期分别加大了普通教育课程(如英语和数学)的学时和专业基础课程的学时。第2个学期学分的减少,目的是为了让学生有更充分的时间去准备CET-4考试。让学生尽早通过CET-4,从而有利于学生减轻思想负担,有更多的时间投入专业知识学习。专业基础课集中在第3个学期,目的是让学生打好专业基础,提早从第4个学期开始进入专业方向课程的学习。在专业课程方面,大二、大三尤其注重学生专业能力的培养,在专业课的88个学分中,占到了68个学分,比例高达77.3%。
2.4理论、实验、实践课时统计与对比
新培养方案与以前的软件工程专业的培养方案在理论、实验、实践等方面的对比如表2所示。
从表2可以看出,改革后,所有专业课程的实验课时都有不同程度的增加,尤其是专业选修课的实验课时提高最多,达13%。主要原因是微软的课程重实训,理论与实验基本是1∶1的关系。
3专业课程体系
微软设计了一套以.NET平台软件开发作为技术主线、面向岗位技能的完整课程体系。该课程体系针对岗位技能要求将课程组织成模块,并规划出最佳学习路线,对学生的专业学习形成一个连续、一致的培养过程,引导学生系统地学习从而达到企业需要的岗位应用技能。
如何将微软的课程体系有机地融入到适合我们学院和学生特点的培养方案之中,是在设计新的微软软件开发方向的专业课程体系时所需要考虑的首要问题。可以根据文献[1-2]提出的独立学院培养大学生计算机应用型人才的参考课程体系模型和在文献[3]的基础上来设计新的专业课程体系。
3.1设计思想
以培养专业素养为核心,构建以“基础性、先进性、应用性”为特征的专业课程体系。新的课程体系要达到通过对学生实施连续、一致、多应用、不间断的专业能力培养,从而加强学生的专业素养,培养他们成为应用型工程科技人才的目的。新的课程体系要形成一条主线,防止单纯追求局部体系的完善。
整个课程体系按照“上手快、重实战;多应用、不间断”的思想,保证每个学期至少都有微软的课程,着重逐步提高学生的软件开发与设计能力和工程素养。具体做法是:
1) 以软件开发与设计为主线,全新设计该专业方向的课程体系。显著的特点是在原来的软件工程专业的课程体系基础上,删除所有与硬件相关的课程和其他与.NET软件开发关系不大的课程,并将重新调整后的微软课程体系有机地融入其中,同时增设与之配套的课程。
2) 引入微软.NET软件开发技能课程,培养学生软件开发的专业技术技能。这些课程突出相关开发工具环境的熟练应用,注重技能的实践性和应用性。
3) 引入微软的软件开发实践实训案例教学思想和课程,培养学生的专业工程技术和解决实际问题的经验。这些实践实训课程面向应用,强调软件开发过程的规范、协作、知识技能的综合运用和经验积累。
4) 对于微软的相关课程,同步配以案例项目的综合实践。帮助学生加深对所学技术知识的理解,把握.NET应用软件的程序框架,掌握软件开发过程中涉及的分析、设计、编码能力,培养学生的工程素养。
3.2第1~4学期内容
新的专业课程体系第1~4学期只包含专业基础课和专业方向课。具体课程分布如表3所示。
面向对象程序设计由原来的周8学时减为周5学时。语言类课程的教学,要轻语法,重设计与应用,即教学内容适当淡化语法细节,强调程序的总体结构、程序的构建、编译和运行调式过程、程序基本控制结构、程序模块思想(函数)、面向对象程序设计的基本思想。然后在此基础上开设C#程序设计和
.NET Framework程序设计,一则强化面向对象程序设计思想,同时引导学生逐步进入.NET程序设计课程。
有了语言的功底,尤其是有了运用语言进行程序设计的能力,学习数据结构就会事半功倍,加上算法设计与分析,就会相得益彰,为程序设计或者是软件开发打下良好的基础。另外,计算机组成原理之后上计算机操作系统,数据库基础之后上SQL Server数据库开发与实现,通过.NET Framework程序设计的承前启后作用,逐步引入数据访问技术-、Web应用开发-、基于.NET Framework的Windows应用开发,分成3个学期完成,见表4。这样课程之间既有很好的衔接,又能保证每门课程都有明确的专业技能培养目标。
3.3第5~7学期内容
新的专业课程体系第5~7学期包含专业基础课、专业方向课和专业选修课。具体课程分布如表4所示。专业方向课程既包含软件架构设计,同时包含对算法的设计与分析,在方向上分为Web、Windows应用、网络和测试,同时涵盖多媒体技术与图像处理。在第6个学期引入微软实训,第7个学期开设案例教学。
在新的课程体系中,有10门课程是属于微软的课程,同时新增了6门与整个课程体系配套的专业课程和1门新的实践课程(微软实训)。这17门专业课程占该专业方向所有专业课程的50%。
随着技术的更新换代,可以通过修改专业选修课的方法来保持专业方向的持续发展和与时俱进,而其他方面的课程则相对稳定。
要着力培养学生对这些知识的灵活运用,并用来解决实际问题。对于这些知识的考核,应当要改革传统的考核方式,轻笔试,重上机、实验、程序设计或者课程设计等。要他们参与到高年级同学的实践或者虚拟/实际的项目中,解决特定而具体的问题。
3.4实践教学
构建以“一体化、分阶段、多层次”为特征的实践教学体系。实践教学有多种形式,主要包括上机、实验、课程设计、专业实践、微软实训、毕业设计等环节。在专业基础课、专业方向课和专业选修课共88个学分中,实验课时占30个学分,比例为34.1%。加上实践教学环节与专业相关的16个学分,专业实践教学体系共46个学分,占整个培养方案172个学分的26.7%,达到了25%的要求。
鼓励对主干课程不仅要进行课内的上机或实验,还着重要学生进行课外的课程设计并占总成绩的较大比例。要抓好专业实践和微软实训两个关键的实践教学环节。
毕业设计(论文)是培养学生综合运用所学知识,分析和解决实际问题、加强工程素养、增强创新意识、提高独立工作能力的重要途径。为切实提高学生的实践动手能力和工程素养,实现把学生培养成应用型工程科技人才的目标,我们改革了毕业设计(论文)的内容和组织形式,时间可贯穿大学4年,集中在大三、大四。该环节的学分可由专业课题小论文、课程设计、作品、教研教改、社会调查、学科竞赛、科技发明(专利)及与专业相关的职业资格证书等组成。对选做毕业设计(论文)的学生实行准入制。在毕业设计(论文)过程中,要加强它的过程监督、提高它的水平与质量。
在实践教学过程中,要注重发现、培养优秀学生,把他们吸纳到教学、教研教改、科研和项目中来,形成以点带面辐射式的良好影响。
4结语
任何高校,其本质就是培育高等人才的摇篮。独立学院不要一味去强调与其他类型的学校(如高职院,一、二本公办学校等)的区别,也不要陷于自己是“另类”学校的泥潭。笔者认为独立学院要坚持“一个中心,两个基本点”的指导思想,即以教学研究为中心,以课堂、实验两个为基本点。
市场需求实践能力强的人才,应用型人才培养定
位不仅需要上手快,而且还需要能实战、后劲足的人才。提高就业竞争力,提高就业率和提高就业质量需要能用、好用的人才。目前学生就业是一个非常严峻的现实问题,但可以肯定,只要学生有过硬的技术水平,良好的工程素养和人文素养,那么就业肯定是不成问题的。所以我们要想方设法在整个大学4年中,对学生实施连续、一致、多应用、不间断的专业能力培养,从而加强学生的专业素养,培养他们成为应用型人才。
学校要深刻掌握独立学院学生的特点,结合独立学院的实际情况和未来发展需要,尤其要与所服务区域的改革发展紧密结合。对于中山学院来讲,就是要紧密围绕“珠江三角洲地区改革发展规划纲要(2008―2020年)”,在培养学生的理论知识与实践动手能力两个方面找到适合独立学院发展的平衡点。核心就是培养的学生要满足“三适应”的特点,即把学生培养成适应学生自身特点、适应市场、适应发展的应用型人才。
参考文献:
[1] 周艳明. 独立学院计算机专业参考课程体系[J]. 计算机教育,2008(20):66-69.
[2] 周艳明,傅瑜. 浅谈大学计算机应用型人才培养课程体系[C]∥全国高校软件工程专业教育年会组委会. 全国高校软件工程专业教育年会论文集(2007). 北京:高等教育出版社,2008:205-208.
[3] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006:248-270.
A Course System of .NET Software Development Through School-enterprise Cooperation
ZHOU Yanming, FU Yu, LI Wensheng
篇8
1现状分析
高校的专业设置受到社会分工的直接影响。一般说来,高校的专业设置主要以满足社会已有专业分工为原则,使大学生一毕业就能很好地适应专业工作岗位。
然而,信息管理与信息系统(以下简称信息管理)专业的设置却有些特殊。中国信息技术发展与应用起步较晚,远远落后于发达国家。为了尽快与发达国家接轨,加快国家信息化建设的步伐,在社会专业岗位并不清晰的情况下,中国高校纷纷开设信息管理专业。
从20世纪80年代开始,信息管理专业从无到有,发展非常快,至今已遍布全国各大高校。信息管理专业的职业定位从建立至今始终处于探索状态,虽然国内外学者一直在研究探索信息管理专业的教学体系、职业定位,但是大多没有系统化地从信息管理专业社会职业定位的角度来反思学生的知识构成与专业技能,使得教学体系的改革始终与学生就业脱离,没有从根本上实现信息管理专业学生专业培养与将来就业的直接接轨。
从理念上说,信息管理专业是一个管理学与计算机科学交叉的专业,所学的课程一般包括管理学相关课程、计算机相关课程和信息管理相关课程等。学生的就业方向可以是管理、计算机和信息管理,侧重在信息管理。
但从实际就业情况来看,信息管理专业毕业生应聘工作岗位时,往往会出现这样的情况:管理技能不如管理专业的学生,计算机技能学生不如计算机专业的。人才市场上提供的信息管理岗位需求比较少,且多数是要求从事电子化办公秘书工作,没有多少专业技能可言,这样的岗位各专业的本科生都可以胜任。由此反映出现行的信息管理专业在职场上没有体现其特有的、有别于其他专业的自身职业素质和技能,这是影响信息管理专业实现可持续发展的关键问题。
2信息管理专业人才职业定位分析
教育部在《普通高等学校本科专业目录和专业介绍》中对信息管理与信息系统专业的业务培养目标做了明确规定:本专业培养具有现代管理学理论基础、计算机科学技术知识能力,掌握系统思想、信息系统分析和设计方法以及信息管理等方面的知识与能力,能在国家各级管理部门、工商企业、金融机构、科研单位等从事信息管理及信息系统分析、设计、实施管理和评价等方面工作的高级专门人才。
根据上述培养目标来检索具体的社会岗位需求,发现国家企事业单位或部门在招聘的时候很少提供信息管理专业岗位需求,即使提到也是等同于计算机相关专业要求。
国家企事业单位信息化建设已经进入高速发展轨道,信息化战略地位、信息化推进组织体系、 信息化政策规划体系、信息化基础设施等已初步建立。信息化建设已经成为衡量企事业单位核心竞争力的重要指标,我国现阶段正处于信息化建设期,毫无疑问,社会需要信息化建设人才。
以企业信息化建设为例,其信息化人才需求包括技术领域、制造领域、管理领域等方面信息化建设人才,同时需要计算机硬件系统购置与维护、软件系统开发与维护、网络环境维护、信息化建设规划等方面人才。
技术领域信息化建设主要要求计算机辅助设计专业;制造领域信息化建设主要要求计算机辅助制造专业或自动化专业;管理领域信息化建设一般要求计算机及相关专业。
很明显,信息管理专业岗位应该在管理领域(覆盖政府机关、工商企事业单位等各行业管理领域)信息化建设,重点要放在信息化建设规划,管理信息系统分析、设计与开发,信息系统软件引进、实施与维护上。
从我国信息化建设现状来看,企业内部在信息化建设方面的岗位需求没有进行专业细分,它将管理信息系统软件的分析、设计、开发、引进、实施、维护和信息管理等工作需求统归为做软件。因此,企业招聘应届毕业生的入门要求就是能够编程,包括企业内部覆盖销各职能部门的信息系统软件,也包括企业各层次网站系统开发。而政府机关、事业单位则以网站系统开发和工作流管理为主。
也就是说,信息管理专业人才进入企事业单位的基础技能是软件开发,这一点与计算机软件专业毕业生就业要求相近。但在开发过程中,信息管理专业人才优势逐渐显露出来。即在系统需求分析过程中,信息管理专业学生更容易理解管理者的要求,对管理理论思想方法的掌握使其能够在理解现行管理系统的同时提出更高的管理信息化建设思路。
根据上述分析,信息管理专业人才要在信息化建设中找到合适岗位,软件开发技能培养是未来就业的敲门砖,而管理理论思想和方法的掌握则是其未来成为企业CIO的奠基石。
3信息管理专业人才知识体系构成
信息管理与信息系统专业培养的专业技术人才既不是计算机软件开发人员,也不是管理人才,它不同于计算机科学与技术专业,也有别于工商管理等管理专业。它的专业知识体系是二者的融合,与二者有很多交叉,又有很大差别。在基础理论上它强调管理学基础,在应用技能上则强调信息系统软件开发能力,编程能力将是其走入社会成功就业的基本要求。
应对现行的社会需求,信息管理专业人才知识与能力的构成至少要包含下述几个方面:
(1) 经济学、管理学等方面理论知识
要求信息管理专业学生学习掌握经济学的基本理论与分析方法,掌握企业管理相关理论知识,知识面涉及企业计划、采购、生产、财务、销售、人力资源等多方面管理理论知识。
(2) 计算机科学与技术方面基础知识
要求信息管理专业学生学习掌握计算机基本组成、操作系统、数据结构、数据库原理、程序设计基础、网络基础知识等。
(3) 管理学思想理论方法综合应用能力
要求学生能够综合运用所学的管理学理论与方法、经济学理论与方法、运筹学方法、应用统计学方法解决实际管理问题,这需要在教学过程中以案例引导方式培养学生自主思维、自主学习、自主解决问题的能力。
(4) 信息系统软件开发能力
要求学生在掌握计算机科学与技术知识的基础上,综合运用数据库技术和相关开发工具,实现信息系统软件的开发。
(5) 应用信息技术解决管理问题的能力
要求学生能够综合分析现行管理存在的问题,借助信息技术的应用,结合管理流程再设计,提出管理信息系统综合解决方案。
作为一个从事管理信息系统分析、设计、开发和维护的信息化建设人才,要掌握必需的管理学理论知识,并在此基础上强化信息系统分析、设计与开发能力。对于信息技术的掌握,不能只是认识和了解,必须经过信息系统软件开发的磨炼,形成系统化应用信息技术的能力,才能支持学生进入信息化建设行业中,胜任信息化建设规划,管理信息系统分析、设计与开发,信息系统软件引进、实施与维护等信息化建设工作。
4建立信息管理专业人才培养新模式
为了能够适应当前社会需求,信息管理专业人才培养必须以就业为导向,将理论教学和实践教学密切结合,将信息管理专业学生培养成为既有扎实的理论知识,又有一定专业实践技能的跨学科复合型人才,真正实现信息管理专业人才培养与社会岗位需求的零距离对接。 信息管理专业人才培养需要分阶段确定培养目标,通过各阶段学习与积累,逐步达到人才培养目标。
(1) 信息管理专业管理学基础能力培养
以理论教学为主,结合案例教学,培养学生管理学基础。参考教育部规定,开设下述课程:经济学、会计学、市场营销学、生产与运作管理、组织战略与行为学、管理学原理、应用数理统计、运筹学等。
(2) 信息管理专业管理运营技能培养
以提高学生的运营管理方面专业素质为目标,在掌握管理学基础知识的基础上要求学生掌握经营管理的综合运用能力。开设ERP沙盘模拟演练实验课,通过实际运营的模拟演练,将学生对理论知识的掌握上升到实际运用阶段。同时,通过运营能力的竞赛激发学生专业学习兴趣,培养学生系统管理思想,提高学生综合运用管理知识的能力,使学生建立立体的管理学思维方式。
(3) 信息管理专业计算机基础能力培养
在管理学基础知识培养的同时,培养学生计算机基础能力,主要开设下列课程:计算机导论、数据结构、操作系统、数据库原理与应用、程序设计语言、网络工程、软件工程等。
以提高学生的计算机技术方面专业素质为目标,要求学生掌握简单软件开发能力。结合信息系统分析与设计课程,建立软件开发基础实验室,通过对数据库、程序设计语言的综合运用,提高学生对计算机技术的基础应用能力。
(4) 管理信息系统分析与设计思想的培养
在管理学基础知识和计算机基础能力培养的基础上,开设企业资源计划(ERP)原理与应用课程,开设ERP系统操作实验课,培养学生将管理学知识与计算机知识综合应用能力,强化学生管理信息系统集成设计思想,提高管理信息系统分析设计能力。
(5) 管理信息系统软件开发能力的培养
开设信息系统分析与设计课程,开设软件开发实训课程,要求学生完成一个管理信息系统的开发,提高学生的软件开发能力。结合学生的毕业设计,要求学生完成管理信息系统分析、设计、实施全过程中,使学生具备信息化建设人才岗位需要的能力。
5结束语
当然,信息管理专业人才培养新模式的推出将对旧教学体系有很大冲击,特别是对本专业专任教师的知识构成和技能要求非常高。
学生专业思维方式的形成是通过每一门课程的学习、每一位授课教师专业思维方式的渗透而逐步形成的。这涉及专业人才队伍知识构成的改变,涉及整体教学课程的调整,对师资力量提出了有别于管理专业和计算机软件专业的、更高的专业技能要求。
信息管理专业专任教师的知识构成要兼有管理学知识和信息技术技能,同时要求进行过管理信息系统软件开发,否则很难在学生的4年学习过程中逐步引导学生建立系统分析、设计、实施,用信息技术工具解决管理问题的完整的、系统化的专业思维方式。特别是学术带头人应该具有实际管理信息系统开发经验和大型软件实施经验,能够从专业发展角度引领信息管理专业人才培养方向,达到高质量、高目标的专业人才定位。如果以管理学方面教师或计算机方面教师作为学术带头人,由于其专业思想的局限,会导致专业发展向某一方面侧重,造成信息管理专业学生只懂管理、计算机相关技能很差,或者有一定的计算机相关技能、管理理论基础却很薄弱的情况。
另外,在实际教学过程中,虽然将编程作为学生的基本技能培养,但更要注重学生的分析与设计能力的提高。编程能力是信息管理专业学生就业的基础,而在信息管理专业人才未来的职业生涯中,能够助其良好向上发展的应该是分析与设计能力。
在当前学生就业形势非常严峻的大环境下,如何最大限度满足社会对专业人才的需求,合理调整专业人才培养体系,实现教育与就业的近距离对接,这是当前高校专业教育必须思考的问题。从本科生职业定位入手,研究适合学生专业的社会需求,明确岗位所需要的专业技能,针对不同学习阶段,确定不同的相互关联的人才培养目标,形成完整的教学体系,将是未来高校专业人才培养体系调整的新思路,也是解决高校教育与社会就业脱离的人才培养新模式。
主要参考文献
[1] 中华人民共和国教育部高等教育司.普通高等学校本科专业目录和专业介绍[Z].北京:高等教育出版社,1998.
篇9
随着我国软件产业的不断发展,软件开发方式已经由传统的作坊式逐步升级为工业化、流水线式的生产模式。在这种工业化生产模式下,行业和企业对具备一定软件开发经验的软件工程师、软件项目经理等软件人才的需求日益增加。而目前的软件人才培养现状并不能满足这种社会需求。许多高校在软件人才培养方面与行业现实需求脱离,传统的教育模式中存在一些问题,如教学注重理论知识掌握、教材内容陈旧、教学方法落后、实践训练不足等,导致学生的工程实践能力不足,不能满足企业的实际开发需要。因此,软件人才培养模式有待进一步改革。
印度的NIIT教育模式是目前公认的IT软件人才培养的成功典范。NIIT教育培养模式注重培养学员的动手操作能力、工程实践能力和设计研发能力。本文在探索NIIT教育理念和教育模式基础上,结合本校计算机科学与技术软件人才培养计划和培养方案,通过构建嵌入式课程体系、有效组织教学内容、改革传统教学方法等途径进行软件人才培养模式改革的探索,对高校培养创新型应用人才具有一定借鉴意义。
2探索NIIT教育模式,构建嵌入式课程体系
NIIT是印度国家信息学院(National Institute of Information Technology, NIIT)的简称,1981年开始在印度开展IT教育培训。NIIT在发展过程中总结出一套独特、先进、高效的教学模式。在实际教学过程中,通过让学生学习使用主流软件开发方法和技术,注重培养学生的工程设计能力、软件研发能力和实践创新能力。NIIT软件人才培养模式采用以软件订单项目为基础的专业实践能力和操作开发能力培养方式,学生学习时就能参加软件订单和软件项目的设计和研发,毕业后能很快适应企业开发要求,并成为合格的专业技术人才[1]。
在嵌入式NIIT教育模式的指导下,探索构建适合软件行业要求的课程体系,是培养计划的重要组成部分。针对目前业界对IT人才的需求,NIIT课程体系主要分为Java方向和.NET两个方向,以培养学生具有数据库开发能力、J2EE开发能力、.NET开发能力、COM+组件开发能力和移动开发能力的软件工程师为目标。学生通过阶段性循序渐进的学习和实践,掌握软件开发的主流软件和技术。
因此,我们通过借鉴NIIT教育模式在软件人才培养方面的优势,在制定计算机科学与技术专业软件工程方向的培养计划时,应将以传统学科建设为导向、以追求知识完备为目标的教学转变为以企业需求为导向、以培养学生综合素质和能力为目标的教学。在新培养目标的指导下,我们对原有课程体系进行改革,在原有课程体系中嵌入NIIT部分课程,经过整合,将课程体系划分为公共基础类、专业基础类和专业类三大类,课程体系如图1所示。
图1嵌入NIIT课程体系
软件工程方向的专业类课程包括专业必修课程、专业限选课程、专业任选课程和认证课程。专业必修课程包括UML统一建模语言、软件项目管理、软件质量保证与测试、软件设计与体系结构和软件需求分析等,作为软件开发和技术知识掌握的基础;在专业限选课程中,嵌入了NIIT的两条软件开发技术方向,即.NET方向和Java方向。NIIT的课程体系基本是循着这两条技术路线搭建的,其特点是由浅入深、由点到面、技术路线明晰。.NET技术路线课程开设C#程序设计、Web应用开发、.NET应用开发等课程;Java技术路线课程开设Java程序设计、J2ME移动应用开发、Java EE应用开发等课程。同时增加了辅助这两条技术线路的专业任选课程,如软件设计模式、软件开发案例分析等。同时,根据软件行业的相关认证,我们开设一些认证课,使学生在获得素质学分的同时得到行业认可。
嵌入NIIT教育后的课程体系,既符合计算机科学与技术专业规范,又符合行业对软件人才能力培养的实际要求。根据该课程体系构建的人才培养方案,能确保学生掌握主流开发技术.NET和Java之一,毕业后能够很好地适应软件市场对人才的需求。
3合理组织教学内容,改革传统教学方法
教学内容的组织改变了传统注重书本和理论知识的方式。以往学生掌握主要技术知识后,并不能将其很好地应用到解决实际问题的过程中,课堂讲解中的理论和实践分离,学生处在被动状态,没有时间思考,没有机会参与。而嵌入式NIIT教育模式更着重知识的运用和学生实践能力的培养,针对不同课程设计合理的应用案例,这些实例基本上来自于软件生产的实际问题,教师可以根据教学实际自己编写实践教材,修订实践教学大纲,安排合理的实践环境。因此,通过合理组织教学内容,采用适应软件人才培养的教学方法,可以让学生从工程的角度学习专业知识,并有效培养学生的实践操作能力和软件研发能力。
在教学方法上,NIIT教育模式独创了软件教育的MCLA (Model Centered Learning Architecture),即基于榜样的学习方法。MCLA教学方法是遵循“专家引导―引导实践―引导探索―独立实践”这一完整的工程实践训练过程[2]。在传统教学中,学生学习某个知识点之前,首先掌握一些基本理论和概念,然后通过一些简单的验证性实验或简单实例,达到掌握理论知识的目的,这并没有注重培养学生动手解决问题的综合实践能力。而MCLA教学法以工程项目为载体,经过“学习―实践―提高”,逐步引导学生在学习和完成项目的实战训练中形成知识获取能力、解决问题能力、团队合作能力、创新开发能力。
采用MCLA教学方法,教师要设计合理的工程案例,这也需要教师有一定的工程背景或经验。然后,教师以本次课程所传授的基础知识为主线,向学生介绍实际问题的相关内容,让学生了解所要解决的问题是什么。接着,进入专家引导,经过教师示范性地使用标准方案解决问题,学生可以进行模仿,并从中掌握必备的知识。最后,开展引导实践环节,学生已经具备一定的知识基础,可以完成一个类似的实际应用问题,通过不断的练习和团队实践,可以巩固所学知识和技术。教师引导学生设计实现相似案例,将及时应用所学理论并很好地巩固,同时引导学生掌握软件开发技能。这样,学生在实践过程中能够逐步独立完成一个新的工程应用项目。
4加强实践教学环节,培养学生综合素质
突出实践技能是NIIT教育模式的侧重点。在嵌入式NIIT教育模式中,特别重视以软件订单项目为基础的专业实践能力和实际操作开发能力的培养[3]。实践可以使学生将理论与解决问题的实践相结合,从大量的实践训练中不断提升软件开发和动手操作能力。根据软件人才培养目标的要求,学校需要加强实践教学环节的设置、构建科学优化的实践教学体系,全面培养学生的综合素质和实践创新能力。
在教学计划中,我们减少单纯的实验性、验证性的实践课程,增加符合NIIT教育模式的设计性、综合性、工程性、创新性课程。经过对实践教学内容的优化整合,设置了与嵌入式课程体系相辅相成的实践教学环节,包括基础实验环节、工程基础训练环节和综合实践环节。基础实验环节注重学生对基础知识的掌握,注重基本技能的训练。与相关理论教学环节对应,主要开设一些专业课的实验课,为学生掌握扎实
的专业基础知识并锻炼动手实践能力提供基础平台。工程基础训练环节主要开设专业课程的课程设计、工程实训及一些校企合作课程,开展带有工程性质的工程基础训练。综合实践环节主要开设学年综合设计(或学年设计)、毕业设计(论文)、学生科技创新项目和科学研究训练等。在设计性和创新性实践中,由学生自己实现软件研发的全过程,充分发挥能动性和主体性,提高勇于探索的创新思维和创新能力。通过实践环节的训练,学生的实践创新能力得到逐步锻炼和提升,并且逐步与企业工程环境接轨,可以顺利地从基础实验平台上升到工程实践平台,达到企业对软件工程师的要求。
5结语
通过将适应企业需要的NIIT教育模式嵌入到计算机软件人才教育中,打破传统的以理论知识的渐进积累辅之以实验佐证为主要特征的教育模式,按照企业实际需求培养应用型和创新型软件工程人才,是软件教育改革的一种有效尝试。探索嵌入式NIIT教育模式,对于培养具有较强动手操作能力、工程实践能力的软件人才,具有一定借鉴意义,对于教育部提出的开展“卓越工程师”培养计划,是一种有效的尝试。
参考文献:
[1] 李洛,汪清明. 导入印度NIIT模式,提高高职软件人才培养水平[J]. 比较教育研究,2004(2):34-38.
[2] 刘志成,陈承欢,彭勇. 嵌入式NIIT教育模式中教学方法的研究[J]. 职业教育研究,2007(2):154-155.
[3] 李洛,古凌岚,罗佳,等. 印度NIIT软件人才培养模式的探索与实践[J]. 广东轻工职业技术学院学报,2003(9):49-52.
Discussion on Software Talents Training Mode Based on NIIT Education
SU Rina, FAN Jianbo, YU Hua, LIU Liangxu
(College of Electronic and Information Engineering, Ningbo University of Technology, Ningbo 315016, China)
篇10
对于EET课程,在软件外包专业(群)中的定位是非常重要的。通过参与项目的开发,学生能理解软件开发思想,熟悉软件项目开发的基本流程,熟悉企业主流开发技术(HTML/CSS/JavaScript/C#///SQLServer2008等);熟练使用设计、开发工具(Visual studio 2010等),强化需求分析、设计、编码、测试的技能,提高编码熟练度,熟悉项目开发文档和表格的撰写;增强解决处理问题的能力。能体验企业对不同的岗位要求,强化自我领导力与团队协作的能力,积累企业项目开发经验。
职业能力培养目标:(1)能掌握软件项目开发所用到的主流编程技术,并进行项目模块编码。(2)能准确理解用户需求说明书、需求规格说明书、系统设计说明书。(3)能基本编制子模块的详细设计说明书、测试用例、测试数据。能够根据测试用例准确执行测试,对测试数据进行基本分析,并基本完成测试报告。
1 课程现状及存在问题
EET(企业经验实训)作为软件技术专业大二下学期的一门综合型的实训课程。它是多门软件技术课程的综合实战运用,也为后期的顶岗实习和就业积累企业项目开发的经验。在EET课程中,,如何把基础课程、专业课程的知识点穿来,让学生能够融会贯通的使用技术,并且能够开发企业实战项目。因为EET课程的前导课程,都是学生在大一、大二上学期学习的课程,如果把这些课程比喻成“点”的话,那么EET课程首先把这些点连起来,形成“线”,然后把线连成“面”,面就是软件技术的整个开发流程。掌握了这个“面”,让学生能够把握住整个企业项目。
2 教学条件
本课程标准引入的小项目是学生比较熟悉的项目,更容易学生操作,而大项目是来自企业的实际项目,更利于学生职业能力的培养。在教学活动中,引导学生主动积极学习,注重实训教学参考手册的开发和应用。注重实训平台软件、课程资源库等常用课程资源和现代化教学资源的开发和利用,这些资源有利于创设形象生动的工作情境,激发学生的学习兴趣,促进学生对知识的理解和掌握。积极开发和利用网络课程资源,充分利用诸如电子书籍、电子期刊、数据库、数字图书馆、教育网站和电子论坛等网络信息资源,使教学从单一媒体向多种媒体转变;教学活动从信息的单向传递向双向交换转变;学生单独学习向合作学习转变。同时应积极创造条件搭建远程教学平台,扩大课程资源的交互空间。产学合作开发实验实训课程资源,充分利用本行业典型的企业资源,加强产学合作,建立实习实训基地,实践工学交替,满足学生的实习实训需求,同时为学生的就业,创造机会。
教学环境:60座机房二个,能够运行VS 2010,SQLSERVER2008等项目开发环境的计算机实验室;服务器2台,用于教学平台、数据库服务器、课程资源服务器、版本管理服务器、项目演示服务器;实验室也要有多媒体教学设备。
3 技术串讲阶段的教学改革主要内容
EET课程教学实施主要分为三个阶段:技术串讲、框架开发、项目实战。其中,第一阶段是技术串讲。技术串讲就是把所有前导课程的技术重点和难点,在有限的时间里,系统的讲解一次,为后面两个阶段打好基础。技术串讲阶段,通过对开发需要了解的基础知识进行串讲,给学员建立宏观体系,明确各部分知识在整个体系中的位置,理解各部分知识在体系中的作用;在复习基础知识时注重对各部分知识中的重点、难点进行讲解,最后以一个综合实例将基础知识有机联系在一起,为后续的框架项目开发打下坚实的基础。
4 预期成效
预期成效1:给软件技术专业的学生建立宏观体系,让学生明确各部分知识在整个体系中的位置,理解各部分软件技术知识在软件开发体系中的作用。
预期成效2:让学生了解软件开发框架的作用与意义,熟悉开发框架的技术细节,能够在完整的开发规范指导下,实际开发一个小型的项目,充分锻炼技术能力,掌握基于框架的开发方法。
预期成效3:上通过大型项目的开发,熟悉项目开发流程,理解项目管理的基本理念,学会需求分析及系统设计方法,提高技术的使用熟练度,充分锻炼团队开发的协作能力,理解测试过程及Bug跟踪的流程,从而积累真实的项目开发经验,拉近与企业用人需求的距离。
5 结论
通过4个月实训过程,让学生掌握一线实践技能,学习和实践公司规范化、专业化、标准化的管理运作、业务流程及项目开发流程,感受公司对员工知识结构、技术技能、团队合作的要求,体验企业文化氛围,积累项目开发经验。在课程的前导技术串讲阶段,学生将之前所学专业课程进行技术串讲,形成知识面,掌握软件开发的能力,为后期的项目开发奠定基础。
篇11
1软件工程人才培养课程体系
我校是以教学为主,培养应用型人才的地方本科院校。我校的计算机软件工程人才培养定位是:“掌
握计算机科学与技术学科的基础知识与技能,具有一定的工程技术基础和较强的实践动手能力,具有创新精神、竞争意识和良好的团队合作能力,能够适应技术进步和社会需求变化,能够从事计算机应用软件开发与管理的高素质软件工程人才”。根据国家对本科人才培养“宽口径、厚基础、强能力、高素质”的总体要求,和教育部高等学校计算机科学与技术教学指导委员会的软件工程专业规范[1],我们构建了简称为“211”结构的课程体系,它主要包括大学基础教育、专业教育、职业技能与技术应用教育、综合素质培养四大板块。即在大学一、二年级,用两年的时间进行大学基础教育,包括人文社科、身心健康、工具(外语、计算机、文献检束等)、专业基础等,以学生长远发展需要,提升基础知识层面和综合素质,为后继的专业课程学习做铺垫为目标;三年级进行系统的专业教育,以专业核心知识和基本能力培养为主,以提升学生专业知识层面和专业基本能力为目标,同时开启必要的专业方向课程,为后继的职业技能培养做铺垫;四年级进行面向岗位的专业职业技能培养和技术应用创新教育,以学生就业为目标,其主要的教学形式是实践教学。课程体系结构如图1所示。
图1人才培养课程体系结构示意图
2目前国内软件开发实训存在的主要问题
目前国内开展软件实训的机构主要有三类:企业或软件行业协会投资的社会培训机构;由政府、企业等多方投资建设,独立运营的实训机构;校企合作共建的实训基地,这中间又有两种,一种是以学校投资为主,实训基地建在校内;另一种是学校进行必要的投资,实训基地建在企业。实训开展形式主要有三类:1)学校将实训委托给社会培训机构或企业,由他们负责学生实训教学;2)学校与社会培训机构或企业合作,派出实训指导教师与承担实训教学任务的机构共同实施实训教学;3)由学校自己组织在校内进行实训教学。由于承担实训任务的主体各自的利益目标不同,各自的擅长不同,实训对象所拥有的基础不同和各自对实训的理解不同等多种原因,造成目前软件实训存在以下主要问题:
1) 实训的内容体系设计单一,通常只要求通过训练掌握某项具体的开发平台技术,追求的是程序代码的实现。
2) 用于实训的软件开发项目小,软件开发过程的控制与管理、软件质量控制与保证、团队的合作与协调等软件工程的重要内容和思想体现不出来,使得学生在实训之后,没能体会到软件工程的特点和重要性。
3) 实训指导教师的软件项目开发经验少,工程素质不高,同时缺乏相关的教学经验,不能保证软件工程的思想、技术、方法和要求在实训中得到贯彻落实。高校教师在软件开发的工程能力和经验上缺乏,而来自企业的指导教师在软件工程理论和实训教学方法上存在明显不足。
4) 实训所需的工具、平台等条件不足,不能保证实训目标全部实现。
5) 实训的团队合作、团队目标管理往往被忽略,这使得经过实训之后,学生的团队意识,与人沟通、协调、合作的能力没有明显的提高。
6) 实训中学生对新知识、新技术学习的能力培养没有得到应有的重视和训练,鼓励创新的机制和措施不够,这使得经过实训之后,学生除在具体某项技能方面有所收获之外,在学习能力、技术应用能力、接受新事物和创新意识等方面收效甚微。
3软件工程实训课程体系建设
实训是一个综合、系统的工程,其目的是提高学生的知识、技术应用能力,积累工程实践经验,从而提高职业技能,实现从学生向职业工作者的转化。对于以上存在的问题,我们认为师资、课程体系是核心和基础,实训项目是关键,在干中学,在学中干是行之有效的方法。以下仅就软件工程实训课程体系的建设进行探讨。
3.1目标定位
课程体系反映了对人才培养的知识和能力要求[2]。本科软件工程型人才的实训定位应该从软件开发企业的岗位要求、学生职业发展空间、初步能够适应多种岗位需要等多方面考虑。从学生初次就业的岗位看,软件开发人员的主要岗位有程序员、测试员等。这类人员需要有良好的理解设计和程序的能力,能够在一种开发平台上熟练地进行规范的程序设计和相应的程序测试,能够清楚自己所做工作与他人工作之间的关系,理解自己所做工作在整个(或局部)设计中的作用。从职业发展空间看,软件开发人员经过2~3年的实际工作锻炼,应能够承担软件工程师的角色,承担必要的分析、设计、任务分解、技术指导、协调和管理任务。所以,本科的实训目标定位既要面向现实,又要给学生发展的潜力和意识。我校的软件工程实训的目标定位是提高软件开发程序实现技能,提高软件工程知识、技术应用能力,积累软件工程实践经验,实现从学生向软件职业工作者的转化。具体要求是:
1) 熟练掌握一种软件开发平台及相关技术,能够用它们进行规范的程序设计。
2) 掌握软件测试的方法,初步能够设计测试方案,用测试数据集完成相应的软件测试工作。
3) 理解软件生命周期中各环节的主要概念,初步掌握各环节的主要工作、所采用的技术和实施方法,初步掌握有关工具的使用,能够用它们完成相关的分析、设计工作。
4) 了解软件开发的过程控制、质量保证和管理的方法和特征,理解它们的重要性。
5) 理解团队及各种角色的作用,掌握交流勾通、协调合作的必要方法,形成团队意识。
6) 形成快速学习专业知识和技术的能力,查阅相关技术资料(含英文资料)的能力。
7) 了解、体验软件企业的工作环境、形式和要求。
3.2构成原则
实训以项目为载体,以软件开发的工作流程为驱动实现知识、技术、能力和素质的全面提高。实训课程体系作为实现实训目标,制定实训计划的基础和核心,应坚持以下原则:
1) 以企业实际需求为导向,以能力培养为核心,以学生适应软件技术岗位为目标,以职业岗位技能为重点,兼顾长远发展。
2) 注重知识、技术、能力、素质的协调发展,使学生通过实训既学习了知识和技术,又提高了应用知识、技术的能力,升华了自身的素质。
3) 以职业技能训练为重点,突出技术应用能力培养,强调在应用中创新,通过解决问题来体现技术和人的价值。
4) 课程体系应具有开放性、灵活性,能够即时反映软件技术的发展。
5) 课程体系要与人才培养方案的课程体系衔接,有明确的应用软件开发领域,体现自身特色。
3.3课程体系内容
我校的计算机专业软件工程方向人才培养计划课程设置以计算机科学优先,接着是软件工程基础和软件开发平台技术基础课程,将软件工程的技术与方法、软件开发的管理、软件开发平台技术的深化、职业综合素质等方面的课程统一综合到实训课程体系中;以互联网应用软件开发为平台,以管理信息系统和电子政务/电子商务为应用领域。实训过程以软件项目开发工作流程为主线,内容涵盖项目开发的全过程,保证学生能够体验到软件开发的全过程。实训以职业技能和技术应用为重点,教师讲解不超过总时间的20%。软件工程实训课程体系如图2所示。
1) 在实训之前开设软件工程与技术基础课程群。它主要是为学生进入实训之前奠定必要的技术、
图2软件工程实训课程体系示意图
工程和应用领域知识基础。主要课程有软件工程导论、面向对象设计方法、信息管理系统设计与开发、C#语言程序设计、.Net架构程序设计(或Java语言程序设计、J2EE架构程序设计)、XML语言、Linux操作系统(或Unix操作系统)、电子商务、电子政务等。
2) 开发技术平台课程群。它是在.Net开发平台(或J2EE开发平台)基础之上进一步深化、细化有关技术,提高在开发平台上的软件实现能力的一组课程。主要课程有人机交互与界面设计、数据库程序设计、数据接口程序设计、Web Services设计、应用安全程序设计、动态服务组合、新技术介绍等。
3) 软件工程技术与方法课程群。它是一组提高学生软件工程意识、技术和方法的课程,是学生今后向高层次软件职业人员发展必备知识和能力。它培养学生具有软件工程的理论知识,能够应用它们指导软件开发的实践。要求学生掌握常用的需求分析与设计工具,具备一定的软件分析与设计能力,了解软件开发的管理过程和技术。主要课程有:软件需求分析、软件设计与体系结构、软件详细设计、软件测试与质量保证、软件过程与管理、软件分析与设计工具等。
4) 职业综合素质课程群。它是一组提高学生非技术方面的综合素质的课程。它培养学生团队意识、沟通合作能力、专业资料获取与专业外语应用能力,使其具有良好的职业道德和一定的工程经济概念,了解现代软件企业的运行与管理。主要课程有团队激励与沟通、工程经济学概念、信息社会与职业道德、软件成熟度模型与软件企业管理等。
在课程体系中,开发技术平台课程群是学生实习、初次就业体现自己的技术和能力的主要内容,同时它是更好地理解、掌握软件工程技术与方法中诸课程的基础。所以,它是实训的重点。软件工程技术与方法是中、高级软件职业人员必备的知识和能力,需要在大量的工程实践中去提高认识和积累经验。它在实训中以体验、领悟为主,重点是训练分析、设计的方法和相关文档的规范表达。职业综合素质课程群的知识对于学生步入社会,在职场上取得成功很重要,并且它是实训取得成功的基础性知识,要贯穿整个实训过程。
3.4评价指标
实训所包涵的内容和重点是实训成功的核心和
基础。为了科学评价与不断优化实训内容与重点,通过向行业专家咨询和实践,我们初步建立了一个实训课程体系评价指标体系[3]。它主要由职业技能、工程实践、专业知识和职业综合素质几个方面构成。评价指标体系如图3所示。
图3课程体系评价指标体系
4结语
我校从2005年开始,通过与微软合作,引进微软职业技术教育课程,开始在计算机本科教育中用一定的时间进行职业技术教育。通过对两届学生的教学实践,我们感到微软职业技术教育课程相对本科人才培养存在着软件工程方法、技术方面内容薄弱,而微软
开发技术内容过细的问题。2007年,我们通过对有关教学内容的调整补充,整合成软件工程实训。实训大大提高了学生软件开发技术的掌握和应用能力,增强了学生的就业能力和质量。2007、2008届参加软件工程实训的学生,90%以上到软件开发企业就业。学生的知识结构、技术水平和能力、综合素质等得到企业好评。
参考文献:
[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006:12.
[2] 舒蔚,万常选. 计算机专业程序设计课程体系架构的研究与实践[J]. 吉林大学学报:信息科学版,2005(8):1-4.
[3] 韩春燕,高晓兴,姜慧妍,等. 软件工程专业课程体系优化方法研究与实践[J]. 计算机教育,2009(4):70-73.
Research on Curriculums in Software Engineering Training
YUAN Lei, HUANG Jian, NING Bin
篇12
什么才是我们软件开发教育的核心知识架构,怎样才能培养学生可持续发展的核心竞争力?我们调查过一些非常高水准的软件开发者,发现他们往往在底层软件上持之以恒地进行长时间深刻的锻炼,然后在未接触的新领域才能非常迅速地掌握核心。例如,一个非计算机专业的系统分析员曾经“只”在DOS这种原始的操作系统下玩了10年,甚至自己写过一个汉化的DOS。他只有书本上的一点点网络知识时,就用一两天时间解决了一个学通信的研究生1个月都不能解决的网络故障。这是一个典型的例子,他并没有“实际的”网络经验,什么使得他如此轻松地进入了新的领域呢?而另一个曾就职于vmware、google等顶级公司的程序员,在Unix下只用C语言做了10年系统级编程。当用Java,C++甚至是javascript时,其学习时间只是1天,很快就比做了几年专门java编程的程序员还精通。如何才是软件开发人员的本质力量?什么才能让他们在变化万千的新技术面前屹立不倒,乘风破浪?
2.1计算机工程能力
我们认为计算机工程能力包含两方面的内容:(1)核心知识架构;(2)计算机的思维方式。什么是核心知识架构呢?是反应该领域最基本规律和支撑技术的知识。简单地说就是传统的操作系统、编译、数据库。操作系统将硬件、软件、高级语言和汇编融汇在一起,它几乎包括了软件工程中所有重要的因素。举一个简单的例子,似乎只有面向对象这种“高级东西”才有的虚函数运用,其实在Linux中就有相应的虚文件系统。操作系统是最为复杂的计算机工程之一。编译融汇了大量的算法,而且能让大家真正看“穿”语言的外表,深入到其内里,体现了最根本的计算机技术。其优化技术,也深刻地和硬件交融在一起,很好体现了底层风范。数据库,不仅是运用算法最多的地方,甚至是超越操作系统的一个复杂的系统,从缓存技术到i/o优化,到索引,再到事务处理,无一不是反映计算机最深刻规律。大家可以发现,所谓核心知识架构,都具有两个特点,反映本质规律,体现软硬融汇交织。也只有这样,才能建立下面谈到的“计算机思维方式”。
2.2核心知识架构
为什么我们没包括一些新兴的语言和技术呢?似乎它们很“实用”。而且已经出现的问题是,按照传统科目和方式学习后,学生在企业什么都不会。这也正是大家关注工程教育的初衷。为什么不强调这些新兴实用技术的教育还在强调“古老”的“基础”。计算机领域一个显著的特点是,表面上知识更新非常快,新技术、语言层出不穷。这很容易导致当我们发现学生能力欠缺时,将问题归罪于新技术的学习不得力,知识结构老化。但其实目前的问题可以从另外一个角度考虑,是否是基础教育不得力?分析国外著名大学,如斯坦福、伯克利的课程,我们发现两个特点:(1)关键的基础课程,如操作系统、编译原理、数据库,始终是其最重要的课程,并没有过分追逐各种“新潮”技术。(2)学生一学期能修的课程非常有限,一般为3门课。而国内却呈现相反的状况,比如编译原理被降到了选修课的角色,新潮课程层出不穷,一个学生二年级一学期要修13门课。在这种走马观花的状况下,计算机这种具有强烈“手艺”色彩和工程实践的学科,被完全纸上谈兵化。而一些可怜的实验内容,还被学生的复制拷贝所湮没。我们认为,恰恰是这种情况,使得基础核心知识教育没有工程化,没有充分动手,导致了基础知识教育某种程度上的巨大失败。从以下鲜明的对比可以窥见问题的端倪:国内学生反映操作系统课程是文科课程(只需要背条款考试即可);而相对地,国外著名高校操作系统课程要求学生实现“小”操作系统。国内数据库只讲其应用(如大量讲解sql等运用,sql即使非计算机专业人士也很容易学习,这也是它被发明的初衷)。斯坦福的数据库课程中有一门需要实现一个数据库系统。在笔者走访的计算机工程上优秀的人才,发现其共同的特点就是在诸如操作系统或数据库上都有很深入的学习经历,比如前面提及的自己构建过汉化DOS系统,或者在Unix下,做内核以及驱动很多年等。而当他们接触新技术时,之前深刻的经验和淬炼的思维就让他们如虎添翼,快人一等。更有甚者,国外真正的最顶级专家,都是在这些领域有无与伦比水平的专家,从delphi的缔造者,转战到微软并入主.net平台的开发,也可看到雄厚的底层知识和能力的巨大作用。所以“老”知识并不是障碍,而是通向天堂的阶梯。究其原因,就涉及到工程能力的第2个方面,计算机思维方式。
2.3计算机思维方式
对非专业人士它是很抽象的概念,而对真正专业人士,这又是一个非常鲜活的概念。这里限于篇幅,我们只举一个简单的例子。面对在C++中外部代码如何直接修改私有变量的问题,计算机的思维方式就是:对象也是放在内存中,只要能拿到对象的地址,并知道对象的布局,那么就可修改。而没有建立这种思维的人,就完全被高级语言的语法所左右,无从下手。一句话,无法看到本质,没有从下而上的底层思维。核心知识课程的有效深入教学和计算机思维方式建立有何直接关系呢?我们认为核心知识因为其反应了计算机本质规律,而且从底层建立起来,所以对其深入掌握运用后,它从开始的逼迫到最后的陶冶,最终潜移默化地让受众建立起“计算机思维方式”。而这正是计算机工程师安身立命之本,就如同音乐家有其独特的音乐思维方式一样。为什么诸如java之类的课程于建立计算机基本思维不太合适呢?因为它更高层,无法让学生看到最下面。而唯有彻底、深刻和系统的底层淬炼,才能真正建立起“计算机思维方式”。
3如何打造强大的计算机工程能力
大家一方面指责基础课程的“空洞”、“无用”、“陈旧”;另一方面在不断开设的海量新课和技术中压得学生更加远离编程,远离实践。即使能培养出熟悉某种语言的学生,也无法看到他们和培训学校有何不同。实训也似乎没有根本解决问题,我们在实践中发现,往往是那些自己醉心于编程的学生最后有着卓越的表现。让基础知识能支撑和指导实践,而非仅仅“符号”,并引导学生进行高效的实践。
3.1“3块连一线”,4门基础课程整合打造核心知识架构
我们将4门基本课程进行贯通式整合,着力塑造学生的“计算机思维”。下层的是3门基础课(在上一小节探讨了其在工程能力训练上不可替代的重要地位),对软件开发环境产生支撑。而软件开发环境又通过精心的设计和工程实践,从应用角度将3门课程所学的知识串联起来。从而将基础知识和工程开发更有机整合在一起。首先,阐述为什么将以上课程整合在一起的理由。要回答这个问题,必须先回答什么东西支撑了优秀程序员。在我们的调查人员中,无一例外地都具有很深厚的底层软件开发背景。有长期从DOS的Hack入手的;有长期从事Unix内核编程的;有从Windows的driver起步的;有以反汇编逆向为根基的。长期在最底层的经历,使他们建立了最真实和能触摸的系统观,能以计算机的方式思考。所以面临新技术时,他们能透过新形式很快把握其精髓,深刻地把握其实质。“太阳下面没有真正的新事物”,例如号称21世纪最新的重要的软件技术AOP(AspectOrientedProgramming,AOP),其实在20世纪60年代就出现在了汇编一级的软件技术中,它本质就是钩子技术的系统化。在底层的软件世界,我们不仅能够用到那些所谓的最新的技术,而且能看到其本质(我们可能就是用机器码自己构建出来的,而不被新技术的华丽外衣障目)。这些使得具有底层经验的开发者,更有创造力,更能创造,也更能洞察迷乱后的本质,庖丁解牛,解决那些异常复杂的工程问题。举一个笔者遇到的真实例子,一个具有深刻底层经验的程序员(一直只有C语言和操作系统编程经验)和一个只有深刻Java经验的程序员,在同时学习Javascript的闭包概念时,后者一个礼拜都还有些似是而非。前者很快就能自如运用,且最后指点了后者1个小时,后者顿时豁然开朗。这是典型的“新”与“老”,上层和底层经验在面对新事物时的对比。既然底层软件赋予我们如此强大的能力,那么哪些是底层软件呢?大家公认,操作系统、编译和数据库由来就是计算机工程自身的根基。所以,我们必须将这3门课涉及的知识好好淬炼。而如何将3门课的知识和我们日常的软件开发联系起来呢?如何用它们指导平时程序的开发呢(我们大多数是开发用户级软件,不会开发内核软件,因此许多人认为几乎整个在内核中的操作系统对用户级软件开发无从指导)?另一门课,《软件开发环境》解决了这一问题。它有一条主线,通过反汇编将C语言和汇编串联起来,让系统级的知识从高级语言的面纱下展现出来。同时用逆向工程这把庖丁之刃,将编译、链接、面向对象等软件开发中的重要知识块剖剔,让底层与上层贯通一气。而逆向的技术技巧,本身也是非常高级的软件开发技术。因此,我们用“3块连一线”来总结4门课的关系是最好不过了。为什么不纳入语言课程,比如C/C++语言?从我们的工程经验来看,语言只是计算机原理和思想的载体,是表述方式而已。为了表述形式而专门花大力气是不值得的。比如,国外的著名大学很多都不开设语言课,在其他课程作业中必须用C语言编程,学生们就在那里锻炼了。真正的语言的力量并非来自语言本身,而是底层知识为支撑的项目锻炼。我们的思路是以构建式完成大量的完整系统的编写,这样就很好锻炼了软件开发和工程能力。同时,“软件开发环境”本身从逆向层面也对语言有了深刻的剖析,这是纯粹的语言课难以完成的。另外,从大纲安排上,我们在大一就会让学生用C语言来初步接触程序编写,这时并不适合放入太高级主题。而在教学中,语言的力量已经渗透到一个个工程构建中,随风潜入夜了。为什么不纳入算法课程?从某种程度上,“程序就是算法与数据结构吗”?我们认为在系统中运用算法,算法才具有生命力。而编译、操作系统、数据库以及我们专门设立的一些课程设计将全面运用各种算法和数据结构。在实战中运用并学习提升才是王道。这也正是构建式学习的精髓所在,这也正是探索式学习培养学生的创造能力的精髓所在。算法课已经为我们准备了元件,就看你怎么去组装甚至改造。
3.2以构建主义的思路,深度实践的风格改革课程
前面我们论述了底层知识架构的重要性,那么怎么来将它们实际地建立在学生的工程实践中呢?简单地说就是“构建一个具体而微的系统”。讲操作系统就构建一个小操作系统,讲编译原理就构建一个小编译器。同时,设计一些跨度较大的课程设计覆盖这些课程的一些重点内容。构建完整系统本身就可真实淬炼工程能力,而这些内容的复杂性、难度以及运用知识点的广度,本身就超越了简单的企业实训项目,在培养人才方面具有系统性、完整性、挑战性独特优点。我们需要的是运用团队的思路和现代软件工程的手段,将其开发过程管理发起来,从而熟悉企业级开发的工具链,将软件工程学到的知识贯通到实作中。这也回答了“和以前相似的强调基础课程教育,什么特点使得我们的做法能获得强大的工程能力?”这一问题。以前更多注重理论知识的学习,而现在的做法是回归计算机工程的自身科学规律———实践为王。
3.3改革考核评价标准,充分强调动手实践
篇13
1.培养目标
本专业主要面向程序员和软件技术支持与服务岗位群,培养具有良好的职业道德,紧跟世界前沿技术,熟悉软件开发流程,掌握国际主流的软件开发平台和程序设计语言,能熟练进行软件开发、测试与维护,具备软件设计、软件编程、软件测试和软件实施等综合职业能力,能够胜任程序员、软件测试员和软件实施员等工作的具有良好的职业道德意识、精湛的专业技能和可持续发展的学习与适应能力的德、智、体、美等方面全面发展的高素质技能型专门人才。
2.职业岗位(群)
本专业学生的职业领域主要面向软件业、计算机服务业、其他商务服务等行业,主要在基础软件服务、其他软件服务 、计算机系统服务、数据处理、其他计算机服务、办公服务等领域从事工作。具体从事的职业岗位(群)如表1所示(含未来3-5年内学生经过努力可能从事的岗位)。
表1 职业领域及主要就业岗位(群)
序号职业领域就业岗位职业资格证书其他相关职业资格证书
1软件业
Java程序员计算机程序设计工程师技术水平证书(Java)
Net程序员计算机程序设计工程师技术水平证书(C)
2计算机服务业/其他商务服务业
软件测试员软件测试工程师技术水平证书
软件实施员计算机信息处理工程师技术水平证书考试
1.计算机等级考试证书(二级Java、二级C)2.信息技术水平考试证书(计算机程序工程师证书)3.计算机软件资格水平测试证书(程序员或测试师)4.计算机信息高新技术考试证书(办公软件应用模块、数据库应用模块
(二)人才培养规格
1.素质要求
(1)责任意识:有高度的责任感,有严谨、认真、细致和吃苦耐劳的工作作风;
(2)协作精神:具有团队精神和合作意识,具有协调工作的能力和组织管理能力;
(3)改革创新精神:培养锐意改革、大胆创新精神;
(4)遵守职业道德:遵守行业规程,保守国家秘密和商业秘密。
2.知识要求
(1)具有大专文化基础知识,包括德育、数学、英语、体育等文化基础知识;
(2)掌握计算机硬件、计算机网络的基本知识;
(3)系统学习和掌握静态网页设计及制作的基本理论、基础知识;
(4)掌握高级程序设计语言的基础知识;
(5)掌握数据库基本知识及基本操作,熟悉SQL命令,并能开发基于客户机/服务器模式的数据库管理应用系统;
(6)掌握网络编程基础知识、开发规范和开发流程;
(7)掌握数据结构基础知识,了解基本的计算方法,能使用编程语言设计算法;
(8)了解软件工程基本概念和软件项目文档的国家标准,能完成一般项目的文档编写,并能在系统分析员的指导下,参照详细设计文档进行规范编程;
(9)了解软件测试的基本原理及测试方法,掌握测试用例的编制方法。
3.能力要求
(1)具备计算机常用软件应用及程序设计能力;
(2)具备阅读分析软件代码的能力;
(3)具备熟练安装配置和维护各种系统软件和应用软件的能力;
(4)具备熟练搭建与配置数据库服务器的能力;
(5)具备较熟练使用和维护计算机硬件、软件环境的能力;
(6)具备对操作系统、管理软件、软件编程工具的熟练使用能力;
(7)具备查阅、翻译中英文专业资料和日常的语言交际能力;
(8)具备独立搜集、信息处理和公文处理能力;
(9)具备终身学习的意识和再学习的能力;
(10)具备提出问题、分析问题和解决问题的能力和较强的创造能力;
(11)具备职业生涯规划的能力。
(三)课程结构
在专业课程结构中,按照课程类别分为公共基础课程、专业课程和拓展课程。专业课程包括理论课程、理实一体课程和实践课程;拓展课程包括专业选修课程、通识教育选修课程和开放式自主学习课程。其中,电子信息类计算机专业平台课程为:办公应用Ⅰ、程序设计基础、计算机组装与维护、计算机专业英语、办公应用Ⅱ。本专业分为软件编程(Java)、软件编程(.Net)、移动设备软件编程三个专业课程方向,第3学期开始选择,到5学期结束。学生可以选择其中课程方向即可。
软件技术专业课程结构如下图所示。
(四)毕业标准
具有良好的思想道德和身体素质,符合学校规定的德育和体育标准,同时必须通过本培养方案规定的全部教学环节,毕业总学分达146.5学分。其中公共基础课程26.5学分,专业课程100学分(其中,专业基础课程26学分、专业核心课程31.5学分、单项技能训练课程5学分、综合实践项目课程6学分),拓展课程20学分(其中,通识教育课程6学分、专业选修课程6学分、自主学习课程8学分)。在校期间必须取得计算机程序设计工程师技术水平证书(Java)、计算机等级考试证书(二级Java、二级C)、信息技术水平考试证书(计算机程序工程师证书)等专业技术资格证书之一,方可毕业。(作者单位:长春职业技术学院)
参考文献