首页 > 文章中心 > 计算机软件开发入门

计算机软件开发入门

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇计算机软件开发入门范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

计算机软件开发入门

计算机软件开发入门范文第1篇

    用的安全性面临威胁和挑战。本文简要分析了计算机软件所面临的几个安全问题,主要探讨计算机软件安全的具体防护策略。

    关键词:计算机软件 安全问题 防护策略

    根据学界比较权威的定义,计算机软件主要是指计算机系统中的程序及其文档,其主要分为系统软件和应用软件两大类。目前,除了科研和医疗,大多数人们对于计算机的使用主要是建立在应用软件的基础上,种类多、功能全、个性化的应用软件极大地满足了人们的生活和学习。但是,和硬件可以摸得着、看得见的实物形态相比,软件却是无形的,它的功能如何,运行是否正常,只有通过软件程序在机器上运行才能知道。而计算机软件的安全对于计算机的性能至关重要,它是计算机信息系统中数据安全的一个重要方面。尤其是在电子商务繁荣的今天,加强企业计算机的安全管理,保障电子商务业务正常有序进行,确保信息和资金安全是一个现实的问题,这就给计算机软件的设计和管理带来了诸多的困难。

    计算机软件安全问题包括保证软件系统自身的安全和确保软件系统正常、连续的运行,它涉及两个安全主体。从软件使用者的角度看,用户需要软件的性能可靠、安全,易于操作并且质优价廉。从软件开发商的角度讲,开发商除了要满足最终用户的安全需要外,还得保护软件开发者的知识产权,以防软件系统被不法之徒为了牟取利益而低廉复制或者跟踪仿制。可见,计算机软件的安全不仅体现在软件系统使用上的安全,还涉及到软件本身和软件开发商的权益。计算机软件作为一种产品,是特殊的脑力劳动成果,也是计算机系统中的一种特殊资源。计算机软件的安全关系到整个互联网信息系统安全的安全,是计算机安全的一个重要部分。

    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).

    [3]齐燕.浅谈计算机软件中安全漏洞检测技术的应用[J].信息与电脑,2010(10).

计算机软件开发入门范文第2篇

[论文关键词] 企业信息化 信息管理与信息系统 企业资源计划 ERP沙盘

[论文摘 要] 本文通过分析企事业单位信息化建设人才的需求,探讨高校信息管理与信息系统专业人才职业定位,研究信息管理专业人才知识体系构成,提出信息管理专业人才培养新模式,为信息管理与信息系统专业人才走出就业瓶颈提供可参考的人才培养新思路。

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.

[2] 胡昌平.面向21世纪的中国信息管理类专业教育[J]. 情报学报,1999,18(1):3-9.

计算机软件开发入门范文第3篇

【关键词】软件技术专业;人才培养;高等教育

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行业即将迎来第二个高速发展阶段,我们应抓住机遇发展我院计算机教育事业。

参考文献

[1]王朝辉.软件技术专业校企“四个合作”的探索与实施[J].中外企业家.

计算机软件开发入门范文第4篇

关键词:硬盘序列号;CPU号;注册表

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加密算法产生一个注册号,保证软件加密的可靠性,可有效地防止非法用户破解软注册码,保护软件的知识产权。

参考文献

计算机软件开发入门范文第5篇

摘要:本文分析了Java作为入门教学语言的相关争议,分析了常用的Java集成开发环境(IDE)的技术特点,对Java教学内容的选择、教学各环节的实施进行分析和探讨。

关键词:Java;IDE;教学

中图分类号:G642

文献标识码:A

1引言

“计算机程序设计基础”是学生从技术的角度学习计算机的主要基础课[1]。由于不同学校、不同专业对学生程序设计能力的要求不尽相同,所以程序设计课程可以采用不同的教学语言。Java语言是Sun公司推出的新一代面向对象程序设计语言,具有简单、稳定、与平台无关、安全、解释执行、多线程等特点,是目前使用最为广泛的网络编程语言[2]。本文将对Java课程的开设、IDE的选择、教学方法进行分析和探讨。

2作为入门教学语言的争议及分析

纽约大学计算机科学系的两位教授认为:以Java作为入门教学语言会使学生过早地使用Java类库和框架,学生只知道将一些简单的程序组织到一起,但难于对所写的程序形成运行时成本(run-time cost)的概念,因为他们很难知道究竟哪种调用方法是有效的;真正的程序员应该会用任何语言编程,过早地使用Java使学生不清楚源程序和硬件间的关系,不了解指针的意义,将来难以使用C语言编程;还有Java初学者习惯于图形化编程,难于在没有图形用户界面(GUI)的语言上编写程序[3]。两位教授的意见非常中肯,但从侧面又反映了Java语言简单、好学、好用,对于非计算机专业的学生来说,这是很重要的一点。正如当年从DOS的学习过渡到Windows的学习一样,很多老师坚持DOS内容非讲不可,否则担心学生直接学习Windows时对内部命令和外部命令等基本概念都模糊不清,可现在的“大学计算机基础”课程中,基本都不讲DOS而直接讲Windows了,学生学起来更加简单、方便。

