基于软件框架的软件设计实践教学方法研究
- 格式:doc
- 大小:27.50 KB
- 文档页数:4
基于.Net平台程序设计课程实践摘要程序设计类课程是软件专业构建职业技能的关键课程,是一门重在动手实践能力的课程。
本文从一线教学教师的角度出发,研究探索出一种能够为学生创设问题情境,启发学生独立思考,让学生动手独立解决问题的双向式启发式教学模式。
关键词 .net;启发式教学;课程改革中图分类号tp393文献标识码a 文章编号1674-6708(2010)20-0130-020 引言程序设计类课程是软件专业构建职业技能的关键课程,是一门重在动手实践能力的课程, 传统的教学方法都比较偏重于计算机编程语言或完全是编程语言的教学。
教学模式也一般是传统模式,即注重某种编程语言的基本语句、语法和一些细节的介绍。
我们提出并研究一种能够为学生创设问题情境,启发学生独立思考,让学生动手独立解决问题的双向式启发式教学模式,进行课程的改革与实践。
1 教学改革与实践1.1 启发式教学环境传统的课堂结构还是“填鸭式”教学,千篇一律地使用一种教学方法,使学生缺乏一种学习积极性,不可能对学生进行因材施教,也难以激发学生的求知欲望。
“以学生为主体,以教师为主导”的口号喊了多年,但在课堂教学中,仍然不能真正落到实处。
实践性教学是职业类院校教学的重要环节,是培养学生能力、素质的重要途径。
在培养技能操作型人才的职业教育中,实践教学更有着不可替代的作用。
把以启发式教学为主的现代化教学方法运用到实践教学中来,主要在教学模式上体现以提高学生应用能力为首要目标的“项目驱动教学模式”,使用此教学模式传授知识,不再是从一个知识点到另一个知识点的线性结构,而是首先告诉学生本课程要解决的较综合的实际问题。
如用几个不同的项目案例穿插全课程,每个案例中包括不同的知识点,将课程分为三大部分,以项目开发的方式来引导各个知识点的学习。
课程的最后,几个子项目串成一个大的项目实训,来完成一个系统的整体设计,在若干个项目中包含所有的知识点的教学实验实训。
教师要把子项目的设计思路和开发要点讲解给学生。
软件工程专业实践教学课程介绍本文档旨在介绍软件工程专业实践教学课程的内容和目标。
软件工程专业实践教学课程是为软件工程专业的学生设计的一门实践性课程,旨在帮助学生通过实际项目实践提高他们的软件开发能力和团队合作能力。
内容软件工程专业实践教学课程的内容涵盖了以下方面:1. 软件开发过程:课程将介绍常见的软件开发过程模型,如瀑布模型、敏捷开发等。
学生将研究如何将这些模型应用于实际项目中,以提高软件开发效率和质量。
2. 需求分析与设计:学生将研究如何进行有效的需求分析和系统设计。
课程将介绍需求工程的基本概念和技术,以及常用的系统设计方法和工具。
3. 编码与测试:学生将研究如何进行有效的编码和测试工作。
课程将介绍常用的编程语言和开发工具,以及测试方法和技术。
学生将通过实际编码和测试项目来提高他们的编码能力和测试技巧。
4. 项目管理和团队合作:课程将介绍项目管理的基本原理和方法,以及团队合作的技巧和工具。
学生将通过参与实际团队项目来提高他们的项目管理能力和团队合作能力。
目标软件工程专业实践教学课程的目标如下:1. 提高学生的软件开发能力:通过实际项目实践,帮助学生掌握软件开发的基本技术和方法,提高他们的软件开发能力。
2. 培养学生的团队合作能力:通过参与团队项目,帮助学生培养良好的团队合作意识和能力,提高他们在团队中的协作能力。
3. 培养学生的问题解决能力:通过解决实际项目中的问题,帮助学生培养有效的问题解决能力,提高他们的分析和解决问题的能力。
4. 培养学生的创新意识:通过参与实际项目,鼓励学生提出创新的想法和解决方案,培养他们的创新意识和能力。
总结软件工程专业实践教学课程旨在通过实际项目实践提高学生的软件开发能力和团队合作能力。
课程内容涵盖了软件开发过程、需求分析与设计、编码与测试、项目管理和团队合作等方面。
课程的目标是提高学生的软件开发能力、团队合作能力、问题解决能力和创新意识。
通过参与实际项目,学生将获得宝贵的实践经验,为将来的软件工程职业生涯做好准备。
第1篇一、课程概述本课程旨在通过实践教学,使学生掌握软件项目开发的流程、方法和技巧,提高学生的实际操作能力和团队协作能力。
课程内容主要包括需求分析、系统设计、编码实现、测试与部署等环节,通过模拟实际项目,让学生在实践中学习和提高。
二、教学目标1. 理解软件项目开发的基本流程和规范。
2. 掌握需求分析、系统设计、编码实现、测试与部署等基本技能。
3. 提高团队协作能力,培养良好的沟通与沟通技巧。
4. 增强学生的实际操作能力,提高软件项目的开发效率和质量。
5. 培养学生的创新思维和解决问题的能力。
三、教学内容1. 项目背景与需求分析- 项目背景介绍- 需求分析的方法与技巧- 用户需求调研与分析- 需求规格说明书编写2. 系统设计- 系统架构设计- 数据库设计- 界面设计- 系统功能模块划分3. 编码实现- 编程语言与开发环境- 代码规范与编程风格- 代码复用与模块化设计- 异常处理与调试技巧4. 测试与部署- 单元测试与集成测试- 性能测试与安全性测试- 部署策略与部署流程- 故障排除与维护5. 团队协作与项目管理- 团队组建与分工- 沟通与协作工具- 项目进度管理与监控- 项目风险管理6. 案例分析与实战演练- 常见软件项目案例分析- 实战项目开发与实施- 项目成果展示与答辩四、教学安排1. 理论教学:共8周,每周2学时,共计16学时。
2. 实践教学:共12周,每周4学时,共计48学时。
3. 综合实践项目:共4周,每周8学时,共计32学时。
五、教学方法1. 讲授法:系统讲解软件项目开发的理论知识。
2. 案例分析法:通过分析实际项目案例,使学生了解项目开发的流程和技巧。
3. 实践操作法:让学生动手实践,掌握软件项目开发的技能。
4. 团队协作法:通过团队项目,培养学生的团队协作能力和沟通能力。
5. 答疑解惑法:针对学生在实践过程中遇到的问题,进行解答和指导。
六、考核方式1. 平时成绩:占30%,包括课堂表现、实践操作、团队协作等。
软件工程专业本科实践教学体系建设探讨[摘要] 针对软件工程专业实践教学环节存在的实践模式离散化、实践内容重复且实践规模缺乏渐进性、实践教学与科研和企业需求相脱节等问题,给出一种新的关联式实践教学体系,几年的实施效果表明,新的实践教学体系是行之有效的。
[关键词] 实践教学体系软件工程教学模型一、引言软件产业作为信息产业的重要组成部分,在国民经济发展中起着越来越重要的作用,因而软件产业得到了各高校的高度重视。
作为一门新兴学科专业,软件工程试图通过实践教学,促进学生巩固和加深理论知识,提高运用知识分析和解决问题的能力,培养学生的系统分析、软件设计、软件开发等专业技能。
目前,软件工程专业的实践教育尚处于不断摸索过程中,实践教学环节尚存在着以下问题:1.离散型、非系统化的实践教学模式。
软件工程专业核心课程,如c++/java、数据结构、离散数学、数据库原理、软件工程等,都配备了相应的课程实验。
这些核心课程在理论授课时间和内容的安排上体现出课程之间的前趋后继关系,但课程实验环节的实验内容由各个授课教师自行安排,未能体现关联关系,实践环节间孤立的教学模式容易产生高分低能,学生不能综合运用所学知识解决实际问题等现象。
2.重复实践小型软件开发,缺乏大中型软件开发过程实践。
由于实践教学课程通常由不同的教师承担,每个教师自由确定实践内容,经常造成实践内容小型化、且重复的问题。
比如,数据库开发实践环节,让学生实现一个简单的数据库应用;软件课程设计同样实践一个围绕数据库应用的小项目。
两门课程实践内容的规模没能区分开来,后者规模较小,影响了对于软件开发全过程的体验,不能达到预期目标。
3.实践教学与科研、企业需求相脱节,教师自身软件工程实践经验不足。
实践教学需要授课教师具备一定的软件开发经验,而教师的教学和科研工作侧重于理论环节,从事软件项目开发经验不足,对于软件工程的技术、方法的理解不够。
该环节仅由在校教师承担,没有企业的指导和参与,导致教师凭个人感觉和经验教授的偏多,认识上把实践环节看作是加深理论知识的理解和掌握,培养基本操作技能,对实践思路、设计和综合分析能力培养重视不够,对实践教学要求不高,未能改变依附于理论教学的从属地位。
第1篇一、课程简介《软件工程》是一门研究软件开发原理、方法和工具的学科,旨在培养学生具备软件开发的基本理论、实践技能和工程素养。
本课程通过实践教学,使学生能够掌握软件工程的基本方法,提高软件开发能力,为后续课程学习和实际工作打下坚实基础。
二、教学目标1. 理解软件工程的基本概念、原理和方法。
2. 掌握软件开发过程中的需求分析、设计、编码、测试和维护等基本技能。
3. 具备使用常用软件开发工具进行实际项目开发的能力。
4. 培养良好的团队协作和沟通能力,提高工程素养。
三、教学内容1. 软件工程概述- 软件工程的定义和发展历程- 软件生命周期和开发模型- 软件工程的目标和原则2. 需求分析- 需求获取和分析方法- 需求规格说明和文档编写- 需求管理3. 软件设计- 设计原则和模式- 数据库设计- 系统架构设计4. 软件开发- 编码规范和最佳实践- 集成开发环境(IDE)的使用- 版本控制工具的使用5. 软件测试- 测试方法和技术- 测试用例设计- 软件测试管理6. 软件维护- 维护过程和方法- 软件配置管理- 软件质量保证7. 软件项目管理- 项目管理的基本概念和原理- 项目计划、执行和监控- 团队协作和沟通四、实践教学安排1. 实践教学课时:共40学时,其中理论课24学时,实践课16学时。
2. 实践教学环节:(1)课堂演示:讲解软件工程的基本概念、原理和方法,演示常用软件开发工具的使用。
(2)案例分析与讨论:分析实际软件项目案例,讨论软件工程在实际开发中的应用。
(3)上机实验:完成以下实验项目:1. 需求分析实验:完成一个简单软件的需求分析,编写需求规格说明书。
2. 设计实验:完成一个简单软件的设计,包括数据库设计、系统架构设计等。
3. 编码实验:使用一种编程语言实现一个简单软件的功能。
4. 测试实验:编写测试用例,对软件进行功能测试和性能测试。
5. 维护实验:对已完成的软件进行维护,修复已知问题和优化性能。
软件开发环境实验课程的研究与探讨[摘要] 软件开发环境是一门实践性非常强的计算机专业课程。
我们在这门课程的实验教学中,不断探索和总结出了一套有效的教学方法。
本文将着重讨论软件开发环境课程的实验教学模式和实验考核模式。
[关键词] 软件开发环境实验课程教学模式考核模式一、引言“软件开发环境”课程是计算机科学与技术专业本科生一门重要的专业技术课程。
开设本课程的目标是使学生了解软件开发领域中的各种开发技术与设计方法,掌握复杂软件系统的it规划、系统分析、系统设计、项目管理等多方面知识,将学生培养成为具有软件高级开发能力的软件开发人员。
该课程的特点是涉及面广、实用性强。
课程内容必须反映最新软件开发的主流技术与前瞻思想,介绍当前最流行的软件开发工具与环境。
本课程着重讲授软件开发的重要领域知识——软件开发的基本规律、软件过程理论、分析方法、架构技术、设计模式、项目管理、应用整合等多方面的知识内容和技术方法,并给出相关的案例分析。
使学生通过本课程将所学的理论知识应用于实践之中,全面地掌握软件开发的过程与组织等技术,掌握现代化的软件开发方法,以适应未来工作的需要。
二、形式多样的实验教学模式本课程组教师依据现代教育的理念和创新要求,积极探索软件开发环境课程实验教学的新技术、新方法和措施,改进实验教学方法,以学生为中心,形成了自主式、合作式、研究式为主的多种形式的实验教学模式。
1.集中指导、独立完成的教学模式:软件开发环境课程的部分随课实验属于对基本原理的进一步理解的验证型实验,这类实验基本上属于应该独立完成的简单实验,一般先由实验教师先进行集中指导,然后由学生根据实验指导书独立完成。
2.任务驱动式教学模式:对部分设计型实验项目,在给定设计任务和要求的情况下,学生从资料收集、方案拟定、设计与调试到撰写设计报告,主要由学生自行完成,强调学生实验过程的“自主性”,这种面向任务的教学方法给予学生最大的发挥空间,培养了学生分析问题与解决问题的能力。
基于EveryCircuit软件的电控教学实践研究发布时间:2021-12-21T05:36:06.364Z 来源:《教学与研究》2021年28期作者:向勇[导读] 电子控制技术教学中面临理论性强、知识抽象、实践困难等问题,利用EveryCircuit电路仿真软件从电路设计、数据分析、真题探究三个方面开展教学实践,向勇浙江省绍兴市阳明中学,312000摘要:电子控制技术教学中面临理论性强、知识抽象、实践困难等问题,利用EveryCircuit电路仿真软件从电路设计、数据分析、真题探究三个方面开展教学实践,并通过对照实验进行教学效果分析,从而展示EveryCircuit软件辅助教学在知识传授、素养培养方面的作用。
关键词:电子控制技术;EveryCircuit;电路仿真受限于高中生的知识水平与学校的软硬件条件,选择以“讲”代“练”进行电控教学已经成为课堂教学的无奈与常态。
这种理论与实际的脱节极易导致学生对电路认知的偏差,在后续的学习中过早出现瓶颈,更不利于学生核心素养的提高。
因此,就如上问题我们开展了诸如学生动手纸绘、面包板电路连线、电控实验室探究等教学尝试,但在实际应用中依然存在困境有待突破:1.真实电路连线和调试较为复杂;2.数据采集、显示、处理困难;3.与试题无法形成直接关联。
随着现代科技与课堂教学结合的不断深入,依托智能手机、交互平板的电路模拟软件为我们解决上述问题提供了新的思路。
笔者利用EveryCircuit(电路模拟器)在电路仿真中的优势,开展教学实践,并通过对照实验进行教学效果检验。
一.EveryCircuit的特点与功能相较于multisim10、Protel、EWB等电路模拟软件,EveryCircuit具有操作简单、显示直观、组件适配等优点。
同时,软件可以依托学生熟悉的智能手机、交互平板作为运行平台,易于学生上手也方便在多种场景中使用。
A为数据显示区,可以实现对指定物理量的动态观测;B为组件选择区,在“+”处能找到电控教材对应的基本元器件;C为电路操作区,点触操作实现电路的连接,并在运行后进行动画展示;D为调节区域,可以通过转盘实现各元器件参数的调整。
基于软件框架的软件设计实践教学方法研究
摘要:软件设计是本科阶段软件工程课程教学的重难点内容,目前在教学实
践中,因缺乏软件设计相关教学资源的支持,学生难以在有限教学课时内理解抽
象的理论并将其运用到软件设计实践中。文章提出一种软件框架AF4JAVA,在
此基础上定义软件设计实践教学过程,形成一种软件设计实践教学方法。
关键词:软件工程;软件设计;软件框架;实践教学
0、引言
软件设计是软件需求分析与实现之间的沟通桥梁,是软件质量形成的重要阶
段,在软件开发中具有重要作用。因此,在本科阶段软件工程课程教学中,软件
设计被作为重点内容进行讲授。然而,软件设计既需要理解模块化、信息隐蔽和
功能独立等抽象概念,又要把握高内聚、低耦合等设计原则,同时还要了解已有
的软件体系结构风格、设计模式和软件框架等与工程实践密切相关的设计知识。
因而,软件设计一直被认为是软件工程课程教学难点中的难点。由于缺乏与软件
设计相关的教学资源,学生往往难以在有限教学课时内理解这些抽象的概念、原
则和方法并将其应用于实践,影响了软件工程课程的教学效果。
近几年在软件工程教学研究工作中,国内外高校主要通过引入CDIOm思想
改进传统的软件工程课程教学,特别强调以项目驱动的方式培养和提高学生的软
件开发的实践能力。这些研究都针对软件工程教学改革进行了有益的探索,但仍
然缺乏有效的教学资源来帮助学生理解抽象的软件设计理论知识,并切实培养和
提高他们软件设计的实践能力。
1、软件框架AF4JAVA简介
软件框架AF4JAVA是重要的教学资源,它帮助学生理解抽象的软件设计理
论知识,同时也为他们运用这些知识进行软件设计实践起到指导作用。通过对
Struts、Spring和Hibernate等JAVA开源框架进行集成、封装和抽象,构建出
AF4JAVA框架。AF4JAVA该框架中设计并实现了一组实现数据访问、抽象的领
域实体对象等功能软件构件,对学生隐蔽了使用JAVA开源框架的繁琐细节。
AF4JAVA框架本身不仅可以帮助学生更好地理解软件体系结构风格、设计模型
和软件框架等知识,而且还能使学生利用它提供的可重用构件,高效地进行JAVA
Web应用软件的设计。
AF4JAVA框架被分为用户界面层(UIlayer),领域层(Domain layer)和数
据访问层(Data Access layer)三层,如图1所示。用户界面层用于实现图形用
户接口GUI,提供用户与应用程序之间的交互。领域层封装了业务逻辑和业务实
体,并向uI层提供业务功能接口。数据访问层则封装了对数据库的访问功能,
为领域层提供数据访问接口。
2.1 数据访问层
数据访问层由IDataContext、DataConteXt、Configure和Mappingfile 4个构
件组成。图2所示为软件框架AF4JAVA中数据访问层的示意图。其中IDataContext
接口定义了对象的增删改查、事务管理等操作。DataContext类通过使用Hibernate
框架中的构件,实现IDataContext接口。Configure中包含数据库连接的配置文
件。Mappingfile是用于定义对象一关系映射的文件。DataContext的实例根据数
据库连接配置和对象一关系映射关系,完成对数据库的访问操作。
2.2 领域层
领域层中有IService、Service和Entity 3个构件,如图3所示。其中IService
中定义了一组接口ISubsystem_1,ISubsytem 2,……,ISubsystem_N,用于封装
子系统功能,并为用户界面层提供业务服务。Service中包含了一组业务类
Subsystem 1,Subsystem 2,……,Subsystem_N,用于描述IService中定义的子
系统功能接口,这些业务类可以通过访问层中的IDataContext接口数据实现对数
据的访问。Entity中定义了实体对象及其之间的关系。Entity又由Entityobject、
ErrInf0和业务实体类构成,如图4所示。其中EntiyObject抽象类声明了用于数
据校验的抽象方法valid,Errlnfo类封装了错误字段和错误信息,BusinessEntity 1,
BusinessEntity 2,……,BusinessEntity N是一组业务实体类,用于封装业务服务
过程中需要处理的数据,通过继承EntityOb~iect类实现数据校验的抽象方法。
2.3 用户界面层
UI层包括View、ViewModel和ViewController构件,如图5所示。其中View
构件用于定义一组JSP页面WebPage 1,WebPage2,……,WebPage N。ViewModel
为渲染JSP页面提供数据或者保存从JSP页面获取的数据。ViewControUer中定
义了一组JSP页面请求处理的动作Action 1,Action 2,……,Action N等。这
些动作通过调用领域层中的业务服务接口完成具体的业务处理过程。
3、基于AF4JAVA框架的软件设计实践教学过程
基于AF4JAVA框架开展软件工程实践教学的总体目标是:首先通过对
AF4JAVA框架的讲解,使学生能理解抽象的软件设计理论知识,了解如何使用
该框架进行设计工作。然后让学生通过模拟真实开发场景,在AF4JAVA框架和
与之相关的软件设计相关文档模板等教学资源的支持下,完成对给定的实践项目
的软件设计方案,以达到培养和提高学生软件设计的实践能力。
基于AF4JAVA框架的软件工程实践教学过程可分为初始阶段、计划阶段、
实施阶段和评审阶段4个阶段。
1)初始阶段。
该阶段主要让学生学习AF4JAVA框架,并明确软件设计相关文档的书写要
求。首先,教师在课堂教学中通过“用户在线注册”的简单例子剖析基于AF4JAVA
框架的软件设计过程,使学生了解该框架的特点、内容和用法。然后,将学生分
成人数为4~5人的小组,并在组内讨论构建AF4JAVA框架中使用的软件体系结
构风格、设计模式,以及遵循的设计原则等软件设计理论知识。进一步,讲解基
于AF4JAVA框架的UML设计模型、设计计划书和设计规则约说明书等软件设
计相关文档模板。最后,选定一个规模合适的实践项目,给出其需求规格说明书,
并要求学生分组讨论该项目需求。2)计划阶段。
该阶段主要是各个小组按照基于AF4JAVA框架的项目设计的工作计划书模
板,制订实践项目的设计计划书。制订计划书过程主要步骤为:①按照项目需求
规格说明书,将待开发软件系统划分成若干子系统,确定这些子系统中用例的优
先级,并进行排序。②将每个子系统的设计任务进行分割,并将这些分割后的任
务分配给小组成员,设定完成期限,估算完成每个子系统设计任务需要迭代的次
数,据此估算完成每个子系统设计需要的时间。③制订小组讨论会的计划,要求
在每次迭代完成时进行必要的组内评审和回顾,保证设计的质量。
3)实施阶段。
该阶段中项目小组按照项目设计计划书开展工作,建议采用迭代增量式的软
件设计过程,如图6所示。下面对该过程中的每个步骤进行介绍。
步骤1(静态结构的设计):按照计划书中任务分割和分配情况,利用基于
AF4JAVA框架的UML设计模型中预定义的类和接口,小组成员使用UML类图
说明某一子系统的用户界面层、领域层设计和数据层中包含的类,以及3个层次
间的接口设计。
步骤2(动态行为的设计):小组成员使用UML活动图、顺序图说明该子系
统各层次内部、层次之间的交互以及外部与子系统之间的交互。
步骤3(设计规约的书写):根据步骤l和步骤2得到的设计模型,按照
AF4JAVA框架的设计规约说明书模板,书写该待建子系统的设计规约说明。
步骤4(组内评审):小组成员通过讨论会评审该次迭代的设计结果。评审
的结果决定小组是否调整后续的迭代过程。同时在讨论会上也要回顾此次迭代过
程中好的和不好的做法,帮助提高后续设计工作的效率。
重复步骤1~步骤4,直至完成整个项目的设计方案。
4)评审阶段。
最后,以项目答辩的形式,各组汇报自己的设计工作完成情况。答辩时,必
须提交项目设计的工作计划书、设计说明文档和答辩演示文稿。根据各组完成设
计工作的表现,教师进行讲评和最后总结。
4、结语
软件框架AF4JAVA为学生提供了一种直观的、有效的软件设计的教学资源。
实践证明,基于AF4JAVA框架的软件设计实践教学过程,帮助了学生理解软件
设计的抽象概念,同时也使学生能更好地进行软件设计实践,进而改善软件工程
实践教学的效果。下一步,我们将继续完善该框架的内容,优化基于该框架的软
件设计实践教学过程。