HI,欢迎来到好期刊网,发表咨询:400-888-9411 订阅咨询:400-888-1571证券代码(211862)

软件开发基础知识集锦9篇

时间:2023-06-08 15:16:17

软件开发基础知识

软件开发基础知识范文1

关键词:软件设计能力;内容优化;实践教学

一、优化教学内容,构建新型课程体系

1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。

二、小结

围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。

参考文献:

[1]谢中科,肖增良.程序设计系统化思维培养模式的探讨[J].计算机教育,2014

软件开发基础知识范文2

关键词 :软件人才培养;教学规律;培养模式;培养计划

中图分类号:G642 文献标识码:B

软件技术类专业是指在计算机类专业教学中以软件开发、软件维护、软件工程管理等为主要专业定位,或是在此基础上的专业领域软件开发专业(例如游戏软件开发方向等)。近年来,在计算机教育方面,软件开发类专业得到了长足的发展,特别是在规模上,随着全国35所示范性软件学院的建立,全国各地也办了类似的旨在培养应用型软件高级人才的软件学院。然而,目前不容乐观的是,软件人才的培养从数量上说似乎已经满足了软件行业的需要,甚至已经有些过剩,但是从软件企业传来的信息确是软件企业“不招应届毕业生”、大量软件企业找不到合适的人才。这个一个侧面反映了软件类人才培养,还没有从根本上适应市场的需求,培养的人才的合格率还太低。

目前,软件类专业的教学改革可以说是个热点,特别是教育部批准举办的35所软件学院都在教学改革上做出了很大成绩。然而,大多教学研究都停留在实践教学改革,课程体系改革等具体操作的层面上。对于软件教育的规律是什么?软件类专业与其他传统学科有什么区别?研究者大都没有给出系统的结论。

目前,软件人才培养方面的研究和实践,归纳起来有以下几个方面的改革趋势:

(1) 机制创新。国家示范性软件学院和各地方的软件学院都对软件学院教学计划的制定给予了较大的自由度。办学收费标准也较高,使得软件学院的硬件设施普遍较之普通院系优越,这样一定程度上提高了培养质量。文献[1-2]都对此进行了有益的探讨。

(2) 实践环节改革。普遍把到企业实习看作是提高人才能力的好办法。实际上一些重点院校的学生本身素质和能力就较高,直接到企业实习效果较好,而大量普通院校的学生直接到企业实习实际效果并不太好。文献[3-4]分别研究了这方面的改革情况。

(3) 本科教育职业化。把本科教育完全改造成技术培训,完全扔掉本科教育基本培养规格。应该说把软件人才培养向职业培训转化是对原来普通本科教育的一个极端化改革,但是如果没有正确的软件人才培养规律作指导,这种改革势必会造成软件人才理论不扎实、后劲不足,所以,需要在对软件人才培养规律的清晰认识基础上进行改革。

本文分析了软件专业与传统专业的区别,指出了软件专业与传统学科,教学规律和认识规律的不同之处,在此基础上提出了软件类专业教学计划和课程体系编制的指导性原则。希望通过本文能够为同行提供一个新的视角。

1软件专业知识体系、能力提高模式与传统学科的比较

专业教育对学生的作用可以归纳为两个方面,一是专业、学科知识体系的逐步完善,二是解决学科问题能力的提高。图1表示了学生培养过程中专业能力提高和知识能力提高示意图。

图1中虚线表示传统学科的知识水平能力水平提高在大学教育过程中的变化,实线是软件技术类专业的情况。

在学科领域中,传统学科知识体系已经比较完整,工程化设计、计算方法已经相对成熟。学生知识提高的过程与能力提高的过程并不是完全同步的。大学教育单从学科能力提高方面说,可以说是一个比较封闭的过程,也就是没有学专业课之前,几乎无法使用专业的知识体系解决问题,就是说,解决专业问题能力的提高很大程度上是从学习专业课开始的。但是,由于传统学科的设计、计算等都已经比较成熟,对于同一个问题的解决方法基本差别不大,所以在学科基础课学好的前提下,学生可以在很短时间内,就能使专业技术能力有比较大的提升。

软件类专业则不同。一方面,即使没有雄厚的专业理论基础,也可以学会基本的开发技术(专业技术),但是其开发能力、水平的提高,必须在继续学习专业理论且不断实践中得到提高,其提高是缓慢的。可以说是一个渐进的过程。学生入学一年级就可以直接接触专业方法(即编程),具有初步的能力,然后随着专业理论课程的学习,在掌握知识的同时,逐步提高解决问题的能力,和解决问题的质量。也即知识的积累和能力的提高是同步进行、相互促进的。

2对软件学科教学体系的新认识

传统专业知识体系一般可由三部分组成:即自然科学基础、学科基础理论、专业知识和方法。例如针对自动化专业,其自然科学基础包括数学、工程数学、物理等;学科基础知识包括电路理论、电机与拖动、电子技术、控制理论等;专业课主要包括两个方面,一是工程化的控制系统设计方法,二是具体的控制电路及设备的选择或实现技术。这个体系的特点是,专业技术课的学习依赖于自然学科基础(如数学)。专业课的学习依赖于专业基础课的知识体系。也就是说,传统学科的知识体系可以说成是金字塔形。

而软件类专业从大的方面虽然也可以分成自然科学基础、专业理论、专业技术,但是三者之间的关系却和传统专业有本质的不同。专业理论知识依赖于自然科学基础,专业技术能力一定程度也依赖于自然科学基础;专业技术知识的学习对于专业理论的依赖并不明显,而专业技术能力的提高却依赖于专业理论的学习。也就是说,学会专业技术知识并不依赖于太多的专业理论,但是学好专业技术,提高解决问题的能力,专业理论必不可少,并且起到不可替代的作用。

所以,要改革传统软件类专业的教学体系必须先从认识软件类专业和传统学科的差异着手,将自然科学基础、专业基础理论、专业技术课程的传统教学体系,改为自然科学基础、专业技术先行,专业理论适当延后的教学体系。

图2粗略地表示出了两种教学体系的区别。图中横坐标是每个学期的学时数,纵坐标是学生在校的时间。在新的教学规律指导下的新的教学体系应该适当地延后学习自然科学基础的时间。专业技术包括利用开发语言开发平台,后期是专业开发的实践。专业理论逐渐展开,用专业理论课的学习促进学生专业能力的提高。最终,学生的知识体系并没有残缺,但是在学习期间能力的提高更符合软件学科的教学目标。

不难看出,软件技术类专业人才培养与传统学科有着很大的区别。只有理解和遵循这些规律,才能更好地高效率地培养软件人才。这些规律必须反映到人才培养方案的制订中,否则,就不可能培养出符合市场需要的人才。虽然软件类专业目前已经多样化,建立在软件技术基础上的专业和专业方向很多,但是作为软件技术的核心能力和知识体系还是基本相同的。所以,软件类专业的培养计划制订,必须遵守以下原则:

(1) 自然科学基础课程宽厚原则。如数学是软件技术类专业提高逻辑思维能力的重要课程,并且线性代数、离散数学、概率与数理统计等课程都会对程序员解决问题提供灵感。所以,在本科教学计划中,应该把自然科学基础作为软件类专业的最主要课程,同时在开设时机上,要改变过去必须在前两年开设完毕的思维,可以分布在学习的各个学期。

