发布时间:2023-12-22 10:13:21
导语:想要提升您的写作水平,创作出令人难忘的文章?我们精心为您整理的13篇计算机软件开发入门范例,将为您的写作提供有力的支持和灵感!
1软件开发的方式
1.1生命周期法
根据软件开发的过程,从时间角度进行阶段划分,将软件开发分解成研发前期、研发中期、研发后期和反馈阶段等诸多阶段,并对每一阶段的进程和结果严格控制,确保软件开发的质量和精确度。
1.2原型化法
相比于生命周期法的严谨理论,原型化法不需要重复繁杂的定义和说明,在软件开发初期也不必明确相关资料和信息,原型化法适合初期概念不明确的软件开发。通过原型化系统的深入研究,不断优化从而达到软件要求的条件。原型系统的纸上原型能根据软件的一部分特征进行工作原型还原,将部分制作好的软件功能试放达到初步测试的效果,让用户及时的了解现有的原型以便后期调试和修改。
1.3自动化法
自动化法相对其他两种方法来说,非常简便快捷,只需要说出具体的方法和内容,第四代软件工具就能进行自动分析和结果处理,设计和编写代码。自动化法主要依靠第四代技术的诸多软件开发工具得以实现自动化的功能。
2.1C语言技术
C语言是计算机软件开发中使用最广泛的基础性技术,作为最早被应用的编程开发语言,C语言最早可追溯至1970年,经过数十年的不断进步和完善,C语言技术已经逐步趋于成熟。C语言在诸多操作系统和版本中都可完美使用,比如Windows、Linux、DOS等。C语言在编程过程中,仅包含关键字32个,控制语句9种,编译过程十分简洁,即使新手入门也能在很快的时间内初步掌握编写方法。其次,C语言包含了比较大的运算范围,能够处理包括括号在内的很多类型运算,具有丰富的运算类型和良好的表达式类型。
2.2JAVA技术
JAVA技术相较于C语言来说,具备良好的安全性能和较强的通用性。JAVA技术普遍应用在跨平台的软件开发中,最早可追溯至1995年,JAVA技术最开始被命名为OaK,不断发展过程中更名为JAVA。JAVA技术推广后,主要被应用在Web软件开发中,JAVA技术的出现将Web的发展进程大大缩短。JAVA的界面风格类似于C语言,在继承C语言核心思想的基础上,改进了C语言的缺陷,通过垃圾回收站功能直接回收不需要引用对象所占据的内存空间,让程序员不必再担心内存不够或内存丢失的问题。其次,编译JAVA的源代码可以直接通过纯文本编辑器进行,不需要任何格式转换或改变,在Windows操作系统能直接使用记事本就能实现JAVA代码的编辑,在Linux操作系统内可以使用vi工具进行编译。利用JAVA技术编写的软件具有结构规范的特性,这是因为JAVA技术在语言使用上非常严谨,结构混乱的程序无法通过JAVA正常编写。目前,JAVA技术是计算机软件开发行业中主流的开发技术。
2.3VisualBasic技术
VisualBasic技术又称VB技术,是Microsoft公司推出的非常受欢迎的软件编程语言之一,也是目前使用最多的开发语言。VB技术没有使用传统的编程界面,源于BASIC编程语言的VB语言实现了操作界面的图形可视化,让编程变得简单明了和修改方便。VB的组件功能让程序员十分轻松的进行应用程式的建立和修改,不论是新手还是专业人士,都能够开发复杂的程序。优化大师、MIS、MRP等企业软件通过VB技术实现了快速发展,但是VB技术的缺陷也很明显,不支持继承、在处理异常错误时缺乏完善手段、不支持多线程等缺点让VB技术的推广应用只停留在小范围,没有得到大范围的普及。
3软件开发技术存在的问题及对策
3.1软件发展缺乏核心支撑技术
客观的分析我国软件发展历程,我国软件行业依旧处于初级发展阶段,开发水平和研发能力都比较落后,和其他国家相比,我国在自主创新能力方面比较欠缺,这是我国软件产业世界产业链中下游的主要原因,其次,我国开发的软件层次和质量都不高。核心技术的缺乏是导致这些问题出现的主要原因,部分前端和关键性的开发领域我国依旧处于空白期。软件人才的结构矛盾是限制我国软件行业向更深更广方向发展的原因,国内从事软件行业的人员多是基础性的技术人才,专门从事基础程序和技术支持等研究,没有研究高层次科研的专业人才。针对此,我国应该加大人才队伍建设,培育具备自主创新和高精尖科研水平的专业人才队伍,不断优化人才配置,让我国软件开发力量逐步加强,提高软件开发的技术研究和产品质量,加快软件开发产业链的发展,让我国软件产业的发展水平争取早日到达世界领先水平,软件产业发展进程不断加快。
3.2软件产业发展环境存在诟病
国内软件产业发展结构不尽合理。缺少强大的领头军企业,在国际上也没有比较有说服力的产品和品牌,缺乏国际影响力。其次,国内对硬件的关注和重视程度远远大于对软件的开发和研究,在政策力度和科研经费等硬性条件上也远远不能满足软件开发的需求,人才建设和人力资源等方面,也经常出现人才流失现象。在国内软件行业发展进程中,最大的问题之一就是盗版,盗版现象直接导致软件企业的知识产权和智慧成果受到剽窃,致使软件企业经济实力受损、开发积极性降低。其次,不公平竞争、科研投入不足等现实,无法保障工作人员良好的开发环境和工作积极性,造成软件产品质量下滑,难以提升发展空间。针对此,国家要加强政策引导和市场环境监督,为软件开发和软件企业营造一个积极向上、公平健康的市场氛围,实施相应的法律法规对盗版现象进行严厉打击,切实保障企业的知识产权,对不公平竞争和扰乱市场秩序的违法行为严厉惩处,加强市场秩序建设,让国内的软件开发行业能够健康稳定的推进。其次,加大人力资源和基础建设的投入,为软件开发提供优良的办公环境和高素质的人才队伍,只有这样,才能加快我国软件开发的进程,实现软件技术的突破与创新。
参考文献:
关键词:计算机软件 安全问题 防护策略
根据学界比较权威的定义,计算机软件主要是指计算机系统中的程序及其文档,其主要分为系统软件和应用软件两大类。目前,除了科研和医疗,大多数人们对于计算机的使用主要是建立在应用软件的基础上,种类多、功能全、个性化的应用软件极大地满足了人们的生活和学习。但是,和硬件可以摸得着、看得见的实物形态相比,软件却是无形的,它的功能如何,运行是否正常,只有通过软件程序在机器上运行才能知道。而计算机软件的安全对于计算机的性能至关重要,它是计算机信息系统中数据安全的一个重要方面。尤其是在电子商务繁荣的今天,加强企业计算机的安全管理,保障电子商务业务正常有序进行,确保信息和资金安全是一个现实的问题,这就给计算机软件的设计和管理带来了诸多的困难。
计算机软件安全问题包括保证软件系统自身的安全和确保软件系统正常、连续的运行,它涉及两个安全主体。从软件使用者的角度看,用户需要软件的性能可靠、安全,易于操作并且质优价廉。从软件开发商的角度讲,开发商除了要满足最终用户的安全需要外,还得保护软件开发者的知识产权,以防软件系统被不法之徒为了牟取利益而低廉复制或者跟踪仿制。可见,计算机软件的安全不仅体现在软件系统使用上的安全,还涉及到软件本身和软件开发商的权益。计算机软件作为一种产品,是特殊的脑力劳动成果,也是计算机系统中的一种特殊资源。计算机软件的安全关系到整个互联网信息系统安全的安全,是计算机安全的一个重要部分。
1 计算机软件所面临的主要安全威胁
近年来,计算机技术的跨越式的发展,使得其广泛地应用于社会的各个行业,个人电脑、家庭电脑也得到了极大的普及。不容忽视的是,计算机在为整个社会带来了高效率的生产和现代化的自动化办公条件的同时,它的背后也隐藏着各种各样的安全问题。目前,人们使用的系统软件和应用软件多为破解版,这些都涉及到侵犯知识产权的问题,人们也对网络黑客对软件系统的攻击,以及由于软件系统自身的缺陷而导致的信息被非法盗取、滥用等信息领域的犯罪活动见怪不怪、习以为常。概括起来说,当前计算机软件所面临的安全问题主要有:
1.1 不法分子为牟取暴利,非法复制、倒卖计算机软件
计算机软件一般是用某种程序设计语言来设计和完成的,它是一种逻辑实体,并非是有形可触的物理实体。根据用户需求,开发商开发出软件软件系统后,既可以将其用文档的形式记录下来,也可以将其保存在计算机的存储器上,或者是硬盘灯存储设备。由此可见,软件安全包括对文档和介质的双重保护。计算机软件作为一种知识密集型产品,最大的投入在研发环节,其研制、开发活动需要花费大量的人力和财力。但一旦研发出来,批量化生产几乎不会耗去多少成本。正是由于软件的易复制性,导致软件产品的知识产权受到严重的威胁。某些不法分子为了牟取暴利,通过盗版软件赚得盆满钵满,软件业由此而蒙受的损失是相当大的,而且呈现出递增的趋势。由于我国对于知识产权的认知度不够、保护不足、监管不到位,我国成了盗版业的重灾区,非法复制软件成了一个严重的社会问题,给软件业的良性发展带来了很大的冲击,也给国家的税收、市场秩序等带来了很多负面的影响。
1.2 通过软件跟踪实现对软件的动态破译
根据上文的分析,计算机软件安全主要是指计算机软件运行的安全,即对软件进行必要的防护,以防止其受到人为的修改、破解、复制以及滥用,从而保证其功能的正常连续运行。从技术方面来看,保证软件的正常运行既需要一个可靠的系统硬件平台,也需要防止软件被监测、干扰和篡改,更重要的是要防止软件被跟踪。
计算机软件在被开发人员研制出来上线运营以后,总有一些人或者团体利用掌握的技术,特别是运用各种程序调试分析工具来对软件程序进行跟踪和逐条运行,它可以对任何格式的文件进行直接读写和修改,通过窃取软件源代码、取消软件的防复制和密保钥匙等功能,来实现对一软件的动态破译,并将破译后的软件进行非法买卖和公开传播。动态跟踪技术 是一个功能及其强大的跟踪调试软件,当前大多数的软件跟踪技术完成对程序跟踪和逐条运行时,主要是采用了单步中断技术和断电中断技术,可分为动态跟踪和静态跟踪两种跟踪方式。动态跟踪是指通过调试工具来强行把程序中断到某处,使得程序单步执行,从而实现跟踪。静态分析就是指利用反编译工具将软件反编译成源代码形式进行分析。可见,
为了保证软件的运行安全,用户不得不防止软件跟踪。
1.3 计算机软件存在安全漏洞和质量问题
由于软件的开发涉及的因素很多,软件开发商所研发出来的软件不可避免的存在一些类似于安全漏洞的缺陷,这一点就连微软公司也无法避免。这些安全漏洞是威胁软件运行安全的重要因素。近几年,因为软件存在安全漏洞而造成的安全事件频发。虽然大部分用户都为计算机安装了防火墙、杀毒软件。电脑管家等软件,但是,“黑客”、“网络高手”的技术并不落后于开发商,上述这些软件对于计算机软安全漏洞的破坏提供不了多少实质性的保护,有时甚至还会带来新的软件漏洞。
2 计算机软件安全问题的具体防护策略
建立一个合理有效的软件安全防护体系,需要根据软件自身的特点和它所适用的领域加以考虑。目前比较主流的计算机软件安全防护策略主要有三个方面:
2.1 行政法律、法规上的策略
首先,要完善计算机安全的相关法律、法规。主要包括知识产权保护法、国家秘密法、信息网络安全法、数据保护法、计算机信息系统安全保护条例、计算机信息网络国际联网管理暂行规定、计算机软件保护条例等。其次,要做好计算机知识的普及和教育,让社会公众了解计算机的发展历程、工作原理和使用方法,培养公众对软件版权、知识产权的法制观念。最后,计算机行业应制定相应的准入门槛和行业技术规范和标准。 2.2 组织管理上的策略
为保证计算机软件的安全,在国家层面上得有主管该事宜的机构和单位,计算机软件的开发商更得有设立严密的组织机构和管理流程,一对软件从开发出来到最终用户的使用环节都能得到严格的监控和管理。
就主管计算机的单位而言,应该设立专门的软件安全检查部门,成立打击软件非法复制和动态跟踪的专题小组,从事相应的检查、监督工作。对开发商而言,设立相应的安全保证组,来对软件研发的各个环节进行监督,并组织安全性能测试和评估工作。对最终用户而言,也需有相应的用户管理制度,对于软件的拷贝、移植等做出相应的限制。
2.3 技术层面的策略
为了使软件开发这一高强度的脑力劳动和形成的知识密集型产品得到社会相应的尊重,除了从健全法律和加强组织管理外,还必须从技术层面采取强有力的措施,对于任意复制软件、跟踪软件、破解软件的行为加以严格的限制。概括起来,其技术策略主要有:
一是加密技术。为了限制软件被复制,对软件进行相应的加密是一种较为简便的方式。目前,市场上流行的软件,比如Adobe公司旗下最为出名的图像处理软件Photoshop,就采取了一定的加密方法,其目的就是为了防止软件被盗版,保护开发者的利益。如果只是简单的依靠密保,是没法从根本上消除盗版的,更别谈其它的安全隐患了,这就是为什么一有好的软件上市,网上就会充斥着盗版软件的原因。对已有的软件,还可以使用一些类似于密码的安全保护措施,比如口令、数字签名、访问卡、人体特征识别等。
二是防止非法复制。由于国家对软件产品的保护力度不够,软件开发商采用了加密等措施来防范软件被复制。但由于巨大的商业利益,破解后的软件任然横行于世。这些非法复制的软件很长程度上都带有病毒和一些捆绑的后台程序,会对软件用户的数据安全带来极大的威胁。
三是反跟踪技术。该技术是一种防止利用调试工具活跟踪软件来窃取软件源码、取消软件防复制和加密功能的技术。根据目前软件系统的结构特点,任何软件的运行都是依附于CPU的,如果CPU的运行被监控,就等于把程序直接裸露在解密者的面前,那么软件在运行的时候就极易被复制,进而威胁整个软件的安全性能。因此,必须不断消除反跟踪技术的安全漏洞,完善反跟踪技术,使其对软件的保护功能得到最大限度的发挥。
参考文献:
[1]胡宇.浅析计算机软件安全问题及其防护策略[J].科技咨询,2011(32).
[2]乔素艳.浅析软件安全中的反跟踪技术[J].无线互联科技,2012(2).
在培训的过程中,我还学到了一些计算机方面的知识,这些知识既是对我大学时学到的知识的强化,同时又是一种补充,从而让我的知识体系更加的清晰和完善。当然,掌握了知识并不代表能够很好地运用知识,因此,在今后的工作中,我将学习如何把知识和实践更好地结合,从而能够更有效率地完成各项工作。这十天的岗前培训,让我对公司有了更深的了解和感情,也让我对自己有了更客观的评价,以及明确了下一步的努力方向。
8月1日一直到8月15日,这半个月的时间,我们进行了线上技术培训。在这期间,我们主要学习了计算机软件开发的相关知识。在课程学习和实验的过程中,我慢慢掌握了应用软件开发的原理和技术,同时熟悉了一个应用系统开发的过程,“功夫不负有心人”,我感到我的软件开发的实际应用能力得到了大大的提高。在软件方面,我具备了一定的计算机软件维护、网络组建、维护管理的实用技术,掌握常用的计算机软件的使用、维护与技巧。在硬件方面,我初步掌握了计算机组装的方法,能够运用应用软件检测计算机性能、故障的范围所在,掌握了硬件故障的一般处理方法。在网络方面,我掌握了流行网络的技术特点和网络工程、网络维护、网络安全及应用方面的知识,能够做到一般网络工程方案的设计、组建、网络维护、及简单网站的建设与维护。我为自己的进步感到非常的欣喜。
线上技术培训结束后,我被安排到了单位的一个部门,开始了真正的实际工作,我在新的团队里主要是去学习新的技能、去完成一些基础性工作。在工作中,我一直警戒自己,不要因为掌握了一些知识就沾沾自喜,而应该持续不断地去学习。不仅要像学生时代那样去向书本学习,更重要的是还要多向领导、多向身边的老同事学习,学习他们的经验,学习他们的工作方法。同时,还要学习单位的制度和文化,让自己能够更好地融入到单位的发展中,学习新知识、新技术,勇于创新、敢于实践,在力所能及的范围内贡献自己的智慧和力量。
从学生时代的懵懂无知,到职场人的成熟自信,我一定可以在新的单位完成蜕变。没有什么是可以一蹴而就的,唯有坚定理想信念,脚踏实地工作,团结好周围的同事,不断努力、不断奋斗,才能够实现预期的目标。我坚信,我一定可以在软件开发中心完成这样的蜕变。
在大学秋招的过程中,我也面试了一些企业和单位,但是我最终还是选择了软件开发中心这个舞台。因为,我觉得,这是一家优秀的单位;因为,我觉得,这是一家适合我的单位;因为,我觉得,这是一家让我安心、放心、充满信心的像家一样的单位。从此以后,我一定会做到爱岗敬业、力学笃行,敢于梦想、勇于追求,脚踏实地、甘于奉献,认真学习并尽快融入部门团队,努力认知并严格遵守单位的各项规章制度,进一步提升自己的专业知识和综合素质,在团队建设中找准自己的定位并发挥自己的优势和特长。
随着计算机软件行业的发展与普及,十几年来计算机软件技术发生了翻天覆地的变化,而高等学校的教学内容、教学模式与教学方法却没有多大的改变,课程教学理念严重滞后于实际需要,教学效果存在相当大的问题。现在的计算机软件专业学生拥有的优势越来越少,就业压力也越来越大。对独立学院的计算机软件专业学生而言,更是如此。比专业理论知识,他们没有一本、二本的学生全面扎实,比实践操作能力,他们又远不及高职学生。那么独立学院应该培养怎样的计算机软件人才呢?学生将来毕业以后,凭借什么在社会上立足呢?这是我们老师一直在思考和探索的问题。
为适应新的形势,我院明确了计算机软件人才的定位:培养应用型软件人才。这个培养目标既是从独立学院学生的自身条件出发,又符合当前社会对计算机软件人才的需求。在这个培养目标的指导下,我们在计算机程序设计课程教学上进行了大胆尝试,修订了教学大纲,增加、删除了部分教学内容,并将新的教学模式与教学方法引入计算机基础教学中,取得了较好的效果。
1存在的问题
已往的教学经验表明,学生在学习程序设计类课程时最难的地方不是掌握某种程序设计语言的语法规范,而是掌握程序设计的基本方法。
程序设计语言的语法规范是死的,并且与任何一种自然语言相比,程序设计语言的语法规范更简单规则。因此,只要学生掌握好了程序设计的基本方法,再花费一定的时间掌握某一种程序设计语言的语法规范,就能用该程序设计语言设计程序,甚至达到精通水平。
具体而言,目前教学中存在的主要问题有:教学内容与教材组织过于陈旧;教学目标没有反映新形势的需要。其典型表现在:程序设计方法强调不够,抽象思维能力培养不足;某些程序设计中重要的概念讲授力度不足,如库与接口、UML建模以及目前流行的软件开发方法等,学生在实际的软件开发中无法满足企业的需要。
2构建程序设计基础培养四阶段课程体系
大多数独立学院的本科计算机软件专业现行的课程设计,与普通的一本、二本院校相比相差无几,没有突出独立学院的特点,也没有明确独立学院的培养目标。因此,对独立学院计算机软件专业课程体系进行改革迫在眉睫。我院以“计算机导论与C语言程序设计”为公共基础的程序逻辑训练、以“高级程序设计技术”为核心的程序设计方法培养、以“数据结构”为支持的数据与程序抽象能力培养、以“C++程序设计”贯穿面向对象程序设计新理念,并在大三大四高年级开设了Java、Linux、UML建模等程序设计类选修课程,形成了“基础训练+方法培养+提高能力+拓展层面+实践应用”的程序设计教学新模式[1],在强化程序设计能力培养过程中发挥了重要的作用。
3提出并实施四层次软件人才培养新模式
我院以课程体系为基础,提出并实施了“基础训练+提高能力+拓展层面+实践运用”的四层次软件人才培养模式。
3.1基础训练
程序设计基础训练课程开设在大学一年级,是大学阶段系统认识计算机、应用计算机的入门课程,通过程序设计的词法、语法及使用方法的学习,要求学生掌握、体会计算机解决问题的基本技能。在基础训练中,通过对计算机导论课程的学习,让学生认识并能熟练运用计算机编写程序;通过对C语言程序设计课程的学习,让学生初步掌握程序设计的方法,训练程序设计中的逻辑思维。
3.2能力提高
程序设计能力提高课程开设在二年级,主要从两个方面提高学生的程序设计能力:一是高级程序设计技术课程,重点学习典型的程序设计方法技术,便于学生系统地学习并掌握程序设计方法技术。二是数据结构课程,通过构造性思维的训练,重点突出数据抽象与程序抽象能力的培养,让学生在基础训练阶段之后能更深入地理解程序设计的概念。
3.3层面拓展
主要以市场需求为基础,包括工具类别与应用环境的拓展,以选修课形式开设在三、四年级。在具有良好C程序设计能力基础上,展开其他程序设计工具层面,如开设Java、VC++、VB等程序设计类选修课程,增强学生掌握新工具,举一反三的能力。随着我国经济发展,国外市场份额不断增加,熟悉和使用Unix环境已成为计算机软件专业应当掌握的重要技术,开设Unix环境编程和Linux程序设计等课程,将拓展应用环境,提高学生适应新环境的程序设计能力。
3.4实践应用
自2006年以来,我院就加大了程序设计课程中的实践课时比例,实践课时占到总学时的1/2或1/3,每门实践课都单独安排了实践课老师,指导学生更好地进行实践。在实践课设计中,我们既重视学生理论知识的巩固,又注重其解决实际问题能力的培养,因此,我们把实验自下而上分为知识层、应用层和综合层3个层次。
知识层注重对知识的理解和掌握,数据结构、数据库原理和Java程序设计等理论课增设了相应的课程设计,课程设计的主要内容是:按软件企业先进的项目管理和开发模式,以“项目驱动”进行软件系统开发的实训。应用层重点在于巩固与应用,学生在校期间参加课外兴趣小组或在毕业论文设计中,大部分学生都能使用VC++做系统级深层次应用。综合层则关注综合与创新,学校鼓励学生参加大型的综合性IT比赛,如ITAT、大学生挑战者杯创业大赛等。
3.5创造性思维能力的强化
计算机程序设计能力,对计算机专业学生的知识结构、技能的提高和智力的开发变得越来越重要,技能培养的重要程度决不亚于知识传授。对程序设计能力的提高来讲,编程序不难,编好程序不易。质的飞跃来自量的积累、艰苦的磨炼,所以良好的专业技能和创造性思维培养的关键在于实践。程序设计是高强度的脑力劳动,是创造性的艺术,只有提高了科学思维,学会了程序设计的真本领,才会将知识与技术变成能力,应用自如。
3.5.1案例驱动教学:兴趣引导
针对独立学院学生思维灵活但学习自觉性较差的特点,我们采用案例教学法,避免了传统填鸭式教学方法的呆板,通过实例演示,让学生对所学知识产生兴趣,有了一定的感性认识之后,再提升到理论高度,循序渐进地掌握知识。经过多次教学的探索,总结出重点讲授解题思路、算法设计及编程构思,突出上机训练,在编写程序过程中让学生自己进行探索性的学习,程序设计中的成果能极大地增加学生的成就感、培养学生程序设计的兴趣,并达到更加牢靠地巩固理论知识的目的。好的程序设计案例所采用的程序设计方法教会学生用适当的语言清晰地表达其思考过程。
3.5.2指导―大运动量实践―反馈训练:加强创造性思维培养
数据结构[2]的学习过程,是进行复杂程序设计的训练过程。技能培养的重要程度不亚于知识传授。难点在于让学生理解,习惯算法构造思维方法。针对数据结构技术性与综合性较突出的特点,我们提出并实施了“指导―大运动量实践―反馈训练”教学法。通过作业练习、课程实习、课程设计3个环节实现实践过程,前者偏重于对课程内容的理解,后者侧重于软件设计综合训练,促进了专业学生逻辑抽象能力和创新能力的培养。
3.5.3项目训练:提高应用能力
通过“项目训练”[3]方法,我们提出课程设计规范要求,突出关键技术要点,贯穿基本技能训练主线,精心设计综合性实验,体现加强实践能力培养的重要思路。数据结构课程设计时进行软件开发综合训练的第一门课,通过选用具有一定实用性的综合题目,采用学生个人进行和小组合作的方式,通过问题分析、总体结构设计、用户界面设计、程序设计基本技能和技术的一系列过程,培养学生动手实践、合作研究、协作开发大型软件项目的能力,培养学生采用软件工程正规方法进行设计与实现,为专业技能训练奠定了基础。“项目训练”方式将学生引入具体的项目研发,使学生有更多的主动学习机会,培养了科研能力。
3.5.4提高学生的兴趣与创新能力
竞赛等多种活动为学生提供了展现程序设计能力的舞台,激发了学生学习的主动性。我们已连续3年开展全校“电脑文化节”、“网页设计大赛”、“Flash竞赛”、“计算机知识竞赛”;学生参加省级、国家级数学建模比赛,6人次获国家级奖励,20人次获得省级奖励;学生在程序设计大赛中取得优异成绩,获得多项奖励,3人次获ITAT国家级奖,多人次获省大学生挑战杯一等奖。
4结语
计算机课程改革势在必行,特别是对于独立学院来说,更是迫在眉睫。改革的成功与否将直接关系到学生以后的就业。在进行计算机课程改革的基础上,我们针对软件人才的培养,提出程序设计教学的新模式和以设计为中心的能力培养新方法。作为一种有益的尝试,新的课程体系通过一种有趣的、面目可亲的方式向学生说明了创造性思维能力在程序设计中起到的重要作用。
参考文献:
[1] 翟玉庆,邓建明. 计算机科学研究型人才培养模式的探讨与实践[J]. 计算机教育,2005(1):31-33.
[2] 耿国华. 数据结构[M]. 北京:高等教育出版社,2007.
[3] 王志英,宁洪,戴葵. 强化计算机专业实践教学[C]//第七届全国计算机系系主任论坛论文集. 北京:高等教育出版社, 2004:37.
Reform of Computer Courses and Training of Software Personnel in Independent Colleges
LIU Ya, TAN Qian-mao, ZHOU Li
[论文摘 要] 本文通过分析企事业单位信息化建设人才的需求,探讨高校信息管理与信息系统专业人才职业定位,研究信息管理专业人才知识体系构成,提出信息管理专业人才培养新模式,为信息管理与信息系统专业人才走出就业瓶颈提供可参考的人才培养新思路。
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.
作者简介:董晓丽(1976-),女,山西太原人,中北大学电子与计算机科学技术学院,讲师。(山西 太原 030051)
中图分类号:G642 文献标识码:A 文章编号:1007-0079(2013)10-0117-02
一、教育技术专业概述
教育技术学专业是教育学和技术学相互交叉、相互作用而形成的学科。目前在我国开办教育技术学本科专业的院校已经从师范类院校扩展到综合性大学、理工类院校。开设教育技术学专业的多数高校将教育技术学本科人才培养方向之一定位为教育软件与知识工程方向,该方向着重培养多媒体素材的设计与开发、教育软件设计与开发、网络课程设计与开发以及人力绩效开发与知识管理方面的人才。就专业培养方向来看,各类软件的设计与开发都要求本专业学生有很强的计算机应用(开发和实践)能力,也即计算机应用能力培养在教育技术学专业中占有重要的地位。笔者所在院校为理工类院校,对近几届毕业生的软件开发能力进行调查分析,学生普遍感觉大学四年学了众多计算机类课程,到毕业设计的时候还是不会编程,大四最后一个学期才开始边学编程技术边做毕业设计题目。究其原因,由于教育技术学科是综合性的应用学科,不可避免地在课程设置上存在一些问题:课程开设庞杂,开设多门高级语言程序设计类课程,知识体系有广度没有深度,导致学生学而不精;课程设置缺乏系统性,课程教学内容不连贯或者重复教学;在教学过程中注重理论教学而忽视学生实践动手能力的培养,导致学生编程能力差;核心课程知识陈旧,与现实的教育技术实践应用需求脱节,与现实的计算机发展技术相脱节。课程设置是教学计划的核心,决定着学校的教学内容和学生的知识结构,直接关系到人才的培养质量。为实现应用型人才培养目标,研究并建立适合教育技术学本科专业的计算机软件开发类课程体系,切实提高该专业学生的计算机应用能力是目前重要的课题。
教学技术学专业是一个跨学科的专业,本科生在四年中所能接收的信息量是有限的,不可能将交叉学科的所有系统知识都纳入学习的范围,因此在明确培养目标的前提下,设置计算类课程时不应该“杂而全”,而应该是“专而精”;其次要注意课程与课程之间有效的衔接,避免前后脱节;再次应注意同市场需求以及计算机学科发展结合起来,开设的课程符合社会发展需求;最后突出实践能力,加强动手能力的培养。教育技术学专业本身是一门实践性很强的学科,人才的培养本着学以致用、以学促用理念。
二、课程体系建设
教育技术学本科专业计算机软件开发类课程体系建设目的是让学生熟练掌握一至两门编程语言,熟悉相关开发方法、工具和平台,综合运用所学知识去解决实际问题。鉴于目前主流的编程技术有.NET和Java编程,建立以“C-C#-Java”语言类课程为主线的课程体系,从初级到高级、由简单到复杂,循序渐进逐步提高学生的软件开发能力。
Java语言是面向对象的编程语言,也是目前阶段开发应用程序的首选语言,但是对于大一新生来说,直接接触面向对象编程思想有一定的难度,因此在大学第一学期仍然选择C语言作为程序设计的入门语言,有了C语言的基础,跳跃到C#或Java就十分容易,因为许多语法是通用的。C#是从C/C++派生来的一种简单、现代、面向对象的高级程序设计语言,由Microsoft公司设计运行于.NET框架之上,它具有语法简单、表达力强的特点,对于低年级且又是非计算机专业的学生来说,学习该语言相对比较容易,所以,在第二阶段选择学习C#语言。Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,自1995年由Sun公司推出,就迅速成为全球主流的编程语言,Java基本语法规则和C语言类似,优点之一是去掉了C语言中难学的指针,有助于学习者理解和掌握。但是学习Java语言类开发技术较C#语言有一定的难度,虽然这两种编程语言都为面向对象的程序设计语言。基于上述分析,研究并建立的课程体系为学生第一学期学习C语言之后,在后续的学期过渡到面向对象的程序设计语言。围绕这三门语言类课程,再设计其余计算机软件开发类课程如何衔接。设计的课程体系结构如表1所示。
表1 课程体系结构
开课时间 必修课 大型实验
第1学期 C语言程序设计 无
第2学期 C#可视化程序设计 C#可视化程序课程设计
第3学期 数据结构 数据结构课程设计
第4学期 数据库原理及应用
(面向对象程序程序设计Java) 数据库课程设计
第5学期 Web应用系统开发(JSP) Web应用系统课程设计
第6学期 Java网络编程 Java网络编程课程设计
第7学期 J2EE企业级应用开发 J2EE企业级应用开发课程设计
第8学期 毕业设计
第一学期主修C语言程序设计,掌握面向过程的程序设计思想。第二学期主修C#可视化程序设计,这里注意的是本课程内容包括两部分:一是C#语言基础介绍,二是.NET技术,可视化界面的设计部分。通过Windows界面的设计,学生获得面向对象的感性认识以及认识到编程的实用性,从而提高编程兴趣,有助于后续学期进行软件开发类其他课程的学习。第三学期主修数据结构,目前数据结构课程的教材有C、C++以及Java语言版,由于到此阶段学生未接触Java语言,所以选择C语言版的,学生可用C语言来实现数据结构中的算法,对于Visual C#.NET掌握较好的学生,在数据结构课程设计时可选择用C#语言实现数据结构中描述的算法。第四学期主修数据库原理及应用课程,在讲授数据库编程内容时,由于学生在前面学期已经学习过可视化的程序设计(应用系统前台界面的设计),即已经掌握.NET开发平台的使用,可以重点讲述利用技术如何进行数据库的操作。第四学期同时开设面向对象程序设计(Java语言)课程,为后续课程打基础。第五学期直到第七学期每学期均开设Java语言应用开发类的一门课程,具体包括Web应用系统开发(JSP)、Java网络编程、J2EE企业级应用开发。每学期均安排相应课程的课程设计,有助于消化所学知识,同时锻炼和提高学生分析、设计、编程能力。第八学期学生主要任务是毕业设计,如果是软件开发类题目,那么学生可以利用已经学习过的主流技术.NET或J2EE来完成。
综上所述,将教育技术学专业学生计算机应用(开发和实践)能力的培养分为两个阶段:在大一、大二阶段,掌握C语言结构化编程、面向对象编程(C#)、图形用户界面编程、数据结构及算法、数据库编程,为专业培养目标打下编程基础,该阶段注重.NET技术开发;大三、大四阶段,掌握面向对象编程(Java)、小型Web应用系统的开发(JSP)、Java网络编程、J2EE企业级应用开发,该阶段注重Java程序开发。
以上课程体系安排使学生在大学四年的前两年基本会利用.NET技术进行一些简单小型应用软件项目的开发,如学生对.NET技术感兴趣的话,可以利用大学四年的剩余学期边学习新的课程,边利用业余时间拓展自己的.NET编程技术。学生从第四学期(即大二阶段)开始学习Java相关课程,即Java应用开发阶段,学生利用在校的两年时间主修Java软件类开发课程,学习主流Java开发平台和框架的使用,最后掌握企业级应用系统的开发,逐步提高学生的软件开发能力。这样,大学四年软件开发类课程不断线,且从第二学期开始,每学期都安排课程设计,通过课内实验以及课程设计实践提高学生的软件开发能力,解决学生学习了众多编程语言却不会编程的问题,学生在毕业设计前具备独立开发应用系统的能力,从而提升该专业学生就业竞争力。
三、课程内容解析
以下对课程主要教学内容及教学目标作简要阐述。
1.C语言程序设计基础
掌握C语言的基本结构、各种数据类型、控制流程、函数、数组、指针和结构体的语法及语义,使学生了解结构化程序设计思想,学会用结构化方法编写程序,初步具备解决实际问题的能力。
2.C#可视化程序设计
掌握C#高级语言基础、Visual Studio 2008集成开发环境的使用、Windows界面控件的使用、事件驱动的编程机制,使学生获得面向对象的感性认识,初步拥有Windows应用编程能力。
3.数据结构
掌握数据结构的基本概念和各种基本的数据结构,包括数据的逻辑结构(线性表、堆栈和队列、广义表和字符串、树与二叉树、图、文件等)、存储结构(顺序存储、链式存储)以及在这两种结构基础上对数据实施的基本操作(算法)的设计与分析。
4.数据库原理及应用
掌握数据库系统的一般概念、数据模型、关系模型、SQL语言、数据库安全性、完整性、关系数据库理论、数据库设计、数据库编程、数据库管理系统的使用以及运用开发平台开发数据库应用系统的方法,为从事数据库应用开发打下基础。
5.面向对象程序设计(Java)
掌握Java语言基础、面向对象程序设计思想(抽象、封装、类、继承与多态)、工具类、图形界面编程、异常处理、文件输入输出、数据库编程、Java Applet 编程、开发环境与工具的使用等。着重培养学生对Java 编程思想的体会,为进一步学习Java 语言打好基础。
6.Web应用系统开发(JSP)
掌握JSP软件体系结构、运行环境的安装与配置、JSP基础、JSP常用内置对象、JSP与JavaBean、JSP操作数据库、Java Servlet技术,使学生掌握JSP基本理论知识,能够运用JSP进行Web小型应用系统开发。
7.Java网络编程
掌握网络编程基础知识,基于TCP、UDP以及FTP等应用层协议的Java应用开发,使学生掌握“基于协议”的网络程序开发方式。
8.J2EE企业级应用开发
掌握J2EE的体系结构、Servlet、EJB以及利用开源框架(Struts、Spring和Hibernate)进行J2EE程序开发,使学生掌握基于J2EE的企业级应用系统的开发方法。
四、实践教学体系
与上述课程体系配套的实践教学体系包括每门课程的课内实验和课程设计。课内实验部分主要是基础性实验和验证型实验,重点加深学生对知识的理解,掌握基本技术和方法。从第二学期开始,每学期都安排大型的课程设计,课程设计需要综合一门或多门课程的内容。C#可视化程序课程设计,体验C#的编程思想以及组件开发原理,利用Visual Studio2008集成开发环境来完成应用系统的设计,初步体会面向对象程序开发的思想。数据结构课程设计主要针对具体问题进行数据结构与算法设计,并用C语言或C#语言实现。数据库课程设计主要针对具体问题,按照数据库设计的步骤进行,学生可利用已掌握的.NET技术实现具体数据库应用系统。本课程设计涉及技术和数据库两门课程的知识,是对学生综合分析、设计以及编程能力的检验。Web应用系统开发(JSP) 针对具体问题,运用JSP技术及JDBC数据库访问技术,利用开发平台实现小型的Web应用系统,主要检验学生运用JSP技术解决实际问题的能力。Java网络编程课程设计主要检验学生“基于协议”的网络程序开发能力,即学生运用已掌握的网络编程技术进行基于TCP、UDP、FTP等协议的小型应用软件的设计与开发。J2EE企业级应用开发课程设计主要针对Java企业级架构开发,学生使用Struts、Spring和Hibernate进行整合开发Web程序。在完成课程设计任务过程中,学生需要查阅课外知识,有助于培养学生的自学
能力,同时锻炼和提高学生综合分析、设计和编程能力,完整体验到一个应用系统开发的全过程,巩固了已学的知识,为毕业设计和就业打下良好的编程基础。
五、与课程体系相关的教学改革
1.改革教学手段
采用案例教学法。由于学生缺乏实际开发经验,为了充分调动非计算机专业学生学习软件编程积极性,在上课前期就强调应用,精心准备一些与课程相关的应用软件系统案例,使学生从接触课程开始就认识到学习编程的实用性,从而提高学习的兴趣,有利于整个教学过程的实施。
2.改革实践教学环节
转变“重理论、轻实践”的观念,建议采取课堂教学与实验教学相结合、课内与课外实践相结合的教学方法。教师可将课堂教学中技术性、操作性、应用性比较强的内容直接在实验室中进行教学,采取边讲边练的教学方法,使学生在实际操作中掌握相关的知识、技能和方法;为了更好地培养学生的实践能力,应积极加强课外实践活动,例如参与其他院系的网络精品课程建设、教学网站的设计与开发和教育游戏软件的设计与开发等,这些课题本身就属于教育技术学专业应用研究课题,学生在参与过程中,不仅锻炼了动手编程、解决问题的能力,同时还锻炼了与他人合作解决问题的能力,使人才培养方案与社会需求结合,做到学以致用。
3.改革实践教学考核方式
实验考核不但可以考核学生对知识的掌握程度,还能够激发学生的学习积极性,对学生有很大的引导作用。实验部分分数比例设置过低,会使一些学生轻视实践环节,所以适当提高实验分数比例是必要的,且对于不同类型的实验,应采用不同的考核方式。
六、结束语
教育技术学专业是一个交叉学科,学生计算机应用能力的培养在该专业的培养方案中占有重要的地位,加强学生计算机软件开发动手能力也是当前提升学生就业竞争力采取的必要措施。在本文中,主要探讨了教育技术学软件开发类课程体系的建设,通过研究,建立了以“C-C#-Java”语言类课程为主线的教学体系,突出的是该专业学生实践动手编程能力的培养,希望能够为教学技术学本科专业的计算机类课程教学提供一些帮助和启示。教育技术学专业学生计算机应用能力人才的培养是一个循序渐进的过程,该专业计算机类课程体系的改革研究,仍然需要在实践中不断深入探索和完善。
参考文献:
[1]文冬,周燕红,原福永.理工类院校教育技术学本科专业的发展思路[J].教学研究,2007,30(1):49-52.
[2]伍顺比,姜玲.关于教育技术学专业课程体系的思考[J].现代教育技术,2007,17(8):16-19.
关键词:特色专业;软件测试;校企合作;高职高专
中图分类号:G642
文献标识码:B
1引言
计算机应用技术是一个应用范围很广的专业,可以从事计算机行业的几乎所有工作。因此,计算机应用技术专业学生应学习的内容很多,内容涵盖很广。对于高职学生来说,三年学习内容不可能涵盖所有的计算机应用领域。因此,必须对该专业定向。而专门化方向须根据市场需求方能确定。为此,我们在北京及周边等地进行专业调研,了解社会对计算机应用技术专业学生的就业岗位、能力与素质需求。并由此确定计算机应用技术的专业化方向为软件测试。
旺盛的社会需求是人才培养面临的最大机遇,教育发展的最大动力是社会需求。软件测试专业就是一个朝阳专业,社会需求较大,以就业为导向构建高职计算机应用特色专业人才培养模式及课程教学改革研究,将按照“就业导向明确、层次定位准确,培养模式先进,专业特色鲜明,人才质量优良”的要求,推进人才培养模式、课程体系和人才培养质量。
以计算机软件测试方向作为高职计算机应用特色专业的研究与建设是新的探索。一个正规的软件开发项目应该包括软件开发和软件测试两大部分,而且旨在提供质量保证的测试部分应该占更大的比重,国际上标准的软件开发和测试人才的比例应该为1:1或1:2,而目前国内这个比例则为5:1。计算机软件测试专业在国内尚属待开发专业,就业前景非常看好。但由于是新专业,现有的中青年教师在授课之前基本没有系统的软件测试理论和工程实践、更无教学经验。基于这种情况,就更加应该尽快开展专业研究和建设,并借助于各方力量,以提高教师的理论水平和实践能力,使他们能尽快掌握理论和具备实践能力,承担起教学与实践任务。
2计算机应用特色专业建设思路
由于国内软件开发和软件测试人员比例的严重失调,行业急需软件测试人才。而该专业正在创建和开发时期,没有教学经验。基于这种情况,开展特色专业人才培养模式及课程教学改革研究,是很有必要的。为了使软件测试专业教学更加贴近教学,使教学更具针对性,教学素材、案例更符合实际需要,必须引进实际项目,聘请校外专家,及时与实力雄厚的教育集团及企业合作进行专业共建。
特色专业建设的目的是:寻找促进人才培养与市场需求紧密结合的路子,突出软件测试专业方向应用性人才培养特色,加强学校与社会企业的合作与交流,构建适应社会发展需求的产、学、研合作教育平台。提高教师教学科研能力和技术实践水平,带动学校学科专业结构调整和人才培养模式创新。建设能够有效支撑高职高专教育人才培养的实践教学平台,建立毕业生质量追踪调查机制,为学校摸索出一条构建特色专业课程的新路。
改革创新软件测试专业人才培养模式,深入研究校企专业建设内容,真正将行业所需人才应具备的知识、技能引进到专业人才培养过程中,确保专业建设内容的先进性与实用性。
人才培养模式以培养学生的全面职业化素质、技术应用能力和就业竞争能力为主线,充分利用学校和企业两种不同的教育环境和教育资源,通过企业与学校的长期合作和双向互动,将在学校的理论学习、基本训练与在企业的实际工作经历有机结合起来实现高素质高技能人才培养。
在开展本课题研究时,我们将本着“面向实际、站在前沿、重在应用、加强合作”的指导思想,努力创造一种团结民主、互帮互学、求实创新的科研氛围,力求做到边学习培训,边研究应用,边推出成果,边总结推广,力求通过三年的研究,在课程体系设置、实训基地建设、师资队伍建设、毕业生就业引导等方面,探索出一套“高职计算机应用――软件测试专业人才培养”的新模式。
3课程体系的建设
课程体系从原来的以学科为体系的课程设置转变为以能力为主线的课程体系设置,即先按各专业方向对岗位能力的要求,及每岗位能力从入门、基础、应用到综合的过程来设置课程。根据软件测试的特点设计了个性化的课程体系,确保学生们能够学成上岗。课程体系按以下几个模块来实施:
3.1基础课程阶段教学计划
3.2集中实训阶段教学计划
3.3职业素质培养教学计划
4专业建设研究目标
4.1技术路线和实施步骤
软件测试特色专业的研究,主要是以就业为导向构建高职计算机应用特色专业人才培养模式及课程教学改革研究,研究计算机应用特色专业如何与社会需求密切结合的专业发展模式,培养学生的软件测试的实际应用能力,加强专业建设和人才培养,让教师与学生的培养一起成长,培养学生具有较强的实践能力、岗位适应能力、创新能力的从事软件测试的高等技术应用性专门人才。主要从以下几个阶段实施:
第一阶段(2008年9月~2009年8月)
该阶段是基础课和专业基础课程的改革和建设,主要由教研室负责这部分课程的建设与授课、课程资料及辅助科学软件的开发。把开发小型应用系统作为教学的主线,鼓励和引导学生参加项目建设。为后续课程的学习奠定基础。
第二阶段(2009年9月~2010年8月)
该阶段通过构建软件测试的基本概念框架,掌握使用软件测试系统中软件测试的基本方法、基本技能等。从软件测试的基本概念到单元测试、集成测试、性能测试的实践活动,设计与课程密切相关的单元测试。
第三阶段(2010年9月~2011年8月)
该阶段是软件工程与测试实验室搭建、软件测试平台搭建及综合实训基地建设搭建。该阶段需要借助多方力量进行专业课程的构建、进行软件工程与测试实验室搭建、软件测试平台搭建等实训课程的实施阶段。
第四阶段(2011年9月~2011年12月)
该阶段是结题阶段。收集、整理子课题结题实验报告,举办课题成果评奖活动;撰写课题结题报告,发表相关论文,上交申请成果评估验收;课题组结题大会,成果出版与展示等。
4.2研究假设和拟创新点
(1) 结合所学课程,让学生直接参与公司项目开发,有利于学生职业能力的培养。通过校企合作探索软件测试人才培养模式,涉及到的合作机制、教学机制、运行机制的改革与创新。
(2) 通过课题研究,促进校企合作,以及人才培养与市场需求紧密结合,突出软件测试专业方向应用性人才培养特色,构建适应社会发展需求的产学研合作教育平台。
(3) 以就业为导向,围绕专业核心能力,构建课程体系;通过产学结合,建设优质核心课程,制定课程标准,编写适用教材;建设双师结构的教学团队和校内外实训基地。
(4) 将传统的课程进行整合,理论够用为度,以讲座、学术报告等形式增加现实社会所急需内容。课程模块化教学,采用“事件驱动”式的培养方式,根据就业岗位确定课程设置,培养学生的基本技能。根据社会的需求大力实施订单教育。
(5) 从课程学习到课程设计、毕业设计各阶段,贯穿实施项目教学法,在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。
4.3专业建设的预期目标
学院与企业合作,实施实训人才培养模式,共同致力于软件测试应用人才的培养,开启我院计算机应用人才培养与企业需求零距离对接的先河。注重人才培养的针对性和实用性,可以有力地促进我院教育教学的改革,提高办学效益,实现学校、企业、学生“三赢”,产生良好的社会影响。使学生掌握必需的科学文化基础知识和软件测试等方面的专业知识,具有较强的实践能力、岗位适应能力、创新能力的从事软件测试的计算机技术应用性专门人才。特色专业预期培养目标如下。
5结束语
计算机软件测试专业正在创建和开发时期,以就业为导向构建高职计算机应用特色专业人才培养模式及课程教学改革研究是新的探索。总之,高职计算机应用特色专业教学改革是培养数以亿计高素质劳动者和数以千万计高技能专门人才的需要,且大有文章可做。只要我们在教学实践中不断探索,不断总结,高职计算机应用特色专业的教学改革就一定能结出丰硕果实,高职计算机教育就一定能为社会培养出“适销对路”的计算机应用人才。
参考文献:
1.引言
1995-2005是我国计算机行业的第一个快速发展时期,各个高校大力发展计算机专业,几乎每个高校都设有计算机专业。国内知名的IT企业几乎都是在这个时期发展起来的。到今天,十几年的人才积聚让计算机教育行业渐露疲态,进入人才饱和甚至过剩期,计算机专业已经成为高校应届生就业率最低专业之一。但纵观人才市场,“硬过剩”并未出现:各类IT培训机构层出不穷,陆续输送大量计算机人才;招聘网站IT职位的招聘更是持续火爆,供不应求。为什么高校计算机应届毕业生不再受青睐,甚至毕业后需要参加培训机构“重修”?十年光环下的高校计算机教育是否开始走向堕落?是谁一手砸了计算机学生的金饭碗?[1]这就不由得教育工作者来思考一个问题,为什么高等学校培养不出来足够多的高质量的计算机软件技术专业人才?
2.问题的分析
传统机械的高校教育难以承载多元化的企业需求,将计算机人才推到一个怪圈:一方面海量应届毕业生苦于工作无果;另一方面软件工程师,网络工程师等IT相关职位常年处于招聘热门职位前列,招聘网站一天的招聘信息竟达到万余条。企业需求与高校教育间不断被拉伸的真空地带,由日渐兴盛的各式培训机构迅速填充起来。“学以致用”这条传承千年的办学基准,难道当代计算机教育已经不再适用了吗? 那么有没有深层次的思考过为什么我们高校培养不出来合格的计算机人才呢?通过多年的学习经验、工作经验、项目开发经验和深刻地思考我认为有以下几个方面的原因:
(1)学习计算机学科的方法。我们会发现这样的一个现象,计算机学的好的往往不是计算机专业的学生。一些学物理的、数学的、法学的、哲学的等等其他专业的学生最后转学计算机都很出色。我们的生活中也不乏类似的人才。还有一些培训班上培训的学生,整体高出学校培养的学生。那么这些现象能否说明一些问题呢?我们的课程设置和企业应用之间是否有矛盾?也就是我们是否进行了按需教学和学习呢?
(2)计算机专业是个理论性很强很抽象的专业。尤其是计算机软件技术部分完全是抽象的。全凭个人想象,概念在每个人脑海中的印象是不同的。软件设计是在理解这些抽象概念的基础上进行产品的设计。在产品开发环节也和其他专业有所差异。比如机械加工类,学习集中在几个典型案例的教学上,学习了轴类加工、盘类加工、箱体类加工、齿轮类加工任务后,那么以后做个其他类似的东西基本上不存在障碍的。可是软件就不行,这次做个成绩查询系统没问题,下次你做个图书管理系统,会因为系统环境,设计思路、业务流程、相关技术、编程语言的改变就不一定很顺利。正如行业有句话:“软件的正确性主要依赖于编程人员的技术水平和知识结构”。
(3)课本是硬伤,师资是软肋,实践经验是缺陷。我们选用的教材往往都是一些规划教材、省部级重点建设教材等。这些教材从编写到出版使用的周期至少在1年以上,甚至有些教材需要更长的时间,与IT行业18个月技术更新一次的法则远不适应。还有些教材就是从学校到学校,从老师到老师,没有企业实践人员的参与。大部分的老师是从学校到学校,缺乏项目开发的实践经验,更缺乏从企业一线走出来的工程实践人员。
3.问题的解决
那么介于以上的对问题的思考和分析,应该如何进行计算机专业人才培养的改革呢?我认为应该从以下几个方面着手:
(1)以一些入门课程让学生快速了解和掌握计算机硬件设计、软件及计算机工作过程的基础知识。对计算机专业来说要做到理实并重,将理论性抽象性的知识简单化、形象化,更适合高职专业计算机学生的学习,做软件技术的如果没有深刻的理论知识犹如无源之水无本之木。
(2)以应用技术为主、做到按市场需求学习。计算机语言、软件设计思想、数据库技术、流行技术、前沿技术等都要涉及。最主要的要注重实习实训环节。让学生在实习实训环节对所学的知识能有个很好的应用和总结。
(3)整合课程设计和实训。力尽在实训中完成项目驱动的教学思路。我们发现大部分课程设计学生都做了一个简单的MIS系统,三年下来学生用一个MIS系统可以应付好几门课的课设或是实训。应很好地把这些课设实训的时间整合起来,严格要求、精心规划、以标准的软件开发规范和产品去指导学生进行软件开发的学习,从中将课程中学习的东西融会贯通。通过项目来锻炼学生是最好的办法。
(4)以案例引导、项目驱动、团队协作、小组教学为主要方式,不再以个人为教育单位,2-3人为一个项目组。一来模拟实际项目开发的真实环境,二来通过学员间的协作互助,培养团队协作的能力,可以解决一些我们老师难以触及的问题。
(5)校企合作。校企脱节是所有高校 计算机教育问题的根源。目前很多培训机构都与企业签署长期协议,帮助培养定向人才,想一想,为什么协议对象不可以是广大高校呢?企业直接和高校签订用人协议,通过大三一年的实践进行定型培养,毕业后合格即直接招收。这样一来,取代了流于形式的企业实习,同时解决了教育与需求接口的问题,一举两得。[1]和其他专业的校企合作相比,计算机专业校企合作更为灵活,应走出一条体制多样性,机制灵活性的校企合作新思路。学校实验室环境和企业实际环境十分相似 只需有较强的企业实践的老师或是人员和标准开发过程,即可达到校企合作来锻炼学生的目的。
(6)老师要培训。计算机技术发展是很快的。每天出几个新名词是很平常的事情。新旧技术更替很快。专业老师应该不断学习充实自己,最好的办法就是培训。
(7)加强对学生的素质教育个人文素养的培养。介于高职层次学生的质量,应该对学生做足够多的入学教育和平时的素质教育,如:学生对大学应该如何认识,大学生活如何度过,对专业的整体认识,专业如何去学习等等。在平时多些素质教育的内容,以提到学生团队协作的能力,吃苦耐劳的能力,与人相处的能力等等。加强其内在修养。
4.总结
如今正是信息量成指数膨胀的时代,随着嵌入式技术、物联网技术和云计算等技术的发展各个行业对信息化智能化发展的要求越来越强烈,信息处理设备及平台的扩张使得用户也在不断的扩张,IT行业即将迎来第二个高速发展阶段,我们应抓住机遇发展我院计算机教育事业。
参考文献
关键词:企业信息化 信息管理与信息系统 企业资源计划 ERP沙盘
1现状分析
高校的专业设置受到社会分工的直接影响。一般说来,高校的专业设置主要以满足社会已有专业分工为原则,使大学生一毕业就能很好地适应专业工作岗位。
然而,信息管理与信息系统(以下简称信息管理)专业的设置却有些特殊。中国信息技术发展与应用起步较晚,远远落后于发达国家。为了尽快与发达国家接轨,加快国家信息化建设的步伐,在社会专业岗位并不清晰的情况下,中国高校纷纷开设信息管理专业。
从20世纪80年代开始,信息管理专业从无到有,发展非常快,至今已遍布全国各大高校。信息管理专业的职业定位从建立至今始终处于探索状态,虽然国内外学者一直在研究探索信息管理专业的教学体系、职业定位,但是大多没有系统化地从信息管理专业社会职业定位的角度来反思学生的知识构成与专业技能,使得教学体系的改革始终与学生就业脱离,没有从根本上实现信息管理专业学生专业培养与将来就业的直接接轨。
从理念上说,信息管理专业是一个管理学与计算机科学交叉的专业,所学的课程一般包括管理学相关课程、计算机相关课程和信息管理相关课程等。学生的就业方向可以是管理、计算机和信息管理,侧重在信息管理。
但从实际就业情况来看,信息管理专业毕业生应聘工作岗位时,往往会出现这样的情况:管理技能不如管理专业的学生,计算机技能学生不如计算机专业的。人才市场上提供的信息管理岗位需求比较少,且多数是要求从事电子化办公秘书工作,没有多少专业技能可言,这样的岗位各专业的本科生都可以胜任。由此反映出现行的信息管理专业在职场上没有体现其特有的、有别于其他专业的自身职业素质和技能,这是影响信息管理专业实现可持续发展的关键问题。
2信息管理专业人才职业定位分析
教育部在《普通高等学校本科专业目录和专业介绍》中对信息管理与信息系统专业的业务培养目标做了明确规定:本专业培养具有现代管理学理论基础、计算机科学技术知识能力,掌握系统思想、信息系统分析和设计方法以及信息管理等方面的知识与能力,能在国家各级管理部门、工商企业、金融机构、科研单位等从事信息管理及信息系统分析、设计、实施管理和评价等方面工作的高级专门人才。
根据上述培养目标来检索具体的社会岗位需求,发现国家企事业单位或部门在招聘的时候很少提供信息管理专业岗位需求,即使提到也是等同于计算机相关专业要求。
国家企事业单位信息化建设已经进入高速发展轨道,信息化战略地位、信息化推进组织体系、 信息化政策规划体系、信息化基础设施等已初步建立。信息化建设已经成为衡量企事业单位核心竞争力的重要指标,我国现阶段正处于信息化建设期,毫无疑问,社会需要信息化建设人才。
以企业信息化建设为例,其信息化人才需求包括技术领域、制造领域、管理领域等方面信息化建设人才,同时需要计算机硬件系统购置与维护、软件系统开发与维护、网络环境维护、信息化建设规划等方面人才。
技术领域信息化建设主要要求计算机辅助设计专业;制造领域信息化建设主要要求计算机辅助制造专业或自动化专业;管理领域信息化建设一般要求计算机及相关专业。
一、首先要学好数学这门基础课
IT 界有一句比较实在的话“数学是计算机之母”。在 C 语言的学习过程中,一般有大量的算法和数据结构需要去了解,由此可见数学在计算机学习中的重要地位,同理,在 C 语言的学习过程中,数学思想的应用会让人有豁然开朗之感,一些简单的运算问题的解决其实就是在数学领域的,编写程序是为了让计算机可以代替人操作运算过程,从而减少人力。
二.、明确学习C语言的目的
我们的学习目的不是只为了学习C语言,而是为了能够掌握程序设计的方法,具有程序设计的基本理念,为以后的计算机应用打下基础。在学习中很多学生认为这门课程既难学、又看不到任何成果, 不如 Java 等语言很快就能编写出有漂亮图形界面的程序。 但C 语言有助于对计算机编程底层原理的理解,对调整知识结构和能力结构,提高自己的综合素质都有很大帮助。
三、语言入门
刚开始接触计算机知识,处于一个计算机技术的启蒙阶段.在这个启蒙阶段,最重要的就是入门。当大家都满怀信心的去学习那些被各大高校都当作计算机入门教材的C 语言的时候,发现太多的“不明白”,因此《C语言程序设计》入门课是至关重要的。因为学生都是初次接触C语言,C 语言对他们来说是神秘的,首先在学习之前要充分了解相关领域的知识,明确学习目的及学习重要性,激发学生的学习好奇心和欲望。
四、了解C语言的发展历史,使自己对C语言产生一种似曾相识的感觉
C语言是国际上广泛流行的计算机语言,既可以用来写系统软件,也可以用来写应用软件,特别对操作系统和系统实用程序以及需要对硬件进行操作的场合,C语言明显地占优势。比如网络编程语言PHP的绝大部分内容与C语言相同,如果学过C语言,那么再学PHP就会非常轻松。
五、把好实践关,重视每次上机试验
C语言是一门实践性很强的课程,既要掌握概念,又要动手编程、上机调试运行。养成上机前分析题目,决定算法与数据结构,并编出程序源代码的好习惯,这样在上机时,就会有的放矢,上机时输入程序并完成语法检查,再运行程序,检查运行结果,同时详细记录下在程序调试过程中所遇到的问题及解决办法。编程千万不可遇难而退,这个时候是决定你水平提高的关键,一定要坚持到底。坚持就能成功。上机过程中主要精力放在调式程序上。实习结束后随堂完成实验报告,逐步积累调试程序的经验。培养自己良好的编程习惯。明确一点“C 语言不是看会的,也不是听会的,而是亲自动手实践练会的”。
六、强调问题学习,培养自己的创造性思维
目前许多学生普遍缺乏问题意识,则学习就失去了快速前进的动力。每次学习都要带着问题去学,直到把问题解决了,知识也就掌握了。科学并非始于观察,而是始于科学问题,正是问题激发人们去观察、去思考,从而启动了科学探索的创造机制激活了科学家的创新思路。
七、牢牢把握住C语言的知识要点
C语言内容十分丰富,各知识点具有非常大的连贯性,常常是牵一发而动全身,这往往使得学生在入门阶段容易产生畏难情绪。眼高手低是每一个刚学 C 语言的人都会出现的一种情况。由于 C 语言灵活、强大,初学者要全面地掌握它非常吃力,因此在学习 C 语言的过程中,一定要熟练掌握 C 语言的流程控制语句、数组、函数、指针等基础知识。可以把学习的重点放在函数的设计框架、参数设计、返回值设计等关键问题上。
八、学习过程中引入软件工程的基本思想
为使自己有良好的编程思维,培养自己在程序设计中从软件工程角度去系统分析问题的良好习惯。
总之,计算机语言是各高校普遍设置的一门计算机课程,也是培养大学生计算机能力的一门基础课程,是各专业学生进行计算机编程以及从事计算机研究的基础类课程,意义十分重大。计算机语言的种类很多,各种语言的区别只是语法规则和具体的实现方式不同,好多方面都是相通的,所以对于计算机语言的学习关键在于精而不在于多。C语言是计算机程序设计中一种广泛使用的基本语言工具,学习 C语言是学生形成编程思维,是为将来进行计算机软件开发设计打下基础的重要过程。
【参考文献】
1 引言
计算机软件是一种特殊的产品,为了防止软件的非法复制、盗版,保护软件开发商的利益,就必须对软件进行加密保护。采用基于硬盘号和CPU序列号的软件加密技术,软件会根据微机硬件参数给出该软件的序列号;用户需要把这一序列号用E-mail、电话或邮寄等方法寄给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号寄给用户即可。它的注册信息与机器的硬件信息有关,不同于以前的序列号的注册方法,提高了软件的安全性。
2 硬盘号与CPU号
(1) 硬盘序列号: 英文名 Hard Disk Serial Number, 该号是出厂时生产厂家为区别产品而设置的, 是唯一的, 是只读的, 利用硬盘序列号的加密往往是利用其唯一和只读的特性。在有的加密软件中采用的是硬盘卷的序列号: 英文名 Volume Serial Number,以指硬盘的逻辑盘, 如: “C:”、“D:”等,是高级格式化时随机产生的, 是可以修改的,由于其可修改,所以利用其进行加密,对于安全而言就大打折扣了。 硬盘的卷号通过WINAPI函数,GetVolumeInformation即可获得。就IDE HDD而言, 对于没有序列号或SCSI HDD硬盘则无能为力,这也是利用它进行加密的局限性。
(2) CPU序列号是一个建立在处理器内部的、唯一的、不能被修改的编号。它由96位数字组成。高32位是CPU ID,用来识别CPU类型。低64位每个处理器都不同,唯一地代表了该处理器。CPU号可以用来识别每一个处理器。为了适应这一新特征,Intel在处理中增加了两条指令(“读取”和“禁止”)和一个寄存器位(模式指定寄存器位:Model Specific Register一“MSR”)。读取指令扩展了CPUID读取指令。当执行读取指令时可以得到96位的处理器序列号。禁止指令可以禁止对处理器序列号的读取。为了配合CPU序列号的读取和禁止,设置了MSR位。当MSR位为“0”时可以读取CPU序列号;当MSR为“1”时只能读取高32位(即CPU ID)而低64位全为零。
3 程序实现
3.1 加密方法
通过应用程序取得机器硬盘号和CPU号通过加密程序形成一个注册序列号,用户将这个注册序列号发送到软件注册者,软件注册者按照预定的算法生成注册码,然后将其发给用户,通过注册形成合法用户。软件每次启动时都到注册表或注册文件的相应位置读取注册码并与软件生成的注册码比较,一致则是合法用户,否则是非法用户。由于注册码与用户计算机的硬盘号和CPU号相关联,故其是唯一的,非法用户即使知道注册序列号与注册码也无法使用。
3.2 实现过程
(1) CPU号的读取
硬盘的序列号只能采用对硬盘控制器直接操作的方式进行读取,也就是说只能采用CPU的I/O指令操作硬盘控制器,对于CPU号的读取采用了在DELPHI嵌入汇编的方法读取。其读取方法如下:
MOV EAX,01H
如果返回的EDX中,低18位为1,那么这个CPU就是支持序列号的。此时EAX就是序列号的高32位。这32位对同一型号的CPU是一样的。
再执行:
MOV EAX,03H
此时的EDX:ECX就是序列号的第64位。
(2) 硬盘号的读取
硬盘号的读取通过CreateFile函数,CreateFile可以打开物理设备和串口等,使用CreateFile("\\\\.\\PHYSICALDRIVEI",…)打开硬盘,其中的I为0-255,其为需要读取的硬盘。命令如下:
hDevice := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0)
使用DeviceIoControl函数对打开的设备进行通信,发送指定命令,根据返回的PSENDCMDOUTPARAMS结构,得到物理序列号和模型号,把物理序列号和模型号格式化为一定的格式输出。
(3) 对注册表的操作
Delphi程序中可利用TRegistry对象来存取注册表文件中的信息。
①创建和释放TRegistry对象
通过Create和Destroy来创建对象和释放内存。
②读取注册表中写入信息
对于注册表数据的读取可采用ReadString、ReadInteger、ReadBinaryData等函数来读取字符串、数值、二进制值。
③向注册表中写入信息
Write系列方法将信息转化为指定的类型,并写入注册表。
对于注册表数据的写入可采用WriteString、WriteInteger、WriteBinaryDat来写入字符串、整数值、二进制值。
4 结语
本文给出了一种软件加密的方法,通过该方法产生的注册码与计算机的硬件相关,对于读取的硬盘号、CPU号可以通过MD5加密算法产生一个注册号,保证软件加密的可靠性,可有效地防止非法用户破解软注册码,保护软件的知识产权。
中图分类号:TP391.42 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
目前专门针对于老年人的计算机软件还是很少,特别是忽略了老年人使用计算机的渴望。他们不能独立使用计算机,这就极大的影响了老年人的生活质量。但是,老年人迫切希望学会使用计算机,计算机会对他们的生活产生很多很大的便利,提高更好的晚年生活质量问题被提上了日程。随着社会老龄化的发展,老年人的市场变得无比巨大,已经有不少软件企业瞄准了这个新兴的市场。语音软件助手的开发能够帮助老年人方便使用计算机。
一、开发环境
Visual Studio 2008是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。数据库XML即可扩展标记语言,它与HTML一样,都是SGML,标准通用标记语言)。XML是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
二、Windows语音助手功能
Windows语音助手由四个主功能模块构成。语音助手可以帮助用户使用语音进行Windows的常规操作。
(一)语音识别模块 利用语音识别引擎实现对语音的识别,从而对语音指令做出相应的操作。程序内置了Windows的常用命令,用户也可以根据自身需求增加、查看、删除命令。另外本模块还提供了语音训练和语音选项。帮助计算机更好的识别用户的声音。
(二)语音阅读模块 利用语音识别引擎实现Text To Speech(将文本转化为语音)功能,即将文本转化为音频资料。你可以随意打开系统内的text文本,也可以向文本框中输入文本。系统将会根据用户提供的文本进行朗读,在朗读过程中还可以进行语音和音速的改变。还可以将text文本转化为wav文件。
(三)语音输入模块 利用语音识别引擎实现Speech To Text(将语音转化为文本)功能。即实现语音输入,将用户的声音转变为文本。可以帮助不会拼音和汉字的用户完成文本的输入。
三、Windows语音助手详细设计
语音识别功能 语音识别功能可以识别用户的语音指令,并让计算机执行用户的指令。
(一)语音识别引擎 可以通过单击窗体右下角的喇叭图标使斜杠消失,这时语音引擎会打开。语音引擎打开时小精灵会有提示,这时你就可以通过麦克风控制电脑了。
(二)指令的添加,查看与删除 可在窗口的名称,路径,类型中输入相应数据单击添加按钮,实现命令的添加,程序路径的添加可通过点击路径输入旁的圆形按钮,在系统中找到程序的主执行程序。可以单击已存在的指令查看指令信息,及正确格式。单击选中已存在的指令单击删除按键删除指令。
(三)语音训练与语音选项 单击窗体右边的语音训练按键,可打开语音训练窗口,只有经常进行训练才能实现语音的高识别率。单击窗体右面的语音选项可以打开语音选项界面。当打开程序时要保证语音属性中的语音识别选项卡中的语言选项选中Microsoft Simplified Chinese Recognizer V5.1,这样引擎才会识别中文。
语音阅读功能 点击主窗体上的语音阅读与输入按键可打开语音阅读与输入界面。
1.阅读文本的载入
当要使用阅读文本功能时,可以手工输入要阅读的文本或点击打开按键导入系统中已存在的文本。
2.语音阅读功能
1)朗读:开始对文本进行朗读。2)暂停:暂停对文本的朗读,点击继续可继续当前的朗读。3)停止:停止当前的朗读,开始点退回文本开头。4)保存为wav文件:可将文本文件保存为wav格式的音频文件。5)清空内容:清空阅读框中的内容。
3.语音阅读操作
1)语音选择:实现对发音语言的选择。2)音量:调节音量。3)音速:调节音速。
语音输入功能 通过点击语音输入按钮可以实现语音输入功能。语音输入功能可以实现语音到文本的转化。
四、系统测试
测试是软件开发的重要环节之一。按照软件开发的过程测试可分为:单元测试、集成测试等。单元测试的目的在于发现各模块内部可能存在的各种差错。单元测试又称模块测试、逻辑测试或结构测试。测试的方法一般采用白盒法,以路径覆盖为最佳准则,且系统内多个模块可以并行地进行测试。集成测试也称组装测试,综合测试或联合测试。集成测试是按设计要求把通过单元测试的各个模块组装在一起以后进行测试,以便发现与接口有关的各种错误。在进行集成测试时,常需要考虑的有关问题有:数据经过接口是否会丢失;一个模块对另一个模块是否造成不应有的影响;几个子功能组合起来能否实现主功能;误差不断积累是否达到不可接受的程度;全局数据结构是否有问题。经严格测试,系统总体功能达到了设计要求,能够实现语音识别,语音阅读,语音输入和扩展模块。
五、结论
本文提出了开发利用语音助手帮助老年人方便使用计算机的思想。在此思想的基础上设计并开发了基于Speech SDK的Windows语音助手。系统功能总体达到了设计需求,已经能够实现语音识别,语音阅读,语音输入和扩展模块。语音助手能够方便老年人使用电脑,帮助提高老年人熟练地运用电脑进行生活和娱乐。
参考文献:
[1]沃森,内格尔.C#入门经典[M].北京:清华大学出版社,2010.1-199.
中图分类号:G642 文献标识码:B
1J2EE课程的目标与定位
J2EE是Sun公司主导提出的企业级应用框架,为开发具有跨平台性、可扩展性、高稳定性的软件系统提供强大的支持,已在政府、金融、通信、电力等多个行业得到广泛应用,例如电子商务、电子政务系统。目前国内对J2EE工程师需求量很大,IDC统计数据显示J2EE人才占软件开发人才需求的60%左右。当前遇到的一个困局是:社会迫切需要大量的程序员,但一些高职院校所培养的学生却难以适应企业的要求,学生毕业后较少从事专业对口的软件开发工作。
广州番禺职业技术学院在计算机软件技术专业开设了J2EE课程,目标是提高学生的职业能力,培养高素质的Java应用型人才。通过课程的学习,将学生积累的基础知识转化为实践知识,为他们走向工作岗位后能尽快上手提供重要保障。
本课程的先修课程包括Java、Java Web开发技术(JSP、Servlet)、数据库、软件工程、计算机网络等。内容主要讲述J2EE主流的开发方法,培养学生具备使用J2EE开发企业级系统的能力,具体要求如下:
(1) 能搭建J2EE开发平台,熟练使用一种主流的开发工具、J2EE应用服务器和数据库;
(2) 能利用J2EE的核心技术开发四层体系结构的软件系统;
(3) 能利用J2EE主流的框架Struts +Hibernate+Spring进行系统开发;
(4) 具有良好的团队协作能力,能按照软件工程步骤完整完成一个J2EE软件项目。
2J2EE课程的重点与难点分析
J2EE是一门涉及面广、实践性要求高的技术课程,在校学生往往缺乏实际软件项目的锻炼,容易对J2EE技术
的用途产生困惑,难以理解J2EE的复杂实现。市面上的书籍通常偏重于代码技巧的实现,缺少对实际项目的详细讲解。相对于数据结构、计算机组成原理、操作系统等传统基础课程,J2EE是一门发展中的新技术,真正深入开展J2EE教学的高职院校并不多,在教学内容和教学方法等方面还需要积极进行探索。
J2EE课程的重点与难点体现在需要综合运用多种知识来实现系统的功能,具体分析如下:
(1)J2EE体系结构:典型的J2EE四层体系结构是由客户层、Web层、业务层和数据层自上而下组成,每一层要求运用不同的技术,只有领会J2EE体系结构的精髓才能更好地运用J2EE技术进行软件开发;
(2)J2EE技术规范的理解以及应用:J2EE包含了十三种核心技术,分别为JNDI、JMS、JDBC、EJB、JTA、JavaMail、RMI、Java IDL/CORBA、JSP、Servlet、XML、JTS、JTF,每项技术又包含了很多新的概念以及API;
(3) 框架技术的运用:J2EE的框架种类多,MVC的思想是将部件分离为模型、视图和控制器三部分,Struts、Spring是MVC的一种实现框架,而Hibernate是提供数据访问的持久层框架,把他们结合起来将能够建立更灵活的软件系统,但熟练运用这些技术需要反复的实践;
(4) 工具的使用:学生需要掌握J2EE IDE的开发使用方法、J2EE应用服务器和数据库的配置管理技能,而且还能够综合运用这些工具进行代码编写、调试以及部署。
3项目驱动的进阶式J2EE课程教学设计
3.1进阶式课程结构
根据J2EE技术规范和应用经验,通过对J2EE知识点的内在关系以及重点、难点进行分析,提出了按入门、提高、深化到巩固的四阶段教学内容实施计划,课程单元的教学安排从能力目标、工作任务、知识点、方法、实践、
总结六个主要方面逐步深化展开(见图1),其中工作任务是实现课程能力培养目标的举措,知识点是通过项目案例引出,进而归纳出完成工作任务的一般方法,最后以具体任务的实践以及总结来深化学生对技能的掌握。
从图1可看出J2EE涉及的内容很多,按照高职院校常规的课时安排,很难在一门课程内对每一部分内容都作详细的讲解,因此建议通过三门课程来共同完成J2EE的教学,其中第一、二阶段由一门课程完成,实现第1节所讨论的J2EE课程能力1和2的培养;第二、三阶段分别由一门课程完成,相应实现能力3和4的培养(见表1),具体在每个课程单元的教学活动中还需要做进一步的细化。
3.2项目驱动的案例设计
J2EE技术较为抽象,若把案例贯穿于整个教学内容的实施过程中,将有利于学生对知识点的理解与掌握,因此项目案例的设计是J2EE课程效果的关键。J2EE的项目类型很多,案例的选取应具备以下几个特征:
(1) 针对性:难度与高职学生能力相匹配,适合于教学,具有易学性,能让学生易于领会J2EE的开发思想;
(2) 典型性:包含大部分J2EE的重要技术和实际中常用的方法,能够和教程的知识点紧密配合,案例能够完整贯穿于整个教学过程;
(3) 综合性:能够体现软件工程知识,有项目背景、用途、业务关系的详细描述。
实际项目的业务关系通常较为复杂,不适宜直接照搬用于教学,应根据课堂特点进行裁剪,根据各阶段的能力培养目标将一个大项目划分为多个单独可以直接执行的子系统或者模块。建议以学生熟悉的业务作为教学案例,例如图书管理、网上购物等,通过由浅入深的引导,逐步实施,让学生在一个个任务的完成过程中逐渐掌握完整J2EE系统的实现方法。图2是一个网上购物系统的教学案例设计示意,其中在第一阶段侧重于增强学生对J2EE技术的了解和认识,在第二、三阶段侧重于使用不同的技术对比实现某些挑选出的相同模块,在第四阶段侧重于从软件开发过程的全局角度完整地实现网上购物系统。
一个案例由背景、功能演示、实现步骤、代码解释四部分组成,可为J2EE课程提供多个互为补充的不同类型案例。同时,对案例涉及到的先修课程或者讲述过的内容应举一反三,将知识点的传授贯穿于整个教学活动过程中,使学生能够温故而知新。
3.3实践为主的教学方式
相对于普通的计算机基础课程,J2EE课程更偏向于应用。现有的J2EE工具较多,建议在教学中采用主流的开源工具:Eclipse+Tomcat+JBoss+MySQL。市面上的J2EE教材往往只是侧重于某一方面,建议从几本教材中选取相应的内容进行教学。在内容讲解上,应根据高职学生的特点,强调知识的可应用性,把握住理论传授的深度,不纠缠在概念细节方面。教学过程以实践为主线、理论为辅,通过实践来逐步领会理论知识,对此应为实践安排更多的课时。教学方法是综合采用多种教学手段实施项目案例的讲解和实践指导,下面对重点部分作讨论:
项目案例应先演示后再详细讲解,以便学生有直观的印象和体会。知识点的传授围绕着“为什么引出该知识点,他解决了什么问题、有哪些主要特性、怎样使用,与相似知识点有何差异”。为了将知识点讲透,应给出工作任务的多种解决方法,并对方法的优缺点进行对比说明,同时列举典型的不当或者错误代码,以加深学生的认识。
实践指导环节,应耐心指导学生,及时解决学生上机实践中出现的问题,鼓励他们多动手、多思考,引导他们积极自我总结开发经验。同时需要对实践内容把好关,为学生提供清晰的实现步骤和注意事项。先让学生参加规模较小的练习,到后面再逐步深入实现一个规模较大的完整系统。
3.4分侧重点的评价方法
根据J2EE的进阶式课程结构,对每一阶段的学习效果应有相应的评估标准:
(1) 对于第一、二阶段的教学,建议采取平时作业占30%,考试成绩占70%,考试由笔试和上机操作组成,强调对基础知识,基本技能的考核;
(2) 对于第三阶段的教学,建议采取平时项目占70%,考试成绩占30%,考试以上机操作为主,强调平时训练的重要性,侧重对学生个人的综合技能考核;
(3) 对于第四阶段的教学,建议采取平时项目占100%,考核学生团队合作共同完成一个完整项目的能力。以学生答辩的形式进行,教师和其它学生团队一起对其进行评价,以达到相互学习提高的目的。
4对职业素质的综合培养
为了取得更好的J2EE教学效果,让学生真正掌握一项能够服务社会的技能,顺利走上软件开发的职业道路,除了知识的传授之外,在教学实施中还应对学生进行以下几方面的职业素质培养:
(1) 培养学生的学习兴趣:从学生实际情况出发,充分调动他们的学习主动性,并消除他们的畏难心理,是课程教学成功实施的关键。针对学生没有企业工作经验、对企业级的应用开发感觉陌生、基础薄弱的情况,应采取从简到难的步骤进行传授,多以形象的图例从多个角度来启发他们的想象力,开阔他们的思路和眼界;
(2) 培养学生的自学能力:引导学生借助书籍、互联网等工具独立解决学习中遇到的问题,教导他们养成良好的学习方法,扎实掌握实现一个软件系统的要领,以便于将来即使是使用其他工具语言来开发软件,也能够快速上手;
(3) 培养学生的耐心和细心:用J2EE开发系统的代码
量往往较大,一个不经意的错误可能需要花费几天的时间才能够调试出来,因此既要求学生具有编写良好规范代码的习惯,也需要他们有吃苦的精神,调试程序时,能够沉得住气,仔细查找错误;
(4) 培养学生的团队合作精神:模拟软件公司的开发组织形式和项目管理方法,将学生分为若干个小组,每个成员在小组当中充当一定的角色,例如项目经理、系统分析师、程序员等,让学生在团队的合作中完成一个软件系统的开发。鼓励各个团队之间相互进行竞争,以便让学生在适当的压力环境下更好地得到成长。
5结束语
为了培养具有竞争力的程序员,满足社会对计算机人
才的需求,应增强学生对应用型知识的掌握能力。J2EE是当前主流的软件开发技术,对学习的要求较高,需综合运用编程语言、数据库、软件工程、计算机网络等多门知识,积极探索该项技术的教学方法迫切且非常有意义。本文下一步的工作是在教学中继续深入探索基于工作任务的J2EE教学方法,使学生更好地掌握运用J2EE技术进行企业级系统开发的相关知识和技能,从而达到以点带面、触类旁通的效果,为IT行业培养更多的技术应用型合格人才。
参考文献: