教育部十六号文件《关于全面提高高等职业教育教学质量的若干意见》明确指出要“加强素质教育,增强学生的职业能力,加大课程建设与改革的力度”。本书尝试摒弃传统软件工程的学科性教学,围绕软件开发需要的职业能力培养,组织与设计教学内容。
传统的软件教学**在知识与技术教学,其不足主要表现在:概念与理论知识多、力求知识理论体系的完善;软件开发技术、方法的教学针对性不强;每个软件开发阶段在过渡时技术上显得脱节;教学内容对程序编码的指导作用不明显等。所以,学生难以理解与领悟其中的内容,特别在实际操作上难以做到学以致用。另外,软件开发与管理模式灵活多样,知识体系庞大,要完整掌握难度大。
针对上述问题,笔者在进行教学内容设计时,分析高职学生的特点,以软件开发专业人才应知应会的知识、能力作为培养目标,并围绕这些目标进行教学内容的设计。本书教学内容的设计具有以下特点:
内容的取舍以实用为原则,为职业能力培养目标服务。
以软件开发过程典型工作任务为**,力争在技术上连贯。
教学情境的设计深入浅出,以任务驱动的形式组织教学,使学生容易消化。
加强各阶段教学内容在技术层面的衔接,突出了软件设计到编码技术上的过渡。
内容组织中,体现了“项目导向、任务驱动”的教学。突出展现了软件开发引导案例的技术连贯及其实现,再通过它突出体现软件开发的重要理论知识。
整个教学内容以一个项目(物流系统)为载体,将软件开发的理论、方法、工具、开发过程等融为一体。*后一章还提供这些案例的完整文档,让读者(特别是软件专业的学生)能掌握软件开发报告的编写。
软件开发过程主要有需求分析、软件设计、编码与测试、软件维护等活动,它们构成了软件开发过程的主要任务阶段。但是这些活动之间的组织不是简单线性的,它们之间的组织关系非常灵活,有多种经典模式。这就是为什么这些内容在实际开发中难以被掌握的原因。
软件开发各重要阶段的教学,就是本课程的教学**内容,其实它们又是教学难点内容。这些教学��容及它们在技术层面的过渡往往被以前的教材忽略,或连贯性不强。本书以项目为导向,通过任务驱动组织这些内容,从而解决了上述**与难点的教学内容及衔接问题。
另外,本书的组织利于软件开发人员的学习。比如第1~3章,目的是培养学生了解软件开发过程,让初学者知道软件是如何开发的,使学生掌握软件编码前的一些概念,并掌握传统需求分析、软件设计的过程与基本方法。而后续第4、5章是面向对象的方法,学生在已学习需求分析和软件设计的基础上,采用流行的面向对象的方法进行需求、设计与建模,并体现了面向对象的设计向面向对象编码技术上的过渡。第6章介绍了软件的编码与实现,在软件的编码过程中,测试非常重要,只有通过测试才能得到实用软件。第7章介绍了软件使用中的维护。第8章则通过一个软件开发案例,综合应用前面介绍的面向对象软件开发方法,介绍软件开发的过程及文档的编写。
本书条理清晰、内容实用、技术连贯;书中内容的表述力争做到深入浅出,使易混淆的概念、方法等容易被理解与掌握。本书内容的过渡在技术上连贯,体现了“项目导向、任务驱动”的教学,利于培养学生的软件开发能力。本书内容有助于软件开发其他课程的学习与借鉴。
本书由广东科学技术职业学院的牛德雄、龙立功担任主编,其中,第1章、第4章、第5章由牛德雄、龙立功编写;第2章、第3章由杨叶芬编写;第6章由熊君丽编写;第7章由扶卿妮编写;第8章由牛德雄、施茂航编写。另外,魏云柯设计了本书所用到的图,移动**数学企业**公司参与了教材内容的设计。在此一并表示感谢。
为了方便教师教学,本书配有电子教学课件及相关资源,请有此需要的教师登录华信教育资源网(www.hxedu.com.cn)免费注册后下载,如有问题,可在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。
目前,国内外关于软件工程、软件开发与管理方面的资料非常多,新理论、新技术层出不穷。如何更好地取舍与组织适合高职学生教学的内容需要不断探索。由于时间仓促,书中难免存在疏漏和不足,恳请同行专家和读者能给予批评和指正。
编 者