(2) 以核心能力培养为主线,兼顾不同专业方向。软件技术类专业无论专业方向如何,其核心能力都是相同的。概括来说就是两个能力,即程序及软件设计能力和软件工程能力。这两个能力,一方面是软件技术能力,一方面是软件工程能力,软件工程能力也是以软件技术能力为基础的。所以,在进行培养计划制订的工程中,必须把核心能力的培养放在首位,然后通过适当的计算机科学、通讯原理、电子信息等了解性课程拓宽学生的专业领域。

(3) 专业技术课程先期教学原则。这是和传统学科区别最大的一个原则。软件技术课程的学习一般来说并不依赖于软件理论课程,所以,软件技术课程可以先期进行学习。软件技术专业的技术课程很多,各种开发平台、开发语言,不可能在学校都进行学习。那么就只能选其中的一种语言一个平台,并且要彻底学会。具体选择哪种平台和语言反而并不是很重要(如果能兼顾毕业时就马上能用到的技术更好)。因为掌握某种开发平台、语言不是学生的核心能力,软件设计能力才是最重要的。很多本科教育的研究者担心只学习一个技术会使得学生专业面太窄,在计算机技术发展迅速的今天很可能所学的技术在学生毕业时已经成为陈旧的技术,导致学生不能适应社会的需要。这样的研究者忽略了一点,能力需要通过大量的开发实践才能锻炼出来,要进行能力的提高就必须依托一个载体,这个载体就是某一个具体的技术。学会了一个技术以后,就可以在不断的开发练习过程中,提高软件开发设计能力,提高快速适应不同语言和工具的能力。同时在实际工作中提高其社会活动能力、社会责任感、与人沟通的能力、合作能力、系统分析能力等,而这些能力与开发平台和语言是完全无关的。

(4) 专业技术理论适当延后原则。需要说明的是在这里我们使用了专业技术理论,而没有使用专业基础课的说法,这是因为,我们常说的传统专业的专业基础课与软件技术理论课有本质的不同。它不是解决学习专业技术课程的必备基础,而是为将软件设计得更好的理论指导。计算机专业的教师都会有这样的体会,教授软件工程、数据结构、编译原理等理论性较强的课程时,有一定编程经验的学生总是能够收获更大。也就是说,学生必须先会设计程序,才会对怎么才能把软件设计得更好感兴趣。所以,培养计划制订中一定要把这些理论性较强的课程放在学生基本掌握了一些平台和技术以后再进行,这样就可以有效地利用这些课程提高学生的软件设计和软件工程能力。

(5) 加强实践性环节改革,把实践性环节作为提高学生能力的关键环节。能力只能在实践中的得到提高,虽然很多软件学院都在开展实践性教学改革,但是大都没有摆脱“课程设计+毕业设计”的模式。实际上,培养计划的大部分课程都是为了培养学生的软件设计能力和软件工程能力,所以,片面地验证某一门课程的所学知识的所谓课程设计,并不能全面地提高学生的程序设计能力,每门课程的课程设计都是在低水平上的重复内容。所以,改革实践教学环节,要在增加实践环节时间的同时,改革实践环节内容,要使学生的设计能力随着知识水平同步提高,实践环节内容和要求一定要随着学习时间不断提高。

(6) 产学结合,提高学生的软件工程能力。这几年,软件教育方面,大多数学校也都注意到了产学结合的重要性。但是,到底通过产学结合到什么目的,却并不很清楚。笔者认为,软件设计能力的提高必须靠软件设计实践本身来提高,企业中的实际工作更多的是软件工程的能力,是非技术的。例如团队精神、工程规范、软件质量控制等,不到实际的软件生产第一线,是很难有体验的。所以,和企业的合作一定要在学生具有了一定的程序设计能力基础上进行。当然不排除在学习过程中,通过企业参观等方法提高学生的学习兴趣。

3结论

软件学科的工程化水平和其他学科相比还远远不够,软件学科的认识规律与其他学科有着很大的不同,目前的软件本科教育沿用了传统学科的培养模式,给人才培养造成了很大的影响。本文所提出的一些思考和原则已经在笔者所在学校的培养计划编制方面得到应用,起到了一定的作用。今后还需要继续按照这些原则不断改造培养计划,努力使我国的软件人才培养能够得到突破性改革。

参考文献:

[1] 黄细良,骆斌. 坚持机制模式创新 办好国家示范性软件学院[J]. 中国高等教育,2004(4):42-43 .

[2] 汪琳琳,焦慧敏. 软件学院办学模式初探[J]. 重庆邮电学院学报,2005(3):437-439.

[3] 雷敏,宋茂强. 示范性软件学院实践教学改革初探[J]. 计算机教育,2007(6):33-55.

软件开发基础知识范文3

关键词:软件工程;实训;课程体系

实训是一种新的实践教学形式,最早在职业技术教育中开展,其目的是解决毕业生走向职业岗位时达不到岗位要求的问题。由于职业教育的定位是面向岗位的职业技能教育,培养生产一线的操作人员,所以实训教学以系统地训练岗位技能和技术运用为主。近几年,高校为了解决毕业生由于不能适应工作岗位技能要求导致就业不畅的问题,加强了以培养学生实践能力为主的实践教学改革。许多院校的软件工程类专业(方向)在学生进入实习之前,增加了实训教学环节。由于对实训教学目标定位的认识不同,导致在实训的时间长度、内容、要求和管理上有很大差异,对实训教学的研究和建设投入不足。本文结合我校计算机科学与技术专业(软件工程方向)人才培养的实践,以及我们对本科软件工程实训的认识,介绍我校软件工程实训的目标定位和对相应课程体系的探索、实践情况。

1软件工程人才培养课程体系

我校是以教学为主,培养应用型人才的地方本科院校。我校的计算机软件工程人才培养定位是:“掌

握计算机科学与技术学科的基础知识与技能,具有一定的工程技术基础和较强的实践动手能力,具有创新精神、竞争意识和良好的团队合作能力,能够适应技术进步和社会需求变化,能够从事计算机应用软件开发与管理的高素质软件工程人才”。根据国家对本科人才培养“宽口径、厚基础、强能力、高素质”的总体要求,和教育部高等学校计算机科学与技术教学指导委员会的软件工程专业规范[1],我们构建了简称为“211”结构的课程体系,它主要包括大学基础教育、专业教育、职业技能与技术应用教育、综合素质培养四大板块。即在大学一、二年级,用两年的时间进行大学基础教育,包括人文社科、身心健康、工具(外语、计算机、文献检束等)、专业基础等,以学生长远发展需要,提升基础知识层面和综合素质,为后继的专业课程学习做铺垫为目标;三年级进行系统的专业教育,以专业核心知识和基本能力培养为主,以提升学生专业知识层面和专业基本能力为目标,同时开启必要的专业方向课程,为后继的职业技能培养做铺垫;四年级进行面向岗位的专业职业技能培养和技术应用创新教育,以学生就业为目标,其主要的教学形式是实践教学。课程体系结构如图1所示。

图1人才培养课程体系结构示意图

2目前国内软件开发实训存在的主要问题

