软件开发基础知识十篇

时间:2023-05-17 11:32:18

软件开发基础知识

软件开发基础知识篇1

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

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

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

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

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

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

软件开发基础知识篇2

一、引言

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由论文联盟收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。

软件开发基础知识篇3

基金项目:重庆市教改项目(113037);重庆师范大学2011校教改项目

作者简介:余平(1975-),女,重庆师范大学计算机与信息科学学院副教授,主要从事数据挖掘、软件工程教育等研究,(e-mail)pingyanny@163.com。

摘要:软件工程创新型人才是软件产业自主创新的根本,如何培养软件工程创新型人才是高校软件工程专业的重要任务。文章以软件工程创新型人才的能力培养为目标,阐述了重庆师范大学软件工程系在人才培养方面的具体做法以及实践效果。

关键词:软件工程;人才培养;自主创新

中图分类号:c961文献标志码:a文章编号:10052909(2013)05003103自主产权是促进国家科技和经济发展的根本。作为经济社会发展的基础性、战略性和先导性产业,软件产业的自主创新对国家的发展起着举足轻重的作用。为适应软件产业的需求,实现软件产业的可持续发展,培养创新型软件工程人才,成为中国高等教育的重要任务和目标[1]。

一、软件工程创新型人才的定位

充分认识软件工程创新型人才所需的素质是建立合理人才培养模式的基础,下面从创新型人才的基本素质出发,结合软件行业对人才的要求,建立软件工程创新型人才的能力模型。

从基本素质而言,创新型人才需具备创新精神、创新思维、创新人格、创新能力以及合理的知识结构。创新精神是创新的先导和整个创新素质的发动机;创新思维不仅能揭露客观事务的本质及其内在联系,而且能在此基础上产生新颖的、独创的、有社会意义的思维成果;创新人格能催化和激发创新能力[2];创新能力是创新实践活动赖以启动的要素;合理的知识结构是创新活动的实施工具。

根据软件产业的实际需求,软件工程专业建立了“多层次、实用型、复合型、国际化”的人才培养目标[3]。多层次要求以个性化培养为核心,培养多元化软件人才。实用型要求人才培养方式契合企业需求。复合型强调人才培养的行业导向性,要求人才能快速、准确地了解软件应用行业。国际化要求软件人才具有良好的外语沟通能力、国际化视野等国际化素质。

作为软件行业而言,创新要求人才拥有以下三方面的技能:(1)以逻辑思维能力为核心的基础知识以及软件技能;(2)在软件生产流程中要求的实践能力,如谈判能力、知识和技能的应用能力、团队合作精神、沟通能力、软件管理能力等;(3)囊括国际化素养、学习能力、宽广学科视野的非专业综合能力。在此基础上,通过发散思维、收敛思维、复合思维等创新的思维方式,产生新颖、独创、有社会意义的创新成果。而在整个创新过程中,情绪智商始终作为调节剂,抗击挫折失败,激发创新兴趣,锻炼创新意志。

二、软件工程创新型人才培养模式

重庆师范大学计算机与信息科学学院软件工程系,将探索如何培养创新型软件工程人才作为工作重点,通过剖析创新型软件工程人才的能力要求,通过三大体系——课程教学体系、实践体系、素质拓展体系,着力培养软件行业创新型优秀人才。

高等建筑教育2013年第22卷第5期

余平,等软件工程创新型人才培养模式研究

(一)重视课程教学,打牢学生根基

扎实的基础知识、专业知识以及宽阔的视野是创新的根基和保障。软件工程创新型人才不仅要理解知识,更要应用驾驭知识。

1.建立重基础、多元化的课程体系

课程体系设计是人才培养目标得以实现的有力保障,软件工程创新型人才培养课程体系设置不仅要重视基础知识,还要突出多元化的学科内容。为此,学院建立了如图1的课程体系,达到“厚实基础、全面均衡”,包括基础知识、专业知识和综合知识3个课程平台。

图1软件工程课程体系基础知识平台训练学生的逻辑思维能力、语言能力以及专业基础。软件开发是将市场需求转化成逻辑过程,再转化为程序代码的过程,要求思路清晰、思维缜密;而数学能有效锻炼分析和逻辑能力[4],因此,学院开设了高等数学、离散数学、线性代数、数值分析等课程。目前,中国与国际的软件水平还存在较大的差距,且软件产业是全球化的产业,语言能力是学生了解国际上最先进技术的基本工具。为此,学院在每学期均开设了相关英语课程,营造浓厚的英语学习氛围。专业技能作为重中之中,包括技术水平和工程能力2个方面,而在技术水平的课程设置上,将算法设计

、数据结构、数据库等基础课程作为学科重点,保证课时充足。此外,开阔的眼界能有效地促进学生思考和创新,交叉性学科课程的开设必不可少,学院为学生开设了包括知识产权、企业工业管理、人文科学等多门扩大学生知识面的课程[5]。

2.实施重实践、启发式的教学方法

教学模式陈旧。一直以来国内高校的人才培养模式都是以课堂为主,填鸭式教学方法仍占主流。模式化的教学方法直接禁锢了学生的创造性、积极性和主动性,因此,学院从建设师资队伍入手,改善教师的创新素质,培养教师“为创新性而教”的教育理念,鼓励教师探索新的教学方法。在新的教育理念下,教师需要在教学实践中,通过“案例教学”“实践训练”的方式,发掘学生潜能,培养学生的自学能力,训练思维的逆向性、灵活性、发散性、独创性和敏锐性,将创新型教育落到实处[6]。

案例教学遵循巧设案例—剖析案例—引申案例问题—实践案例的教学流程。通过巧设案例,引导学生去发现分析问题,找到解决方案,在学生理清思路后,将问题引申,让学生自主思考,自由发挥,鼓励学生将复合思维与发散思维结合,抽象思维和形象思维结合,提出创新想法,并实践创新案例[7]。

实践训练结合了课程实验和课程实训。一方面学院为各种专业课程开设了相应的实验课程,让学生在理论学习基础上,走进实验室,针对一个问题,实现尽可能多的解决方案,进而训练学生的观察能力、思维能力和操作能力。另一方面,课程实训是在每门课程结束后,通过开展小型项目,让学生学会将所学知识运用到不同的软件应用中,进而训练学生的自主学习和知识应用能力,培养学生独立分析问题并解决问题的能力。  (二)重视工程实践,让学生在“做中创新”

工程实践不仅能培养优秀的应用型软件工程人才,还是创新产生的过程[8]。因此,一个创新型软件工程人才必须会动手,会实践,并且学会在实践中寻找创新的机会。

1.建立“学生工作室”为载体的人才培养模式

