欢迎来到优发表网

购物车(0)

期刊大全 杂志订阅 SCI期刊 期刊投稿 出版社 公文范文 精品范文

软件开发基础知识范文

时间:2023-05-24 17:04:49

序论:在您撰写软件开发基础知识时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。

软件开发基础知识

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

[4]林雪海,吴小勇.计算机软件开发的基础架构原理研究[J].电子制作,2016,(Z1).

第2篇

一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。

二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。

三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。

四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。

五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。

测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。

第3篇

关键词:Web软件 生长式开发 模型 支撑工具

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2013)11-0205-01

进入20世纪,互联网已经逐渐渗透到人们生活和生产的各个角落,Web技术给人们带来了一个分布式、超媒体、信息量庞大的网络资源共享平台,Web软件应用在这个网络平台中可以为互联网运营商和Web软件研发者带来巨大的经济效益。但是由于现阶段互联网的应用环境日趋复杂,这为Web软件的研发和维护带来了巨大的挑战,所以如何改变传统Web软件开发模型,提高软件的应用质量、拓宽软件的应用范围等问题已经成为广大软件研发人员探讨研究的热点问题。

1 我国Web软件的生长式开发过程发展现状分析

目前,我国Web软件开发市场混乱,传统的软件开发周期很长,其过程模型大多无法适用于现在的互联网环境。这种现象导致很多低质量、低安全性的软件充斥在互联网中,给人们的生活和生产带来了诸多不便。与此同时,网络用户对Web软件的需求也发生了很多改变,具体表现在以下几个方面:①互联网的开放性和动态性,促使Web软件必须转变原有的开发方法和工具,使软件开发不再过分依赖网络信息资源和支撑工具;②网络用户的复杂性和差异性,要求Web软件必须具有较高的安全性和实用性;③互联网正处在发展阶段,所以Web软件的开发方法和支撑工具必须紧跟网络技术革新的步伐,呈现应用性能的多样性。

2 Web软件生长式开发过程模型

2.1 Web软件生长式开发过程模型构成

Web软件研发一般要经历三个阶段:萌芽期、生长期、衰亡期。萌芽期,这个阶段是制定Web软件应用性能的重要阶段,通过各种研发模型,分别建立不同种软件生长模式,在根据其模型的应用性能,对模型进行甄别,找出最优的开发过程模型;生长期,这个阶段是体现Web软件应用性能的主要阶段,通过对软件应用性能的监测,不断开发集成新型软件构件,使软件能够及时发现与识别互联网新需求,从而提高Web软件的综合使用性能;衰亡期,是一个Web软件在不能满足互联网新需求的情况下,被淘汰而停止使用的过程[1]。

2.2 Web软件生长式开发模型的作用

通过上文对Web软件生长式开发构成的研究和分析可知,Web软件生长式开发模型对Web软件的研发具有重要影响意义,其作用不可忽视,主要表现在以下几个方面:①能够准确定位Web软件研发的终极目标,通过这个目标能够让软件研发人员建立正确的软件认识理论;②规范软件研发规律,为软件的支撑工具的选择提供可靠依据,使软件能够随着用户需求的变化而不断升级[5]。

3 Web软件生长式开发过程的支撑工具

3.1 选择Web软件生长式开发过程支撑工具的原则

通过对Web软件生长式开发模型的研究分析可知,其支撑工具应具备以下几个性能:①其应用性能必须满足互联网新需求的同时,具备网络识别功能,将网络用户和互联网环境变化信息及时反馈给软件研发者;②具有一定的抗干扰能力,能够克服传统网络工程中的应用问题,并能对其环境影响参数变量进行系统分析;③支持多种计算机操作程序,尤其是新型计算机网络系统的集成操作程序,在满足网络功能要求的同时,能够及时找到软件构件与系统脱离的原因;④支撑工具能够支持多样性和组合性的软件研发手段,使Web软件实现多种开发方法和实现技术的混合使用;⑤支撑工具要在软件中表明软件应用重点和难点,以便网络用户准确掌握软件应用技术;⑥支撑工具应符合软件研发的拓展条件,让软件在新环境、新方法、新技术下,能够实现软件的固件升级[2]。

3.2 Web软件的集成机制

软件支撑工具和集成机制对Web软件的综合应用性能的影响都很大,所以在正确选用Web软件支撑工具之后,还应制定合理、完善的集成机制。Web软件集成机制主要分为以下三类:①静态集成机制,在软件研发过程中,静态集成机制可以将软件各构件的源代码进行统一翻译,这样可以使Web软件在固定背景下,完成生长式开发过程;②动态集成机制,将目标代码通过连接形成完整的系统,并在系统运行开始之前完成集成;③活态集成机制,在各个集成成分都在运行状态下通过通讯和交互形成一个协调工作的系统[3]。

结论:通过上文对Web软件生长过程开发模型和支撑工具进行系统分析可知,要想提高Web软件的综合使用性能,必须建立一个支持软件长期生长策略的开发模型,在软件研发过程中,制定一个完善的开发策略,使软件研发者在充分了解软件生长环境、系统结构以及实现现状的情况下,克服现有软件环境对生长式生命周期支持不力的缺点。由此可见,Web软件作为软件工程的重要研究课题,仍存在很多问题需要广大软件研发工作者去研究和探讨[4]。

参考文献

[1]朱鸿.Web软件的生长式开发过程模型及其支撑工具[J].电子学报,2010,13(25):114-126.

[2]朱克飞.Web软件的生长式开发过程及其支撑工具刍议[J].计算机光盘软件与应用[J].2013,20(15):145-153.

[3]冯华.Web软件开发的阶段化生长模型及其应用[D].上海交通大学,2008(10):156-164.

第4篇

【关键词】 软件开发 技术

计算机技术的发展是日新月异的,特别是近年来,随着各行各业经济建设和社会发展,需要不同的软件和技术为经济社会发展服务。近年来,随着我国的各项技术的不足和发展程度不够,我们在此技术的基础上提出了更高的要求。我国的自主创新能力和软件开发创新能力发展不足是我国目前所面临的主要困境。这些技术创新阻碍禁锢了我国的社会发展。提高软件开发能力和投入产出效率是目前亟待解决的。特别是软件开发技术在我国发展面临着诸多技术阻碍和科研投入不足的问题,更加需要我们进行技术创新和技术发展。

软件开发成功与否关键在于,主要取决于我们对于其中主要矛盾和关键要素的掌控程度。软件开发过程中的关键性要素对于整个过程起着决定性作用,主要的要素有:计算机基础知识,自主创新能力,团队合作能力,运用能力。上述这几条是实现软件技术进步的关键要素。

一、计算机基础知识

计算机出现于1946年的美国宾夕法尼亚大学,出现之初主要是为了实现军方的联系和巩固国防的目的。随着计算机技术的发展和进步,他已经不仅仅局限于某个特定的领域,而是广泛的应用于社会生产和生活的方方面面,计算机技术在如今的发展已经处于中期阶段,许多计算机技术和软件技术已经相当先进,运行效率高,计算速度快的特征使得这些技术已经成为我国技术发展的主要依托。我国的计算机技术起步较晚,发展速度慢,自身的发展基础和实践经验都不够丰富。因此,我国的软件开发技术相对落后,需要借鉴发达国家的技术和软件开发资源作为我国计算机发展的基础和平台,实现我国技术的发展和进步。我们只有熟练的掌握了计算机基础知识,才能够在运用的基础上进行软件开发。计算机基础知识是经过实践的检验,并且在实际需要中不断地改进之后才最终形成的理论,包括操作系统,计算机资源开发系统和信息管理系统,信息处理系统等理论知识。这些主要的理论知识都是实现转变和创新的主要理论依据。

二、主创新能力

软件开发能力实际上主要取决于团队和群体的自主创新能力,自主创新能力是实现理论发展和进步的源泉。因此,只有具备了自主创新能力,才会在当前的环境下提出更多的疑问,并且能够应用全新的思维和方式来解决实践发展中出现的问题。我们只有通过这样的方式才会真正的促进技术的发展和进步。目前,我国的CPU技术依然处于落后阶段,中国国内自主开发的CPU处理效率低,运行慢。刚刚诞生就意味着即将被淘汰。可以看出,我国的技术创新动力和水平远远落后于世界。造成我国计算机技术落后的根本原因在于我国的自主创新能力低下,总是因循守旧,不能够自主的进行技术创新开发。

因此,加强自主创新能力,创建创新型国家是实现可持续发展的根本途径,软件开发领域的自主创新思维和能力将会引领世界范围内的变革和发展。自主创新能力实际上是一种非常规的视野和思维来解决实际中出现的问题,这样就为现实问题的解决增加了新的途径。

三、团队合作能力

技术共享与成果交流是实现发展和进步的一个重要因素,面对着庞大的计算机系统和复杂的软件难题,一个人的能力在这样庞大的任务面前显得微不足道。只有加强团队合作和交流,实现发展环节无障碍才会促进团队内部的成长和进步。面对复杂的软件开发问题,只有加强任务的分配和团队内部的交流沟通才会提升发展效率,少走弯路。

四、接受和运用能力

软件开发的速度越来越快,新产品也一直处于不停的更新换代之中,面对这些复杂的变化,我们作为软件开发专业工作者,就必须要具备解读和理解运用不同的外来技术的能力。

第5篇

关键词:高职;软件开发课程;虚拟实训;实践教学

中图分类号:G712 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02

一、引言

为培养应用型和技能型软件开发人才,在高职软件技术专业中实施三阶段技能递进培养模式,该模式将技能培训分为基本技能积累、专业核心能力培养和综合技能培训三阶段。基本技能积累阶段包含培养学生基本操作技能和编程技能的课程,如程序设计基础等课程;专业核心能力培养阶段包含培养更高一级专业能力的课程,如桌面应用程序开发、web应用程序开发等课程;综合技能培训阶段是在前两个阶段的基础上,开展以提高职业行动能力为目标的综合技术应用训练。

学生在教学阶段递进过程中需要通过大量实践掌握软件开发技能,因此每一门专业核心课程都设置相应的实训课程,这些课程与综合技术应用训练都是以软件开发项目为载体,通过实训,使学生提高实践能力、积累实际软件开发经验。为实现实践教学过程与软件开发过程的对接,必须采用相适应的教学模式以及提供合适的软件开发实训环境。由于培养费用、实践场地的限制,让每个学生都走上实际工作岗位参加真实环境中的项目开发存在很大的困难。在软件开发实训课程中采用基于虚拟实训的实践教学模式可以很好的解决上述问题,虚拟实训作为一种打破时间、空间限制的实训方式在节约教学投资、优化教学情境和实现资源共享等方面均起到十分重要的作用。

二、构建基于虚拟实训的实践教学模式

(一)构建思路

根据对软件开发人员岗位需求的调研,软件产品开发工作过程包括项目立项、需求分析、设计、编码、测试等一系列工作。工作任务对工作和技术的要求为熟悉软件开发流程,掌握相关开发技术,具备良好的代码编码习惯及技术文档编写能力,有较强自学能力、分析和独立解决问题的能力、团队合作精神和沟通能力。

为达到学习过程与工作过程的一致性,引入虚拟公司形式,采用虚拟环境与真实项目相结合、虚拟员工与真实管理相结合的方式,构建基于虚拟实训的实践教学模式。在学校的实训室中,模拟公司的工作环境,以真实项目为载体,按照公司的软件项目开发流程完成项目开发,缩短学生所学知识和应用的距离。通过教师学生员工化,模拟公司开发部的组织结构,教师担任项目经理的角色,完成岗位相应的工作,包括协调人员配置、制定项目解决方案、监控项目执行、提供技术指导、组织项目评审。学生担任开发部普通员工的角色,在软件开发员岗位上完成项目开发各阶段任务,在项目实践过程中熟悉规范的软件开发流程,掌握高效的软件项目开发方法和技能。

(二)内容结构

基于软件开发岗位工作任务的要求,构建具有“工学结合、校企结合、虚实结合”特点的虚拟实训教学模式。该模式主要由四部分组成:知识培训、项目实施、项目管理和项目评审。各组成部分涉及三大类角色:项目经理(教师)、项目组长(学生)、项目成员(学生),项目经理负责完成知识培训和项目管理,项目组长和项目成员负责项目实施工作,项目经理、项目组长和项目成员共同完成项目评审。

知识培训部分:包括专业基础知识、实训项目涉及的关键技术与知识以及项目应用领域知识的培训。专业基础知识培训包含软件工程基本知识、特定语言的代码规范、团队开发规范、技术文档编写、软件测试用例的执行和记录等项目开发支撑知识。关键技术与知识的培训由项目经理根据课程目标和项目特点展开,包括关键技术和常用架构的学习、企业最新技术和开发工具的引入。领域知识培训是指项目应用领域背景知识的介绍,例如财务管理系统的开发背景涉及金融财会的相关知识。