目前国内开展软件实训的机构主要有三类:企业或软件行业协会投资的社会培训机构;由政府、企业等多方投资建设,独立运营的实训机构;校企合作共建的实训基地,这中间又有两种,一种是以学校投资为主,实训基地建在校内;另一种是学校进行必要的投资,实训基地建在企业。实训开展形式主要有三类:1)学校将实训委托给社会培训机构或企业,由他们负责学生实训教学;2)学校与社会培训机构或企业合作,派出实训指导教师与承担实训教学任务的机构共同实施实训教学;3)由学校自己组织在校内进行实训教学。由于承担实训任务的主体各自的利益目标不同,各自的擅长不同,实训对象所拥有的基础不同和各自对实训的理解不同等多种原因,造成目前软件实训存在以下主要问题:

1) 实训的内容体系设计单一,通常只要求通过训练掌握某项具体的开发平台技术,追求的是程序代码的实现。

2) 用于实训的软件开发项目小,软件开发过程的控制与管理、软件质量控制与保证、团队的合作与协调等软件工程的重要内容和思想体现不出来,使得学生在实训之后,没能体会到软件工程的特点和重要性。

3) 实训指导教师的软件项目开发经验少,工程素质不高,同时缺乏相关的教学经验,不能保证软件工程的思想、技术、方法和要求在实训中得到贯彻落实。高校教师在软件开发的工程能力和经验上缺乏,而来自企业的指导教师在软件工程理论和实训教学方法上存在明显不足。

4) 实训所需的工具、平台等条件不足,不能保证实训目标全部实现。

5) 实训的团队合作、团队目标管理往往被忽略,这使得经过实训之后,学生的团队意识,与人沟通、协调、合作的能力没有明显的提高。

6) 实训中学生对新知识、新技术学习的能力培养没有得到应有的重视和训练,鼓励创新的机制和措施不够,这使得经过实训之后,学生除在具体某项技能方面有所收获之外,在学习能力、技术应用能力、接受新事物和创新意识等方面收效甚微。

3软件工程实训课程体系建设

实训是一个综合、系统的工程,其目的是提高学生的知识、技术应用能力,积累工程实践经验,从而提高职业技能,实现从学生向职业工作者的转化。对于以上存在的问题,我们认为师资、课程体系是核心和基础,实训项目是关键,在干中学,在学中干是行之有效的方法。以下仅就软件工程实训课程体系的建设进行探讨。

3.1目标定位

课程体系反映了对人才培养的知识和能力要求[2]。本科软件工程型人才的实训定位应该从软件开发企业的岗位要求、学生职业发展空间、初步能够适应多种岗位需要等多方面考虑。从学生初次就业的岗位看,软件开发人员的主要岗位有程序员、测试员等。这类人员需要有良好的理解设计和程序的能力,能够在一种开发平台上熟练地进行规范的程序设计和相应的程序测试,能够清楚自己所做工作与他人工作之间的关系,理解自己所做工作在整个(或局部)设计中的作用。从职业发展空间看,软件开发人员经过2~3年的实际工作锻炼,应能够承担软件工程师的角色,承担必要的分析、设计、任务分解、技术指导、协调和管理任务。所以,本科的实训目标定位既要面向现实,又要给学生发展的潜力和意识。我校的软件工程实训的目标定位是提高软件开发程序实现技能,提高软件工程知识、技术应用能力,积累软件工程实践经验,实现从学生向软件职业工作者的转化。具体要求是:

1) 熟练掌握一种软件开发平台及相关技术,能够用它们进行规范的程序设计。

2) 掌握软件测试的方法,初步能够设计测试方案,用测试数据集完成相应的软件测试工作。

3) 理解软件生命周期中各环节的主要概念,初步掌握各环节的主要工作、所采用的技术和实施方法,初步掌握有关工具的使用,能够用它们完成相关的分析、设计工作。

4) 了解软件开发的过程控制、质量保证和管理的方法和特征,理解它们的重要性。

5) 理解团队及各种角色的作用,掌握交流勾通、协调合作的必要方法,形成团队意识。

6) 形成快速学习专业知识和技术的能力,查阅相关技术资料(含英文资料)的能力。

7) 了解、体验软件企业的工作环境、形式和要求。

3.2构成原则

实训以项目为载体,以软件开发的工作流程为驱动实现知识、技术、能力和素质的全面提高。实训课程体系作为实现实训目标,制定实训计划的基础和核心,应坚持以下原则:

1) 以企业实际需求为导向,以能力培养为核心,以学生适应软件技术岗位为目标,以职业岗位技能为重点,兼顾长远发展。

2) 注重知识、技术、能力、素质的协调发展,使学生通过实训既学习了知识和技术,又提高了应用知识、技术的能力,升华了自身的素质。

3) 以职业技能训练为重点,突出技术应用能力培养,强调在应用中创新,通过解决问题来体现技术和人的价值。

4) 课程体系应具有开放性、灵活性,能够即时反映软件技术的发展。

5) 课程体系要与人才培养方案的课程体系衔接,有明确的应用软件开发领域,体现自身特色。

3.3课程体系内容

我校的计算机专业软件工程方向人才培养计划课程设置以计算机科学优先,接着是软件工程基础和软件开发平台技术基础课程,将软件工程的技术与方法、软件开发的管理、软件开发平台技术的深化、职业综合素质等方面的课程统一综合到实训课程体系中;以互联网应用软件开发为平台,以管理信息系统和电子政务/电子商务为应用领域。实训过程以软件项目开发工作流程为主线,内容涵盖项目开发的全过程,保证学生能够体验到软件开发的全过程。实训以职业技能和技术应用为重点,教师讲解不超过总时间的20%。软件工程实训课程体系如图2所示。

1) 在实训之前开设软件工程与技术基础课程群。它主要是为学生进入实训之前奠定必要的技术、

图2软件工程实训课程体系示意图

工程和应用领域知识基础。主要课程有软件工程导论、面向对象设计方法、信息管理系统设计与开发、C#语言程序设计、.Net架构程序设计(或Java语言程序设计、J2EE架构程序设计)、XML语言、Linux操作系统(或Unix操作系统)、电子商务、电子政务等。

2) 开发技术平台课程群。它是在.Net开发平台(或J2EE开发平台)基础之上进一步深化、细化有关技术,提高在开发平台上的软件实现能力的一组课程。主要课程有人机交互与界面设计、数据库程序设计、数据接口程序设计、Web Services设计、应用安全程序设计、动态服务组合、新技术介绍等。

3) 软件工程技术与方法课程群。它是一组提高学生软件工程意识、技术和方法的课程,是学生今后向高层次软件职业人员发展必备知识和能力。它培养学生具有软件工程的理论知识,能够应用它们指导软件开发的实践。要求学生掌握常用的需求分析与设计工具,具备一定的软件分析与设计能力,了解软件开发的管理过程和技术。主要课程有:软件需求分析、软件设计与体系结构、软件详细设计、软件测试与质量保证、软件过程与管理、软件分析与设计工具等。

4) 职业综合素质课程群。它是一组提高学生非技术方面的综合素质的课程。它培养学生团队意识、沟通合作能力、专业资料获取与专业外语应用能力,使其具有良好的职业道德和一定的工程经济概念,了解现代软件企业的运行与管理。主要课程有团队激励与沟通、工程经济学概念、信息社会与职业道德、软件成熟度模型与软件企业管理等。