从大三开始,学院为学生设置了项目实践课程,在课程实施过程中,基于“团队”在软件工程中的重要性,组建“学生工作室”。

首先,软件产业的创新主要体现在软件技术知识创新和软件应用创新2个方面。学院提倡项目产品化,项目开发企业化。学生通过市场调研,自主选题,进行软件应用创新,发掘有社会价值的软件产品,进而利用现有知识和国际先进技术进行产品设计、产品需求分析、用户体验分析、程序设计与开发,并在此过程中通过优化算法、创新算法等进行软件知识的创新。为使项目实践顺利开展,学院组织了教授评审团对项目进行评估,实施了项目指导教师和项目团队“一对一” 的指导方案。

以项目实践为载体,学院组建了“学生工作室”,学院针对项目实践中的优秀项目团队,划分专门资源,形成固定的学生工作室。工作室选定各自的兴趣方向,一方面参与国家、企业和学校开展的各种学术活动和竞赛活动,另一方面参加学院内部开展的各种创新活动,包括软件应用创意赛、算法创新赛等。

2.加强产学研合作,创建实习基地

产学研一体化是知识创新体系、技术创新体系和企业生产体系的融合剂,能将断裂的创新系统连接,形成创新的完整链条。基于此,学院通过构建产学研一体化平台,不断加大校内外实习基地的建设,保证学生毕业前均能获得实习机会。根据软件产业的发展方向和学生的兴趣需求,学院陆续建立了现代软件工程、企业与系统仿真、嵌入式系统、图形图像与数字娱乐等实验室。此外,学院还注重与其他在渝企业和高校的合作,与重庆大学、西南大学、重庆邮电大学、中软重庆公司、中冶赛迪等建立了紧密的合作关系。

3.重视素质拓展,搭建学生自主创新平台

在创新人才培养过程中,思想意识和情绪管理的作用不可忽视。学院始终坚持以学生工作促进专业教学,以各类学生社团为载体,建立了一个有效的素质拓展体系,搭建学生自主创新平台。一个平台以传统的学生社团为主,包括学生党支部、团委、学生会;另一个平台是企校合作人才培养模式,由国内外优秀软件企业与学院合作组建的学生技术俱乐部。传统学生社团通过举办综合性学生活动,包括各种思想教育活动、文艺活动、素质拓展活动,比如软件工程师的社会伦理演讲比赛、软件外包产业的科学发展观演讲大赛、英语戏剧表演、野外生存大战、心理讲

座等,培养学生的责任感、团队合作精神、抗压能力、情绪控制能力等综合能力。学生技术俱乐部以贴近专业为特色,以软件产品和软件技术为中心,组织各种技术性活动,如技术培训活动、技术交流沙龙、软件企业的企业文化体验、新技术讲座等,培养学生在专业上的创新意识和创新兴趣。

三、软件工程创新型人才培养模式的实践成效

重庆师范大学计算机与信息科学学院软件工程系在软件创新人才培养中取得了骄人的成绩。自学院创办以来,多名学生参加全国数学建模竞赛以及美国数学建模竞赛并获得较好成绩。由于毕业生专业能力强,综合素质高,能快速融入企业项目实践,受到企业较高评价。

四、结语

文章提出的软件工程创新型人才培养模式,是对重庆师范大学计算机与信息科学学院软件工程系人才培养的经验总结。软件工程创新型人才培养的三大体系体现了“重基础、重实践、重综合素质”,构建了从“基础”到“提高”再到“创新”能力的培养途径。此培养模式已在软件工程专业中实施,取得了较好的效果,但还存在许多有待改进之处,且当今信息产业的快速发展,对信息化的需求不断提出新的挑战,要求软件工程创新型人才的培养模式也要与时俱进,不断发展,学院会继续在软件工程创新性教育方面进行探索与实践。

参考文献:

[1]韦迎春,文俊浩,陈蜀宇.以能力培养为核心 构建示范性软件学院实践教学体系[j].中国高等教育,2011(2):49-50.

[2]刘乃琦.软件工程教育的特点与问题[j].计算机教育,2004(10):6-9.

[3]张喜平,王佐成,汪林林.国内外软件人才培养模式现状研究[j].青年与社会中外教育研究,2009 (1):6-8.

[4]文俊浩,杨丹,陈林,等.软件工程人才培养体系研究与实践[ j ].高等工程教育研究,2005(4):63-68.

[5] 蒲颖.培养国内软件人才新探索[j].神州学人, 2006(1):10.

[6] 陈丽蓉.我国软件人才培养的现状与思考[j].山西广播电视大学学报, 2008(2):20-21.

[7] 丁文武.加快软件人才培养 优化软件人才结构[j].中国高等教育, 2004(7):23-25.

[8] 王鑫, 肖化, 陈小兰.美、印、日、韩软件人才培养比较与借鉴[j].高等理科教育, 2007(1):51-55.cultivation mode of innovative software engineering talents

yu ping1, liu jun1, yang you1, wei yingchun2

(1. college of computer and information science, chongqing normal university, p. r. china;

2. school of software engineering, chongqing university, p. r. china)

abstract: innovative software engineering talents are the base of software industry innovation. under the circumstance, the talent cultivation ranks the top priority for software engineering major in colleges and universities. to cultivate innovative software engineering talents, we illustrated the specific way and practice effect of talent cultivation in software engineering department of chongqing normal university.

软件开发基础知识篇4

对于软件学院而言,重基础和宽口径是他们的教育理念,而培养理论基础扎实且专业知识系统宽广的复合型、国际化、实用型的高级软件人才则是其主要培养目标。毕竟我国国情和高校的实际情况与国外存在一定的差异,因此,在建立软件工程体系时,不能完全将国外已有的研究和实践成果照搬过来。正确的做法是根据国际学科的发展情况,制定合理的知识体系以及与之相应的课程体系。软件工程专业课程体系旨在根据软件产业的发展需求,通过对高级软件专业人才的培养,为软件产业的可持续发展提供充足的人才,为此,在开设专业培训课程、培养软件工程学生的实践能力的同时,还必须安排必要的基础理论课程。总而言之,理论基础和工程实践是软件人才培养必不可少的,当然,还需要学生自身对工程实践和理论基础知识的理解和掌握,在理论指导下,学生参与到工程实践活动中去。建立软件工程体系,必须处理好以下几个关系:基础理论、实践能力和创新能力之间的关系;课程体系、知识结构与学科发展以及产业需求之间的关系;理论基础知识与工程化、新技术以及领域背景知识之间的关系;专业课程体系与教学计划和教学过程的关系。

2对软件工程体系的创新对策

2.1对软件专业进行内容整合

