前言:中文期刊网精心挑选了软件工程课程设计总结范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
软件工程课程设计总结范文1
关键词:“A&D”+“T&P”融合;软件工程;专业知识架构;软件人才素养;软件生命周期;课程设计
0.引言
随着软件产业的快速发展,市场对软件人才的需求日益增加,对人才的软件能力属性和从业适应度也提出了更大的挑战。软件工程作为一个独立专业的人才培养模式,也已在各大高校展开。由于此专业起步慢、人才缺口大,关于其培养思路的探讨从开始设置本专业至今,都得到了业内教育界的积极思考。另外,软件工程是计算机高等教育的一个分支,在培养方案和培养模式的讨论议题上,在宏观上依然没有走出计算机基础学科的思维模式;在微观上关于专业方向和专业特色,很多的执行措施并没有太大明显的专业性思路。软件人才在专业性和特色性体现并不明显,更多还是盘旋在传统计算机学科专业的固化模式里。
长期以来,由于培养目标单一、培养过程与企业需求的脱节和错位,高校软件类人才培养不论在数量还是质量都难以满足产业高速发展的需要,也不能很好地做到柔性接口对接,无法为软件产业的发展壮大提供强有力的人才支撑。由此产生了软件实际需求的快速增长与适应性软件人才极度缺乏的矛盾,一方面人才缺口很大,另一方面高校的软件毕业生就业面依旧很窄,专用性不突出,通用性不健壮。对于软件产业的稳固发展,除了要有一定数量的研发人才之外,更欠缺的是批量熟练掌握软件技术原理、柔性适应新型需求、能够灵活贯彻软件行业专业发展目标的应用型技术和架构人才。
1.软件工程学科与软件素养
软件工程是一个成长中的学科,目前还存在不小成熟和提升的空间。它的理念来自于多个学科,并非一个单一的纵向纯粹理念,使它的工程特性体现并不明显。但它的培养目标和学科目的,以及培养对象和实施规范,却是一个典型的工科门类,这在很大程度上可以反映出软件工程的教与学可使用的材料、可借鉴的案例极为匮乏。文献关于软件工程教与学提出“软件工程所有的课程必须要根植现实基础”,并指出“软件的概念、原理,以及解决方法应该贯穿于整个教学活动中以帮助学生建立起一个软件工程心态”。后者的论断是软件工程的出发点也是终结点,所以在整个教与学的实施过程中,问题在于如何很好地提供一个基于以上两点的教学与实践环境,以帮助学生建立起一个“软件工程心态”。所以,软件工程学科的发展目标就是在人才培养过程中创设和浸入软件的可持续素养,是理论与实践的有效融合方案实施,更实现了人才与学科双向的自适应性和可发展性。
软件工程学科的特点决定了软件工程课程的综合性和实践性并重。传统的教学模式在理论和实践环节上都存在一定空缺。一方面,国内高校软件工程课程教学仍停留在课堂授课为主,实践环节薄弱。而理论教材相对于不断涌现的新技术、新方法、新工具,都显陈旧。软件工程的教材不可能做到一本到底。另一方面,学生由于缺乏完备充分的实际项目研发经验,不能很好地理解理论联系,做不到学以致用,做不到主动学习,导致学生学习完这门课程后仍难以面对一项完整的软件项目开发。在进行软件开发时会出现许多问题,如文档不规范、建模使用混乱、CASE平台体会不深、软件项目估算与度量没有方法、系统化软件测试过程等。这些弊端,无法建立起一个自主的“软件工程心态”,也并不能够很好地体会软件素养的真正实质是随需而动、随时而变,而不是纸上谈兵。
软件工程学科和软件工程课程都指出了一个重要参与因素,就是软件工程专业培养过程的实践性问题,这里一般规划了软件工程课程设计。在课程实施时做到课堂与设计的相辅相承、有效融合。软件工程课程设计的目标使学生系统地掌握软件工程的过程、方法和工具三要素,为学生将来从事软件的研发和管理奠定基础。软件工程教学内容是围绕软件生命周期展开的,其相关的过程阶段、开发技术以及工程化的开发过程(软件过程、配置管理、项目管理等)必须通过实际软件问题的实际求解过程以及团队合作进行体验,而综合的软件开发能力的锻炼和培养需要借助一个完整的软件项目开发过程,而不仅是一个小的作业或者几段程序的累砌。因此,以课程设计为基础的实践展开方案是巩固课程教学成果、培养学生软件工程应用能力的重要因素。为了高素质、高质量的人才必须强化理论与实践的结合和跟进,通过强化实践的素质培养来提升人才素养。
2.专业知识架构演化需求
软件工程的专业教授过程,是一个以软件生命周期为纵向线索的执行过程,涉及面广,学科间融合度大。整个知识体系的架构拓扑,不能偏离这条主线。但它的具体实施,并非仅是一个简单的直线序列,首先,需要一个全面扎实的基础底层知识支持,这里需要计算机、软件工程等相关学科的基本知识体系形成,例如数学、管理、经济学、计算机和软件技术基础等的前驱理念。其次,执行过程是个阶段间存在重叠、螺旋、迭代的局部整合结构,每个阶段间存在严格的前驱后继关系,逾越和跳跃的处理方式,均小可行,并且每个阶段的展开过程,有着自己的知识体系,同时都存在知识间的前因后果联系。再次,知识结构的纵向上升轴线,需要实践的并行跟进,实践反过来补充完善教学内容。接下来,进入项目实训过程,综合先期的理论知识和实践经验,以项目管理为指导,通过一个综合性中等及偏上的案例。最后,总结案例过程,汇总相关资料,进一步完善案例内容,补充优化下一阶段教学过程。
这里定义此架构为一个金字塔式的三维体系,如图1所示。
由于软件工程知识结构的综合性和特殊性,金字塔的每个横面和纵面展开细节是按需驱动的平台。并且,知识结构的新型性和技术性是展开细节的主旨思想,即软件工程的教科书知识点不可以拘泥于一本书。课程更多内容,来自于最新的科研、学术、文献和互联网资料。为了更好地完成实践意义和应用目标,在整个教学过程中,知识架构里需要一定实质科研项目的引入,并非几个简单的课程作业。这个实践环节,也是个重叠、螺旋、迭代、逐渐深入、实时反馈总结的过程。这一点,和软件工程的基础理论实施是相辅相承、相得益彰的。理论和实践的实施是专业知识中金字塔的刚性框架是不变的,同时它的参与细节和过程是目标牵引、技术跟进和理论优化完善的,所以此架构的演化,是基本结构不变,参与细节柔性优化。
3.“A&D”+“T&P”融合理念及实施方案
基于图1所示的软件工程理论与实践进阶体系结构,提出“A&D”+“T&P”的融合理念。此理念体现了4个关键字:A&D、T&P、软件工程及适应性软件素养,其中A&D(Analysis&Design)表示软件的分析与设计素养的统一,T&P(Theory&Practice)表示理论与实施的相辅相承。在此理念的实施过程中,秉承软件工程实施过程和先期取得的成果,从软件工程学科的发展和软件从业人才培养角度出发,坚持实施和应用的先导地位,强化分析与设计能力的深化和提升、理论与实践的融合和相长。理念的研究思路强调了自主和适应,即从软件工程的教与学实践出发,紧紧围绕软件工程专业特点,突出人才的适应性和专业特色性,建立可行、自主的理论落实方案,实施深化提升软件素养的分析与设计过程的全面和通用,做到分析与设计、理论与实施的高效结合,推进课程实施和具体应用向实用推广过渡,突现软件工程人才“厚基础、宽口径、强适应、针对性”的素养结构。
在“A&D”+“T&P”的推进过程中,针对高校软件工程学科的专业教育,随着软件工程学科的逐渐细化及不同研究方向间存在的耦合性关联,加上其自身应用行业领域的广泛性和普遍性,计算机各类专用和通用人才的迫切需求,有关计算机在企业、公司、市场等各个角落举足轻重的地位和广阔的发展前景,以及它和其他门类专业间存在的千丝万缕的交互和融合关系,本理念实施方案的主旨目标着眼于高校计算机教育与自适应应用型人才培养的探讨和实施。其实施的架构粒度化为教材框架的适应性创设和更新、课程设计向实施应用的无缝过渡、传统理论基础与前沿技术技能的有效融合和统一及两条主线架构的分析与设计技能提升方案。图2所示为整个方案的实施结构及成果演化拓扑图。此理论的提出有如下创新和建设:
①本理念体现为4个方面的融合和统一,即自主教材建设,重视以课程设计为基准的应用进阶过程,强调基础理论与前沿技能理念的融合,以软件生命周期为主线,体现结构化及面向对象技术。
②A&D、T&P的融合和统一。做到了分析与设计多种思维方式的融合,理论与实施的教学相长和相辅相成。
③软件分析与设计的技能在整个软件素养培养过程的强化和深化。
④适应性软件人才素养的定位,打破课程,建立自主的学科知识结构拓扑规划思路。
⑤硕带本、高年级带低年级的连带式人才培养梯队建设。
⑥“课程设计一软件、嵌入式大赛组织一实践项目参与”的应用实施方案。
⑦基于以上6点,建设了自主教学的《软件工程》教材和讲义。
4&自主性创新型与工程化目标的架构创设
本理念的主旨实施目标是实现自主性创新型的专业建设,以及人才工程化的培养目标。结合图2所示实施结构及演化拓扑过程,在具体实施过程中,序列化为以下4个展开侧面。
4.1自主教材框架的实施
软件工程是计算机学科中一个年轻并充满活力的研究领域,与此相关的软件工程课程是高等院校计算机教学计划中的核心课程。参考大量的国内外软件工程学科教材,从实际出发,总结多年的教学、科研和学科成果,结合软件工程及计算机专业人才素养提升深化的需求,在多个实际软件项目研发过程中积累经验教训,充分考虑软件工程和计算机专业本科生和研究生的知识结构,以软件的生命周期为线索,结构化和面向对象杂揉交织为分析与设计统一理念,项目规划为基本渗入点,统筹传统软件工程和现代软件工程的知识结构特点,规划书稿章节,深入浅出,理论联系实际,在实践中总结理论要点,有效组织书稿内容,自成体系。教材已由科学出版社出版,并在软件工程、计算机专业展开讲授,同时成为软件工程学科硕士研究生的基础参考书籍,取得了不错的效果。
4.2课程设计向实施应用过渡
课程设计是辅助软件工程课程实施的有效实践方案。在软件工程的课程讲授过程中,结合课程理论,已建成多个具体课程设计实施个案,具备了全套课程设计实施的文档、软件及作品。在课程设计的基础上,加大了两点力度:首先,软件、嵌入式大赛的组织和参与,进一步巩固深化了理论基础,演化了课程设计作品向参赛作品的转化,加强了软件的全面性、兼容性、商业化和实用性,从各类大赛的结果和作品自身特色上,充分体现了课程设计在知识点和技能点演化方面的亮点和优势。其次,在课程设计和参赛基础上,在软件工程教师的科研项目中,加大了本科生参与的力度,实现了学生阶段直接进入实施的目标,效果良好。有的学生在第4学年已可以进入软件公司直接展开研发工作,并有着不错的反响。
4.3基础理论与前沿技能理念的融合
基础理论与前沿技能理念的有效融合,体现在3个方面:软件工程学科课程拓扑的纵横两个侧面的思考,课堂教学、课程设计,实践应用的力度分化和统一。一方面,关于课程拓扑和知识结构衔接,做到了变通和灵活。根植实际和市场,建立起一套适时而动、随需而动的拓扑方案,即不拘泥一套培养计划,加大和突出实用性,以软件工程自身的特点为培养计划的实施线索和展开思路,在基础理论的讲授实践过程中,加大了新技术、新技能、新思想的渗透,并充分考虑和变通方向课和选修课的设置和实施。另一方面,打破了传统课堂填鸭式理论灌输方法,在启发式教学的理论基础上,灵活变通教与学角色、教师和学生身份,引导学生做专业学习的主人,强化讨论班、答疑课和讲座的力度,在讨论和答疑过程中,实现了知识点、技术点和前沿新技能由点到线、由线到面的统一。再者,建立了有效的硕带本、高年级帮低年级的培养梯队。不定时地让研究生和高年级本科生走进在授课程,交流研发经验,总结失败教训,交流学习和实践心得,鼓舞了学生自主学习的主动性和自觉性。
4.4软件分析与设计的两条线索
在上述展开过程中,打破了传统结构化和面向对象两个思路分阶段实施的思路,转以软件生命周期为主旨线索,建立了衔接有效的线索阶段划分。针对每一阶段,做到了结构化和面向对象两种思维方式的并行化展开,在对比中加强阶段目标的实现方式,在实现中加强两种思维方式在软件运作过程中的意义。
5.实践应用情况
本理念的实践应用本着“以服务为宗旨,以就业为导向”的办学方针,更新人才培养观念,把适应性人才的自主培养放在极其重要的位置,切实从专业学科本位向职业岗位和就业本位转变,实现教育与就业的对接,切实提高了软件专业素养。
自主教材框架的实施,打破了传统课堂与设计隔离的弊端,建立了多渠道的学习和实施方式。在实施中,巩固了实践的引导作用,在实践中自主完成理论的深化和融会贯通。由于教材的应用案例为多年的经验总结,理论基础的成形参阅了大量的书籍和文献,成熟、稳定、熟练、典型、规范,提供了身临其境的氛围和案例过程。起到了事半功倍、触类旁通的启发式教学目的,效果良好。
灵活变通的学科拓扑方案设计,加大了实践应用课程和选修课程的力度,强化了课程设置的适时、适人和适景,以课程设计为驱动,拓宽了学生的专业视野和觉悟。
提升了学生分析设计软件的技能,尤其在全面性和商业化方面取得了长足进步,提高了学生参与各类比赛和各项科研项目的热情,成果奖项逐年上升。
“硕带本、高带低”的帮带方式,加强了学生间的交流,提高了学生的学习兴趣,从另一层次上强化了学生参与实践、勤于思考、勤于应用的热忱。
同时,该成果的实施,催化了多个软件工程学科的科研项目立项和研发,多个软件成果屡获大奖。
软件工程课程设计总结范文2
关键词:应用型本科;培养软件工程师;Java课程群;教学研究
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2014)19-4518-03
Java Programs Applied Undergraduate Teaching and Research Group for the Training of Software Engineers
YU Xiao
(Wuhan Technology And Business University Department of Information Engineering, Wuhan 430065, China)
Abstract: In this paper, application-oriented university training Java software engineers in the process of teaching a number of issues, analyzes how demand-oriented enterprise Java software engineers conduct group teaching curriculum design, including accurate positioning training applied talents teaching objectives, optimize Curriculum reconstruction and the accumulation of experience teaching curriculum system, integration and research.
Key words: Application-Oriented; Training of Software Engineers; Java Curriculum Group; Teaching and Research
1 应用型本科Java课程群的教学现状
随着计算机行业的发展进入到互联网时代,由于 Java语言在计算机软件开发尤其是支持网络编程方面的优势,大多数高校计算机科学与技术专业在培养计划中都设置了Java系列课程的培养方案。应用型本科大学作为第三类大学在进行Java系列课程教学改革中确定Java课程群体系的培养目标是非常重要的。因为应用型本科培养的软件类毕业生在就业中将会与研究性大学本科专科毕业生、职业技术专科学院和职业培训机构的学生进行竞争。为了适应软件行业对Java开发人才的需要,高校简单的开设一门Java语言程序设计是远远不够的[1]。现阶段,应用型本科大学的Java课程体系是参考研究性大学本科课程体系的标准而制定的,并没有突出应用性的特点,而学生在编程方面的能力培养远不及职业技术学院、职业培训机构的学生在实践编程能力的培养。
2 面向培养Java软件工程师课程教学的重要性
现阶段计算机应用软件的开发主要采用.Net平台和Java两大平台,这两个平台各有千秋[2]。在计算机类职业培训机构的课程体系中Java系列课程也是热门的课程。Java软件工程师的职位在目前就业市场中属于紧缺职位。面向培养IT企业需要的软件工程师,为企业输送急需对口人才是各大高校在进行Java课程群的教学建设中需要考虑的问题。但是,很多Java课程体系的教学与市场需求存在脱节的情况。另外,Java教学的知识落后于企业正在使用的技术。计算机行业是发展和更新知识非常快的行业,由于高校教师缺乏与企业交流而导致在Java教学过程中不能及时更新到最新的技术,使得学生在毕业时所学的知识过时。
3 面向培养软件工程师的Java课程群教学思路
3.1应用型本科大学在Java课程群教学改革中的优势
应用型本科大学比科研型本科大学在课程设置上允许更为灵活,所以在Java课程群教学中可采用多种培养方式相结合。例如,在实践教学环节可以加强校企合作。Java的实践课程可以由企业的讲师或软件培训机构的人员参与教学过程,在教学内容上,可以比研究性大学更偏重应用。也可以在高年级的实践教学中的有限课时内让学生直接在企业中实习。为实施素质教育,提高学生的专业技能,培养技术应用型人才,需要不断探索以变更落后的教学方法,改革传统的教学模式[3]。
应用型本科大学在教学过程中比职业培训机构更注重综合能力的培养。比如,应用型本科教学不仅教授的是Java语言,除此之外教学课程体系中还会设置有《数据库原理》、《计算机网络工程》、《操作系统原理》和《软件工程》等重要的理论性指导课程,使学生在计算机应用能力上更具全面性,为学生更好的在职业发展中成为软件工程师打好理论基础,而不仅仅只能成为程序员。
3.2 面向培养软件工程师的教学目标
应用型本科Java课程体系教学应将与Java技术紧密相关的多门课程整合起来形成课程群,以强化课程间的关系,理清课程间的衔接,避免课程内容的重复性。设计课程群中实践课程的递进关系。课程群的建设应紧密结合企业的需求,设计面向培养软件工程师所需的能力项目的定向案例或课题。进行Java课程群教学培养的目标应是面向企业需求的以应用型为主的强化实践编程能力的软件工程师。
3.3 Java课程群体系
根据现有Java技术相关的教学课程选择五门课程组成Java课程群,分别是Java语言程序设计、Java语言程序设计课程设计、Java Web程序设计、Java Web程序设计课程设计、Java技术毕业设计。课程群中前一门课程是后一门课程的基础,课程的难度是递进的由浅入深的介绍Java技术的应用。每门课程都有不同的教学培养的侧重点,如下表所示。
表1 Java课程群的培养与考核
[课程名\&能力培养侧重点说明\&考核方式\&Java语言程序设计\&Java语言基础、面向对象程序设计、图形用户界面编程、文件编程\&理论笔试与实践课程综合评分\&Java语言程序设计课程设计\&三个方向的综合应用程序开发:图形用户界面与文件流结合编程;图形用户界面与网络通信结合编程;图形用户界面与数据库结合编程\&答辩与课程设计论文综合评分\&Java Web程序设计\&JSP技术基础、JDBC、JSP进行动态网站开发\&理论笔试与实践课程综合评分\&Java Web程序设计课程设计\&使用JDBC数据库连接技术进行JSP动态网站开发的综合应用\&答辩与课程设计论文综合评分\&Java技术毕业设计\&使用EJB应用开发、Java API的使用及服务的应用进行小型实际应用项目的开发\&毕业设计答辩与毕业设计论文综合评分\&]
课程群的每门课程都分为理论教学环节、实践教学环节和考核环节组成。每门课程的评分标准根据课程的特点而定。程序设计课程以理论考试与实践课程的程序完成情况进行综合评分,课程设计课程以系统运行演示与答辩结合课程设计论文的综合评分,毕业设计环节需要通过本科毕业设计答辩和本科毕业论文的考核综合评分。
4 面向培养软件工程师Java课程群的教学研究
4.1 面向培养软件工程师Java课程群教学方法的研究
在应用型本科大学教学多年Java课程群的课程以后,根据教学实际情况在教学方法方面进行了归纳总结。在Java课程群教学中应以学生在学习该课程的实际情况为出发点,一方面强化面向对象编程思想,因为面向对象是软件工程的基础,为后续用Java工具进行软件工程与产品设计打基础;另外一方面应突出Java与C++的不同点和各种工具包,主要以图形用户界面与事件作为重难点。具体来说,课堂教学方法上尽量深入浅出而突出重难点,因为一般来说,开设《Java程序设计》课程是在大学本科已经开设了至少两门语言课程《C语言程序设计》、《C++语言程序设计》之后的高年级专业课,一部分内容希望学生在老师的引导下培养自学能力或在后续课程《软件工程》与《Java Web程序设计》课程中逐步强化细节。
4.2面向培养软件工程师Java课程群教学方式的研究
教师在本校应用型本科大学教学过程中与学生进行了多次交流,得到了学生宝贵的反馈,结合教师在不断教学探索与实验教学过程中的体会与思考,对进行培养面向软件工程师的Java课程群教学方式改革进行了总结,得到以下五个方面的改进措施。
1) 实践教学与课堂教学整合
学生反映理论教学在教室学习效率不高,建议安排在实验机房进行教学,理论教学后及时进行上机操作能更好的巩固知识,实现理论与实践的同步教学。课堂教学中的每个知识点在理论教学后布置上机的小实例作业,学生通过完成小实例作业就能很好的检测该知识点的掌握情况,将实践教学与课堂理论教学整合。整个教学全程安排在实验机房完成。
2) 分步式案例教学
Java课程群中的课程的每门课程开始列出该门课程的重要知识点。在教学过程中以一个综合应用案例为线索,涵盖该门课程大部分最重要的知识点应用。将这个综合案例分解成若干部分,整个教学过程中在不同的重要章节中逐步分别讲解案例的某个部分。最后,将分步骤讲解的案例部分组合在一起,完成整个案例的拼接运行与演示。这种分步式案例教学让学生对该门课程有一个完整的知识体系。分步式案例教学在培养学生综合应用能力方面取得了很好的效果,使学生从应用角度对该门课程每章的内在联系有了一个总体的了解。
3) 学生演讲与教师指导相结合
一般来说,学生在学习Java课程群的课程时已经具有了一定程序设计语言的基础,学生在现有的C语言或C++语言学习的基础上进行多种编程语言的对比,能更好更快的掌握Java课程群的新知识。关于Java语言基础和JSP语言基础部分,例如变量与常量、表达式与运算符等知识点,可以让学生进行课下自学,并在上课过程中由学生进行演讲,对比现已学过的语言,分析Java语言或JSP语言的不同点和相同点。教师在学生讲课中及时进行补充或更正学生知识点的讲解。学生演讲与教师指导相结合的方式适用于Java课程群中程序设计语言基础部分。这种教学方式在一方面锻炼了学生的表达能力,在另一方面让学生巩固了以往的知识点并学习了新的知识点。在一定程度上调动了学生的学习积极性和促使学生更加参与课程教学,增加教与学的互动。
4) 分组答辩式教学
学生的课程设计或教学演讲都可以采用分组的方式,例如一个班级30人,一般将该班级分为6个组,每组5人。因为企业大型项目开发都是以团队的方式进行的。在应用型本科Java课程群的课程设计类课程中以团队方式进行答辩,每组团队得到相同的分数等级。使学生更具有团队合作意识,增进团队合作能力进行编程,使学生在企业中作为软件工程师能更快适应软件开发团队。
5) 案例式扩展教学在实践教学过程中的应用
Java课程群中实践课程教学可以采用一个应用实例贯穿到每个实践环节。从课内小案例的添加功能就可以完成该门课程的大案例,再在这个大案例的基础上进行优化完善可以完成综合课程设计,然后添加高级应用功能可以达到毕业设计的要求。使实践课程体系中的所有课程共同使用一个应用实例使这些多门实践课程具有内在的连续性,又可以很好的扩展性,使一个应用实例不断进行加强与优化。
参考文献:
[1] 彭碧涛,罗海蛟,姜灵敏. Java课程群的规划与建设[J].福建电脑,2014(2):51.
软件工程课程设计总结范文3
关键词:软件工程 教学改进 实践
中图分类号:
1、 引言
提起软件,在当今社会人们并不陌生,正是由于软件的发展,使计算机应用逐步渗透到社会生活的各个角落,使各行各业都发生很大的变化。这同时也促进人们对软件的品种、数量、功能和质量等提出了越来越高的要求。然而,软件的规模越大、越复杂,人们的软件开发能力越显得力不从心。于是,人们开始重视软件开发过程、方法、工具和环境的研究,软件工程应运而生。
“软件工程”主要介绍软件工程的基本原理、开发方法和开发工具,通过本课程的学习,使学生了解和初步掌握开发1个软件项目所使用的方法和工具,以及“软件工程”的发展过程和发展趋势,为进行软件开发打下1个良好的基础。
2、 课程特点
1。 课程综合性强。
软件工程与其他计算机课程,如程序设计语言、数据结构、编译原理、数据库以及操作系统等课程都是相互作用和影响的。在1定程度上说,软件工程讨论的是在实际开发当中综合运用这些课程中讲过的理论和方法,将这些课程的理论和方法放在1个统1的目标下,这个目标就是在有限的时间及预算条件下,开发出高质量的令用户满意的软件。
2。 课程内容不断更新。
软件工程课程的教学培养目标应该以市场需求为导向,使课程培养的学生真正能够在软件行业中发挥作用。因此,在授课时,我们不能拘泥于教材内容的限制。在讲解基本原理、基本概念和基本方法的同时,介绍1些新方法、新技术。这样,有助于开拓学生的视野和培养创新意识与开发能力,使他们走向社会后不至落伍。
3。 课程的实践性强。
软件工程是1门实践性很强的课程,它是各种开发经验的总结与提炼。在学习过程中不但应注重概念、原理、方法和技术的掌握,更应注重方法、技术的实际应用。学习软件工程必须投身于软件开发的实践,才能真正领悟软件工程的精髓。
实际教学当中,这门课的教学效果往往不是很理想,教师觉得这门课教起来较困难,学生学习中多数也觉得枯燥无味,很难达到较好的教学效果或获得较强的实践能力等预期目的。如何改善?结合软件工程的课程特点,笔者认为可以从以下几个方面来改进《软件工程》的教学质量。 三、软件工程教学改进的内容和方法
1。 教学过程引入实际案例
软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生。因此,在教学过程中引入案例,将复杂抽象的概念用具体生动的实例进行诠释,能够收到事半功倍的效果。例如,在授课时教师可结合1个“学校教材购销系统”实例,给学生介绍具体的开发过程和方法。
另外,学校还可邀请领域内有实际经验的资深程序员,针对软件工程中具体理论和方法在实际开发中的应用,在课堂上和学生进行面对面讲座,深入浅出地作讲解。这样,学生可以更加熟悉、掌握软件开发的过程。
2。 组织课堂讨论,形成教学互动
我国有句名言:“授人以鱼,不如授人以渔”。学生是教学活动的核心,教师要利用合适的方法调动学生的积极心理和参与意识,改变传统的教师高高在上的教学方式,让学生参与教学过程,有机会发表自己的看法。
比如在讲授需求分析这章内容时,可结合“学校教材购销系统”这个案例,要求学生按照软件工程教学的思想和方法认真做好需求分析。在实施过程中,首先由学生独立思考,给出解决方案。然后在课堂上,组织学生进行讨论,分析各自解决方案的优劣,并进行综合。最后由老师进行总结和评价,指出该案例所涉及的理论知识及其应用方法,就学生提出的问题进行解答。这样通过组织学生讨论,可使学生进1步理解和掌握课程内容的方法和步骤,使抽象的知识变得看得见,用得着,大大激发了学生学习的兴趣和自信。
3。 加强实践环节
从本质上看,软件工程的实践性和综合性是其他相关课程难以比拟的。因此,必须结合设计项目和实际应用加以施教,才能取得良好的教学效果。那么,在把握教学进度的同时,必须及早安排好课程设计,让学生同步开展课程设计。这样,理论课讲完了,课程设计也基本结束,学生们能从理论和实践的结合上,加深对软件工程知识难点、重点的理解,进1步深刻理解软件过程和系统消化理论知识,训练项目设计的思路,锻炼实际开发能力,培养严格规范的项目开发方法和步骤,体验文档编写整理、阶段性评审总结以及软件测试等各个方面的工作流程,直接培养了学生从事实际开发的能力。
四、结束语
在教学中,我们还应根据学生的具体情况,因材施教。总之,通过不断改进教学,使学生能更好地理解、掌握知识,运用所学服务社会。
参考文献
[1]史济民等。软件工程。北京:高等教育出版社,2002。12
软件工程课程设计总结范文4
《软件工程》是高职高专计算机软件及相关专业中的一门核心课程。主要介绍软件开发过程中用到的原理、方法及工具,包括支持软件分析、软件开发和软件维护的理论、方法、技术标准及计算机辅助工具和环境等。
如何在高职高专院校中更好的实施这门课程的教学,紧密结合国家信息化人才培养需求,正确把握软件工程领域的发展趋势,发挥自身学科优势,突出能力培养,使计算机软件专业的学生切实具备软件工程的实践能力,是摆在我们面前的一项紧迫课题。但该课程内容抽象,总结性的内容多,条条框框较多,不太容易讲解,学生学习起来也感到内容空洞、枯燥乏味、难学。
因此要想将该课程真的讲得通俗,让学生易于接受又能达到相应的教学效果,必须对该课程进行改革,采用案例教学和研究性教学模式,突出实践环节,培养学生开发计算机软件系统的实际能力。
二、实践教学改革的思路
1.依据培养对象,因材施教
高等职业技术教育是一种特殊类型的高等教育。在传授基本理论和基本知识的同时强调基本素质、基本技能和基本方法的培养,专业理论以培养技术应用能力为主线,具有较强的针对性和实用性。培养目标不仅要给学生传授知识技能,而且要培养具有创业和创新精神的人,进行以人为本的教育,培养学生劳动道德、技术操作、集体合作和创业能力,传授人文价值观。
2.按培养目标,对课程进行整合
现有的《软件工程》教材中对具体方法的介绍一般以面向过程的结构化方法为重点,而面向对象的程序设计方法中的UML和ROSE发展很快。讲授时对课程中纯理论部分适当简略,注重与有关课程的有机结合,重点介绍软件系统分析、设计、实施、运行与维护的主要步骤、方法,并通过课程设计,让学生自己经历软件开发的每一步,选择适当的开发方法,分组完成一个实用的小型计算机应用系统的开发工作。
针对学生实际应用了解较少的特点,可将有关典型应用(如学校信息系统、ERP)等内容有机的插入相应的章节,这样不仅可以帮助学生理解课程有关知识,也可以提高学生的学习兴趣,加深对相关知识的理解,为以后继续提高打下基础。
3.贯穿软件工程系列课程的案例教学
《软件工程》属于基于项目的课程,模拟工业界典型项目,以小组作业、口头报告、正式评审等形式,让学生在整个项目中承担不同的角色,构筑立体化的互动教学平台。将真实系统和项目作为学习案例,从软件工程的基础入手,让学生实际运用他们所学过的知识和技能,模拟案例提出相应阶段的问题,并给出解决方案,真正使学生体会和做到学以致用。
这种带着明确的实践任务,按照阶段划分、强调文档等系统工程的思想,采用理论与实践相结合的教学方法,使学生既了解了软件开发的基础性、共性知识,又掌握实际开发方法的应用。
4.培养研究性学习、团结协作的精神
由于各方面客观原因,本课程要求的学生知识结构、课程设计、实训条件等往往达不到理想程度,给教学带来不便。在教学中应有意识地要求学生学会自主性学习、研究性学习。老师给学生一些方向性指导,让学生自己去学习、提高。鼓励学生用多种开发工具,不仅有助于项目的开展,更加强了学生的学习自信心和自学能力。
在软件设计过程中,不仅要求每个成员的个人能力,更强调团队合作精神。小组成员的组合以及每个成员的分工均由学生自己按排。并试着选定一个小组长,小组长就类似于项目经理。要求组员们既服从组长的领导又主动发挥个人积极性。互相尊重,互相学习,依靠团队的力量完成任务。当遇到问题或困难时,任课教师给予指点、协调。这样同学们不仅提高了专业水平,也加强了团队合作意识和同学们之间的友谊。
教师在整个项目进行过程中采用多种方式给予指导,经常了解学生的进展情况。同时多给出一些案例,让学生在总结别人的经验的基础上完成自己的系统。在教学过程中除了单一的讲授外,还可组织形式多样的讨论、演示活动,提高教学效果。
5.实践教学的组织
课程设计或项目开发的项目可以由任课教师给出,也可以由学生自己选题,经老师同意可列为项目。在系统开发环境选择上,可以根据项目需求和学生掌握知识的情况,自主地选择他(她)们所熟悉的一种开发工具,如:VB、VC++或JAVA等。
从项目立项开始,进行系统需求分析、设计、实现与测试、评价等各环节,每个阶段应递交相应的文档,并进行检查和交流,对检查中发现的问题和不足,要求进行改进和完善,才可进入下一个阶段的工作。每一个阶段都要求严格控制。检查、交流与指导工作可在师生之间、同学之间互相进行,各组汇报进展、成果以及遇到的问题,其他同学可提问和给出帮建议等。特别是做同样项目的小组会针对性很强地提出实际问题或从中得出的有益的启发,老师在最后提一些建议和要求。
项目结束后,要组织答辩。可以让小组长对他们的项目的功能及基本情况作一个陈述,然后让每个同学说明在整个项目开发过程中所完成的任务,老师可针对每个同学的实际负责的部分进行提问,这样既有助于帮助同学掌握知识,又有助于了解每个同学所完成的任务。
在学生完成了项目之后,除递交系统和文档外,每个同学还必须进行总结,说出个人在参与项目开发过程中的心得体会。让学生自己在总结中学习知识。
6.学习效果评定
针对本课程特点,将理论和实践能力、学习态度和能力等进行综合评价。
三、思索
从专业教学整体和软件开发技术发展来看,高等职业技术院校开设的《软件工程》课程的教学改革还需要在以下方面进行努力:
1.与前期课程的配合,特别是学生对流行的开发工具的了解和应用。
2.不断完善本课程的教学资源,添置教学所需的软件,特别是计算机辅助分析、设计、测试、项目管理等工具软件。
四、总结
软件工程课程设计总结范文5
摘 要:为了培养适应时代需求,具有创新精神、团队合作精神、和工程实践应用能力的高素质工程技术人才,该文结合课程实际教学情况,提出了基于CDIO教学理念的创新实践教学模式,以CDIO教学理念为基础,采用项目驱动的方式,论述了数据库系统实现课程实践教学改革的方法和具体实现过程。实践证明,该教学方法促进了理论知识向实践技能的转化以及实践技能向综合素质的转化,激发了学生主动学习的兴趣,提高了学生的实践技能以及独立思考问题的能力,增强了学生的创新能力,取得了良好的实践教学效果。
关键词:CDIO 实践教学 软件工程
中图分类号:TP393 文献标识码:A 文章编号:1672-3791(2016)09(c)-0118-02
近些年来国内一些高校积极开展了工程教育改革探索和实践,其中最重要的实践之一是引入了际上先进的工程教育改革成果――CDIO工程教育理念。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它以产品从研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程的理论、技术与经验[1,2]。CDIO教学理念是将工程实际的项目内容引入教学,并通过完整的实际案例贯穿于教学目标和教学方法当中,将理论与实践有机结合,培养学生创新能力和解决实际问题的能力。
学生能力的培养如何在本科教学中得到体现,即如何将学生能力培养过程具体化并确定可操作的培养实施方案,是在专业建设中难以把握的难点。该校电信学院软件工程专业在数据库系统实现课程实践教学的改革中采用了基于CDIO工程教学理念的思想,根据人才培养方案的具体要求,建立课程理论和实践教学体系,通过项目教学法建立理论课程知识体系,通过实践加强学生理论和实践应用技能,通过各种教学方法和手段提高学生综合素质和能力。
1 教学模式的改革
CDIO工程教育模式强调工程实践教学的重要性,强调培养学生主动学习、动手实践以及分析问题和解决问题的能力,强调培养学生职业技能和道德,以及团队合作能力和交流能力,这些也充分体现到了数据库系统实现课程实践的教学改革中[3]。
软件工程专业教育缺乏完整、真实的软件工程实践过程一直是个问题,也是一个薄弱环节。教育部软件工程本科专业规范中软件工程专业人才培养目标包括:培养具备应用知识,具有软件开发能力,具有软件开发实践和项目组织的初步经验,具有竞争和团队精神的高素质软件工程专门人才[4]。
在数据库系统实现实践教学的改革中,CDIO教学理念贯穿于整个课程教学实施过程当中,通过项目教学法将项目内容分解到教学环节当中,将理论与实践结合,培养学生综合素质能力。
2 基于CDIO的课程实践教学改革
《数据库系统实现》课程是计算机科学与技术专业、软件工程专业的核心专业课程。设置该课程的目的是培养学生在学习与掌握数据库基本原理与相关概念的基础上,按照《软件工程》要求规范进行数据库应用系统的分析、设计、强化学生对数据库开发工具的使用。通过课程的学习使学生具备数据库设计及应用的基本技能和进行数据库应用开发的基本能力,并使学生对数据库前沿技术有一定的了解。该课程涉及到的内容较多,包含数据库系统原理、软件工程、JAVA语言程序设计等多方面课程的内容,因此该课程是前续课程的综合应用课,对学生实践动手能力的提高有很大的帮助。
根据课程大纲的设置,将理论教学、实验教学和课程设计三者相互结合,设立三维教学模式,确保教学模式的先进性和可操作性。
2.1 理论教学内容选取
理论教学是实践教学的基础,它决定着学生的知识和能力结构,决定着向社会输出的人才质量。该课程在总结数据库原理、软件工程的基础上,要求学生掌握基于数据库应用系统架构的概念及其原理,严格按照软件工程方法进行数据库设计与建模,了解数据库系统实现的过程与步骤。理解数据库应用技术主要包括存储过程、触发器的基本概念及其创建与使用、ORACLE数据库中大对象等特殊数据类型、应用系统事务处理技术、应用系统安全性的概念及其主要实现技术等。通过1~2个较完整的实际数据库应用系统案例,详细讨论数据库应用系统实现的主要过程、方法与难点,通过案例介绍、案例分析、难点讨论让学生基本掌握数据库应用系统实现的主要方法。
2.2 实验教学环节的改革
该课程涉及数据库新技术概念较多且比较抽象、难于理解,学生仅通过理论教学很难对课程内容进行消化和吸收,因此在理论课程教学环节中穿插安排了相应的实验教学环节,力求帮助学生理解数据库基本原理、概念,掌握数据库应用系统的实现技术,实验教学内容的选择显得尤为重要。《数据库系统实现》课程主要介绍基于J2EE平台的数据库系统开发技术,实验内容涉及3个方面。
(1)数据库应用高级编程技术。涉及PL/SQL编程知识(数据类型、程序结构)、存储过程(包括存储函数)、触发器和包以及Oracle的事务处理与并发控制等内容。
(2)数据库中间件应用技术。涉及Oracle的JDBC编程,包括驱动类型选择、驱动运行环境配置、驱动应用编程步骤、LOB处理、事务处理、存储过程调用等内容。
(3)数据库应用系统架构。涉及C/S架构、B/S架构和数据库系统综合应用等内容。
CDIO倡导“基于项目的教育与学习”。项目设计与实现是培养学生应用能力、工程能力和素质的有效途径,因此实验内容设计应充分体现出项目设计的思想。在实验项目内容设计当中,将一个完整的项目作为案例,通过该案例项目将实验的主要内容联系起来,使得实验成为一个有机的整体。在具体的实施中,将案例项目进行分解,将分解后的项目模块分布到整个实验中。这些项目模块紧密相连,让学生充分体会到系统开发的连续性[5]。
笔者根据理论教学内容,结合CDIO工程教育理念,参考CDIO工程教育能力大纲的内容,将实验内容分为三个层次:第一层次是专业基础性实验,对ORACLE数据库中存储过程、触发器的使用进行基础理论的验证,同时在JAVA应用程序中实现存储过程的调用;第二层次是在专业基础性实验上进行的小项目综合实验,是学生从基础到综合的一个过渡阶段,主要涉及到C/S和B/S架构应用程序设计。通过实验,使学生对C/S和B/S架构有一个初步的认识,掌握C/S和B/S架构应用系统的基本开发过程;第三层次是由前阶段项目组合的数据库应用实现综合实验。进一步培养学生的综合和设计能力,体现了不同专业知识的交叉与渗透,是实验教学的创新教育阶段,主要培养学生融合多专业知识、自主思考并进行创新性研究的能力。
2.3 课程设计强化实践应用技能
CDIO提倡“做中学”,强调学生主动学习[6]。在完成理论教学和实践教学后,学期末安排学生进行课程设计环节的训练。
课程设计安排1周时间集中进行训练,课程设计提供16个题目供学生自主选择,例如:图书管理系统、学籍管理系统、学生管理系统、教学管理系统、银行储蓄管理系统、网上书店、仓库管理系统、房屋出租系统等,题目范围涉及工程领域各方面的业务需求。由于课程设计是以案例项目为线索进行的,因此在工程实践的氛中,项目的成就感鼓励学生自主学习[7]。
教师在理论课程结束后提前下达课程设计任务,要求学生分团队进行合作,一般3人一组,团队成员自由组合,实施过程按照软件工程的项目管理和开发模式进行,重点放在软件需求、软件设计和软件测试以及软件开发工具的使用上,强调团队之间的交流和合作能力。团队成员之间应有明确的分工,项目的实施进度,注重开发文档的书写规范。
课程设计项目结束后,教师组织学生以PPT讲解及答辩的形式进行项目集中验收。验收环节不仅锻炼了学生的实际动手能力和团队合作能力,而且加强了学生的语言组织和表达能力,为今后的毕业设计答辩打下坚实的实践基础。
3 结语
数据库系统实现课程实践教学采用CDIO工程教育模式进行改革,通过以上教学模式的建立,使学生熟悉并了解了工程项目开发的基本流程,掌握了软件开发的基本能力,锻炼了学生团队合作的意识等多方面的能力,促进理论知识向实践技能的转化和实践技能向综合素质的转化,激发了学生主动学习的兴趣,提高了学生的实践技能以及独立思考问题的能力,增强了学生的创新能力。
参考文献
[1] 陶勇芳,商存慧.CDIO大纲对高等工科教育创新的启示[J].中国高教研究,2006(11):81-83.
[2] 张慧平,戴波,刘娜,等.基于CDIO教育理念的自动化课程的改革与实践[J].电气电子教学学报,2009,31(z2):138-141.
[3] 刘京志,李宁,胡景凡,等.基于CDIO模式的软件项目综合实践课程教学改革研究与实践[J].计算机工程与科学,2011,33(A1):34-37.
[4] 教育部高等学校计算机科学与技术教学指导委员会编制.高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)[M].北京:高等教育出版社,2006.
[5] 顾学雍.联结理论与实践的CDIO――清华大学创新性工程教育的探索[J].高等工程教育研究,2009(1):11-23.
软件工程课程设计总结范文6
关键词:编译原理;软件工程;项目管理
编译原理是软件工程专业的一门重要专业课程,与其他计算机学科关系紧密,其相关技术在很多领域都有广泛的应用,如软件工程、逆向工程、软件再工程等。这门课主要内容是程序设计语言编译程序的构造原理,包括形式语言、有限自动机、自上而下和自下而上的语法分析、LR分析方法、属性文法和语法制导翻译、语义分析和中间代码产生、存储器的动态分配与管理、符号表的组织与管理、优化问题、代码生成等内容。在软件工程专业设置本课程的目的,在于系统地向学生介绍编译系统的结构、工作原理以及编译程序各组成部分的设计原理和实现技术,使学生通过本课程的学习之后,既掌握编译理论和方法的基本知识,也具有设计、实现、分析和移植编译程序等方面的初步能力,为从事计算机软件开发工作及理论研究工作打下坚实的基础[1]。
由于编译原理课程本身逻辑性强、理论性强、理论实现偏难,学生普遍存在畏难情绪,教学效果不理想。本文就编译原理课程教学中的问题,结合软件工程专业的特点,就教学方式展开深入的讨论。
1编译原理课程教学存在的主要问题
1.1学生前期课程学习不足
编译原理课程的先修课程包括程序设计语言、离散数学、汇编语言、数据结构、计算机组成原理等。其中某一门课程的基础没打好,就会影响编译原理课程的学习。
1.2课程本身理论性强
本课程涉及不少理论知识,如形式语言和自动机理论、语法制导的理论等,内容抽象,学生学习与理解有一定的难度,特别是语法制导定义(或翻译方案)的设计。由于课程的理论性太强,难以激发及调动学生学习的兴趣,甚至致使部分学生放弃本门课程的学习[2]。
1.3实践性环节薄弱
编译程序是大型复杂的软件系统,在教学中要把它拆开成各个部分,分阶段地讲解,以便减低学习难度,但这样做常常导致学生不清楚各部分是怎样在整个系统中协调工作的。因此,上机编程时,大部分学生没有思路,无从下手,一部分同学还产生依赖思想,并出现抄袭别人程序的现象。
1.4教学手段单一
传统教学手段主要是以课堂教授为主的“灌输式”教学,很少采用启发式、讨论式教学方法。编译原理理论性强,学生上课时感觉听懂了,但在课后作业和实验环节,学生的表现说明他们没有真正理解。
此外,由于课程本身具有一定的理论深度和难度,而且学生普遍认为学习该课程仅仅是为了构造编译程序,认识不到其在培养科学方法和严谨思维方面的重大潜在价值,学生缺乏学习的积极性[2]。
2具有软件工程专业特色的教学方式
欲改善上述局面,就应结合学生的专业特色,即在软件工程专业教学过程中,把工程化的思想纳入到本课程中来,增加学生对课程目的性的认识,提高学生的积极性。
2.1在思想上提高学生的学习兴趣
为了消除学生对编译原理课程的畏难心理,教师的第一堂课非常重要。在第一堂课的组织中,教师应以引导性为主,比如把“编译”和两门语言间的“笔译”相类比,“解释”和“口译”相类比,这样可以增强学生的理解的记忆。然后,需要强调课程在软件工程专业开设的重要性,避免部分学生对本课程认识不足,投入精力不够。在语言组织上,尽量把复杂的问题简单化,可以添加些有趣的实例,增加学生的兴趣。让学生在第一堂课就减少一些抵触情绪,建立学好编译原理的信心。
2.2教学上采用软件项目开发小组的方式
为了更好地和软件工程专业相融合,在本课程的教学中,建议采用软件项目开发小组的方式。首先对学生进行分组或学生自行组织队伍,一个小组以6~8人为宜,固定一个组长作为项目经理,项目经理的职责是与老师沟通,是小组的领导者、决策者。教学过程中,老师除了教学外,还要承担项目委托方(需方)的角色,管理时多数时间与小组的项目经理沟通。在理论学习过程中,教师对每个章节的内容学习以及课后作业提出要求,各个小组给出解决方案,小组之间竞争,选出最好结果作为中标的供方,以提高学生的学习兴趣。在实验教学过程中,教师负责提出需求,并给出解题思路;小组的项目经理负责给组内成员分配角色,主要包括系统分析员、系统设计员、程序员、质量保证工程师、测试人员等,针对类似算法,要求小组内人员轮流执行不同的职责,保证每个学生都能训练到;实验课结果的提交采用项目答辩的形式,由各个组长和老师组成评审团,进行评审。在课程设计阶段,在小组内不同基础的同学分配不同的职责,以减少困难度,具体操作与实验类似。这种学生组织形式,有利于提升学生之间的团队合作精神,并且能很好地提高学生学习兴趣,团队之间的竞争大大激发学生的学习动力。
2.3理论教学采用实例教学
实例教学的依据是学习的一般规律。对编译原理这种理论性强的课程来说,采用实例教学是一种非常有效的方法[3]。其实际操作方式为:首先,教师通读教材多遍,并做完每章后习题;其次,参考其他同类教材,在此基础上选择在时量和知识影射方面最佳的例子;最后,强调学生自主学习,上课时教师只是快速的“过一遍”相关定义,而不是照本宣科地讲。接下来,课堂上的大多数时间用来讲解实例(这里的实例主要是相关知识点的应用例题,比如分析某个给定文法的二义性),让学生听懂例子、理解例子,学生再实践。最后,教师对课堂内容进行小结,归纳出一般性规律(理论知识),并让学生与前面的定义对比,这有助于其巩固对理论的理解,另外,可以让学生去看前面的定义、定理,这样回过头读这些理论知识要轻松很多、容易很多[3]。实际授课时,建议相关定义采用幻灯片形式,加大知识点的容量;而实例的讲授建议采用板书形式,思路更清晰。
2.4实验课有层次化,主要针对算法
本课程包含很多算法,有LL(1)分析算法和各种LR(1)分析算法、DFA化简算法、计算开始符号集合和后继符号集合的算法、各种数据流方程的迭代求解算法。由于实验课时间不连贯,实现编译器大型软件,只能将其分成几部分进行,鉴于学生理解上有困难,因此,建议实验课主要针对课程中的算法进行。实验组织形式上沿袭软件开发小组的模式,针对不同的学生情况分配任务,比如对于LL(1)分析算法,可以让编程能力强的同学先做开发,其他同学做辅助工作(测试、管理等),并学习相关代码程序;在做类似的LR(1)分析算法时,就转换角色,让前面没有做开发工作的同学参照LL(1)做相应的开发工作。这样就能使每个同学都能深刻理解相关知识点。