在课程体系中,开发技术平台课程群是学生实习、初次就业体现自己的技术和能力的主要内容,同时它是更好地理解、掌握软件工程技术与方法中诸课程的基础。所以,它是实训的重点。软件工程技术与方法是中、高级软件职业人员必备的知识和能力,需要在大量的工程实践中去提高认识和积累经验。它在实训中以体验、领悟为主,重点是训练分析、设计的方法和相关文档的规范表达。职业综合素质课程群的知识对于学生步入社会,在职场上取得成功很重要,并且它是实训取得成功的基础性知识,要贯穿整个实训过程。

3.4评价指标

实训所包涵的内容和重点是实训成功的核心和

基础。为了科学评价与不断优化实训内容与重点,通过向行业专家咨询和实践,我们初步建立了一个实训课程体系评价指标体系[3]。它主要由职业技能、工程实践、专业知识和职业综合素质几个方面构成。评价指标体系如图3所示。

图3课程体系评价指标体系

4结语

我校从2005年开始,通过与微软合作,引进微软职业技术教育课程,开始在计算机本科教育中用一定的时间进行职业技术教育。通过对两届学生的教学实践,我们感到微软职业技术教育课程相对本科人才培养存在着软件工程方法、技术方面内容薄弱,而微软

开发技术内容过细的问题。2007年,我们通过对有关教学内容的调整补充,整合成软件工程实训。实训大大提高了学生软件开发技术的掌握和应用能力,增强了学生的就业能力和质量。2007、2008届参加软件工程实训的学生,90%以上到软件开发企业就业。学生的知识结构、技术水平和能力、综合素质等得到企业好评。

参考文献:

[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M]. 北京:高等教育出版社,2006:12.

[2] 舒蔚,万常选. 计算机专业程序设计课程体系架构的研究与实践[J]. 吉林大学学报:信息科学版,2005(8):1-4.

[3] 韩春燕,高晓兴,姜慧妍,等. 软件工程专业课程体系优化方法研究与实践[J]. 计算机教育,2009(4):70-73.

Research on Curriculums in Software Engineering Training

YUAN Lei, HUANG Jian, NING Bin

(Mathematics and Computer Science College, Xiangfan University, Xiangfan 441053, China)

软件开发基础知识范文4

论文摘要:分析了大学计算机基础课教学内容和教学体系存在的问题,进行了以下教学改革尝试:重新整合教学内容,根据教学规律组织教学内容,建立比较合理的教学体系。改革措施激发了学生的学习积极性,有利于提高课堂教学质量。

在我国高等院校非计算机专业开设大学计算机基础课已经近三十年了,它为推广信息化技术、培养复合型人才做出了巨大的贡献。但是随着计算机学科的理论和技术地飞速发展,大学计算机基础课的教学内容严重滞后,本文探讨了存在的一些问题及其改革尝试。

1 大学计算机基础课教学内容和教学体系存在的问题

大学计算机基础课教学内容主要包括计算机基础知识、操作系统、办公软件、计算机网络基础、Internet应用、多媒体技术、数据库技术、程序设计基础。知识点多、内容繁杂,有些知识过于陈旧。计算应用已经深入到社会的方方面面,计算机发展历史、计算机分类和应用介绍等低级陈旧的知识还充斥在教材中。大学计算机基础是为一年级文理科新生开设的一门公共课,文科学生不需要了解计算机组成原理和工作原理、数据在计算机中的表示;不是所有理科学生都需要这部分知识,主要是利用计算机进行过程控制时需要,并且大学计算机基础课中讲授的内容仅仅是一点皮毛,但是应用型本科院校的新生接受这些知识很困难。个人电脑已经成为人们学习、工作和生活的电子工具,生活中的电子设备比比皆是,人们只要会用即可,很少去了解它的组成原理和工作原理,所以计算机组成原理和工作原理、数据在计算机中的表示应从大学计算机基础中删除。Internet改变了人们学习、工作和生活的方式,应用Internet技术是大学生必备的技能。“计算机网络”的教学内容主要包括:计算机网络的分类、体系结构和局域网的组成、分类以及组网技术,对于学生来说既难于理解又没有实际应用价值,实用的Internet应用技术反而比较少。

根据学生的学习基础,对于教材中偏重于原理性知识地介绍,理解和接受都有一定的困难,极大地打击了学生的学习积极性。教材内容完全根据知识体系结构来组织,没有考虑教学体系结构,也增加了教学的难度。大学计算机基础教材很多,内容大同小异。开篇的计算机基础知识内容陈旧、枯燥,其中原理性的知识难于理解。随后的操作系统基础知识,对于没有计算机专业基础的学生来说太抽象,例如软件系统、操作系统的概念,由于学生没有具体地编写程序的体验,只能机械地背诵和接受这些枯燥的术语。操作系统实验受制于知识内容的限制,只能一招一式地练习,例如文件和文件夹的操作非常重要,学生只能反复地练习建立、删除和重命名文件夹,机械地重复使学生失去学习兴趣。紧接着的办公软件内容,基础好的学生认为中学学过就不认真,基础差的学生几乎不会使用,给组织教学造成了极大的困难。多媒体软件和网站建设内容,每一个部分都需要开设一门课程学生才能掌握,学生学习积极性很高,但是由于之前的教学内容已经占据了大量的课时,只能浅尝辄止,有限的课时所讲授的知识很难使学生掌握这部分内容。综上所述,教学内容的选择和体系结构组织上的不妥,是造成学生学习该课程积极性不高的重要原因之一。

2 大学计算机基础课教学内容和教学体系改革探索

针对大学计算机基础课教学内容存在的问题,对教学内容进行了重新整合。根据知识相关性将教学内容划分为三个模块:(1)计算机软硬件基础、操作系统、办公软件和程序设计基础;(2)计算机网络基本概念和Internet应用技术,数据库技术,网站建设,信息安全和计算机病毒;(3)多媒体技术。

第一个教学模块的体系安排为办公软件、程序设计基础、计算机软硬件基础和操作系统,指导思想是以办公软件为点,程序设计基础、计算机软硬件基础和操作系统基本概念为面,以点带面,依托办公软件的教学融合相关的基本概念,突出知识的直观性,降低抽象程度,便于学生接受。教学过程中依托办公软件操作步骤的讲解,引出菜单以及单击菜单的实质讲授程序设计的基础知识;提出问题“计算机如何存储输入的文字”,通过引导学生解剖Word软件的操作过程,讲授计算机硬件系统的基础知识;计算机可以自动地为人类处理许多问题,这是任何其它电子设备所不具备的、计算机独有的特征,也是一个现代人所具有的基本常识,分析这种现象引入操作系统的概念,讲授有关知识;最后,引导学生通过分析、综合概括得出计算机软硬件系统的组织结构以及相关知识。虽然学生在中学的信息技术课学过Word软件,但是对于程序设计和操作系统等基础知识基本上不了解,通过以上的教学改革措施不仅使学生学会了操作,而且理解操作步骤的实际意义,达到了知其然也知其所以然的效果,学生的学习积极性被极大地调动起来,枯燥和抽象的名词术语和概念与操作步骤联系起来后具体了,便于学生理解和接受。由于办公软件的操作重复性大,便于训练学生使用计算机的技能,办公软件教学结束后全部学生都能熟练地操作计算机,操作系统的实验内容就不成为教学难点了。