毫无疑问,改革是软件工程专业课程体系优化的关键所在。传统的设置不仅无法保证课程轻松地进行,而且严重影响了最终质量,因此,应当将一些内容进行合理地合并。例如,离散数学、人式智能和编译原理等课程均涉及到了图论知识,那么此时便可建立一个课程组,将有关内容集中在一门课程中进行详细地讲解,与此同时,对于那些出现在其他课程中的内容要进行选择性地删减,以便节省课堂教学时间。不仅如此,培养学生的思考能力,帮助他们掌握思考问题的方法也非常重要,如此一来,学生可自主独立学习,大大提高了效率。因此,基于对课程体系和课程作用的综合性评价,教师应当重新调整并设置单科的知识点,用新的教学内容替代那些重复的陈旧的知识点,从而使学生的知识领域得以拓展。

2.2加强对新技术、新思想的了解

软件工程专业中的大量新概念、新技术和新思想也相继出现,导致学科内容繁多。在这种情形之下,我们可以将基础知识和专业基础知识作为必修课,而新出现的技术和知识则作为选修方向。如此一来,一方面扩展了体系的领域,另一方面,有利于促进学生对软件技术和知识的了解与学习。由于软件工程专业具有知识更新快的特点,因此,加强学生的英文阅读能力是非常有必要的,可以通过开设双语课程的形式和加强对学生的英语培训力度,提高学生的英语水平。

2.3加强对素质和能力的培养

对于软件工程专业而言,除了掌握软件工程的知识和技能,以及具备在工程实践中所需的专业能力,还必须善于获取知识、应用知识和创新。因此,软件工程专业设计应当遵循以下的几个基本原则:

(1)先进性。内容不仅要反映国际上比较先进的软件技术发展成果,而且还要将软件企业在先进技术方面的需求以及有关基础理论反映出来。

(2)工程性。应当从软件工程实践的角度出发,着重强调对学生工程实践能力的培养,从而使学生在进行软件开发和项目管理时,能够充分运用工程化方法和相关技术,而且,还必须要求学生具有团队协作精神。

(3)复合性。应当包括技能、管理和工程等方面,保证学生具备必需的综合技能以及基本素质。

(4)创新性。作为一个专业体系,应当提倡学生采用自主学习的方式,并且在必要的时候给予一定的指导,从而使得自主学习能力和自我提高能力在课程设计的过程中得到培养。

3结束语

软件开发基础知识篇5

摘要:本文提出了一个适合国内软件工程专业的教育方案,并给出了软件工程专业教学应该涵盖的基本内容和计划。

关键词:软件工程教育;软件工程教育培养目标;教学计划;软件工程课程

中图分类号:G642

文献标识码:B

1引言

随着软件行业对人才的需求,软件工程的教育随之兴起,国家示范性软件学院的建设就是一个重要的标志。然而在软件工程教育中存在着诸多的问题,主要体现在:

(1) 软件工程与计算机科学和传统工程学科的关系界定不清楚

普遍存在两种观点。一种观点认为,软件工程作为一个专业,与计算机科学没有本质区别,它是计算机科学的一个分支,只是软件工程专业在教学上需要增加一些软件工程方面的课程而已。另一种观点认为,软件工程就是软件开发,是完全的应用学科,需要的是工程背景,而不是计算背景,在软件工程中具体的软件的开发技术和工具比计算机科学专业知识更重要。

(2) 软件工程专业的培养目标与计算机科学专业没有本质区别

在国内许多高校,软件工程专业和计算机科学专业并存,由于没有很好地区分软件工程专业和计算机科学专业,在培养目标上也只有很小的差异,几乎都是培养计算机专业的研究和应用人才,没有体现软件工程专业的培养特性。

(3) 软件工程专业教学内容缺乏系统性和完备性

由于培养目标的近似,许多软件工程专业的课程设置也与计算机科学专业没有大的区别,开设了大量计算机科学专业的课程,而软件工程方面的课程开设比较少,且只注重具体软件的编程技术和工具,而忽略数学和工程方面的基础。在教学上也往往把精力花一个具体的开发软件的使用、一种方法学的详细步骤和编程语言的语法等,忽略了基本原理和方法的教授。

(4) 以课程实验代替软件工程实践

软件工程专业学生的工程实践是非常重要的教学环节,但目前大部分学生的软件工程实践只局限在课程实验和课程设计上,达不到软件工程的工程化要求,也就是说学生需要经历大、中型项目的开发过程,需要有团队工作训练,而这些往往在教学环节中被忽略。

针对以上目前在软件工程专业教育中普遍存在的问题,根据作者多年的软件工程教学经验,提出了一个适合国内软件工程专业的教育方案,明确了软件工程专业的培养目标和培养计划,对从事软件工程专业教学计划制定和实施者有一定的参考价值。

2软件工程教育的基本原则

软件工程专业的培养目标应该是满足软件行业的社会需求,面向应用、面向工程培养从事软件应用和开发的中、高级软件工程师,包括软件分析和设计人员、软件开发人员、软件集成和测试人员、软件维护人员、技术支持人员、软件项目策划和管理人员、系统架构师等。依据此培养目标,在软件工程专业培养计划制定和课程设置上需要坚持几个基本的原则。

(1) 将软件工程作为计算学科和工程学科两者来教学

软件工程是计算学科和工程学科的综合,在教学内容上需要考虑在这两门学科之间平衡,避免偏向任何一方。软件工程作为计算学科,它建立在计算机科学理论的基础上,软件开发需要运用计算机科学领域的研究成果,包括基本的概念、理论、方法、技术和工具等。作为工程学科,软件开发是一项工程,需要运用工程化的方法进行抽象、建模、信息组织和表达、变更管理,也涉及一般工程中的决策、实现和质量控制活动等。

(2) 选择软件工程成熟的理论、方法和技术作为教学内容

软件工程是新兴的应用型学科,发展迅速,这为软件工程教学提出了挑战,需要在新技术与成熟技术之间平衡。强调教授先进的、持久的软件工程原理,而不是最新的或具体的技术和工具的细节。但在教授基本原理和方法时,需要结合具体的应用,理论必须与实践结合。这样才能使学生有一个良好的基础,能适应技术的发展和知识的更新,而且成熟的技术在教学资源上也比较丰富,有利于教学实施。

(3) 将软件工程原理和方法与具体的技术和工具相结合

软件工程是解决问题的学科,强调实践。软件工程的实践环节包括硬件、软件工具、技术和过程。在教授软件工程基本原理和方法的同时介绍新技术和工具是必要的(只是不把具体技术和工具的使用细节作为教学重点),让学生实践并获得经验,以便更好地理解和掌握所学知识,使学生养成选择和使用工具的习惯,也增强学生的学习兴趣。