项目实施部分:项目实施是虚拟实训教学的重要组成部分,包括实训任务分解和项目实现。项目组接受来自项目经理的实训任务,由项目组长进行任务分解并分配到各项目成员。项目成员按照企业软件开发流程执行项目实施各阶段的典型工作任务。

项目管理部分:项目管理包括进度控制和过程检查两部分,由项目经理实施以保证实训项目按实训计划、实训大纲的要求如期完成。项目经理指导项目组长制定项目开发计划,根据项目计划监督各组的工作进度。过程检查部分包括设定过程检查点以及阶段通过标准,项目经理按照通过标准审查阶段成果,确保项目完成质量。

项目评审部分:项目评审部分由项目演示交流和项目考核两部分组成。在项目演示交流环节,各项目组介绍开发过程、演示项目运行结果、进行项目答辩。在项目考核方面,采用多元化的考核体系,注重对学生实训过程的评价,在项目经理考核的基础之上,参照项目组长评价,得出最终评价结果。

(三)应用过程

第6篇

关键词:实践内容;实践教学模式;整合;教学方法

1研究背景及意义

培养既懂技术又懂管理的软件高级人才,是各软件学院追求的目标。对软件学院的学生来说,项目实践能力、自学创新能力、团队合作能力和交流表达能力是其职业生涯中所不可或缺的。如何开设学生在校期间的实践课程,对学生进行软件开发基本技能训练,使学生在学习了软件开发技术相关领域的理论知识后,能够充分地锻炼这些能力,顺利就业,并在此后的职业生涯中有所建树,各软件学院针对这些问题都在进行积极的改革与探索。

对于大多数软件学院,制定合理的、适用于软件开发技术快速发展的实践教学模式面临的问题主要有以下两点:

1) 学生实际掌握的软件开发技术水平参差不齐。新入学的工程硕士超过半数来自非计算机专业,这些学生具备相应的专业领域知识优势,但在软件开发技术所必需的软件基础知识方面却存在不足。

2) 软件开发技术包括语言、开发工具及其所使用的开发方法。同时还需要掌握与软件开发技术相关的专业基础知识,以及要了解所开发程序的实际运行平台。各层次、各方面的大量实用产品和技术的推出,以及软件工程硕士的学制短和学科基础差别大的现实都给学生入门学习和系统掌握软件开发领域的核心知识带来巨大困难。

因此,研究和探索一种以动手实践为主导、融合多门传统课程、符合软件工程思想的软件学院实践教学模式,将为软件工程相关知识的进一步学习,提供坚实的理论基础和技能保障。本课题的研究内容,将为软件工程硕士实践教学模式提供借鉴意义,同时,也可为软件相关专业高年级本科生的软件开发技术能力培养提供参考。

2研究内容及主要观点

2.1研究范围和研究目标

本文研究的实践内容和模式主要针对于新入学的工程硕士,是根据软件学院工程硕士入学时掌握的软件开发技术水平参差不齐,部分学生缺少开发设计软件所需要的基本编程能力、基础核心支撑课程知识点的实际情况提出的。我们希望通过大量的实例强化训练和有针对性的讨论辅导,为学生顺利学习、理解和掌握“专业方向领域的知识点”打下坚实基础,为提高学生分析问题、解决问题的能力提供技术平台支撑,具体目标如下:

1) 通过该实践课程的学习,向学生灌输高质量程序设计的观念,使学生具备实际的编程能力,具备学习新语言的基本素质。

2) 通过该实践课程的学习,使学生在熟练掌握语言技能的同时,深入理解算法、数据结构以及与平台(Windows和Linux)有关的进程和网络编程的基础知识,并能够自觉关心软件质量,包括软件的正确性、效率、易用性、可读性(可理解性)、可扩展性和可复用性等。

2.2主要观点

本实践课程强调学生的主体地位,教师的指导作用,采用讲座、小班讨论和实验相结合的方式进行。通过一门常用语言(C++)和两个常用平台(Windows和Linux),培养学生综合运用已学知识的能力,使其深入理解程序工作的本质,为以后解决各种大型实际问题打下坚实的实践基础。实践课程的基本构成是:9次×3小时讲座+6次×3小时实践讨论+实验。

实践内容按专题组织,以C++作为程序设计语言、以Linux/Windows为实践平台,共设置涵盖编译原理、数据结构和算法、操作系统和网络编程等核心基础课程在内的9个专题。每个专题的课程形式包括讲座、实验、实验报告和讨论课4个环节。实践内容的研究、确立和整合围绕以下指导思想进行:

