作者简介:刘玮(1973-),女,湖北武汉人,武汉工程大学计算机科学与工程学院,讲师;何成万(1967-),男,湖北荆州人,武汉工程大学计算机科学与工程学院,教授。(湖北武汉430073)基金项目:本下面是小编为大家整理的软件工程专业课程【五篇】(完整文档),供大家参考。
软件工程专业课程范文第1篇
关键词:双专业;
软件体系结构;
教学改革
作者简介:刘玮(1973-),女,湖北武汉人,武汉工程大学计算机科学与工程学院,讲师;
何成万(1967-),男,湖北荆州人,武汉工程大学计算机科学与工程学院,教授。(湖北武汉430073)
基金项目:本文系2010年湖北省高等学校省级教学研究项目(项目编号:2010243)的研究成果。
中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2012)17-0059-02
推进和加强跨学科复合人才培养,既是科技、经济与社会发展的迫切需要,也是世界各国高等教育界的共识。培养特色型复合人才是高等院校在激烈的市场竞争中求生存、促发展的必然选择。近年来,各大高校开始探索以优势学科为依托,根据就业市场的供求关系调整办学思路与培养途径,致力于构建优势学科的双专业人才培养模式。[1]软件工程专业具有构建双专业培养模式的基础,目前可分为两类模式:第一类,软件工程专业与同属于工科的其他应用领域(如机械工程及自动化、环境工程等)相结合,使用计算机科学技术和具体领域技术解决相关领域问题,毕业生适宜该环境领域或其他部门从事软件开发、研制和管理工作。例如,大连交通大学开设的信息管理与信息系统+软件工程双专业同属于工科的双专业类型。[2]第二类,软件工程专业与外语专业(如日语、英语)相结合以满足软件服务外包或地域性软件产业的需要。武汉工程大学“E+”部级人才培养模式创新实验区(以下简称实验区)提出的“E+”模式既可以通过外语教学的通识教育作用提高学生的人文素养,又可以使学生避免当前纯语言类人才的需求下降而面临就业难的困境,更能满足其他行业对毕业生外语水平的高端需求。实验区开设的英语+软件工程双专业属于第二类的软件工程双专业培养模式。
根据《计算机科学与技术本科专业规范(软件工程方向)》,“软件体系结构”是软件工程方向专业重要的专业核心课程之一。从2010年起,武汉工程大学将“软件体系结构”课程作为学校重点课程由计算机科学与工程学院进行建设,目前处于专业课程建设的起步阶段。为满足软件工程双专业建设的要求,“软件体系结构”课程的开设和建设需要做哪些调整呢?本文在总结软件工程双专业对“软件体系结构”课程的具体要求的基础上,结合武汉工程大学的实际教学情况,对该课程的内容剪裁和教法改进提出了一些建议。
一、软件工程双专业“软件体系结构”课程设置
武汉工程大学实验区于2011年开设英语+软件工程双专业,由外语学院和计算机科学与工程学院共同实施培养,力量和教学资源由有关学院共同实施培养(学生日常管理由外语学院负责),毕业时学生将获得两个学士学位。
“软件体系结构”课程的特点是由软件工程双专业的培养对象和培养目的决定的。以武汉工程大学的英语+软件工程双专业为例,其培养对象是在当年入校的普通本科新生(限理科考生)中经过严格选拔筛选而出的,要求英语基础较好并具有较高的个人综合素质。软件工程双专业和传统的软件工程专业的培养目标都强调了培养“从事计算机软件项目的设计、开发、管理的国际化软件工程技术人才”。“软件体系结构”课程对于培养软件构架方面的高端人才起着至关重要的作用,全国各大高校特别是软件学院的软件工程专业基本上均将该门课程列为专业主干课,该课程是软件工程双专业的主要课程之一。
“软件体系结构”课程与其他专业课之间紧密联系,学习该课程前要求学生具备相应面向对象程序设计语言,要求掌握UML基础知识,因此多数院校在三年级下学期开设该门课程。该课程不仅强调专业理论知识的学习,更看重实际工作技能和动手能力的培养,强调实验课和课程实训。另外受到软件工程双专业课程增加、总学时有限的影响,在实际安排中,课堂教学32学时,实践、实训环节共28学时。这一方面保证了充足的理论课时时间,另一方面通过实验和实训两个环节保证了教学实践时间,四所大学“软件体系结构”课程的课时情况。
二、“软件体系结构”教学内容裁减与扩展
软件工程双专业的教学目标是培养学生为应用型人才,软件应用型人才需要软件系统工程化有关的理论,用这些理论指导软件设计、分析软件开发过程中遇到的实际问题。结合教学和培养方案制定过程中的一些经验,对“软件体系结构”课程的教学内容的裁剪和扩展进行了一些思考和总结。
1.削枝强干
软件设计思想是“软件体系结构”课程的主线,通过本课程的学习,学生能够全面、深入理解在软件开发阶段设计软件体系结构的必要性,并能够运用其中的思想分析、解决软件系统设计相关的问题。该课程教学内容裁剪的目的是突出重点和强调实践。一方面,把较多的学时放在基于体系结构的软件开发(ABSD)、软件体系结构设计及其环境等章节,重点讲解基于体系结构的设计方法,以及ABSD的基本步骤和基于体系结构的软件开发模型。另一方面,裁剪理论性较强而且对设计和实践作用不大的教学内容,例如软件体系结构风格、典型软件体系结构描述语言及形式化描述等。一些软件工程专业软件体系结构课程的教学大纲中还包括基于UML的软件体系结构描述等内容,为避免重复,这部分内容可以在UML建模技术及应用或者面向对象建模技术等内容中详细讲解。
2.扩展热点
为了满足英语+软件工程双专业“具有国际学术视野”的要求,“软件体系结构”课程教学内容需要在设计模式、大型软件构架技术和软件体协结构新技术等方面作进一步扩展。设计模式是近几年软件设计研究领域的热点,在介绍23种设计模式的基础上,将构件设计、构件和系统的接口设计等知识添加进来,以丰富详细设计阶段涉及的内容。[3]另外,缺乏对大规模软件构架建模和开发技术,是软件工程学生难以应用软件体系结构知识进行大型软件构架设计的主要原因,因此在教学内容上应该扩展中间件技术、大规模软件构架中的集成技术等。适当介绍新技术背景下的软件体系结构,针对云计算和物联网等新型应用及技术发展趋势,结合目前该领域的主要应用模式,技术标准,开源系统,以及典型架构等,进行课堂交流和研讨。以上教学内容的扩展一方面会使课程体系更为完善、更能适应当前计算机技术的发展,另一方面可以培养出具有先进设计思想和能力的学生,满足用人单位较高层次的需求。
三、软件体系结构的教学方法的改革
通过对软件工程专业2006至2009四届学生的成绩分析和问卷调查发现,该课程教学效果不佳,主要表现在课程内容抽象、缺乏软件项目经验、教材缺乏案例等问题。软件工程双专业的“软件体系结构”课程具有学时短、重实践的特点,为了适应课程特点需要在教学方法上从以下两方面进行改革。
1.项目案例教学
从理论上讲,项目教学法是一种几乎能够满足行为导向教学所有要求的教学培训方法,[4]因此从其诞生之日起,就受到教育和培训界人士的欢迎。项目教学法是教师将授课内容寓于项目中,辅助和引导学生实施和完成项目,学生在项目实施过程中自主学习,学生完成这一项目,教师也完成了教学内容。
项目教学法应用于“软件体系结构”课程具有以下优点。
(1)项目教学法能极大地调动学生的积极性。该课程内容抽象,缺乏软件开发经验的学生忽视了软件设计的重要性,误认为不用软件体系结构也能开发软件,这就导致学习兴趣不浓。项目教学法是让学生实施一个具体的项目(如学生选课软件系统)的设计,学生学习的目的较明确。在项目设计和实施过程中,学生体会到软件体系结构的设计能够降低系统开发风险并提高开发效率,这更能强化学生的学习积极性。
(2)项目教学法能培养学生的合作能力。项目教学大多要分小组完成,通过小组内及小组间的充分交流、讨论、决策等,提高学生合作能力,强化学生的团队意识,这也符合培养具有团队协作能力的要求。
(3)项目教学法能促进课程间的整合。项目的设计过程中会涉及很多专业知识,例如需求分析、数据库系统、面向对象建模等。这种基于项目教学的课程整合能够强化学生软件系统工程化开发的思想和技能。
2.参考教材+补充讲义的模式
软件体系结构课程增加了设计模式和大型软件构架技术等教学内容,结合英语+软件工程双专业学生英语能力较强的特点,采用规划教材为主、校内补充讲义为辅的模式。本课程使用的教材为Mary Shaw所著的《软件体系结构》(世界著名计算机教材精选)和耿祥义所著的《Java设计模式》(21世纪高等学校计算机专业实用规划教材)。根据教学内容我校选择了《软件构架实践》的第1、2、6章和《Java设计模式》的第1、4~26章,同时参照郭秋萍所著的《大规模系统构架建模及其开发技术》中与构件技术相关的章节内容撰写补充讲义。另外在课程网站上还增加了Luke Hohmann所著的《Beyond Software Architecture:Creating and Sustaining Winning Solutions》和Felix Bachmann所著《Documenting Software Architectures:Views and Beyond》的电子书,用以完善本课程的教材库,为学生提供一个课外在线学习和远程教育的平台,方便学生课外自主学习。
四、小结
武汉工程大学“E+”部级人才培养模式创新实验区下设的“英语+软件工程”四年制双专业人才培养模式是软件工程双专业的一种典型模式,具有一定的代表性和创新性。本文根据软件工程双专业人才培养和IT企业和相关事业单位的需求探讨作为软件工程专业主干课之一的“软件体系结构”课程的教学改革,在作为校级重点建设课程的建设过程中,提出了一些内容剪裁和教法改进,希望籍此对双专业课程教学的共性问题抛砖引玉。
参考文献:
[1]蒋洁.构建一体化双专业人才培养模式[J].理论月刊,2010,(11).
[2]黄明,刘震,梁旭.“信息管理与信息系统+软件工程”双专业复合型人才培养模式的探索与实践[J].高等教育研究,2010,(2).
软件工程专业课程范文第2篇
引 言
随着软件在各种领域迅速发展,软件的类型、规模、复杂度都急剧增长,在有限的时间和成本约束下开发出高质量的软件被人们高度关注,冈此提高各类信息化系统开发人员的软件工程能力越来越受到普通和军队高等院校的普遍重视。然而,由于软件从业人员所需知识更新快以及大量软件开发人员接受软件工程教育的经历不足,仅靠传统的高校课堂内授课方式,难以满足社会和军队信息化快速发展对软件工程人员的需求。研究如何通过建设软件工程专业在线课程加快软件工程人才的培养、优化软件工程课程资源的配置,对于我们国家和军队未来的发展具有重要价值与深远意义。
1 软件工程教育的发展与主要问题
软件工程指将系统的、规范的、可量化的方法应用于软件的开发、运行和维护的过程。ACM和IEEE/CS成立联合工作组,在2004年制定了计算教程软件工程卷CCSE(computingcurriculum-software engineering),并把软件工程作为计算学科下与计算机科学、信息技术、信息系统、计算机工程等并列的学科。2014年,ACM和IEEE/CS推出软件工程知识体SWEBOK3.0版,知识领域与2004年版SWEBOK相比从10个增加到15个。此外,由ACM和IEEE主导,国际一些著名高校和企业的专家针埘软件工程硕士教育制定《软件工程研究生学位教程指南》(GSwE2009),描述软件工程硕上需掌握的核心知识体系和相应教程。我国从2001年开始建立示范性软件学院,并于2006年推出《计算机科学与技术本科专业规范(软件[r徉)》l512011年,软件工程专业经国务院批准增列为一级学科。
软件工程师目前在国内外都是最具吸引力的职业之一,如美国著名的就业网站CareerCast在2012年进行调查,从收入、工作环境、发展前景等因素评选出的十大最佳职业中,软件工程师名列第一;在我国近来对本科毕业生的职、业调查中,软件工程师的收入也一直名列前茅。尽管近年来软件工程教育有了很大发展,但国内外的软件工程教育还存在诸多挑战性问题,主要包括以下几方面。
(1)现有的软件工程课程从学时数、教学安排等方面都难以达到实际职业对软件工程深度、广度和实践能力的要求,相关培养方案的制订较少考虑企业的实际需要,针对性不强。
(2)尽管聘请企业中有丰富经验的软件工程师授课是一条有效措施,但整体来看,软件工程授课老师普遍缺乏软件开发实际经验,甚至很多都未从事软件工程领域的研究工作。
(3)软件工程目前存在众多不同的开发方法学,它们各有特点和优势,并且软件工程相关技术发展迅速,新的方法不断出现,这使得教学内容的选择和准备变得非常困难。
(4)当前国内外软件工程教材多是对众多方法和技术的描述,对具体技术的深入程度不足且无法适应软件技术、工具的快速变化,对学生进行实际项目开发帮助有限。
(5)企业的软件开发中使用了众多的软件工具,并且对于重要领域的软件开发,很多企业采用商业化工具。在教学过程中,这些昂贵的、专用的商业工具较为缺乏,并且在有限课程时间内学生难以接触到众多不同类型的软件开发工具。
(6)软件工程教育资源非常不平衡,在教育和经济发达地区,聘请优秀软件工程师进行授课、使学生参与到企业的实际开发中是可行的,但对于大量其他地区高校就难以实施。
(7)软件工程技术和工具发展迅速,很多软件从业人员从程序员开始起步,未接受过系统的软件工程教育或所受教育很快过时,因此需要持续性的、具有一定灵活性的优质教育资源适应这种情况。
由软件工程教育面临的以上挑战,我们可以看出传统的高校课堂内软件工程教育虽然还是必不可少的,但是必须找到新的软件工程专业课程教学方式,以满足其知识变化快、人员基数大、持续时间长、资源不平衡等特征。通过互联网在线课程的形式实施软件工程专业课程的教学,无疑是应对上述问题一种有效、可行的方式。
2 软件工程知识体对在线课程模式的影响
软件工程可以作为一门单独的课程进行讲授,而软件工程专业一般包含一系列的课程,如需求工程、软件设计与体系结构、软件构造、软件测试与验证等。软件工程专业课程如果作为在线课程进行建设会遇到众多问题,其中主要包括对实践环节的要求非常高、追求在真实平台中解决有一定规模的问题、需要团队合作以及项目管理等,而目前在线课程的教学方式和平台在这些方面有一定欠缺,需要我们进行深入的研究以提供解决方案。
软件工程课程应该覆盖一定的知识领域,表1对SWEBOK 3.0版中包含的15个知识领域和子域进行初步分析,判断其是否适合于目前一般性的MOOC在线课程教育模式和平台。表1中第2列的知识子域适合目前在线课程教学方式,第3列中的知识子域需要对当前在线课程模式进行适当改进才能适用,第4列中的知识子域则需要对当前在线课程模式和平台进行较大改进。对于不适合(需对模式和平台进行改进)的知识子域,笔者在第3节中将研究讨论应对方式和措施。
表l中最后两个知识领域计算基础和数学基础作为软件工程理论基础的一部分,由于一般放入与软件工程课程相独立的课程中讲授,如离散数学、编译原理、操作系统、数据库原理等,其相关课程也都有较为系统、完善的体系,因此这里我们不进行特别考虑。
3 软件工程专业在线课程的建设
目前已经出现一些软件工程的在线课程,如UC Berkeley的软件工程MOOC课程于2012年在Coursera、后来在EdX上线,并在此基础上发展、延伸出多个小规模私有在线课程(smallprivate online courses,SPOC)。国防科技大学也已有软件工程相关课程在内部网络上线,供部队和军队院校一定范围内的人员在线学习。
3.1 软件工程专业MOOC课程建设
从对相关知识领域的分析可以看到,目前一般性MOOC授课方式与平台难以适应的软件工程知识子域主要包含以下特点。
1)难以完全通过讲授使学生接受,如需要动手进行实践才能深入体会的技术以及与经验密切相关的过程、管理、度量等内容。
2)内容变化频繁的知识如一些软件开发技术、工具等总在持续发生变化或出现新的版本,课程每次新开时都可能需要调整。
3)需要团队式的协作与交流完成内容,如版本控制、需求获取、协同开发、团队交流等,仅靠讲授或个人作业难以达到效果。
4)软件工程教育强调具有一定规模和复杂性的项目实践,这对于教学辅导人员的数量和指导能力要求较高,不仅仅是普通答疑能完成的。
5)对于很多技术和实践来说,其结果是开放式的,软件设计、实现、测试、维护等任务一般不存在唯一结果,这给作业评价和成绩评定带来困难。
面向上述特点,根据目前国内外已有的相关实践、效果以及已经实施的建设情况,我们总结出一些供参考的解决方案。
(1)制订MOOC教学计划时应遵循持续改进的原则。传统课堂教学讲究制订教学计划时一次到位,但由于软件工程内容变化快,因此分解教学内容、视频、作业时应该使其能够适应快速变化,不要期望一次建设就大功告成。此外,在线课程需要了解大量学生的反馈意见和教学效果,这也需要不断的改进。如果可行,可采用自行编著的电子教材和参考文献,使得每次开课时学生教材也可以尽快进行相应修订。
(2)在线课程平台与软件协同开发环境的有机融合。对于需要协同、交流才能完成的内容,实际由于许多国际化企业的软件研发人员遍布全球,因此已有相应的平台(包括开源软件工具开源社区等)支持地域分布的人员进行协同开发。教师可选择所需的协同开发环境,与软件工程在线课程平台集成在一起,提高对团队和协同任务的支持。
(3)对课程进行分而治之的划分。教师可以把课程按照其内容是否适合在线授课划分为一些小的子课程,每个子课程更偏重于适合或不适合(如理论内容和实践教学内容分到不同子课程),以减少整个课程设计的复杂性。在线课程偏重适合讲授的子课程,不适合已有在线授课模式的内容,可以通过其他方式实施(如其他高校单独开设实践课程、采用适合的平台或投入更多教辅人员等)。
(4)采用新的教辅人员委托模式。由于软件工程课程的实践性强,对教辅人员数量和质量要求高,因此仅靠开课学校的课程组难以完成。教师在实践中可以考虑招募在高校内或通过在线课程已经完成课程学习、成绩优秀的志愿者,通过一定的激励或者提高影响力等方式激发他们的热情。事实上,从开源软件的蓬勃发展以及Berkeley软件工程MOOC课程的实际效果看,该方式完全可行、有效。
(5)加强自动化结果评估和成绩评定系统的开发与应用。教师可一方面采用各种自动化软件工具,如通过测试驱动的开发工具、软件编码规范检查工具、基于服务的方式等对课程作业进行自动评估;另一方面可以让学生参与到开源软件社区的开发活动中,通过开源项目对其完成工作和贡献采纳情况等进行评价。
软件工程专业MOOC课程建设面临的问题众多,需要教师通过具体实践逐步研究和完善其在线课程的建设过程。
3.2 软件工程专业SPOC课程建设
软件工程在实际实施中所面向的领域背景非常重要,而不同领域的软件系统各有特点,一个软件企业一般有其针对性的领域,采用的软件工程过程、方法、工具、管理等都有各自的特点。因此,非在校学生的软件工程在线课程学习者可能在一般性的理论之外,希望学习更多对其背景有促进作用的知识。再者,MOOC课程学习者中有相当一部分本身就是高校教师,他们会借用MOOC课程的内容,然后在自己的课程中进行一定改造并增加项目实习等内容,形成适合其学生学习的课程。此外,国防领域未来基于信息系统的体系中,软件工程人才将会包括科研人员、技术开发人员、管理人员、保障人员、作战和指挥人员等不同类型,还会针对战机控制、舰船控制、车辆控制、指挥自动化等不同应用背景,对软件工程知识的要求都有不同。上述情况都要求能够在MOOC课程的基础上进一步建设小规模私有在线课程(SPOC)。UC Berkeley就在其软件工程MOOC课程基础上发展了多个SPOC课程,包括在本校以及在其他高校中开设的课程。
对于建设软件工程SPOC课程,教师可以遵循以下一些原则和策略。
(1)对于公共的知识讲授,尽可能利用MOOC课程完成,以减少SPOC课程的建设工作量,充分利用优质资源,提高课程的复用程度。
(2)加强每门SPOC课程的针对性,如针对具体学校学生的培养目标或针对具体领域背景选择相应的软件工程技术、工具、标准规范进行讲授。
(3)加强课程实践和项目开发环节的建设,这是MOOC课程本身具有的不足之一,但在SPOC课程中可以进行有效的弥补。
(4)课程成绩的评定可以把MOOC和SPOC课程的学习情况结合起来考虑,对学习者对软件工程共性理论和特定目标知识的掌握情况进行综合评价。
在未来在线课程发展中,软件工程专业MOOC课程可能并不一定很多,由能提供优质师资资源的机构开设,但针对具体背景领域的SPOC课程可以更多,因为毕竟软件作为现代社会无所不在的组成,软件工程面向的领域众多,都需要有针对性地培养软件工程人才。
4 结语
软件工程专业课程具有变化快、对实践要求高、需要团队协作等特征,这些使建设软件工程专业在线课程具有更高的难度。MOOC课程和SPOC课程都是未来软件工程专业在线课程所需的模式,尽管已经有一些相关实践,但是如何建立较为系统、各门课程完善、质量高的软件工程专业在线课程,还需要更多的研究与实践。目前对SWEBOK中知识子域对在线课程建设影响的分析还较为初步,下一步还需要更具体地针对所包含的知识点研究如何通过在线课程进行讲授。此外,软件工程专业在线课程应该与软件协同开发环境有机结合,这还需要我们进一步进行研究,针对知识点要求形成科学的集成平台体系框架并进行建设。
软件工程专业课程范文第3篇
软件工程课程是专业核心课程,涉及内容广泛,是其他专业课程的基础,也是整个软件开发过程流程的基础,主要内容包括软件需求提取、分析、设计、测试、维护变更管理以及软件质量控制、软件项目管理、软件开发配置变更管理、软件开发标准以及软件开发方法。软件测试贯穿软件开发过程的始终,包括用户需求的确认、用户界面的确认以及单元测试、集成测试、系统测试、Alpha/Beta测试、评审、验收等内容。用户界面设计主要包括软件界面设计理论、原则和规范,在实际软件开发过程中,是图2中的系统概要设计/用户界面驱动分析部分,通过与用户反复沟通确认需求,是测试的基础,同时也是软件编码阶段、评审、验收阶段的依据。软件项目管理主要对软件的质量、成本和进度进行管理和控制,同时考虑如何在软件开发过程中避免不必要的风险或者降低风险的影响。面向对象的软件开发方法着重于软件开发过程中面向对象的需求分析和设计,包括用户分析、界面设计、类模型、动态模型、状态模型等一系列的分析和设计。这5门专业课程从不同的侧面讲解软件项目的开发过程和方法,各有特点。但是对于为什么要学习这几门课程,以及它们在软件开发过程中处于什么样的位置,起到什么样的作用,是教师在教学之初就应该明确的。
2整体项目模式下系列课程的教学
根据整体项目模式原理,实践项目应贯穿到各专业课程之中,系列课程最好使用同一项目,这样更能加强学生理解软件开发过程的不同方面。该项目在专业课程开始之前就必须存在,即已经完成或正在进行中的实践项目,因此,系列课程必须是相互联系并且能基于同一项目案例,这和传统的项目教学方式虽然模式一致,但是效果却有本质的不同。图3为系列专业课程的项目案例、课程和学生实践案例示意图,5门课程都基于同一实际项目案例,学生根据自己所做的项目,按照不同专业课程要求的格式和内容书写相关文档。
2.1先案例后理论的案例驱动教学模式
软件工程专业的特点是实践性非常强,软件工程的很多理论都来源于对实践的总结和归纳。因此,教师在教学过程中采用先案例后理论的案例驱动教学模式,符合软件工程专业的授课特点。首先,教师要讲解实际项目案例的文档,该文档是一套完整的、从不同侧面反映软件开发过程的实际文档。对于每一门专业课,教师首先讲解需求提取、需求分析过程、功能提取、系统功能结构框图等,让学生明确该系统的背景和要解决的问题,以及需要具备什么样的功能以实现目标。其次,教师要联系实际项目案例,讲解课本上的理论,将每个理论知识点与实际的项目案例相结合,让学生充分理解理论。在实际讲解过程中,对于新开课,新教师若碰到教学学时偏少的状况,可以言简意赅地讲解重点知识;
实践经验丰富的教师,碰到学时偏少的情况可以精简案例功能,讲解1~2个功能即可。最后,教师必须强调实践的重要性并给出标准的文档规范,要求学生按照自己的实际项目书写标准的文档。在每一门课程讲解完毕后,教师再一次帮助学生回顾该课程在软件开发过程中的位置。以软件项目管理为例,在正式进入课程教学之前,教师需要做大量的工作,首先需要准备的文档有项目需求、项目需求分析报告、可行性分析报告、项目开发计划书、项目Demo程序演示、软件项目投标书、软件项目开发合同。然后,开始进入软件开发项目管理过程教学,软件项目主要内容有成本管理、进度管理、人员管理、风险控制等理论内容。实际的软件项目管理主要分为4个阶段:IT项目的启动阶段、IT项目的计划阶段、IT项目的执行控制阶段、IT项目的收尾阶段,这在一般的教材中很少提及,但是教师在内容讲解中要明确阶段任务。IT项目的计划阶段涉及48个文档;
IT项目的执行控制阶段涉及45个文档;
IT项目的收尾阶段涉及14个文档。教师在讲解合同的内容时,可以直接参照“软件项目开发合同”进行讲解。对于必不可少的合同内容,教师就必须跟学生讲清为什么必须要包含这些内容;
讲解成本计算的时候,根据文档“工作包、进度和预算”进行项目的WBS分解以及基本的估算方法。总之,由于教材先理论后案例的局限性,在听课之初,学生觉得枯燥乏味。而教师通过先案例的方式能有效调动学生在课堂上的学习积极性,为后面的项目实践奠定基础。
2.2学生项目实践环节
每一门专业课都有上机实践部分,学生在实践课上主要是书写文档。每门专业课都有各自不同的文档,软件工程课程要求学生必须完成标准的13个文档;
软件测试课程需要软件测试报告文档;
软件项目管理课程有127个文档;
面向对象的软件分析方法课程有包含9大部分内容的软件项目分析与设计文档。每一门课程的文档内容非常多,要求每个学生最好独立完成,主要训练每一个学生的文档书写和理解能力。需要强调的是,学生书写的项目文档一定要给出标准的、规范的文档格式,包括目录、段落、标题、字体等排版之类的要求。项目模板可以采用软件工程国标文档或者相关的其他标准文档,最好和某一软件公司的案例文档格式相一致。笔者在软件公司任职过程中,很多刚参加工作的大学生书写文档的水平非常差,主要是文档格式、结构和内容混乱,往往给人留下非常不好的印象。整体项目驱动模式下的课程教学,首先强调的就是文档格式和正确的文档排版,其次才是内容的正确性与完整性。在学生项目实践中,任课教师最好跟踪指导。学生每次在实验课上必须完成相应的实验,并把实验的电子文档通过教学资源管理系统或以电子邮件的方式提交给教师。电子文档的批改能快速纠正学生文档格式不规范以及内容方面的错误,但这个工作量往往很大,每一次电子作业批改的工作量往往是学生数量的3~4倍。这是因为学生按照批改意见进行修改后又会返回给教师,最终达到合格标准的电子文档往往会被修改2~4次。
2.3考核方式
完成每门课程的项目文档是学生对文档书写熟练程度以及课程内容理解的直接反映,也是培养软件开发过程中需要具备的素养和习惯的有效途径,克服学生疏于或懒于书写文档的缺陷。因此,教师需要对学生书写的项目文档进行考核并将其反映在学生成绩上。项目文档的成绩占学生总成绩比例的30%~50%较为合理。
2.4教学效果
笔者经过近2年的教学实践,取得了良好教学效果。以中南民族大学软件工程专业2008级学生为例,首先,学生很顺利地完成了各自的软件项目,包括中南民族大学学生基金项目;
其次,学生能很好地书写申请软件项目著作权系列文档以及毕业论文,书写的文档格式规范,只需稍加修改就能将文档立即转化成学术论文并发表。这表明学生无论是在文档格式还是在内容编排上都取得了进步,进一步提高了在软件开发过程中应有的素质。这也是软件工程专业学生和计算机其他专业学生之间非常明显的差别。就前2届学生的就业情况,笔者回访了2家用人单位,他们对中南民族大学软件工程专业毕业的学生刮目相看,称赞学生书写的项目文档很规范。
3结语
软件工程专业课程范文第4篇
关键词:编译原理;软件工程;工程化;知识先期注入;工程化编译理论;阶梯状迭代教学法
中图分类号:G642 文献标识码:B
作为信息产业的核心和国民经济信息化的基础,软件产业日益受到国家的高度重视。权威数据显示,我国软件产业每年人才需求量近一百万,然而令人尴尬的是,许多软件企业却招聘不到真正合适的软件人才。信息社会不断增长的软件人才需求与优质软件专业教育供给不足的矛盾已成为计算机高等教育发展面临的一个重要问题。
2001年12月,经国家教育部和国家计委联合发文批准,全国首批35所示范软件学院正式成立,目的是批量培养具有国际竞争能力的高层次、应用型、复合型软件工程人才。自示范软件学院成立以来,我国软件工程教育事业得到了很大发展,学科建设逐步走向成熟,初步实现了与国际学科发展的接轨,软件工程教育实现了历史性跨越。
然而,软件工程是一个迅速发展的交叉性学科,相关的新概念、新技术、新方法不断涌现,这就要求教育机构要不断调整策略,以应对专业的快速变化。尤为突出的是,无论是全国首批35所示范软件学院还是非示范软件学院,大部分都根植于计算机学院,因此很多软件工程专业学科课程体系与计算机科学与技术专业基本相似,而计算机科学与技术专业的教学内容是远远不能适应软件工程学科的发展要求的。
从根本上解决上述问题的关键是,结合中国软件产业和软件学院已有的硬、软件基础设施及办学的具体情况,研究和定制适合本学院特色的软件工程学科的课程设置、教学内容、教学方法,形成一个良好的软件工程学科课程体系,使软件工程教学更具先进性、目的性和系统性,其中对计算机科学核心课程的工程化改造势在必行。
本文将研究计算机学科的“编译原理”课程在软件工程专业如何进行工程化改造,怎样创建适合软件工程专业知识体系要求的“编译原理”实践教学,从而在科学的软件工程学科课程体系的保证下,形成一个融基础理论、实验教学、工程实践为一体的整体化培养机制,以适应软件工程学科教学要求,使软件工程学科教学质量得到不断发展,使软件工程专业教育得到健康稳步发展,培养社会需要的软件人才。
1 “编译原理”的工程化实践教学体系
1.1教育教学理念
工程化实践教学就是树立工程化能力培养与基础理论教学、专业能力培养并重的教学理念,把工程化教学作为人才培养的核心任务之一,通过全面改革软件工程专业的人才培养模式、调整课程体系、充实教学内容、改进教学方法,在教学过程中全面体现能力和职业素质培养的思路,并将软件工程知识内容由浅入深、阶梯状、循序渐进地贯穿在工程化实践教学的各个开发项目中。
基于上述软件工程专业的知识体系、本科课程设置的指导原则以及工程化实践教学教育教学理念,下面将给出“编译原理”课程的工程化实践教学体系。
1.2 “编译原理”的工程化实践教学体系
如图1所示,“编译原理”课程的工程化实践教学体系由六个部分组成:编译原理课程工程化实践教学环境、编译原理理论教学、软件工程能力培养、阶梯状迭代工程实践项目、配套教材和评价体系。构建理念为以计算机科学为基础,以软件工程为核心,以目标应用为导向。
1.2.1 “编译原理”课程工程化实践教学环境
“编译原理”课程工程化实践教学环境由实验室、项目团队、教师讲座以及团队汇报组成。
(1) 实验室。以工程化培养理念指导教学实验室建设,为“编译原理”课程工程化实践教学提供强有力的基础设施支持。提供全天开放机房,机房实行开放型管理。项目开发时间规定为开时间和闭时间,闭时间为固定时间,要求授课教师到机房现场指导,开时间内,学生可以自由选择时间,以小组为单位进行自行讨论、设计,要求实验室人员在现场,以便解决设备问题。机房的使用和维护要有严格的管理制度,保证项目的顺利完成。
(2) 项目团队。将4~5个学生分为一个项目小组,一名组长作为负责人;每名学生分配一台微型计算机,在开发小组中以分工协作的方式完成指定的软件开发任务,完成项目设计报告,并提交完整的软件开发文档和源代码。学生在团队环境下使用最新的软件开发工具,获得较真实的软件开发经验,提高学生在项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养学生团队合作及工程项目研发能力。
(3) 教师讲座。指导教师在整个的项目开发中纵览全局,项目的开始、结束及中间的每个模块都要进行全面的讲解、引导和组织。教师要系统讲解软件工程知识点和软件技术,统一讲解项目开发过程中学生普遍存在的问题,不断地发现问题,解决问题。
(4) 团队汇报。理论教学中教师唱主角,而工程化实践教学应让学生唱主角,让开发小组自己拟定演讲方案、内容,由教师审核修改后进行汇报演讲。这样可以有效地提高学生总结概括、研究立项、口头表达、演讲和交流沟通的能力,培养学生独立思考、分析问题的能力和创新能力。
1.2.2 “编译原理”理论教学
由知识的先期注入和工程化理论教学组成。
(1) 知识的先期注入。“编译原理”课程的理论性较强,整个课程内容由几个功能模块组成,学生对课程的完全理解应在最后一个模块,即课程结束时。鉴于教学内容的特殊性,应在一门程序设计语言之后安排“CO释程序的面向对象设计与实现”项目,作为前导实践环节,配套教材为《C++实战:解释程序的面向对象程序与设计》。这可以使学生在学习理论之前对程序设计语言的解释执行有较深的理解,由传统的“填鸭式”被动学习转变为学生自主式学习。学生对“编译原理”课程的学习由问“这是什么”变成“这是我需要的什么”,从根本上解决了“编译原理”课程的教学困难。实践表明,这种方法在锻炼学生实践能力的同时先期注入了理论教学需要的解释程序的知识和概念,有很好的教学效果。
(2) 工程化理论教学。编译程序是庞大而复杂的,这使得如何介绍编译原理本身就是一个难题。中外编译原理教材很多,如果从工程化的角度去诠释编译程序的实现过程及其原理,即对一个完整的源程序到目标程序的转换过程进行详细讲解,不失为一个新的途径。我们的配套教材《编译程序的实现原理》的编写形式如下:先给出编译器的输入――一个C语言小程序;再给出编译器的输出――目标机上的目标语言,完成这样的转换需要进行的工作包括词法分析、语法分析等几个功能模块;再针对每个功能模块给出本模块的输入和输出,如词法分析为一个C语言小程序,模块的输出形式为TOKEN链表,完成这样的转换需要进行的工作由理论和实现两部分组成。这种讲述方法实现了五化:
工程化:以对一个完整的源程序到目标程序的转换作为教学载体介绍编译程序的实现及其原理,以反映编译的工程性。
模块化:将一个完整的源程序到目标程序的转换作为总目标,将不同的子转换作为各个子模块的目标,以反映编译的模块性。
链接化:将一个完整的源程序到目标程序的转换所需的知识处理成总目标与子模块、子模块内所需知识点之间的链接,以反映编译的整体性。
需求化:将编译原理内容的平铺直叙转换为实现一个完整的源程序到目标程序的转换的所需知识,解决了编译内容的庞杂、不分主次、叙述冗长的问题。
形式化:将形式语言的内容介绍放置在为完成目标所需知识的位置,突出形式语言的地位、内容及其应用。
1.2.3软件工程能力培养
在工程化实践教学体系中,软件工程能力的培养是至关重要的。
软件工程能力包括软件需求、软件设计、软件构造、软件工程基础结构、软件配置管理、软件维护等知识单元。有些知识单元在早期学习,以促进学习条件的成熟;而有些知识单元的学习需要一定的成熟条件,应该放在后期讲授,如阶梯状迭代工程实践项目是整个教学过程中理论联系实际,培养学生动手能力、观察能力、分析和解决问题能力、团队合作以及创新精神的重要环节。把软件工程知识单元分期、分阶段引入阶梯状不同开发项目的全过程,形成了特色鲜明的工程化实践教育体系,使学生的软件工程能力在实际项目开发中得到锻炼和提升。“编译原理”课程工程化实践项目内容安排如表1所示。
“实践性、个性化、逐步工程化”是工程化人才培养的重要环节,也是学生成为合格软件工程化人才的实践过程。以上教学组织方法既保证了教学的系统性、知识性,又保证了教学案例的先进性和实践性。
1.2.4阶梯状迭代工程实践项目
编译器代码的长度可从10 000行到1 000 000行不等,编写甚至读懂这样一个程序都非易事,更何况是开发,因此编译器的实现比以前任何课程中学生承担的设计要大得多、难得多。纵观国内外大学研究现状,一般都是先设计一个语言,面向过程式或面向对象式,然后对设计的语言进行面向过程或面向对象程序设计方法的开发,早期采用面向过程语言编译器的面向过程开发,如吉林大学计算机科学与技术学院的编译原理实践课程“编译程序的设计与实现”,近期采用面向过程语言编译器的面向对象开发,或是面向对象语言编译器的面向对象开发,如“Modern Compiler Implementation in Java”。无论哪一种,学生都是一次性为具有上百条产生式语法的语言开发编译器,难度极大,这使实践课程的收效甚小。采用阶梯状迭代教学法创建的编译原理课程工程化实践项目从根本上解决了这个问题,配套教材为《编译程序的面向对象程序与实现》。
如图1和图2所示,编译原理课程工程化实践项目内容包括“C0解译程序的面向对象设计与实现”,“C1编译程序的面向对象设计与实现”,“C2编译程序的面向对象设计与实现”,“C3编译程序的面向对象设计与实现”。整体项目的源语言定义为C语言的子集,采用阶梯状迭代教学法后,将源语言定义为C0、C1、C2、C3,Cn是Cn-1的扩展。
编译原理课程工程化实践项目的优点有:
(1) 起点低:降低了开发难度。学生根据自己的实际水平选择源语言级别,有不同收效。从根本上解决了软件开发水平低的学生对编译程序开发望而生畏甚至放弃的问题。
(2) 阶梯上升:项目内容的选择不是零散的、随机的、重叠的,而是相互关联的。纵向为编译理论,是主要内容;横向为软件工程,是辅助内容。主要内容将难点分散,处理成阶梯状;辅助内容也将难点分散,同样处理成阶梯状。
(3) 迭展:每一个项目需求是前一个项目的扩展,因此,每一次的软件开发可以看作是前一次开发的迭代,使学生面对大型软件开发项目中最难处理的用户需求不断变更的问题,最大程度地使用重用技术。所有项目的开发承上启下、循序渐进、阶梯状迭展,为研究和学习软件生产线新技术埋下伏笔。
(4) 知识渗透:将软件工程核心内容及工程化软件开发思想由浅入深逐步渗透到各个项目中,每个项目具有不同级别的培养目标,学生从不同项目循序渐进地掌握工程化软件开发理念,降低了工程化软件开发的难度。
阶梯状迭代工程实践项目发挥了学生的主体意识,给学生足够的空间,激发了学生的活力与创新思维,并培养了学生的“三个能力”(自我管理能力、组织策划能力、社会实践能力)和“五种意识”(责任意识、服务意识、创新意识、团队意识、竞争意识)。
1.2.5配套教材
编译原理课程工程化实践教学配套教材共有3部,前导教材《C++实战:解释程序的面向对象程序与设计》与“编译原理”理论教学知识的先期注入配套;《编译程序的实现原理》与“编译原理”工程化理论教学配套;《编译程序的面向对象程序与实现》与阶梯状迭代工程实践项目配套,3部教材前后关联且各呈完整体系。本套教材为清华大学出版社“编译原理及其实践课程的工程化教学课群研究”立项项目,已出版1部,另2部明年中旬出版。
1.2.6评价体系
编译原理课程的工程化实践教学评价体系包括对学生工程素质和对教学体系的评价。
学生工程素质的评价采用过程化考核管理标准,即把工程化能力和职业素质引入学生工程素质的评价体系,加大工程化实践环节的比重,形成专业理论知识和实践能力并重的考核体制,将期末一张试卷定成绩的考评机制改为由工程化实践项目、随堂测验、论文、面试、考试、团队等多种形式相结合的评价机制,防止实验抄袭现象。编译原理课程考核采取理论知识和工程化实践项目完成情况的综合考核方式,工程化实践项目根据项目设计报告、软件开发文档、源代码和运行系统的质量进行考核,学生成绩以登记评定方式给出。
教学体系的评价采用回馈化考核管理标准,即把企业回馈和毕业生回馈引入教学体系的评价。对企业和毕业生进行跟踪调查,通过收集企业和学生的反馈指导教学和实践项目的设置和修订,形成良性循环,为进一步提高教学质量打下坚实基础。
2结论
软件工程是集计算机科学与技术、数学、经管等多学科的交叉性学科。作为一名软件工程教育者,我们必须建立一套具有自身特色的工程化人才培养体系,培育具有国际竞争力的一流软件产业高级/高端人才,结合软件工程人才的学科交叉性、偏重实用、职业定位等特点,系统深入地研究软件产业对技术型、管理型的人才需求,注重学生综合能力和专业素质的培养,才能在计算机系统、软件工具、软件工程和管理上循序渐进地提高学生的能力。
参考文献:
[1] Aho, Alfred V., Ravi Sethi, Jeffrey Ullman. Compilers: Principles, Techniques and Tools[M]. Reading, MA: Addison-Wesley, 1986.
软件工程专业课程范文第5篇
中图分类号:G642
摘要:分析软件工程专业的岗位需求和知识结构,提出适合地方性应用型高校的软件工程专业核心课程设置方案和体系结构。关键词:地方高校;
软件工程;
课程体系
0 引言
进入21世纪,以互联网为核心的网络与应用得到快速发展,信息技术的应用模式发生了巨大变化。在开放、动态、复杂的网络环境下,灵活、可信、协同的计算资源、数据资源、软件资源、服务资源等各种信息资源的共享和利用、无处不在的普适计算、主动可信的服务计算,均对软件工程提出了巨大挑战。
黄淮学院软件工程专业是河南省省级特色专业,近年来紧紧围绕培养“就业能称职、创业有能力、深造有基础、发展有后劲”的高素质技术技能型人才的目标定位,积极推进应用型人才培养模式改革,紧扣产业办专业,牵手企业促学业,强化职业促就业,不断提升专业价值,全面提高应用型人才培养质量。作为本科层次教育,重视较宽厚的基础知识的传授;
作为应用型人才的培养定位,重视面向生产、经营、管理实际,面向经济社会活动实际,培养运用所学知识分析问题、解决问题的能力,同时也要培养学生适应社会的能力、创业发展能力。应用型本科院校课程体系的设计应有其内在的规律与特定的模式。基于此,笔者以黄淮学院为例,对这一问题做如下探讨。
1 软件工程课程体系建设原则
原则1:构建课程体系的重要原则是核心课程体系的构建。核心课程体系的构建不是计算机科学专业课程和软件工程类课程的简单堆砌,而是对计算机学科课程进行有效的裁减和调整。对比软件工程学科和计算机科学技术学科可以看出,计算机科学的主要目标是为解决计算问题寻找有效的、能产生更好性能的途径;
软件工程的主要目标更注重具体方法和技术的应用,软件工程除了关注解决软件问题的理论、原则、方法和技术,还关注软件质量、软件过程、项目管理、团队合作、与用户/客户相关的问题,研究的对象是软件开发过程中的所有活动。软件工程专业的培养目标是合格的软件工程师,具有更明确的职业特性。
原则2:应用型本科高校软件工程专业不是简单复制211或985高校的课程体系,而要根据培养“就业能称职、创业有能力、深造有基础、发展有后劲”的目标,结合实际工作岗位职业需求,基于传统本科教育与职业教育相互渗透的培养理念,在通才与专才之间寻找平衡点,专业知识体系够用为主,“软、硬并重”,以第一课堂为核心,以行业、企业和管理服务岗位对人才知识、能力、素质的具体要求构建课程体系。
原则3:权衡软件工程专业本科毕业生所应具备知识的深度、广度和适应性。在大学教育期间,学生应学习的知识大致可以划分为4个.方面:人文社会科学知识,这是做人之根本;
数学知识,这是软件工程专业的底层基础;
专业知识,是软件工程学科之特色;
相关领域知识,是学生就业之砝码。知识是基础,能力是知识的综合体现。对于软件工程专业的学生应该着力培养以下能力:专业必备的开发、设计能力,能终身受用的学习能力,培养领导力的处事能力和积累财富的创新能力。在注重学科知识的系统性和严谨性基础上强调实际能力培养的重要性。
2 软件工程专业课程体系基本构架
黄淮学院软件工程专业知识体系如图1所示,该知识体系以人文外语知识和科学基础知识为基本,软件工程专业基础知识为中坚,软件工程与软件管理专业知识为塔顶,辅以实践和顶岗实训构成软件工程专业知识体系金字塔。
人文与外语知识包含由教育部统一要求的思想政治类课程、大学英语、专业外语以及创新创意和职业规划方面的拓展课程;
学科基础知识则涉及数学系列课程、电子基础课程和计算机科学基础课程;
专业基础知识和专业技能知识包含程序设计基础、软件工程和软件管理等,具体教学过程中可以涉及部分软件工具和软件产品作教学载体。针对软件行业普遍反映的毕业生独立解决问题能力不强、责任心差、对问题进行抽象和分析的能力差的问题,设计了如图2所示的实践能力渐进培养模式,该模式贯穿在课程教学、实验、实训和毕业设计等教学过程中。
3 软件工程课程系列的设计
黄淮学院软件工程专业的课程体系既考虑了工程性、技术性、实用性、系统性、综合性和复合型,又注意到强化基础在有效解决复杂软件的构造和应用方面能起到关键性作用,采取了根据就业岗位的能力需求进行知识分解,由课程模块构建系列课程,分阶段互动式的课程设置方法。具体安排如图3所示。
从图3可以看到基础知识教学阶段共2学年,这样设计是为了强化学生基础知识,实现“基础扎实、学科认知和专业融入”的目标。公共基础系列课程针对人文与外语知识,学科基础理论系列课程的启动从数学基础课程系列和计算机导论开始,内容贯穿软件工程所涉及的计算机系统、程序设计语言、软件工程、网络技术等专业基础知识的知识点以及与信息技术有关的社会人文等知识,力求使学生对所学专业有比较深入的了解,树立专业学习的责任感和自豪感。其中包括高级语言程序设计、程序设计基础、数据结构和面向对象程序设计,旨在引导学生领会计算思维的同时训练其编程能力;
硬件与网络系列课程包含数字逻辑、计算机组成原理和计算机网络,软件工程系列基础课程包括操作系统、数据库系统原理和WEB程序设计,这样安排力求达到“编程、网络和应用开发”三位一体的教学目标。
专业技能教学阶段共设36周,设计思路是强调对学生工程性、技术性、实用性、系统性、综合性和复合型能力的培养,实现“熟悉软件工程技能、树立系统概念和掌握软件设计开发技术”3个目标。在这一阶段中,综合考虑主干专业课程和特色课程的设置,基于办学特色设置若干动态可扩充的课程模块,全面考虑课程之间的关联,强调统一设计、统一规划。所有方向以系统分析与建模、软件工程、软件测试技术和嵌入式系统为基础,学生必须选修WEB程序开发和嵌入式软件两个专业方向中的一个课程模块,WEB程序开发方向设置网站前台开发技术、数据库应用技术、软件框架技术、软件需求工程和现代软件开发技术;
嵌入式软件专业方向开设单片机与接口技术、嵌入式Linux程序设计、移动编程技术、手持设备软件开发和嵌入式系统开发综合实践,同时要求至少选修4门任选课以拓展专业知识。
工程实习教学阶段开设在第4学年,设计思路是通过具体项目参与真刀真枪的项目训练,通过毕业设计与论文培养总结概括能力,实现理论与实际结合、技能与职业素质结合的目标。
在软件工程专业的课程体系设计中还应充分考虑课程间的衔接性、系统性和创新能力培养。教学计划中通过设置10门设计类课程,加强课内实践教学,常设性的学生软件设计比赛如ACM竞赛和软件设计大赛也被引入教学过程中。上述思路形成的课程体系更细化的结构如图4所示。
4 结语
一个好的软件工程课程体系应该在一个或若干个应用领域方面体现出自己的特色,为了帮助学生在适当的深度上学习其他应用领域的知识,软件工程课程体系应该安排相应的支持课程。软件工程的应用领域如此广泛,软件工程课程体系不可能也不应该面面俱到。在相关领导的支持下,黄淮学院软件工程专业建设已取得了可喜的成果。软件工程专业在2010被批准为河南省特色专业,2012年批准为河南省专业综合改革试点专业,每年毕业学生到各大公司进行项目实践,并推荐部分优秀学生到IBM等业界著名企业实习,获得各公司的一致好评。这几年的实践表明,教学计划的设计是确保培养目标实现的保障,课程体系的设计是合理安排教学过程的关键。学院软件工程专业的每一位老师在这几年的教学改革中付出了辛勤的劳动,但回首软件工程专业取得的进步,大家都感到心情舒畅。高等院校的教学改革是永恒的主题,作为应用型本科院校软件工程专业的课程体系更应与时俱进,我们一定会在现有基础上进一步优化软件工程专业的课程体系,以期获得更好的结果。
参考文献:
[1]杨青,刘洪星.软件工程学科的特征及其课程体系设计原则[J].武汉理工大学学报,2005,27(2):183-186.
[2]曾永卫,林志刚,杨尧彪.应用型本科院校课程体系顶层设计的探讨[J].湖南工程学院学报,2007,17(3):65-67.
[3]祁文青,纪鹏,冯运仿,等.计算机类应用型本科的人才定位和课程体系[J].黄石理工学院学报,2012,28(1):60-63.