以上是一些最基本的原则,在这些原则的基础上制定培养计划,就可以保持软件工程专业的培养方向,不至于偏离到计算机科学或应用工程上去,从而保障软件工程专业的培养目标的达到。

3软件工程教育的基本内容和计划

软件工程课程应该涵盖计算基础、数学和工程基础、专业实践、软件工程等四个方面,具体包含的知识点和所占比例如表1所示。

依据这一知识结构,结合前面所述的基本原则,在课程设置上可以考虑开设以下课程。

计算基础方面:开设计算机系统导论,程序设计基础,算法和数据结构,面向对象技术,计算机组成原理,高级语言程序设计,操作系统基础,数据库基础,网络通信基础,软件构造,软件开发环境与工具,软件形式化方法等课程。

数学和工程基础方面:开设微积分,离散数学,概率统计,线性代数,数理逻辑,实验方法和实验技术,工程设计,工程经济等课程。

专业实践方面:开设团队互动和沟通,软件工程专业实践,软件工程职业道德,毕业设计等课程。

软件工程方面:开设软件工程导论,软件需求分析,软件设计和体系结构,软件软件质量保证和测试,软件过程,软件项目管理,软件工程项目开发等课程。

软件开发基础知识篇6

目前,高校会计学专业设置计算机课程一般有两种模式:

①“基础应用型”模式。该模式设置“计算机应用基础”(或称“计算机基础知识”、“程序设计基础”)和“电算化会计”(或称“计算机在会计中的应用”、“计算机会计学”、“会计应用软件”)两门课。如上海财经大学、中国人民大学会计学专业就是这种“基础”+“应用”的模式。

②“系列应用型”模式。该模式是在设置系列计算机课程的基础上再设置“电算化会计”课程。例如,中国矿业大学会计学专业设置“计算机基础”、“办公自动化软件基础”、“高级程序设计语言”、“微机数据库管理系统”四门计算机系列课程和“电算化会计”、“会计实务电算化”两门计算机应用于会计的课程。又如,上海财经大学会计学系教学改革设想中打算开设“计算机应用基础”、“计算机语言”、“数据结构”、“数据库系统”。四门计算机系列课程和“电算化会计”、“电算化会计决策与控制”、“电算化审计”三门计算机应用于会计的课程(财政部教育司编《会计学专业主干课教学大纲》p16)。当然,其他高校设置的课程名称可能有所不同,但均可体现一组“系列”课程和一组(门)“应用”课程的模式。

无论是“基础应用型”模式,还是“系列应用型”模式,它们均独立于会计系列课程之外。突出的问题有以下三点:

1.各门计算机课程内容与会计系列课程内容脱节。究其原因主要有三:一是教计算机课程的老师不懂或很少懂会计专业知识而会计专业课程教师又不懂或很少懂计算机知识;二是现行会计课程教材(除“电算化会计”外,下同)不反映计算机应用知识,也不要求专业课老师补充讲授计算机应用知识;三是计算机数量配备不足,无法做到两类课都安排机时。

2.单一的“电算化会计”课程,解决不了会计专业学生应具备的计算机能力问题。1995年4月27日,财政部印发了《会计电算化知识培训管理办法(试行)》,提出了会计电算化知识培训的三种证书、即初级证书、中级证书和高级证书,从能力要求看,可概括成以下三种能力。

(1)初级证书要求会计人员具备“计算机和会计核算软件的基本操作”能力。这种能力包括掌握计算机基础知识,微机基础知识及基本操作,有关汉字系统及应用软件操作,会计电算化基本知识和会计核算软件基本的工作原理五个方面,笔者简称为“操作能力”。

(2)中级证书要求会计人员具备“对会计软件进行一般维护或对软件参数进行设置”能力。要使财政部评审通过的通用会计软件更好地满足各个企业的不同要求,需要用户自已定义参数,如建立科目代码、设定计算公式、定义分配方法和结转方法等,这称为系统软件的维护或参数设置,笔者简称为“设置能力”。

(3)高级证书要求一少部分会计人员具备“进行会计软件的系统分析、开发与维护”的能力。会计软件的系统分析是指为了开发出用户所需的会计软件,必须了解和描绘用户对会计信息系统的要求,明确系统具备的功能,改进现有系统模型,形成系统的逻辑模型的过程。它是系统开发和系统维护的前提。分析、开发和维护的能力。笔者称为“开发能力”。

目前,高校“电算化会计”课程按财政部教学大纲要求,“培养学生具有组织和开发会计信息系统的能力”,包括开发工具、开发方法、开发系统(工资、固定资产、材料、销售、成本核算系统)和电算化审计五个方面。学生学完这门课后,仅仅是对部分会计核算程序进行初步的设计。当他们毕业参加工作后,在已实现会计电算化的企业,他们不会操作现行会计软件;在未实现会计电算化的企业,他们仅靠学校掌握的“电算化会计”知识,无法开发成套的会计核算系统软件。事实上,从国外会计电算化发展现状看,无论定点开发还是开发通用软件均有专门的公司从事这种业务。要求我们现在的教学能使学生具备完全的软件开发能力也是不现实的,仅能提“初步的开发能力”或具备“开发软件的基础”。这种单一能力距离国家要求会计人员应具有操作能力,设置能力和开发能力还很远,则高校改革教学,培养会计专业学生会计电算化系统能力迫在眉睫。

3.计算机在会计中的应用领域比较狭窄,就目前而言,我国会计实际工作中的电算化仅仅体现在会计核算上,虽然会计管理的软件已在开发,但应用的不太多。而西方国家早就从会计核算电算化转向会计管理电算化了。仔细分析我国会计核算电算化的现状不难发现,绝大部分会计人员是“傻瓜”操作员,是计算机的“奴隶”,他们对会计软件不能运用自如。反省一下高校会计教学,会计课程和计算机课程两层皮,使计算机在会计中的应用显得很窄。因此,只有在各门会计课程上都用上计算机,才能开拓计算机在会计中的应用领域,才能克服“傻瓜”操作员的缺陷,自主地运用计算机会计信息系统,使计算机不仅在会计核算上,而且在会计管理、分析、预测、决策等方面有所突破和发展。

解决上述问题的有效途径是实现会计系列课程电算化。

二、会计系列课程电算化的基本要求