入门教学语言的选择是至关重要的事情,作为大多数学生第一种需要认真学习理解的编程语言,必将成为很多学生的编程母语在他的思维方式中留下深深的烙印。这个编程母语要帮助学生破除计算机和软件的神秘感,建立对于程序的基本认识和对计算机体系的最初理解。不仅如此,教学语言必须是工业界的主流语言,否则学生学非所用,学习动力无法保证。Java在教学上具有其特殊的优势,比如其开发环境和工具支持非常成熟,有助于培养学生正确的编程习惯;Java 是当今第一工业主流语言,标准类库非常全面,可以迅速地开发具有实际用途的程序,有助于激发和保持学生的兴趣。

当然,学生过早使用Java框架,长于整合和快速开发,生产效率高,做直接的、有章可循的、非研究性和非创新性的工作比较合适,但这样的学生基础不牢,对计算机系统的理解薄弱,处理细节和矛盾的能力不足,缺少自主分析问题、解决问题的知识、能力和经验。因此在Java教学中教师决不能让学生依赖Java框架写出程序就大功告成,而应该让学生独立实现部分类库。

Java作为入门教学语言是有诸多可取之处的,关键是教师了解其优点与缺点后,教学中要“扬长补短”,没有必要因为其不支持指针等细节而耿耿于怀。

3常用Java IDE的技术特点

一种程序设计语言辅以强大、高效的开发工具才会取得成功。Java语言的成功也证明了这一点。纵观计算机开发语言的历史,还从来没有哪种语言像Java那样拥有十几种开发工具。这里仅介绍四种最流行的Java集成开发环境(IDE):Eclipse、NetBeans、JBuilder、JCreator。根据近期数据调查分析可以看出,Java IDE的使用呈现Eclipse、NetBeans、JBuilder三国鼎立的局面。当前Eclipse市场份额占45%,NetBeans占30%,Jbuilder占15 %,其他IDE占5%[4]。

Eclipse是IBM公司的一种可扩展的开放源代码IDE。Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件。Eclipse为工具开发商提供了更好的灵活性,使他们能更好地控制自己的软件技术。经过几年的发展,Eclipse已经成为目前最流行的Java IDE。并且拥有了很多的Eclipse社区和新闻组。目前,Eclipse已经成为开发Java程序的首选IDE。

JBuilder是Borland公司的Java IDE。JBuilder功能强大,能够满足很多方面的应用,尤其是对于服务器方以及EJB(Enterprise JavaBeans)开发者们来说。JBuilder缺点是往往一开始人们难于把握整个程序各部分之间的关系,对机器的硬件要求较高,占用系统资源较多,所以运行速度也较慢。

NetBeans是SUN公司主导的一个开放源码的Java IDE,它已经仅次于Eclipse,是第二大Java IDE工具,适用于各种客户机和Web应用。这个IDE有很多好的工具支持基于服务的企业开发,尤其是在SOA方面。举个例子来说,NetBeans是IDE中唯一支持BPEL图表和建模功能的产品。

JCreator为用户提供了相当强大的功能,可以不用激活主文档而直接编绎或运行Java程序。JCreator的设计接近Windows界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合,是其他任何一款IDE所不能比拟的。它是一种初学者很容易上手的Java开发工具,然而JCreator的缺点也是非常明显的,它由于太过简单,当学习到开始接触AWT、SWING以及J2EE时就会发现它几乎无法完成J2EE以及界面程序开发。

一般开发项目时都需要安装各公司的应用服务器(中间件)和相应的开发工具,在使用这些开发工具之前,我们最好能熟知这些软件的优点和缺点,以便根据实际情况选择应用。

4Java课程的教学

目前,国内外很多高校已经将Java列为教学语言。然而,面对Java日益庞大的体系结构以及Java技术的飞速发展,如何在有限的学时内有效地开展教学就很值得研究。

4.1教学内容的选择

必须有针对性地选择教学内容,包含基础知识和高级知识,见表1。一方面,使得学生能够掌握必要的基础知识,为以后的进一步学习打下扎实的基础;另一方面,由于其涉及部分高级知识,为开发实用程序提供可能。

学习Java不能仅仅理解为学习Java的基本语法,认为掌握了基本语法就掌握了Java,这是理解上的误区。Java不仅仅是一门语言,它还是一个平台,所以要深入透彻地掌握Java,就必须掌握Java的基本工作原理,例如虚拟机、类装载器等等。此外,面向对象的思想一定要重点强调。面向对象是一种先进的系统分析、设计和实现方法,它已成为当前计算机软件开发的主流方法。Java API文档始终是学习Java 最权威、最全面的资料。学会使用Java API文档,对于日后的实际开发工作意义重大。

要想开发真正的应用程序,仅仅掌握基础知识还是不够的。异常处理、GUI、I/O 流、多线程、JDBC、Socket是必须讲授的内容。这部分知识也只是进一步学习其他Java技术的基础,因而需要扎实掌握。

在可能的情况下,教师应该尽早让学生接触设计模式(Design Pattern)。掌握常用的设计模式,可以避免重复设计或尽可能少做重复设计,极大地提高软件的可复用性和灵活性,从而大大提高软件开发效率。

