日期:2023-01-23 阅读量:0次 所属栏目:学前教育
1引 言
软件开发是一项复杂的系统工程。如何让计算机专业的学生在课堂上进行软件工程实践、从课堂教学中积累软件开发的经验和技巧,如何让软件工程专业学生掌握未来的谋生的本领,这是计算机专业教学面对的一个严峻地问题。而项目教学法是一种以学生为中心、以“项目”为中心、以实际经验为中心的一种教学方法。把项目教学法引入到软件开发中来,可以解决上面提到的需要解决的问题。
《web应用程序》这门课程以一个完整的企业项目开发过程为线索,结合软件过程管理、过程模块、软件开发技术等多方面的技术知识,指导和训练学生掌握软件开发过程中的典型技能。以项目为主线,通过项目实践,学生可以自己动手亲自体验企业软件开发的整个过程,包括项目策划、需求分析、系统设计编码和测试,并学习到如何对工作进行计划和跟踪等管理方法。
2项目式教学的准备阶段
2.1教师的任务
在项目的准备阶段,教师须完成的2项重要的任务,第一就是制定符合学生实际情况的教学目标和学生的技能目标。第二是选取合适的项目,项目要和教学目标相匹配。
本课程的教学目标是学习完这门课程之后,学生应具备以下技能或了解相关知识:
(1)团队开发和协同工作能力
(2)规范的软件开发过程
(3)理解UML机器设计的活动图、顺序图、类图和部署图等
(4)需求的分析和软件设计技术
(5)B/S架构开发的MVC思想、java规范化编码与测试技术
(6)单元测试方法和Junit的使用
本课程选用来自于企业的真实项目――人力资源管理系统作为案例模型。此管理系统的具体业务包括人事管理、薪资管理、培训管理、招聘资料管理、职位变更管理、离职管理、系统设置功能。人力资源管理系统基于B/S架构,采用MVC模型实现,并以Eclipse为开发平台,采用java技术实现。
2.2学生的任务
本课程的学习是以小组为单位进行学习,并以小组为单位完成项目开发任务,所以在学习开始之前要完成分组的工作。分组时以自由结合为主,兼顾学习能力,并推选一名组长。项目小组要按照日程安排,在规定时间内完成项目的开发工作。为保证项目开发过程能顺利进行,需要注意以下事项:
(1)明确定义成员角色与任务分工;
(2)项目开始前明确项目组内部的沟通机制;
(3)项目每个阶段都有推荐的学习材料,学生在每个阶段都需要认真学习;
(4)项目组长需要全盘了解项目状态,控制项目进度。
3项目式教学的实施阶段
本课程的项目教学法的实施阶段根据软件开发的流程划分为准备、需求分析、系统设计、编码和测试、系统稳定这六个阶段。在每个阶段学生都要先学习相应的知识,然后完成开发人力资源管理系统这个最终目标的该阶段的任务。教师要在各个阶段起指导作用,监督学生完成任务,并在各个阶段完成之后给予评价和意见,引导学生进入下一阶段。
3.1 准备阶段
准备阶段并非是软件工程规定的阶段,而是为了更好的进行项目教学法而做的准备工作。在项目教学法的实施阶段开始之后,在进行具体项目开发之前,需要先了解项目背景,搭建软件开发环境,局部调整小组成员。
根据前面提到的项目的要求,这个阶段学生要熟悉项目软件和硬件的环境要求,搭建JDK、Tomcat、Eclipse环境,并完成这些工具的正确配置。对于环境搭建有困难的学生,教师要积极指导,并鼓励其与其他小组成员进行学习交流。然后就要对项目的应用背景进行研究,熟悉项目的业务知识,并制定出时间计划。在学生对项目和开发环境有了一定了解之后,根据学生的兴趣、特长,和教师沟通之后,项目小组可自行局部调整小组成员以及成员角色。
3.2 需求分析阶段
需求是软件设计、编码、测试工作的指导,一般需求过程分为用户需求定义和需求分析两个步骤。定义用户需求是指使用自然语言表达出系统的功能和需求,需求分析是在用户需求的描述之上,采用计算机语言和图形符号等方法更为详细的描述需求。需求分析的结果是软件设计的直接依据。
需求分析阶段要掌握以下几个方面的内容:
(1)了解需求分析过程的处理流程;
(2)了解如何展开需求的调查,进行用户需求的收集与分类的方法;
(3)学会如何进行需求分析与细化,并能独立编写需求用例;
(4)学会需求追溯的方法。
本阶段的主要任务也就是按照准备阶段定制的时间计划,按期完成对需求的获取、定义并进行分析,最终完成需求说明书与需求规格说明书的编写工作。
3.3系统设计阶段
系统设计过程划分为两个阶段:概要设计阶段和详细设计阶段。概要设计阶段的重点是体系结构设计,是针对系统的整体框架的设计。详细设计阶段的重点是用户界面设、数据库设计、模块设计、数据结构设计与算法设计等,主要针对每个具体业务功能如何实现。
学生须掌握以下几个方面的内容:
(1)了解软件开发过程中设计阶段的工作流程;
(2)理解系统概要设计的方法;
(3)掌握系统数据库设计、模块设计、界面设计的方法;
本阶段的主要任务是完成整个系统的概要设计,完成系统的数据库设计、模块设计、界面设计,最终完成系统概要设计说明书、数据库设计说明书、详细设计说明说。
3.4 编码和测试阶段
编码测试阶段又称为开发阶段或者实现阶段,是将前面的设计转换为特定的编程语言或硬件的过程。
在这个阶段,学生需要掌握以下知识:
(1)了解开发阶段的流程;
(2)学习java语言规范,按照规范的软件设计进行编码;
(3)学习开发工具的使用,如eclispse;
(4)学习使用流行的java框架,如struts。
在此阶段,项目小组成员按照java编码规范和每天的任务进行编码、并进行单元测试。因本项目使用mvc模型,在编码时要把数据库层、业务逻辑层、界面层分开,若学生在此之前未进行过软件开发,则有一定的难度,所以在此过程中教师要加强监督,及时解决学生遇到的技术难题,并要关注项目的进度。
3.5系统的稳定阶段
系统的稳定阶段其实就是测试组和开发组只见不断反复进行验证和修改的过程,就是是一个产品逐渐稳定运行的过程。测试人员执行设计好的测试用例,对所发生的缺陷进行记录和跟踪,并把记录反馈给开发人员,开发人员的主要任务就是修改测试人员在测试过程中发现的缺陷。
在这一阶段,学生应了解测试方法、理解测试的处理流程。在这一阶段结束时,项目组长要获得最新的项目
代码,并打包最终产品,然后提交给任课老师。
4项目式教学的评价阶段
通过前面的各个阶段的项目开发,每个学生都大致了解了软件开发的整个流程,并且各项目小组也独立完成了人力资源管理系统的所有功能。每个人都要对以前的过程进行一个回顾,对自己的工作和整个项目开发过程作一个总结,认真地写一份学习总结,并对自己的工作进行自我评价。
教师通过查看学习总结和各项目组提交的项目代码,作出公平公正的评价,并给出评语以及对项目的建议,然后召开学习经验交流会。在学习经验交流会上,各项目组演示自己的作品,在各项目组之间进行相互评价。在评价过程中要充分发挥学生的评价能力,适时引导学生通过自我反思和互评来来了解自己的优势和不足。通过学生的项目完成情况,教师总结本课程进行项目教学法取得的成绩和不足,为以后的教学积累经验。
5结论
本文给出了把项目引入到课堂教学中来的方法,并结合项目教学法,在课堂中开展教学工作。学生不仅学到了web应用程序开发需要的知识,也锻炼了动手的能力,增加了实际技能,一定程度上解决了一些计算机专业学生常见的“动口不会动手的”问题。
本文链接:http://www.qk112.com/lwfw/jiaoyulunwen/xueqianjiaoyu/215396.html
上一篇:《C程序设计》课堂教学探讨与反思
下一篇:开放式实验教学问题的研究