1.两类课程安排相协调。会计教学计划必须按教育、教学规律制订,充分反映知识平铺、交叉、循序渐进的要求。计算机的系列课程应先于会计系列课程,同时会计系列课程的电算化,首先是已学计算机课程知识的直接应用,然后是后继计算机课程知识的追加应用。例如,在第一、三、四、五、六学期分别安排“计算机基础”、“办公自动化软件基础”、“高级程序设计语言”、“微机数据库管理系统”、“电算化会计”课程与此相适应,在第二、三、四、五、六、七、八学期,分别安排“基础会计”、“财务会计(上)”、“财务会计(下)”、“成本会计”和“财务管理”、“管理会计”和“高级会计”、“审计学”、“会计实务考核”课程。其中,“基础会计”课程首先是直接运用“计算机基础”课程知识完成规定任务,如用wps打印出试算平衡表、各种记帐凭证、各种明细帐等,待“办公自动化软件基础”课程学完后,再运用word编制“基础会计”课程中的成本计算公式、编排有关图形,并登记帐簿。

2.计算机知识运用时分合结合。平时,各门会计课程运用计算机知识是单项的,分散的。一般难以整体运用。因此,有必要在最终将两类课程知识进行综合运用。笔者认为,在第八学期学生即将走上社会前设置“会计实务考核”课程,一方面进行手工操作,综合各门会计知识,另一方面进行计算机操作。综合各门计算机课程知识集中运用于会计,这种分合结合的方式反映了会计学科系统性和综合性的基本特征和要求。

3.列人教学计划,教师引导,指导为主。将计算机课程知识应用于各门会计课程,并不是要增设新课程,而是对已学知识的串用。为了保证串用的成功,首先要在教学计划上加以反映。例如,在教学计划实践环节分别设置“基础会计电算化”、“财务会计电算化”、“成本会计电算化”、“财务管理电算化”、“管理会计电算化”、“会计实务考核电算化”等电算实践项目,并相应确定一定的机时。其次,将各门会计课程计算机应用问题编写成“电算化指导书”,每门指导书中列示若干个电算实践项目。提出具体应用要求;同时,为了便于学生操作。还应编制“电算化操作手册”,向学生提供详细操作步骤和范例。这样,教师在会计系列课程电算化过程中主要起着引导、指导、布置、检查和考试验收等作用,学生的自觉性、主动性和创造性会充分得到发挥。

三、会计系列课程电算化的具体设计

下面以会计主干课程为例对会计课程计算机应用进行设计。

(一)基础会计电算化

l.将已学“计算机基础”课程知识应用于“基础会计”课程。内容包括:(1)用wps打印出试算平衡表。材料明细帐、应收帐款明细帐、成本计算公式(含分子、分母两行排列格式)、生产成本明细帐和各种记帐凭证;(2)用图文混排系统spt进行成本数据的图像编辑;(3)用cced打印资产负债表和损益表。

2.将后续“办公自动化软件基础”课程知识追加应用于“基础会计”课程。内容包括:①成本计算公式的编写;②图形编排;③帐簿登记。

(二)财务会计电算化

将“办公自动化软件基础”课程中word、excel知识应用于“财务会计”课程,内容包括:外币核算、坏帐核算、存货实际成本计价法、存货计划成本计价法、存货成本与市价孰低法、折旧方法、工资结算和工资附加费核算、长期借款、应付债券、销售业务、利润分配、资产负债表和损益表编制。

(三)成本会计电算化

将“高级程序设计语言”课程知识、excel知识应用于“成本会计”课程。内容包括:要素费用的分配、辅助生产费用的分配、制造费用的分配。产品费用在完工产品和在产品之间的分配、品种法成本计算、分批法成本计算、分步法成本计算、成本分析。

(四)财务管理电算化

将“高级程序设计语言”课程知识、excel知识应用于“财务管理”课程。内容包括;货币资金最佳余额确定、企业客户信用等级评估、应用帐款最佳余额确定、存货最佳额确定、固定资产投资规模和经营杠杆、对外投资决策、筹资政策的选择评价、资金成本计算及应用、财务比率综合分析、财务计划编制。

(五)管理会计电算化

将“高级程序设计语言”课程知识、excel知识应用于“管理会计”。内容包括:成本性态分析、本量利分析、目标利润的敏感性分析、利用经营杠杆进行利润预测、边际利润最大的产品组合、销售顶测分析、投资决策评价方法的分析、内含报酬率敏感性分析。

软件开发基础知识篇7

会计电算化发展到今天,已不是单纯的会计与计算机的简单结合,而是已经发展成为一门延伸到通信学、企业管理学、市场运筹学等学科的综合性学科;它的推广应用不再是单纯的财务管理系统,而是正朝着企业资源计划管理系统(ERP)方向发展,甚至发展成为不同企业之间跨地区、跨行业相互链接的大网络系统。

通过几年来在基层从事会计电算化工作所积累的经验,要想实现真正的财务管理现代化,必须在企业内部建立以财务为中心的“企业ERP系统”。通过把企业内部相关部门的计算机连接起来,建立企业内部综合信息管理网络系统,在业务量比较大的几个部门建立独立的资源子网。比如:财务管理信息子网、物资管理信息子网、生产管理信息子网等。各子网要以财务资源子网为中心,通过网间联合与财务管理局域网相连接,其它部门可采用电信线路用单机挂接方式或者通过光缆与财务管理局域网连接。同时,制定一套“财务管理局域网管理规范”,规范各资源子网的数据结构、操作规范,安全规范、职业道德规范等一系列管理制度,确保“企业ERP系统”运行畅通无阻,实现网上信息资源在各部门之间的相互沟通和资源共享。

2以商品化软件为契机,开发更具实用性的会计软件

目前,我国工业企业财务部门使用的会计软件,一种是外国公司开发的经过汉化的会计软件,是按照国际会计准则设计的,适用于西方资本主义管理体系,而不适用于我国企业管理模式;另一种是国内企业开发的商品化会计软件,这种软件由于受知识产权的影响,价格比较昂贵,而且商品化软件维护起来比较麻烦,使用它势必造成人力和物力的极大浪费。当然后一种商品化软件是由各方面专家共同开发的,软件比较规范、功能比较齐全、操作也相对简便,而且软件实施周期短、见效快,因此,对于缺乏软件开发队伍的单位采用商品化软件是比较明智的。另外,我们还可以在同行业之间组织力量开发适用于某行业的会计电算化软件,实行集中开发、集中管理和维护,共同使用,这样可以节省大量的资金,而且行业之间提供的会计信息资料共上级部门可直接进行汇总处理,而不必再开发专用的汇总软件,这是我们开展会计电算化工作既经济又适用的捷径。