第二个模块的教学从即时通讯软件(例如QQ聊天软件)和收发邮件的学习开始,学生的学习兴趣非常大,结合具体操作讲授计算机网络的有关理论基础。带领学生登录我院图书馆网站,结合查找文献资料的教学讲授数据库技术的基础知识,紧接着进行建立网站的实验教学,时间安排上将理论知识的讲授与操作实验进行有机结合。教学过程中结合浏览网页对学生进行信息安全的教育,讲授计算机病毒的有关知识。通过以上教学的实施,学生已经能够熟练地操作计算机,也具备了必要的理论基础知识,第三个模块的教学基本上没有难点了,主要进行了培养学生自学能力和利用网络查找学习资料的探索。

3 结语

教学内容的取舍和体系安排是否得当,是保证课堂教学质量的重要一环。应用型本科院校招收的新生,接受抽象理论知识的能力相对来说比较弱,根据这个特点对大学计算机基础课程的教学内容和教学体系进行了一定的改革,极大地激发了学生的学习兴趣,有效地提高了课堂教学质量。

参考文献

[1] 张小莉.构建面向应用的大学计算机基础课程教学体系[J].重庆工商大学学报(自然科学版),2008(6):68-70.

[2] 教育部高等学校计算机科学与技术教学指导委员会.关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)[M].北京:高等教育出版社,2006:20-28.

软件开发基础知识范文5

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

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

②“系列应用型”模式。该模式是在设置系列计算机课程的基础上再设置“电算化会计”课程。例如,中国矿业大学会计学专业设置“计算机基础”、“办公自动化软件基础”、“高级程序设计语言”、“微机数据库管理系统”四门计算机系列课程和“电算化会计”、“会计实务电算化”两门计算机应用于会计的课程。又如,上海财经大学会计学系教学改革设想中打算开设“计算机应用基础”、“计算机语言”、“数据结构”、“数据库系统”。四门计算机系列课程和“电算化会计”、“电算化会计决策与控制”、“电算化审计”三门计算机应用于会计的课程(财政部教育司编《会计学专业主干课教学大纲》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知识应用于“管理会计”。内容包括:成本性态分析、本量利分析、目标利润的敏感性分析、利用经营杠杆进行利润预测、边际利润最大的产品组合、销售顶测分析、投资决策评价方法的分析、内含报酬率敏感性分析。

软件开发基础知识范文6

关键词:地方本科院校;软件专业;课程体系;教学体系

中图分类号:G642文献标识码:A文章编号:1009-3044(2012)14-3321-03

Construction and Practice on Curriculum Architecture of Software Major in Local Colleges

REN Zi-ting

(Department of Engineering and Computer Science, Hezhou University, Hezhou 542800, China)

Abstract: To solve the distance between curriculum architecture settings of software major in local colleges and social needs, probes into the construction plan of the curriculum architecture and practice teaching system, to provide services for the talents training adapting to lo cal economic development.

Key words: local college; software major; curriculum architecture; teaching system

近年来软件业保持快速增长,“十二五”时期大力促进软件业变大变强,人才需求旺盛,但中国的IT队伍结构严重失衡,各个层面的人才缺乏,制约了经济滞后地方软件业的发展。长期以来,国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才[1],高校软件人才毕业生数目不断增加,却仍难满足需要,与企业所需人才错位现象突出。地方本科院校高等教育是大众教育,目标是立足地方,服务周边,面向省内。该文探讨培养适应地方需要与变化的人才,适应地方产业服务与学生能力培养的课程体系。

1改革思路

地方本科院校生源不同于重点高校与普通本科院校,地区经济水平存在差异,学校获得支持力度小,学生的起点和所具有的知识相对较低,在学习中缺乏自我约束能力,更加突显课程建设的重要性。课程体系在专业建设中起着重要作用,是培养人才的根本保障,体现了地方本科院校的专业建设及办学理念。为此通过调研高校与企业,提出如下改革思路:

1)课程应适应软件和信息技术发展及地方产业需求,正确认识自己,面对现实,勇于革新。

2)软件专业课程体系的构建必须充分考虑到软件人才培养目标的岗位针对性、知识结构的连贯性、专业特色的鲜明性、技能的实践性、素质培养的综合性、工作能力的拓展性和考核评价的多样性[2]。

3)针对企业对能力和技术的需要,改革现有课程内容,实现教学与就业的对接。开设的专业技术课程需教、学、练一体化,依托项目,正确理解、分析项目需求,合理规划项目设计和技术方案。

4)综合化的课程设置,以学生为本,立足学生长远发展,增强学生对课程、发展方向的选择空间,

倡导个性发展,强化实训实践,细化专业方向,建设动态的课程体系。

2课程体系

我校2008年开始招收软件技术专业本科生,目标是培养系统、深入地掌握计算机科学技术基础及软件工程专业知识和工作技能的专业技术人才,能直接从事计算机应用、软件开发的多岗位中级应用型人才。专业课程体系设置不是简单堆砌计算机科学专业核心课程和软件工程核心课程,而是根据教育部计算机专业人才培养规格,融合产业需求和规范,对核心课程整合调整。我校软件专业课程设置如表1所示。

1)分层次模块化的课程。注重理论够用与实践能力关系,兼顾专业基础和产业需求改革核心课程,以服务地方产业和就业为向导,确保学生具有专业特长、创新能力,在行业中有多岗位竞争适应能力。

2)软件专业在专业技能上进行“专业基础+专业能力核心+专业方向+竞赛认证+实践”方案设置。

3)构建创新性课程体系。从通识教育基础课程“、学科基础课程+专业课程”、专业技能教育三个阶段部署。通识教育基础课程完成公共基础课程、文化素养与职业认知课程教学,通过计算机导论和软件工程概论引导,有针对性的设置专业基础知识讲座和前沿技术讲座;“学科基础课程+专业课程”阶段进行专业基础课程和软件系统课程教学,使学生掌握扎实的理论基础、较强的编程能力和宽广的专业知识;专业技能教育阶段完成软件工程高级课程和专业方向/技能课程教学,掌握某一方向的软件开发技术,参与实际项目训练,并设置竞赛与认证课程,给予相应的课外学分,培养其自学能力和创新意识。

4)课程设置综合考虑模块的衔接。基础知识教学以程序设计为主线,内容贯穿汇编语言、系统调用到C语言;数学基础课程是从事计算机软件工作所应具备的数学知识,增加以往未开设的微积分、线性代数、概率论与数理统计作为必修;数学基础课程,硬件操作系统与系统软件课程,程序设计、数据结构、软件架构课程并行;专业核心课程由面向对象程序设计、软件工程、数据库系统、软件体系结构、软件开发技术、需求工程、软件测试与质量、软件项目管理、专题知识讲座等构成;专业方向配置6个方向的课程模块,有软件文档写作、数学建模、人机交互技术、信息系统分析设计、网络多媒体技术、嵌入式系统与应用等课程,可视产业需求和办学特色修改专业方向模块。