1) 通过动手实践深入理解软件开发基础理论。

2) 提取核心知识点,压缩课时,消除各传统课程之间的隔阂,以适应软件工程硕士学制短和学科基础差别大的现实要求,讲座内容以“专题”进行。实践的题材包括练习、实验和典型案例分析等,实践的手段包括一读、二写、三总结。强调程序设计规范,确保技能的系统性和规范性。

设置讲座的目的是要把各专题核心知识点的来龙去脉介绍给学生,使学生对目前程序设计的关键技术和基础知识有个整体印象。因为虽然目前软件设计技术种类繁多,但究其本质,还是超不出软件工程的基本思想。学生在学校不可能完全熟悉每一项技术,但理解常见技术的应用背景和发展原由却是进行相关应用的前提。

设置实验的目的是让学生通过阅读经典代码和自己动手编程去深入理解程序的工作原理,并通过总结做到举一反三。在熟练掌握基本的编程技巧,学会规范化编程的同时,系统地掌握相关的基础理论知识。

设置讨论课的目的是要解决学生基础差别大,相当部分学生基础薄弱的问题,实现个性化教学和辅导。课程讨论分小组进行,每组10~15人,每专题每小组两小时。讨论课主要用来解决该小组学生在自学和实验过程中所遇到的疑难点,并通过讨论这些疑难点,有针对性地对该小组学习作出总结。

为了便于大家的学习和沟通,学院网站为实践课程设立专门的文档下载、上传区和讨论区。学生可以下载与实践相关的各种文档、案例、讲座内容以及经典参考书目;学生也可以通过上传区提交每周的作业,包括编程源代码和实验报告;学生还可以在该区域进行重点、难点的讨论,提出好的建议,便于课程的改进和课程内容的及时更新,做到与时俱进。

9次讲座内容如表1所示,6次实验课的内容如表2所示。

2.3实施原则

为了使实验课的实际效果落实到实处,学生真正能够从中获益,提高软件开发的基本技能,实践课程的执行和实施必须遵循如下4个原则:

1) 一种语言,两个平台,分专题训练[1]。

软件工程实践以C++为基础,因为相比目前流行的C、Java和C#,C++既是面向对象编程,又具有Java和C#不具备的指针和引用等和内存管理相关的比较直观的技术,同时C++在操作系统、设备驱动程序、视频游戏等领域相比上述语言也存在优势。两个平台为Windows或Linux。考虑该实践课程的主要目的是“学生的计算机领域核心的基础知识的掌握和提升”,知识面涉及编程语言、算法、数据结构、操作系统、编译原理和网络等各个方面,实践内容以“专题”进行,同时也要求实践指导老师具有丰富的项目实战经验。

2) 个性分块和统一指导相结合[1]。

所有学生根据具体基础条件分为15人左右一组,设立小组长。各小组根据自身条件,进行强制集中练习,从而保证上机和实践时间。每周各小组具体的训练内容由指导老师根据小组的具体情况分别指定。学生必须在完成老师指定的任务后才能自行决定训练内容。学生也可对指导老师提出学习内容变更建议,但须征得指导老师同意。

3) 分散训练与集中讨论相结合[1]。

学生在每周针对各小组举行的讨论会上可以提问相关问题。指导老师要回答相关问题并对学生上周的作业数量和质量进行评定,并根据小组所有学生的具体情况指定相互帮教的计划,布置下一周的练习内容。指导老师在学生的整个实践过程的作用是指导、监督并对其中的每一个环节进行考核打分,及时发现问题,及时总结解决,确保所有环节落到实处,不流于形式。

4) 坚持考核评审的原则。

考核采用平时成绩与期末笔试相结合的方式,其中平时成绩占总成绩的40%,笔试成绩占总成绩的60%。平时成绩由指导老师根据平时实际情况给出,主要依据是学生每周完成案例代码和实验报告的质量,笔试侧重于代码阅读、设计能力以及基础概念和原理的理解和掌握。

3结语