充分利用计算机技术和财务会计知识,建立一套科学的财会综合管理体系和会计电算化软件发展规划,采用在行业内部或同行业之间选拔优秀的计算机人才,建立行业计算机技术开发公关小组,开发适合行业内部管理需要的会计电算化软件,在企业各财会部门推广应用。达到集中开发共同使用的目的,缩短软件开发应用的周期,同时在应用管理上也可纵观全局,从长远利益出发,制定一套完整的会计电算化工作的长远发展规划。走出仅限于统计报表管理和数据存储管理的初级探索阶段,向大规模数值计算的专用软件、面向问题和过程分析及判断推理的高层次软件综合开发阶段迈进。由单机单用户、联机终端网络向标准化网络体系结构发展,充分利用计算机的网络结构,更大程度地共享计算机的硬件、软件及数据资源,建立一套完善的计算机辅助管理专家系统和智能系统,使计算机在财务管理工作中的应用向更广泛更深层次发展。为企业领导和决策者提供准确可靠的信息情报,编制出合理的企业生产经营计划报表及财务报表。有效地控制企业生产经营中的资源浪费,加快资金流通,降低资金占用消耗和产品生产成本,提高企业经济效益。开创以商品化软件为契机,以自己的软件开发队伍为中心,实现企业自己的智能化信息与专家系统的会计电算化发展新路子。

3搞好计算机技术培训工作,走“全员化管理”的道路

会计电算化工作的关键是应用,特别是从事具体管理工作的人员,他们的会计电算化水平决定本企业会计电算化管理的水平,他们中有多少人会使用计算机,能够利用计算机进行辅助管理工作,甚至有多少人会进行简单的计算机软件编程工作都对会计电算化的顺利实施起着至关重要的作用。所以说会计电算化工作要得到全面的发展,必须走全员化管理的道路。

全员管理就是动员企业内部从事各项管理工作的工程师、会计师、管理师、统计师、会计员、技术员及一般管理人员等在搞好本职工作的同肘,协同从事计算机程序设计的人员一起研究学习计算机技术基础知识和其它管理科学的知识,应用计算机去从事各项管理工作。把计算机同现代化的管理科学融合在一起,培养出大批能从事多种工作的复合型人才,形成一个企业内部全体上下相互协作,同心协力的全员学电脑、用电脑的局面,让更多的人去学习计算机知识,用学到的知识去为管理服务,提高管理工作的水平和质量。

软件开发基础知识篇8

Abstract: From the construction of the curriculum system,the reform of course teaching and evaluation system,this paper discusses the training model for software talent based on the idea of CDIO. The training mode of teaching with the illustration of cases, project-oriented design of curriculum, engineering oriented design of Graduation is proposed. Through these methods,students not only can learn the professional knowledge, but can improve the innovation and team spirit of students.

关键词: CDIO;课程体系;教学模式;评价体系

Key words: CDIO;curriculum system;teaching pattern;evaluation system

中图分类号:C961 文献标识码:A 文章编号:1006-4311(2013)35-0281-03

0 引言

随着科学技术的进步,计算机技术也得到了突飞猛进的发展,随着进入全球信息化时代,各行各业为了更好的发展自己,都迫切的需要应用计算机技术,因此,计算机技术得到了广泛的发展。软件产业不仅是信息产业的而核心,更是发展国民经济信息化的基础。因此,社会随着全球信息化的发展进程,社会对于软件工程化技术人才的需求达到了空前绝后的程度。在当前的人才市场上,各大公司和招聘网站的IT职位十分火热,但是据最新的数据表明:2010年约630万应届高校毕业生中,高校就业率最低的专业之一就有计算机专业,计算机专业的毕业生就业难已经成为一个无可厚非的事实。一方面,正处于高速发展阶段的软件产业由于政策的支持以及市场的需求迫切的需要大量的软件人才;另一方面,计算机专业的应届毕业生就业难以及上岗再培训也是一个不争的事实。因此,当前的软件工程专业急需解决的问题就是如何才能培养出企业需要的毕业生。CDIO作为国际工程教育改革的最新成果,此理念提出了“一目标、两体系、三驱动、四评价”的新的培养模式。

1 CDIO 理念

瑞典皇家大学和麻省理工学院等四所大学从2000年开始,历经四年的探索研究,不仅创立了CDIO工程教育理念,还成立了以CDIO命名的国际合作组织。构思、设计、实现以及运作是CDIO代表的意思,而核心思想是工程化。除了培养学生扎实的工程基础理论和专业知识外,同时开展教学时借助具体工程领域的情景,在有效促进学生将课程与知识进行主动联系的同时,还能在近似实际工程场景中得到实践训练。

通过参照CDIO能力大纲,我们指出,作为一个合格的软件工程人才应当具备以下能力:第一,良好的职业素养:具备系统思维能力、灵活推理能力和工程实践能力;第二,较宽的基础理论和较深的专业知识和应用能力:分析、设计以及发明创新都需要一定的理论知识,而基础理论为其提供了源源不断的理论基础,而专业知识则成为了发现问题、分析问题和解决问题的技术工具;第三,较强的创新意识和创新能力:由于创造性是软件开发项目具有的明显特征,因此,要求开发人员能够灵活的运用所学的理论知识,对实际发生的问题进行有效的分析、研究以及创造性的解决;第四,团队协作和沟通技能:团队的参与协作贯穿于软件项目的分析、设计、实现以及服务的整个过程中,为了更好的实现软件的功能,软件人才必须具备良好的沟通、协调以及团队合作精神。

2 “一二三四”的创新培养模式

培养具有创新精神、创新意识和创新能力的人才对于高校而言,是其义不容辞的责任。因此,在整个人才培养的过程中,在教学的各个环节都应当注重培养学生的这三方面能力。在CDIO理念的基础上,为了构建新的创新培养模式,我们培养的软件人才,在具有良好的团队协作精神的同时,不仅实践能力强,更具有创新能力,这是最终的目标。图1为培养人才模式的整体框架。该模式为了探索知识讲解案例化、课程设计项目化、毕业设计工程化的三化教学培养模式,基于CDIO理念并以理论教学体系和实践教学作为指导,最终从创新意识、专业知识、实践能力以及团队协作能力四方面对教学成果进行评价。

2.1 教学体系 由于课程提出决定课程教学的有效性外,还规定着大学生知识结构的合理性,因此,课程体系处于整个教学体系的核心地位。若按照CDIO第一标准,也就是说培养学生的能力而不是灌输知识的思想,应当按照工程型人才的教学体系培养出具有工程实践能力的软件人才,“少学时、多内容”是教学改革的方向。对相同的知识点进行精炼仅是整个教学过程中的一部分,此外,为了丰富教学的内容,还应当增加相应的技能培训课程。

4×3×3理论与实践教学体系是基于分析计算机教学内容设计知识的类别和深度提出的,我们将软件人才所需的知识归纳为数据管理与信息处理、系统平台与计算环境、系统开发与行业应用、算法基础与程序设计四个领域。“系统平台与计算环境”和“算法基础与程序设计”领域的知识主要培养学生基本的编程能力和运用能力;“数据管理与信息处理”领域知识主要是培养学生应用计算机技术解决专业问题;为了帮助学生掌握应用系统的开发方法,应当通过“系统开发与行业应用”的领域知识针对典型行业应用对其进行培养。