5)设置英语模块,注重英语能力的学习。软件领域反映最新的技术、文献、资料等都是英文所写,对学生的英语能力进行强化训练,注重看得懂、写得出;加强专业英语的教学及内容更新,将适当比例专业英语融入专业课和专业选修课中教学;亦开设几门专业课实行双语教学,实现专业英语的学习和提高。

6)构建厚基础与灵活的多专业方向。多专业方向根据学生的知识结构、职业规划进行课程内容设置,学生可灵活选择不同的方向或者几个方向,剔除了过去陈规的课程内容束缚,提高了学生的自主选择性,增加了学习积极性,利于其提升专业创新能力和职业个性化发展。

3教学实践体系

地方本科院校人才培养主要突出突出专业应用能力,而学生所学理论与实际运用有一定的距离,除构建科学合理的课程体系外,还应构建多元化教学实践体系,借鉴重点高校与西方大学的教育理念、教学方式,精简理论授课时数,培养学生综合与设计能力、开发与创新能力、团队协作能力。

3.1教学模式

当前许多高校的教学模式仍以定时定点为主,教师在教学中起主导作用,往往是课堂气氛沉闷,学生一上课就想下课的状态,教学效果很差。学生作为学习主体,应按“知其然-知其所以然-创新”的思想进行教学。安排课程应注意教师的专业方向,授课创新教学方式,调动学生积极性,主要有以下方面:

1)“问题式”教学模式。通过提出问题引入教学内容,培养学生发现、分析、解决问题的能力,激发学生学习兴趣,调动主观学习能力、思考能力、创新能力。教师在教学过程中精心组织课堂内容,采取灵活开放提问方式、多种分析方法,避免灌输式讲解,如开始讲解一门课程时试图从一个“高级论题“开始,而又不面面俱到精细讲授,引导学生的思维,留下继续探索的空间,获取的知识更加直接有效。

2)“案例驱动”教学模式。案例驱动以案例为主线,从真实项目提炼、精选案例,将大项目细分成小项目,构建模板框架,层层递进,注重细节,增强实践和编程能力。积极与软件开发公司或培训机构合作,聘用经验丰富的软件开发人员针对实际项目从事教学工作,提升学生的软件开发技术和团队合作意识。

3)“专题式”教学模式。讲授一门课程时涉及到某课程知识拟请相关老师用几个课时进行“专题式教学”,即一门课程由一位老师主讲,按照知识点的分布情况合理组织,其他老师协作讲授。该模式可将密切联系的课程进行整合,体现教师的专业性,获得系统性的知识,打破了以往孤立的授课方式。

4)“嵌入式”教学模式[3]。该模式将企业所需技术引入教学中,不改变学校的教学计划,而按照教学计划的实施进程,将企业的开发项目按照软件的生命周期进行分解,以讲座的形式嵌入到教学中,体现了既教育又实践的思想,培养其掌握知识的能力和软件素养。

3.2实践体系

实践教学是应用型人才培养的关键环节,地方本科院校由于资源限制,在教学上理论与技术、实践严重脱节,学习的理论没有适合的环境付诸实践。当前不仅要与理论课同步开设一些基础的实验,还要结合课程的应用优化综合设计综合实验,结合相关的项目应用与课程单独开设实验课,实现分层的实验教学体系[4]。为此引入CDIO工程教育理念作为实践教学的理论指导,建立规范的以能力培养为目标的实践性教学体系,如图1所示。

该实践体系融理论教学和实践教学为一体,构建实验、实训、实习的工程能力训练体系。验证性实验增强学生对课程基本知识点的掌握,训练基本实验技能和工具的使用,加深学生对基本方法、基本思路的理解程度。设计性实验在已有基本知识和技能基础上,应用一门或多门课程的技术和方法综合设计,强化学生构思、设计、实施和操作的能力。实训环节培养学生的综合能力,通过校内、校外实训基地,面向岗位针对性的选拔进入实训课程;通过参加认证考试、各类竞赛等项目,提高课外科技实践的能力。实习第一阶段通过短期实习替代教学,使学生体验业界氛围和所需知识技能,返校后有针对性的学习,即采取学习-工作-学习的方式;第二阶段实习进一步锻炼其工程能力、社会能力,并独立完成毕业设计。

4结束语

地方性本科院校开展软件专业课程体系研究是迫切的现实需要,仍存在许多探索的问题,如师资建设、教材建设等,需要与时俱进的精神,以服务于地方经济建设为原则,不断进行研究,调研产业发展和新的技术进展与前沿性,保持动态的课程体系,只有这样才能得到持续性发展。

参考文献:

[1]吴爱华.全国高校软件工程专业教育年会论文集(2007).适应时展推进高等理工科教育改革[M].北京:高等教育出版社,2008.

[2]李文杰,胡大威,陈觎.高职软件课程体系构建的探讨与实践[J].武汉职业技术学院学报,2007,6(2):48-51.

软件开发基础知识范文7

关键词:会计管理;制度;实施

一、会计电算化管理制度的建立

管理制度是保证单位会计工作有序进行的重要措施,也是电算化会计工作成功的基础。实行电算化会计后,会计核算工具与程序、会计数据与信息的表现形式、会计档案的保管方式都发生了很大的变化,在制定电算化会计管理制度时,除了要遵守手工会计管理制度的基本原则外,还要考虑会计电算化系统的特点。会计电算化管理制度一般应包括如下内容是:①会计电算化岗位责任制。要根据自身单位会计工作的实际情况,企业管理结构、计算机系统操作、维护、开发的特点,划分电算化会计岗位,明确系统内各类人员的职责与权限。②电算化会计操作管理制度。通过对系统操作的管理,保证系统正常进行,完成会计核算工作。③计算机硬件、软件和数据管理制度。该项管理制度内容是做好计算机硬件、软件和数据的维护,以保证电算化系统的正常进行。④电算化会计档案管理制度。电算化会计档案是以磁性介质或光盘存储会计数据与信息的,具有磁性化和不可见的特点。应根据这些特点和手工会计条件下《会计档案管理办法》的要求,制定本单位会计档案管理的立卷、归档、保管、调阅和销毁管理制度,做到科学管理、安全保密、查找方便、严防损失。

二、电算化会计软件

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

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

三、走全员化管理道路是实施会计电算化的关键

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

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

软件开发基础知识范文8

关键词 计算机软件基础;实验教学;编程能力

中图分类号:G642.423 文献标识码:B

文章编号:1671-489X(2015)16-0145-03

Abstract Computer Software Foundation is a practical course, in order to improve the teaching effect and strengthen the student’s programming ability, emphasizing the student-centered and increasing students’ interest in learning; experiment teaching should intervene in the process of teaching, let the students learn while use; multi-level experiment teaching contents should be established, exploring students experimental potential; In order to facilitate the students self-learning, establishing diversified experimental teaching mode. Experimental teaching should carry out finely and solidly, not only consolidate the theoretical knowledge learning, but also effectively improve the students’ programming skills.

Key words Computer Software Foundation; experimental teaching; programming skill