通过整合课程内容、强调学生自学和教师辅导相结合的方法,我们在有限的课时内达到了补习软件基础知识和学习面向系统软件开发技术的两个教学目标。学生的反馈调查显示本课程体系得到了学生的高度认可和肯定,取得了一定的成效。但是整个软件市场中依然存在着企业招不到合适的高级软件人才,毕业生就业难的供求矛盾,面对软件开发技术知识体系更新换代快的特点,如何培养能够适应市场发展,具有创新意识的高素质软件人才将一直是我们探索研究的重点。

参考文献:

[1] 覃文忠,万金友. 关于软件学院实施“项目驱动”教学模式的探索[J]. 计算机教育,2004(4):57-58.

[2] 南京大学软件学院工程硕士培养方案[S]. 南京:南京大学软件学院,2006.

[3] 北京大学软件与微电子学院工程硕士培养方案[S]. 北京:北京大学软件与微电子学院,2005.

[4] 张广军. 微软院校课程体系设计理念[R]. 北京:北京航空航天大学软件学院,2005.

[5] 北京航空航天大学软件学院软件工程硕士培养方案[S]. 北京:北京航空航天大学软件学院,2004.

[6] Michael L. Scott. Programming Language―Pragmatics[M]. 裘宗燕,译. 北京:电子工业出版社,2005.

[7] Randal E. Bryant. Computer Systems―A Programmer’s Perspective[M]. 龚奕利,译. 北京:中国电力出版社,2004.

[8] Kenneth C. Louden. Programming Language―Principles and Practice[M]. 黄林鹏,译. 北京:电子工业出版社,2004.

Exploration of Practice Model in Software College

SHEN Xue-ping, YUAN Cang-zhou, WANG Hua-feng

(Software Institute, Beihang University, Beijing 100191, China)

第7篇

关键词:实训体系;Android软件开发;培训

中图分类号:TP31 文献标识码:A 文章编号:1001-828X(2013)06-0-02

移动互联网是继通信、计算机和互联网之后的又一次信息产业的革命性发展,并成为全球信息通信行业的万亿元级新兴产业。近年来,由于3G技术的发展,国内智能手机的普及率急升,人才市场对于Android软件开发工程师的需求量也急升,因此,如何快速地培养和建设Android软件开发工程师,成为IT企业培训的热点。本文旨在探讨IT企业如何通过实训培训体系的模式快速培养有计算机基础的初学者成为相当于1-2年开发经验的开发工程师。

实训体系建设包括独特的实训形式建设、实现过程的开展以及课程和师资的组建。其中,最根本的把握好实训的内涵和监控整个实训过程的开展是关键。

一、实训形式

实训的特点就是通过项目实际操作的方式,使得每个学生通过做项目来锻炼时间的编程能力。具体的形式为每个班的学生组成软件项目组数个,每个项目组均以真实项目为背景,重新演练一个经裁剪过的项目立项、计划、需求分析、设计、编码、测试和交付的全过程,按照企业的正规开发流程组织实施,让学生熟悉软件工程在企业中的具体应用方法。项目总监由实训老师来担任,控制项目的进度和质量,学生通过直接扮演项目开发组中的成员角色,来了解在软件项目开发团队中的角色、过程、规范和执行方法,以及在团队中合作沟通能力的重要性,养成良好的职业习惯。以下是学生扮演的角色的主要职责说明,学生可以根据自己在学校的学习情况扮演如下角色。考虑到Android软件开发工程师培训的实际需要,项目开发过程中某些方面的学时将相对压缩,而把重点放在跟开发直接相关的角色上面。

二、实训过程

整个实训过程包括实训预备期和实训期两个阶段。

实训预备期:实训的学生对Android课程体系中必须掌握的业界实用技术知识清单和相关课件进行学习,必要时进行相关课程的考试,考试合格者才能进入实训环节。

实训期:以模拟公司为平台,以仿真的商业案例项目为载体,将企业文化及职业素养训练、IT技能培训、行业知识以及业务流程实践等实训内容完全贯穿在模拟公司的运营过程中,使学生在实践中体验企业工作环境,获得一定的实际经验和职业磨练。

实训师发放《项目实训学生指导手册》,手册中规定了学生在项目Android软件开发各阶段的输入、活动说明和输出。实训选择的生命周期会覆盖软件开发过程的基本要素。其中有的要素在实训中存在操作困难的,只讲解方法并直接发放相关资料。

实训中由实训老师统一指导各阶段的详细过程指导。基本过程如下:

1)搭建环境:主要讲解搭建各种手机操作系统所需开发环境所要具备的软、硬件及网络知识。包括计算机中各种硬件和接口。软件的分类、分发和授权等方式;操作系统的初步知识;注册表、病毒、安全等知识;基本协议、活动目录等知识。从而让学员可以在实际工作环境当中搭建需要的开发环境。

2)完成的软件开发过程:主要讲解实际项目的开发所涉及到的软件开发过程的各个环节,如需求开发、设计、测试、项目管理、配置管理等,并将其运用到实训项目开发。

3)Android手机软件应用开发:这是本培训课程的核心部分,主要是使学员掌握软件开发的技术,掌握编程的方法、思想,了解软件开发过程当中常犯的错误。课程注重实用性、重在培养学员对代码分析的能力,掌握编码规范,掌握调试知识和分析程序错误的能力。同时学习内存检查工具和软件配置管理等知识。课程中贯穿了一个开发项目,以增加学员开发项目的经验。

4)测试计划与软件缺陷:主要介绍软件测试的基本概念和基础知识、如何编写测试计划、识别软件缺陷、编写缺陷报告等。通过学习,学员可以掌握软件测试的流程、软件测试的策略和分类,掌握缺陷的分类和优先级等,从而对测试有一个整体的认识。介绍了缺陷跟踪管理系统(测试工具)。总体来说,本课程将使学员掌握软件测试相关的大部分基础知识。

5)数据库:通过对数据库基础知识的讲解,让学员掌握这些技术。数据库是以主流的Oracle和MySQL 数据库的运用为主。

6) 职业导向训练:进行职业引导,包括就业指导和职前引导。通过座谈会等辅助训练明确就业方向,进一步了解职业发展形式。

三、实训课程设计和引进

A.参考国内外IT知名企业现有已取得各地区政府认同的移动应用软件开发培训课程体系,以移动应用行业应用的实际需求为导向,自主研究开发适合本地企业的Android软件开发方面的案例及课件。

B.结合需要引进其他国内一流的成功Android软件开发培训课程体系。

C.培训实例设计:根据大多数软件开发企业的实际需求,以多个实际项目为原型开发出具有实战意义的案例。

D.企业培训定制:企业培训必须密切结合企业战略,从企业的人力资源规划和开发战略出发,满足组织及员工两方面的要求,考虑企业资源条件与员工素质基础,考虑人才培养的超前性及培训效果的不确定性,为企业确定员工培训的目标,选择培训内容及培训方式。

四、师资队伍建设和引进

在内部培养培训讲师和实训导师的同时,我们还将根据课程需要积极引进高端的Android培训讲师,包括网络通讯、Android应用开发等各领域的高端实战人才,建设一支实战经验、培训经验俱佳的师资队伍。

五、制定Android软件开发工程师培训大纲

Android软件开发就业培训大纲由多名资深移动应用软件开发专家及有丰富Android实战经验的工程师倾力开发而成,在本实训项目里将得到充分的贯彻执行。该课程总结了Google、中兴、华为、HTC、摩托罗拉、IBM等顶级国内、跨国大型企业的先进的软件开发理论和经验,在此基础上形成了一套适合我国国情的Android软件培训课程。目的是将优秀企业完善的Android软件开发技术和方法等推广到国内的软件产业,以提高广州本地软件企业的Android应用软件开发水平,改进开发方法和方式。

Android软件开发培训采用教师授课和学员实际练习相结合的方式。针对每个培训的章节,在课程中都会提供丰富的项目实践案例,使每个学员不仅能够学到Android软件开发的一些基本理论知识,重要的是能够让学员将学到的知识运用到实际的移动应用软件开发活动过程中。

本Android软件开发就业培训大纲主要由三大部分组成:

基础阶段:主要阐述了一个Android软件开发工程师需要了解和掌握的入门知识,包括Android开发编程语言基础,主流数据库开发技术,以及一些必要工具的使用,是迈入Android软件工程师职业必备的一些基础知识。

中级阶段:主要阐述了一个Android软件开发工程师需要掌握的常用的通信协议,整套主流的应用服务器和中间件编程技术,数据访问层框架技术,并帮助深入理解软件工程过程。

高级阶段:通过一个个具体的项目案例,将上面提到的技术、方法、度量、文档和过程相结合,掌握Android移动应用系统开发技术,包括Android环境下的音视频多媒体处理、游戏技术开发、底层核心架构技术等,并进行项目开发实战。了解不同设计模式与运用、软件性能调优、软件过程管理等。