针对以上四个领域,对于每个领域的知识,均应当按照概念与基础、技术与方案以及综合与应用三个不同的层次进行理论教学体系的设计。其中,概念与基础着重于基础知识;技术与方法则是具体应用每个知识点;综合与应用则要求学生在掌握基础知识的基础上能够解决实际问题。在整个学习过程中,应当充分发挥实践教学催化剂的作用,使其在内化知识和转化能力的过程中起到关键作用。因此,在设计实践教学体系的时候,还是在以上述四个领域为基础,每个领域的设计按照三个不同的层次即“操作性基础”、“综合性技能”和“专业性应用”进行。“操作性基础”以培养学生的动手能力为主;“综合性技能”主要培养学生运用知识的能力;“专业性应用”则是重点培养学生的创新能力和独立思考的能力。

2.2 “三化”教学模式 所谓“知识讲解案例化”,将情景教学融入课堂,以面向应用作为指导方针,在贯穿启发式教学、案例式教学以及参与式和辩论式教学法的同时,将知识的重点和难点在案例中进行讲解。但是,必须注意设计的案例必须具有真实性、先进性、针对性以及可讨论性和创新性的特点。如:讲解数据结构中的链表时,为了让学生掌握权限管理系统是如何获取用户信息的,教师可以设计三个方案供学生参考:封装所有用户信息后装入数组、通过数据库直接读取用户信息、封装用户信息后装入链表。让学生分组讨论三个方案的优劣,同时教师应当适时提示学生在组织用户信息时采用索引的方式会不会更好,从而为讲解打下良好的基础。

针对操作性比较强的课程,在安排课程设计的时候要求采用系统化的、规范化的以及可度量的方法并按照类似项目的方式进行管理,即为“课程设计项目化”,在对其进行考核时应从选题质量(题目难易、估计工作量、选题价值)、能力水平和完成质量(设计说明书的撰写水平、完成设计成果的质量、规范化程度)三方面入手。课程设计最主要的目的是,学生在掌握基本课程教学内容的基础上,能够有效的利用知识提高自己的实际操作能力。因此,在对学生的能力水平进行考核时,应当重点考察以课程内容为主的综合运用知识的能力。如:在设计数据库课程时,在突出分析领域用户对信息管理、处理和安全性需求的基础上,还应完成建立安全性保障、完成E-R图设计以及转换关系模块等诸多环节。此外,在程序设计类课程中还应重点训练学生的编程能力、测试能力以及复杂程度的调试能力等。

“毕业设计工程化”是以项目的全过程为背景,通过构建系统生命周期体现构想—设计—实施—运作的理念。学生应当在人才培养的整个过程中,按照以下六个过程进行毕业设计:①软件项目计划、项目跟踪及监督措施;②软件需求文档及管理措施;③软件质量保证措施及完成情况;④组织实施过程、协调措施及完成情况;⑤软件测试方案及完成情况;⑥配置管理措施以及拟进行的项目运作计划。

2.3 评价体系 要想培养出合格的软件人才,建立良好的学生能力评价体系是根本的保障。由于评估的类别不能全部涵盖所有的课程,同时,如果评估分类过于细致则会使得评价质量和比较失去意义。因此,以评估信息可信、使用和富有启发性的基础上,我们追求的目标:通过多维度的展示质量评估结果以避免数据提示的极端和片面。

基于CDIO理念对人才的要求,提出了从专业知识、实践能力、创新能力和团队协作四方面进行教学质量的评价。在整个教学过程中融入评价机制的同时,还应当制定可供选择组合以及多元化的评价标准和指标。度量基础科学理论和核心工程知识的掌握程度是评价专业知识的两方面,在理论教学中应当融入评价过程。通过课程设计和毕业设计能够很好的考核学生这四方面的能力。实践能力重点要求学生运用知识解决问题,创新能力是衡量学生的工程分析、推理和创新性设计的能力。此外,在整个过程中要求学生以团队的形式完成,并记录整个过程的具体内容,最终形成团队协作能力的评价素材。在评价过程中,应从五个结合体现结果信息和客观反映评价结果:原始数据与统计结果结合、合格性与评优性结合、单项指标与总体评价结合、客观定量与主观定性结合。

3 结语

随着各个企业越来越依赖软件产业,在工程实践领域,由于传统的教学模式的弊端凸显的越来越严重,因此,我们加大了新培养模式的改革探索。本文基于CDIO理念,通过三化模式教学,不仅帮助学生系统的掌握的基础理论知识和专业知识,在提高学生团队协作能力和沟通能力的同时还提高了同学们实际操作能力以及项目组织管理能力。通过近几年的教学实践,我校计算机专业的应届毕业生的就业率不但得到了快速的提高,同时从而软件开发的人数也越来越多。由于培养的人才具有突出的创新意识和较强的工程实践能力,因此,得到了用人单位的好评。

参考文献:

[1]中国科学技术大学软件学院.创新的全日制软件工程硕士培养探索之路[J].学位与研究生教育,2010(2):13-15.

[2]陈文杰,任立军,张林新等.新加坡理工学院基于CDIO模式的项目教学改革[J].职业技术教育,2009(35):91-93.

[3]张健,安立龙,朱旭东.软件工程专业应用型人才培养模式的探索与实践[J].计算机教育,2010(12):15-18.

[4]李臣学,李丹,刘和勇.关注成效大学生创新的CDIO教育模式[J].实验室研究与探索,2010,29(6):90-92.

[5]卢晓勇,揭敏,刘晓强.改革传统教学模式培养创新型软件人才[J].中国高教研究,2007(4):81-82.

[6]高等学校计算机基础课程教学指导委员会.高等学校计算机基础核心课程教学实施方案[M].北京:高等教育出版社,2010.

[7]宋海玉,李锡祚,郑海旭等.软件工程专业人才培养的研究与实践[J].大连民族学院学报,2008,10(15):473-476.

[8]路阳,董宏丽.软件工程案例教学浅议[J].长江大学学报(自然科学版),2010,7(2):386-387.

[9]周卫,赵静.项目驱动式教学在软件设计课程中的实践应用[J].中国西部科技,2010,9(20):71-72.

软件开发基础知识篇9

关键词:高职 软件技术专业;“以点带面”;学生社团

(一)培养目标

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)、信息技术水平考试证书(计算机程序工程师证书)等专业技术资格证书之一,方可毕业。(作者单位:长春职业技术学院)

参考文献

[1]张海藩,软件工程导论(第四版),北京,清华大学出版社,2003年12月.

