闫 洁,丛昭国
(1.长春金融高等专科学校 计算机系,吉林 长春 130028;2.中国移运通信集团设计院有限公司内蒙古分公司,内蒙古 呼和浩特 010010)
《软件项目分析与设计》是面向我校计算机应用专业高年级学生开设的专业骨干课。作为软件工程的实践课程,本课程把零散的软件实现的相关课贯穿起来,建立起计算机软件项目开发的完整知识体系,培养学生的软件开发能力、软件设计能力、软件项目管理能力,从而提高学生的软件综合素质。运用传统的教学方法授课,学生容易出现兴趣不足、不能熟练地将知识点运用到实际等问题。[1]目前,该课程设计中还存在以下不足。
由于《软件项目分析与设计》课程的总课时有限,重理论轻实践的传统教学方式使教师对于理论教学的授课时间比重较大,实践教学时间比重较小,导致学生无法真正将理论知识转化到具体实践应用中,不清楚实际的项目应该怎么做,理论和实践相脱节。
有限的实验课时,使教学实验内容在设置上偏重有代表性的独立实验,缺乏团队开发的方法和形式,在过程上缺乏完整的项目管理,导致学生缺乏对团队合作的重视,不清楚如何正确地与成员沟通合作,更缺乏对质量保证和评价体系的体验。
目前,没有正规出版的《软件项目分析与设计》教材,只有软件项目开发和软件项目管理方面的相关教材,而且在相关教材中,均以图书管理系统或者学籍管理系统这样的信息系统为实例,虽然信息系统本身具有一定的代表性,在各门学科中的侧重点也有所不同,但多门课程都以这类系统为实例,难免使学生的实践内容造成重复,使得学生对系统实现形成了一定的思维定势,久而久之,学生感到枯燥乏味,缺少对于陌生系统的开发能力,甚至不知从何入手。
通过《软件项目分析与设计》课程的教学可以将零散的专业课贯穿起来,形成一个完整的计算机软件项目开发体系的过程。对于培养学生的软件素质,提高学生的软件综合开发能力和软件项目管理能力具有重要的意义。
只有在真正的项目中进行实践,学生才能遇到软件理论教学中提到的引起“软件危机”的观点。学生遇到了真实问题,原本固有的开发思维定势就行不通了,那么学生自然会接受软件项目开发理论所提出的观点,或在这些理论基础上寻找适合自己的开发方式。
课程采取全新的实验室教学模式,使学生能够“看得见、摸得着”,将理论与实践有效地结合,为实际工作打下良好的理论与实践基础。同时,提高学生的动手实践能力,使其更好地消化和再理解理论知识,从而达到教、学、做合一,手、脑、机并用的效果。
一套完整的质量保证和评价体系可以控制学生实训的过程以及实训项目的交付物,通过质量保证和质量控制的过程来保证实训课程的效果,才能达到实训的目的。
实验项目的选取以基于浏览器/服务器结构的物业管理平台的开发为实例。
1.实例确定的背景
随着社会科技的进步和经济的迅猛发展,在满足场所和空间要求的同时,以居住安全、信息互动、人文与科技共融共生为标志的智能化小区时代已经到来。智能小区为住户提供了一种安全、舒适、方便、快捷和开放的信息化生活空间,并依托先进的科学技术,实现小区物业管理、运行的高效、互动和快捷。
《2013—2017年中国智能小区建设行业深度调研与投资战略规划分析报告》的数据显示,我国智能化小区的建设速度发展迅猛,各地开盘的智能化住宅项目受到购房者的普遍青睐。当前,我国相继出现了一大批科技含量很高的智能化小区,其中也有具备国际水平的佳作。我国每年新增的建筑面积大约20亿平方米左右,另外政府对智能化小区建设实施规范化、科学化引导,智能化小区有很好的发展前景。由于地域之间存在差异,同时经济水平差别也较大,目前我国大多数小区的开发仍然停留在较低的科技水平,还未达到真正意义上的智能化。而小区物业信息化管理能为小区智能化的发展和覆盖,奠定良好的基础。
2.项目选取的优势
选取物业信息化管理系统为项目实例,既和软件相关课程相衔接,又和社会发展新角度接轨。避免学生固有的思维定势,强制学生用软件工程的思维去分析一个全新而又陌生的系统,让学生在训练专业能力的同时,获得软件开发的成就感,这也有利于学生自信心和价值感的培养。
在实践项目的选取过程中,要针对软件项目开发的专业能力,做到有的放矢,不能以单纯完成项目为目标。开发过程中强调系统的功能分解和模块的合理划分,并且强调模块的高聚合低耦合。致力于培养学生对系统的分析能力,可以将复杂的问题,划分为若干相对独立的模块。经过逐步细化求精,将复杂的系统功能分解为相对简单的功能模块,便于项目开发以及分工协作。学生在完成项目以后,才能真正理解专业理论知识,锻炼相应的专业能力。
3.项目实例内容的确定
实例功能包括:住户管理、住户投诉管理、住户报修管理、物业设备维修管理、建筑维修工程管理、停车场管理、物业收费项目管理、物业收费管理和物业计量仪表管理。针对这些功能模块,按软件工程的方法,完成物业管理系统的可行性研究报告、需求分析报告、设计报告、源代码、测试报告和维护报告。
4.教学方法的结合
授课过程中应采用任务驱动教学、案例模仿教学、项目式教学、工作组式教学、情景模拟教学和角色扮演教学等多种教学方法,更充分地利用网络资源进行辅助教学,在学校BB系统上可以实现教学课件浏览、教学互动答疑、项目提交上传、在线实验指导、在线习题测试、知识搜索扩展、优秀作品展示等内容。
5.实验预计成果
软件工程课程在计算机体系当中起着承上启下的作用,课程中的位置如下图:
项目主要使用JAVA、Eclipse、Dreamweaver 8、ASP.NET 3.5技术和SQL SERVER 2005数据库管理技术进行平台的开发与建设,这些都是学生们已掌握的知识,通过本项目可以使学生对已学知识得到巩固和提高,建立完整的知识体系。
所有的管理模块都有对应的报表和数据统计报表生成,供用户打印,并能将数据导入Excel中。各个模块具有高度的独立性,各种用户权限限制合理,充分保证了系统的安全性和小区业主的信息安全性。
6.考核制度
期末考核采取理论考试加答辩相结合的方式。关注实践环节及工程应用能力,应对学生进行多视角、多方位的综合测评,考试内容不是课堂教学内容的简单重复,要能反映学生基本理论和基本技能的掌握情况,以及分析与解决问题的综合运用能力。[2]考核内容具体分配如下表:
考核方式所占百分比10%10%10%形成性评价考核项目考勤平时作业报告撰写课堂表现10%70%综合实训果小组讨论(20%)现场演示(30%)回答问题(50%)教师评价(50%)小组自我评价(15%)个人自我评价(20%)组间互相评价(15%)30%期末笔试30%终结性评价总分值100%
经过一个学期的教学实践,以项目驱动教学为主的案例教学打破了传统的教学模式,激发了学生的学习兴趣,大大提高了学生学习的积极性和主动性,实现了理论教学和实践教学的有机结合,培养了学生的动手能力和职业技能,突出了专业特长。这种教学方法不仅能吸引学生、激发其创造力,而且能让职业教育更加贴近职业需要,从而构建和谐的教学氛围,[3]是适合高职教育的一种有效的教学方法。同时,因受实践时间所限,学生在分组调研的时间有限,使得对物业管理市场的调研不足,学生对物业管理系统体系的建立不够完善;由于学生的编程水平有限,对于数据库接口等技术掌握得尚不理想,这些都是在今后的教学工作、教学改革中需要不断探索的。
:
[1]王荻.项目驱动教学探索[J].中国职业技术教育,2007,(36).
[2]廖世蓉,王扬才,雍涛.高职软件专业模块化项目驱动教学模式的实践[J].职业技术教育,2008,(11).
[3]赵怡.项目驱动在程序设计教学中的应用[J].计算机教育,2013,(8).