计算机软件基础是我国高等院校电类非计算机专业本科生的一门基础课,为相关专业学生打下利用计算机语言编写程序的基础,为后续专业课的课程设计、实践环节以及最后的毕业设计做准备,其重要性不言而喻。然而在实际教学过程中,由于多方面的原因,使得本课程教学效果不佳,学生普遍编程能力不强,甚至影响了后续部分课程的学习。要提高学生的动手能力,关键还是要多练。本文在肯定理论教学重要性的前提下,着重就计算机软件基础课程的实验教学部分进行分析,对实验教学环节的介入、实验内容的优化以及实验教学方式等提出一些探讨性的做法。

1 坚持“以学生为本”

计算机软件基础教学如何实现教学目标,其关键的一点就是以谁为出发点,是以教为主,还是以学为主,还是实现教学互动,教学互长,教学互推。从目前的现实状况来看,以教为主的弊病还很明显,迫切需要改变,实现以学生为本,实现教学互动。

以“教”为主的模式已经成为制约学生创造性、积极性发挥的重要因素 计算机基础课程从本质来看应该是一门实操性课程,其涵盖的内容广泛且繁杂,而且实验性强是该课程的基本特点,甚至可以说离开了实验操作,也就实现不了其课程目的。然而从目前的课程安排状况来看,以书本理论知识教学为主仍是该课程教学的主流,计算机软件基础教学都侧重书本理论学习,而忽视了学生实验环节。实践证明,这种教学方式就跟学游泳不下泳池,学骑车而没有自行车一样,学生在学习计算机软件基础知识时,绝大部分是事倍功半,导致学用脱节,无法学以致用。更有甚者,有些学生直到课程结束连最简单的程序编写都掌握不了,这既给教师教学造成很大的困惑,也彻底地打击了学生的自信和学习该门课程的积极性,更遑论实现知识创新,成为软件人才了,这与教学初衷显然是不符的。

原因是在现有的教学模式中,课程实验环节的设置和实验环节介入的时间发生了问题。从实际情况来看,实验环节介入越早,实验安排越多,教学效果也越好。而部分采用边教学边实验,教学与实验融为一体的教学方式,其实现的教学效果更是明显。因此,改变现有的以教为主的教学模式,从理论和实践上探索该门课的一些新的教学方法,已经成为计算机软件教学题中之义,不断创新教学方式,才有可能从根本上改变现有的学习费力不讨好、效果欠佳的状况。

深入浅出地解析理论知识是增强学生学习兴趣的重要途径 “学生是教学活动的主体,教学活动要以学生为中心而展开”,这已经成为现代教学理念的主流观点。从学生学习的心理来看,一方面由于计算机软件课程是基础课程,学生对学习开始阶段接触的软件知识有一定的好奇感,求知欲也相对比较强烈。同时,由于是刚进校门的低年级学生,对大学环境还不是特别了解,仍然具备认真学习的态度,因此,好好学习知识的想法也比较明显。另一方面是由于目前大学生数量急剧增加,社会就业压力明显,学生普遍有学习好专业课,实现良好就业的外在动力。因此,可以说,学生在开始阶段的学习兴趣是比较浓厚的。但由于语言、算法、数据结构等知识,是进行程序设计所必须具备的基础知识,而低年级学生在这方面基本没有知识储备,对其学习方法也并不适应,而原有的知识结构又很难同化现有课程知识,导致难以自学和分析、解决问题,引发学生学习的挫败感,一旦处理不得当,就会使学生学习提不起兴趣,缺少主动参与的积极思维活动、创造性思维活动,更有甚者还会使学生抵触学习,削减学生本身己经调动起来的积极性,影响后续课程的开展。

教育心理学的研究也表明[1]:学生在没有精神压力和心理负担并且情绪饱满、心情舒畅的情况下,大脑皮层最容易形成兴奋中心,思维也最活跃,此时的实践能力最强。因此,如何使学生保持这种状态就成为教师应该考虑的重点问题之一。单就理论教学而言,如何使理论变得通俗易懂,接近生活,易于学生理解,这是计算机软件基础课程理论教学的关键。从实践来看,在授课过程中,教师通过深入浅出地讲解,设置理论问题情境,解答学生在实验中产生的疑问,肯定和鼓励学生的想法等方式,都能比较充分地调动学生的积极性和主动性,使学生更加容易融入教学环节中,也便于学生深入理解理论知识。比如说针对学生提出的一些设想,经常正面地肯定,能使学生更加信任自己,更加愿意去创新,从而与学生实现良好互动。

同时,在课后对学生进行必要的关心,用人格魅力引导学生参与教学,也不失为一种好的方式。比如,通过课后深入学生,与学生建立亦师亦友的关系,与学生打成一片,学生往往会因喜欢教师而喜欢该教师教授的课程,实现良好的教学效果;而相反,教师冷冰冰的态度往往也会成为影响教学效果的一个重要因素。

2 尽早引入实验教学环节

实践证明,计算机软件基础的教学,引入实验教学环节越早,教学的效果往往越好。因此,计算机软件基础课程教学要想在培养软件人才、促进软件产业发展方面有所突破,尽早引入实验教学环节是一条必由之路。

现有的实验课程安排作用并不明显 计算机软件基础是计算机软件的核心课程,其主要内容包括数据结构、操作系统、数据库系统概论,教学目的是让学生掌握数据结构的相关算法,理解操作系统的基本概念,熟悉数据库的基本操作,从而具备初步的软件编程能力。同时,从目前的教学安排来看,该课程安排了一定数量的常规上机实验练习,以便提高学生的软件素质[1]。

但现有的课程安排还存在一定的问题,突出表现在:

一是学生上机练习的题目规模较小;

二是上机内容以章节为主,有的章节有上机内容,有的没有,导致上机实验没有连贯性和系统性;

三是上机安排的内容发挥作用不充分。

从实践来看,培养学生的软件素质必须适当结合电子信息类专业的特点,这对于培养应用型人才的作用至关重要。但从目前上机安排的内容来看,主要是从计算机专业的角度提升学生的软件素质,而并没有与电子信息类专业特点充分结合,其结果就是导致学生对硬件有较好的掌握,而对信源编码等通信软件知识知之甚少,影响课程设计的整体进度。由此可见,目前安排的实验课程其作用甚微,难以达到为学生打下软件知识基础的教学目的。

尽早引入实验教学,利于学生在操作中学习,达到学以致用的目的 从现有的教学来看,学生对计算机软件基础课程学习的困难点主要在于:课程理论知识比较枯燥难懂,上机操作能力不足,导致学生学习兴趣降低,影响了教学效果。比如说在C语言教学中,C语言程序设计作为学习计算机其他课程如数据结构、JAVA语言程序设计等课程的先修课,对于培养学生的计算机技能具有至关重要的作用,因此,提高这门课程的教学质量意义也十分重大。

但是,这门课程首先要讲授C语言的特点、运算符和表达式等内容,而这部分内容恰恰又相对比较枯燥,学生难以提起学习兴趣,而这部分内容通常是安排三周学完,对于初学者来说要在这么短的时间内理解这些理论并不容易。于是等到这部分理论教完开始接触程序设计时,部分学生已经远远落后于教师的进度,导致没有继续学习下去的动力,有些学生就此掉队。