软件开发基础知识篇10

【关键词】软件工程;专业建设;课程群

0 引言

作为一个新兴的学科,软件工程涉及计算机科学、数学、管理学等领域,是一个综合叉学科。同时,软件开发技术得到了飞速的发展,云计算、移动互联网络、手机系统和APP软件、物联网以及互联网+概念的提出,对计算机行业,特别是软件工程专业的发展产生了深远的影响。

如何利用现有技术,对软件工程专业的人才培养模式进行改革,从而培养出适应社会需要的高素质、实用型、具有竞争能力的软件工程高级应用型人才是摆在软件工程教育工作者面前的一个重要任务。

本文以河南城建学院“人才培养模式改革”为契机,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索。

1 软件工程专业认知与定位

对比计算机科学与技术专业,软件工程专业侧重于用工程化的技术和方法,应用计算机科学、数学、及管理科学等原理来开发软件。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理[1]。软件工程包括十大知识领域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。

立足于计算机工业和软件产业的人才需求现状,高等院校的软件工程专业人才培养模式不仅要注重学生基础知识和动手能力的培养,同时也要注重学生工程能力和职业素质的培养。我院软件工程专业人才培养目标为:培养适应我国社会主义现代化建设需要,德、智、体、美全面发展的,掌握自然科学和人文社科基础知识、计算机科学及软件工程专业基础理论知识的,熟悉软件开发相关理论和知识的,具有软件开发实践和项目组织的初步经验和能力,具有创新和服务意识,具有熟练的外语运用能力,能在企、事业单位和行政管理部门从事科学研究、开发和应用的,能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

2 现有人才培养模式存在的教学困境

现有人才培养模式存在的教学困境究其根源是由软件工程专业的学科特点决定,即软件工程学科涉及到理论、方法、工具的综合交叉;软件项目的过程、组织和管理涉及面广;同时软件工程专业的方法、技术和知识更新快、使用周期短、国际化程度高、应用范围广、服务性强以及软件使用的不连续性和不确定性[2]。

现有人才培养模式存在的教学困境:

1)专业核心课程工程化的原理贯彻始终,理论性强,理论指导实践的意义重大,但部分学生专业基础不牢,软件开发经验不足,无法把理论教学的知识与实践结合,课堂教学效果不好。

2)软件开发技术发展迅速,特别是云计算、物联网、移动互联网以及互联网+等技术的发展,使得学生在校学习的专业理论和技能素养跟不上社会对于软件工程专业技术人才的要求。

3 软件工程专业课程群建设

本文提出的软件工程专业课程群建设是在河南城建学院“人才培养模式改革”大背景下,结合软件工程专业的学科特点及现阶段的教学困境,提出了软件工程专业课程群建设方案。

需要强调指出的是,课程群建设并不是机械地进行课程排列组合,它应该是把一批具有相同认知结构和培养目标的本专业或跨专业课程的知识、方法、问题及解决方案有机地整合形成的课程体系[3]。课程设置要体现与时俱进,且要和当前高校的教学方法改革相结合,旨在为人才培养模式改革在系统化、理论化、工程化、实践化等方面提供建议,针对专业特点构建工程化实践教学体系,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,使学生各方面的能力都得到全面均衡的发展。

按照循序渐进的教学指导原则,本文提出的软件工程专业课程群建设,主要从课程群建设和实践能力培养两个方面进行阐述,从而形成一体化培养机制,使学生在打牢专业基础知识的同时,在实践技能方面得到全面均衡发展。

1)软件工程专业课程群建设

软件工程专业课程群建设从理论基础课程群建设考虑。其中,理论基础课程群建设可以细分为四个课程子群,分别为:公共基础课程群、专业基础课程群、软件工程专业课程群和专业方向课程群。

具体来讲,四个课程子群的包含的课程如下。

(1)公共基础课程群。包含思想政治类(具体包含课程:思想道德修养与法律基础、马克思主义基本原理、思想和中国特色社会主义理论体系概论和中国近代史纲要)、大学英语(一、二、三、四)、高等数学(上、下)、大学体育(一、二、三、四)和计算机科学导论等课程。

(2)专业基础课程群。包含高级语言程序设计、大学物理(一、二)、硬件类(数字电路、模拟电路、计算机硬件技术基础)、线性代数、离散数学、概率论与数理统计、软件工程导论等课程。

(3)专业课程群。包含程序设计语言类(具体包含课程:面向对象程序设计、Java基础、网站建设)、数据结构、计算机组成原理、数据库原理、计算机网络、操作系统类(操作系统和Linux操作系统),面向对象分析与设计(UML)、软件工程过程与管理、软件质量与测试、软件系统设计与体系结构、计算机安全和编译原理等课程。

(4)专业方向课程群。包括限选课和任选课两类。其中限选课分为两个方向:.NET方向(具体包含课程:C#程序设计、网站建设和 .NET企业级开发)和Java方向(具体包含课程:典型数据库、Java Web应用开发和J2EE企业级开发)。任选课具体包含课程:算法分析与设计、人工智能、平面设计、Android技术应用和绘画鉴赏等课程。

2)实践能力培养

实践能力培养主要从上机实验、课程设计、实习实训和毕业设计四个方面入手,着重培养学生的实践动手能力。

实践能力培养以“四面一体”为原则,着重培养学生的实践动手能力。所谓“四面”,是指实践环节从上机实验、课程设计、实习实训和毕业设计四个方面进行理论知识的深刻理解和熟练运用,从而使学生打下坚实的理论基础知识,并运用到实践。其中上机实验主要是对相关课程的理论知识点进一步理解和掌握;课程设计则是以小项目为基础,使学生对课程总体把握和熟练运用,把所学知识运用到实践中去,理论联系实践;实习、实训环节是让学生对新技术、新知识的学习,同时进一步提高学生的动手能力;毕业设计注重对理论知识和实践能力的综合运用,形成全面的专业技能。

“一体”是指“四面”的最终目的是为学生的实践能力服务,在毕业设计环节实现四面归一,提高学生从整体把握并综合运用所学的理论、实验、课程设计、实习、实训中的知识,知识归一、动手能力归一,形成全面的专业技能,使学生在进入社会工作后,有很强的实践动手能力,适应工作的需要。

4 结束语

本文依据我校软件工程专业认知与定位和现有人才培养模式存在的教学困境,提出了软件工程专业课程群建设方案,旨在为课程体系与教学内容整体优化提供有益探索,从而培养能适应技术进步和社会需求变化的高素质、实用型、具有竞争能力的软件工程高级应用型人才。

【参考文献】

[1]张效祥.计算机科学技术百科全书[M].北京:清华大学出版社,2005,11:183.