4.2教学各环节的实施和教学方法分析

基础先行的讲授方式:先讲图形用户界面的做法从GUI和applet开始,似乎能够引起学生的兴趣,但这需要学生具备牢固的面向对象程序设计方面的知识,并要求对Java事件处理模式有很好的理解,所以学生可能不太容易完全接受。先讲基础,是一种循序渐进的讲授方式,首先对程序设计的概念、控制语句、方法和数组打下坚实的基础,然后介绍面向对象程序设计,再讲授图形用户界面、applet,最后讲授异常处理、简单I/O和其他高级课题[5]。这种方法的好处是,首先讲解了面向过程的方法,然后演示面向对象方法的优越性,学生可以从中学到何时以及如何高效应用面向对象方法。

4.2.1适时引入IDE工具

目前,已经有很多高级的可视化Java开发工具,例如JBuilder、Eclipse等等。这些开发工具功能强大,对于提高编程效率很有帮助。然而,对于初学Java者,建议不要一开始就使用这些高级工具,否则很容易迷失方向。重点应该放在Java基础知识的学习上,可以使用纯文本编辑工具作为编写代码的工具。例如,UltraEdit就是非常不错的选择。使用文本编辑类型的工具来编写Java代码,可以迫使初学者记住必要的基本知识,养成阅读Java API文档的习惯,这两点在起步阶段是很重要的,可以为后面的学习打下扎实的基础。在课程的后期再引入IDE工具,这样不至使学生将注意力集中在开发工具的学习上。

4.2.2重视编程技巧与风格

学生过早使用Java框架,长于整合和快速开发,生产效率高,做直接的、有章可循的、非研究性和非创新性的工作比较合适,但这样的学生基础不牢,对计算机系统的理解薄弱,处理细节和矛盾的能力不足,缺少自主分析问题、解决问题的知识、能力和经验。因此在Java教学中教师决不能让学生依赖Java框架写出程序就大功告成,而应该让学生独立实现部分类库。教师可先介绍Java框架中相应类的接口定义和使用方法,学生使用后,从用户的角度有了直观的认识,再让学生自己完成具体实现,然后在可用性、灵活性、可扩展性和性能上与Java框架中的实现比较,分析结果差异,最后再阅读、研究分析Java框架的具体源代码实现。这种让学生先当用户,体会用户的需求,然后再当设计者,这种方案不仅培养了学生独立解决问题的能力,也使其学习了Java框架中优秀的编程技巧与风格。

4.2.3设计大作业,强化实践环节

在课程后期,学生有了一定的Java编程基础,欠缺的主要是实际的开发经验和全面系统的、深入的掌握Java技术。解决的方法就是通过企业真实项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,尽快达到企业的实际要求[6]。选择项目时需要注意:①选择企业真实项目。项目应是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。否则学生练习后还是难以达到企业实际的需要。②项目规模要适当。这要根据项目练习的阶段,练习的时间,练习的目标来判断。太大了做不完,太小了达不到练习的目的。③项目应能覆盖所学的主要知识点。学以致用,学完的知识点需要在实践中应用,才能够真正理解和掌握。④强调培养学生的动手能力。软件开发是一个动手能力要求很高的行业,要求学生必须能够独立动手写出代码,写出的代码必须能解决实际的问题。

4.2.4推进评价环节的改革

一门课程的教学效果决定了该门课程的成功与否。除了教学内容的选择、教学环节和实践环节的充分重视,评价环节亦会显著地影响教学效果。Java课程是一门实践性非常强的课程,因而,单纯地使用传统的书面评价方式来判定学生的学习效果是不科学的。一方面不能考查学生的实际动手能力;另一方面也不能激发学生的学习兴趣。建议使用理论与实践兼顾、知识与能力并重的评价方式。对学生的评价主要由三个方面构成:①平时考核。作业情况、平时课堂提问表现、到课率。②实践考核。平时上机表现、课程上机作业。③理论考核。侧重于基础知识、基本概念的考查。这种评价方式能更加客观地反映出学生的学习效果,对学生的评价也更加科学。也可以使学生同时重视基础知识的掌握及动手能力的提高,最终达到提高教学效果的目的。

5结束语

本文对Java教学进行了初步探讨。要求教师要在更高的、全局的角度来安排教学内容,并能根据技术的发展不断更新教学内容。对Java的教学只有经过不断的试验、探索、总结,才能使教学效果不断提高。

参考文献

[1] 杨树林,胡洁萍. Java语言最新实用案例教程[M]. 北京:清华大学出版社,2006.

[2] 台雯. Java集成开发环境的分析与研究[J]. 天津职业院校联合学报,2008,10(2):56.

[3] 高振强,段丽华. 培养高技能人才的课程体系构建[J]. 宁波大学学报(教育科学版),2007,(8):52-55.

[4] 赵敬梅,郝桂英,刘凤. 高职计算机专业课程体系构建的探索[J]. 教育与职业,2007,(5):143-144.

An Exploration into the Teaching of Java as a Course

ZHOU Xian-shan, LI Juan, GUAN Bin