同时也有研究表明[2],部分教授在教授这门课程时,调整了讲课顺序,提前给学生讲授程序设计的内容,安排学生提前实验,让学生亲身体验计算机如何运行C语言程序,而等到学生对C语言程序有一定了解后再讲授运算符和表达式等内容。由于之前学生对C语言有了切身的体会和感受,再学习其他理论时,往往能将这些理论与实验知识结合,加深对运算符和表达式等理论的理解,也提高了学习C语言的兴趣,作用都相当明显。

由此可见,针对计算机软件基础课程的内容特点,尽早安排学生上机实验,让学生体会学以致用、现学现用、现用现学的乐趣,对培养学生兴趣和创新能力、提升教学质量有着不可替代的作用。

3 建立多层次实验教学内容,发掘学生实验潜能

学生的素质和潜能并不完全一样,孔子时代就已经讲究因材施教,实验教学中也必须根据学生的实际情况,适当地分层次安排实验教学内容,建立多层次实验教学内容体系,从而更好地提升学生的学习兴趣,激发学生潜能,实现教学目的。可以分为基础性实验、应用性实验和创新性实验。

基础性实验要求精 基础性实验是课程的统一安排,目的是验证和巩固课堂知识,针对群体为所有学生。要充分发挥这部分实验内容的作用,主要在于求精。

首先要精选实验内容,针对每个知识点,都要精推细敲,并在每个实验内容中设置开放性思考题,要求学生认真思考做答,不求数量,但求质量。

其次要精讲实验内容。针对学生实验内容的答案,要进行深入的讲解分析,肯定学生做得好的地方,指出其不足,并指导如何修改完善,务求每个实验内容都讲透,并通过实验内容夯实学生对每个知识点的理解。

最后,引导学生运用发散性思维进行解题,提升学生对知识点的认识水平,如引导学生运用多种方法解题。

基础性实验是学生对知识点的深入掌握,也是开展应用性实验的必要准备。

应用性实验要求实 应用性实验是课程的适当补充,是学生对课堂知识的具体运用,旨在培养学生应用知识的能力,针对的群体是大部分学生。其主要任务就是培养学生解决实际问题的能力,具体方法是由教师选择合适的项目,让学生自愿分组,在规定的时间内按计划完成。

在应用性实验教学中,项目的选择非常重要,其主要原则是既要覆盖计算机软件基础课程的主要内容,也要贴近实际,是实际生活中有应用价值的项目,还要便于学生理解完成项目的方法,能最终形成一个完整的软件作品。比如说各种信息管理系统都是比较合适的项目。

在这个阶段,教师重在引导学生开展项目,指导学生解决项目实施中碰到的难题,检查学生项目实施情况,及时纠正项目的方向性、原则性错误,并引导学生及时进行反思总结,便于更好地掌握编程技巧和语法知识等内容。

在应用性实验阶段,学生的实验成果,不仅是要通过提交相关文档以及编写的程序代码来体现,还要在一定的范围内进行实际测试,便于学生将理论知识与实际挂钩,也便于学生进一步认识实验项目与实际项目的环境差别,更好地融入社会实践。

本阶段的实验由于应用性强,对于学习计算机软件基础理论知识感到吃力的学生,可不强行要求。

创新性实验要求新 创新性实验是课程的升华内容,主要是激发学生的创新思维和创新能力,所针对的群体是小部分学有余力的学生。在这部分实验内容中,由学生自行选择实验项目,设计实验方案和实验步骤,学校提供相应的实验环境和其他保障措施,教师则对学生选择的实验项目进行把关指导,确保项目具有创新性。在这个实验中,整个过程都由学生独立完成,学生要自行解决实验中遇到的各种问题,总结各种错误出现的原因和避免出错的方法,并在实验结束后,自行检验实验结果的应用价值,从而达到融合知识、锻炼素质、提升能力的效果,培养软件人才。

4 建立多样化实验教学方式,方便学生自主学习

实验教学的方式要多种多样,并优化实验教学载体,为学生实验提供更多的便利。

首先是可以充分发挥校园网的作用。目前,绝大部分学校已经建立自有的校园网,一方面为学生提供了大量的实验教学资料储备,如教学大纲、实验大纲、实验指导书、实验室开放时间表、指导教师安排等实验教学的所有技术支持文献信息,为学生开展实验提供了极大的便利;另一方面还提供了学生自测系统。在自测系统中,学生可以回答教师指定的问题,并完成打分,并可对回答问题的正确与否进行分析,纠正错误答案,进一步消化知识。同时,有的学校还设计了基于C语言的计算机软件基础自学系统,学生可以通过系统进行应用程序学习,循序渐进地学习和掌握知识,有力地巩固课堂教学的知识。

其次是可以充分发挥社会单位的作用。学校可以和与计算机软件专业对口的企业合作,在企业相应建立学生实践基地,让学生参与企业的实际设计,以干代学,从而进一步提升学生对计算机知识的认识,也进一步了解软件产业对软件人才的要求,适应软件产业的环境,从而更好地增强教学效果。

5 结束语

计算机软件基础是一门实践性强的课程,其实验教学要适时推进,这是增强课程教学效果的需要,也是提升学生素质的需要。在实验教学中,教师角色的转换,学生主体地位的重申,社会单位作用的发挥,都深刻影响着学生学习本门课程的效果。在目前的形势下,要充分发挥计算机软件基础作为培养应用型人才的重要基础课程的作用,充分发挥教师、学生、社会单位在该课程中的积极作用,就必须抓好实验环节的教学工作。只有实验教学才能更好得实现教师与学生互动、学校与社会互动,才能培养出适合软件产业发展需求的应用型人才。

参考文献

软件开发基础知识范文9

(浙江工业大学 计算机科学与技术学院,浙江 杭州)

摘 要:分析国内高校在软件工程课程设置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。

关键词 :产出导向;软件工程;课程改革

1 背 景

作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多[1]。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性[2]和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。

2 课程现状

目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。

例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。

通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。

3 面临问题分析

3.1 工程专业毕业要求对课程的影响

工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。

3.2 与软件工程课程相关的专业技术资格考试分析

工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。

从表1分析内容可见,软件工程基础考试内容与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。

3.3 SWEBOK V3和课程对应关系分析

软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body of knowledge)、计算机教程软件工程卷(computing curriculum-software engineering, CCSE)及其中的软件工程教育知识体(soft engineering education knowledge,SEEK)而建立起来的[3-4]。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。

4 基于产出导向的软件工程课程改革与建设

4.1 课程教学目标修订

基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。

4.2 教学内容和教学方法改进

根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。

每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Internet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。

4.3 考核方式与持续改进并行

课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。

5 结 语

笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。

第一作者简介:江颉,女,副教授,研究方向为服务计算和信息安全,jj@zjut.edu.cn。

浙江省计算机应用与教育学会教育委员会第十八届年会

参考文献:

[1] 廖礼萍, 刘宏哲, 马小军, 等. 面向应用型人才培养的软件工程课程教学改革[J]. 计算机教育, 2014(14): 19-21.

[2] 方峥.“华盛顿协议”签约成员工程教育认证制度之比较[J].高教发展与评估, 2014(4): 66-76.

[3] 沈备军. 解读软件工程知识体系SWEBOK V3[J].计算机教育, 2014(7): 1-2.

相关期刊