软件课程设计

2025-01-07

软件课程设计(精选12篇)

软件课程设计 篇1

摘要:本文针对当前《软件设计模式》课程教学中存在的问题, 提出一种教学设计方法, 并给出了一个教学案例, 最后对提出的教学设计方法进行了分析。

关键词:《软件设计模式》,教学设计,教学案例

《软件设计模式》是一套多数人知晓的、经过分类编目的、被反复使用的代码设计经验的总结。学生感觉这门课程学习起来比较困难。市场上也有一部分教材以生活中的例子或典故为主导, 授课时容易只注重细节, 而很难上升到一定高度, 最终学生只会简单应用, 不会分析, 更不会进行合理的选择。本文主要针对我校学生特点及当前教学中存在的问题, 总结出一个相对合理的教学方法来提高教学效果。

一、教学过程设计

本课程在讲授时采用教材为《Head First设计模式》, 参考教材为《实用软件设计模式教程》、《Java与模式》、《大话设计模式》等。《软件设计模式》课程只有30 (22+8) 学时, 要对本课程中各个具体的设计模式都一一介绍是不现实, 也是不可能的。在制定教学大纲时, 充分考虑到了学时、办学定位、学生特点等方面, 选取了其中12个设计模式作为课堂教学的内容。选取标准主要为: (1) 在以后工作中常用的模式。 (2) 在模式分类中具有典型代表的模式。结合传统的教学方法, 在讲授本课程时使用了以下教学过程设计。

1. 给出场景。即提出一个与本次课程要讲授的设计模式相关的设计问题。这一步选取场景时要注意, 此场景必须是学生们比较感兴趣的、熟悉的, 且学生能够依据此场景给出一个合理的设计方案。

2. 场景分析。引导学生思考, 给出此场景的设计方案, 针对其中存在的问题, 依据设计原则进行一步一步的“优化”, 最后得出良好的设计方案。

3. 讲授该设计模式中体现的设计原则。由于每个设计模式中体现的设计原则不同, 并且同一个设计原则会在不同的设计模式中体现, 所以此处的讲解关键在于设计原则的内涵及其使用。

4. 引出欲讲授的设计模式的定义、意图、结构图、适用场景、优缺点、效果分析等, 并用代码演示第一步提出的场景。

5. 课堂练习。针对刚才的讲解, 再给出1~3个不同的场景, 让学生当堂给出其设计方案。

6. 布置作业。此作业为课外作业, 要求学生给出完整的设计及代码。

二、教学案例

观察者模式 (又称发布/订阅模式) 是软件设计模式的一种。观察者模式定义了对象间的一对多的依赖关系, 当一方的对象改变状态时, 所有的依赖者都会被通知并自动被更新。此种模式通常被用来实现事件处理系统。下面以该设计模式的教学为例, 阐述前面的教学过程设计。

1. 提出场景——报纸订阅系统。

报社出版报纸, 客户可随时向报社订阅或取消订阅报纸, 即只要报社在运营, 就会一直有人 (或单位) 向它们订阅或取消订阅报纸。当报社有新报纸时, 就会给处于订阅状态的客户送去。如果你取消了订阅, 则将收不到新的报纸。

2. 场景分析。

引导学生一起分析得出, 该场景中主要涉及到的“角色”有:报社、报纸、客户 (包括人或单位) 。行为方式有: (报社) 出版 (报纸) 、 (客户) 订阅 (报纸) 、 (客户) 取消订阅 (报纸) 。根据课堂提问及学生上课反馈情况给出其初始设计方案, 如图1所示:

在初始设计方案的基础上, 引导学生进一步分析, 当报社有新的报纸出现时, 会送到客户手中, 说明客户是受到报社的影响的;并且客户向报社订阅或取消订阅报纸, 其数据应放在报社方, 即报社方要清楚当有报纸出版时, 应发送给谁。为使此设计方案更有弹性, 即当出现新的客户向报社订阅报纸或客户欲向新的报社申请订阅时, 我们不影响到对方且不用修改代码, 这就是说要“针对抽象编程”, 如何完善已有的设计方案?也就是说我们要给报社及客户提供一个“抽象”概念。具体见图2:

3. 总结模式要点。

观察者定义了对象之间一对多的关系, 主题用一个共同的接口来更新观察者, 观察者和被观察者之间用松耦合方式结合, 可观察者不知道观察者的细节, 只知道观察者实现了观察者接口。使用此模式, 可以从可观察者推或者拉数据, 有多个观察者时, 不可以依赖特定的通知次序。

4. 体现的设计原则。

观察者设计模式中出现体现的设计原则中“针对抽象编程”、“多用组合, 少用继承”、“里氏替换原则”、“为交互对象之间的松耦合而努力”等。在课堂上对前面未讲过的设计原则再进行详述。

5. 课堂练习。

气象站 (教材上的例子) :关键是抽象出主题和观察者;图形显示系统。

6. 作业布置——班会通知。

设计模式:班长临时通知大家一件事, 辅导员有事, 班会取消。当大家听到这个消息的时候, 不再去教室开会, 而是各忙各的事。

三、教学分析

从学生提交的作业、课下学生反馈及期末考核等多方面来看, 本课程的教学设计基本上能达到预期的目标。但存在问题有:学生水平参差不齐, 有一部分学生并没有完全理解设计模式的精髓, 只会简单地去“套用”。如观察者模式中, 个别学生并没有完全明白主题和观察者之间的关系, 即观察者的状态是随着主题状态的改变而改变的。所以作业中有的同学只让“班长”充当观察者, 而有的同学仅让“班长”充当主题, 这都是不正确的。作业中的“班长”具有双重身份, 充当“辅导员”的观察者, 而又是班内其他同学的“主题”。

参考文献

[1]徐宏喆,侯迪.实用软件设计模式教程[M].北京:清华大学出版社, 2009.

[2]黄洪.PBL的改进及在“软件设计模式”课程教学中的应用研究[J].计算机教育, 2008, (8) .

软件课程设计 篇2

指导老师:汪汉新

一、题目

学生可根据自己的兴趣从以下参考题目中选择其中一个(使用的编程语言不限,Matlab,C,C++均可),学生也可以自行选择与通信系统相关的题目。

题目1.信源编码的软件实现

软件编程实现信源压缩编码中的香农编码,费诺编码或哈夫曼编码。要求任意给定一个离散的无记忆信源的符号个数和发生的概率,能够计算和输出显示该信源的信息熵,编码的码字,码长,平均码长和编码效率,并对编码的性能进行比较分析。

题目2.离散无记忆信道容量迭代计算的软件实现

软件编程实现通信系统的离散无记忆信道容量的计算。要求在设置迭代精度的情况下,对于任意给定一个离散的无记忆信道的转移概率矩阵,能够给出达到信道容量的信源最佳概率分布,并计算信道的容量。

题目3.模拟调制与解调的软件实现

软件编程实现上述通信系统的功能。要求信号源产生随机的模拟信号,进行单边带SSB或双边带DSB的模拟调制与解调,信道加入高斯白噪声,结果能以图形的方式显示整个调制与解调的工作过程中各个信号的时域和频域的波形图,并分析比较调制的性能。

题目4.数字调制与解调的软件实现

软件编程实现上述通信系统的功能。要求信号源产生随机的数字信号,进行ASK,FSK或PSK数字调制与解调,信道加入高斯白噪声,结果能以图形的方式显示整个调制与解调的工作过程中各个信号的时域和频域的波形图,计算相应的误码率,并分析比较调制的性能。

二、要求

每个学生可选择一个自己感兴趣的题目,必须独立完成,不能互相抄袭。设计完成后,将所完成的工作交老师检查。并按电信学院的软件课程设计报告模板格式(从电信学院主页下载专区大三课件中下载)写出一份详细的设计报告。

1. 查阅资料:通过期刊、网络等查找资料,并阅读所得资料。

2. 总体设计:在已查资料的基础上进行总体方案的设计。

3. 编 程:用相关语言编程实现课程设计。

4. 调 试:对所编程序试运行、查错、修改。

5. 撰写设计报告:A4幅面打印,报告中流程图和其他所有图形要求用Visio软件绘图。

三.参考书籍

1.曲炜,朱诗兵。信息论基础及应用[M]。北京:清华大学出版社,2005。

2.钟麟,王峰。Matlab仿真技术与应用教程[M]。北京:国防工业出版社,2002。

3.韩利竹,王华。Matlab电子仿真与应用[M]。北京:国防工业出版社,2003。

4.John Proakis.现代通信系统-应用Matlab.北京:科学出版社,2003(中文或英文版)

四.安排

1.时间:第6-11周,周四下午3:00-5:30。

2.地点:15号楼816。

软件课程设计 篇3

摘 要:高端软件设计人才不仅要有过硬的设计技能,还要有牢固的工程观、系统观和产品观。本文基于南京大学软件学院的教学实践,以软件系统的设计与构造为主线,提出了围绕软件设计设置和实施的软件工程专业关键课程方案。该方案强调在专业入门课程就开始培养学生的软件工程观念和系统观念,并一以贯之地教授学生在软件工程思想的指导下进行软件设计的能力。

关键词:软件工程;软件设计;教学改革;课程建设;教材建设

一、概述

作为国家战略性新兴产业,软件业急需一批领军型软件人才。教育部在2002年批准开办软件工程(以下简称SE)专业并设立国家示范性软件学院,2011年批准设立软件工程一级学科并把软件工程师培养列入了卓越工程师教育培养计划。至2013年,我国有425所高校开设软件工程专业,设点数、招生数及就业质量均进入前十。因此,研究与建设软件工程专业关键课程体系对于软件人才培养具有重要的现实意义和积极的推动作用。

国际上,IEEE和ACM共同制定了软件工程学科教程CCSE[1,2],给出了软件工程专业的教育知识体系,提出了组织和设计课程体系的若干建议,是公认的软件人才培养工作基础。CCSE推荐课程包括SE基础课程5门、CS中级课程3门和SE高级课程6门,并提出了SE优先的课程方案和CS过渡的课程方案。

但是,SE专业在教学实施中面临以下难题[3]:(1)传统计算机科学(以下简称CS)专业的软件工程课程如何合理过渡到SE基础课程和6门SE高级课程;(2)如何落实SE优先的教学理念,解决关键课程的教学实践与教学资源;(3)如何实施软件工程课程与程序设计类课程的融合教学。

具体来说,目前国际国内缺乏对SE关键课程的教学实践,SE优先的基础课程与部分高级课程属于全新构造,难觅教材和成熟的教学资源,从而导致SE专业教学在实施时面临很大困难,大多数学校只能因循计算机科学专业传统课程过渡。因此,贯彻SE优先的教育理念与落实系统化的SE专业教学体系成为摆在广大SE教育者面前的一个巨大挑战。针对这些问题,南京大学软件工程专业经过多年教学实践,以软件开发的核心工作——软件系统设计与构造为主线,提出了面向软件系统设计与构造的SE专业关键课程教学实施方案。

二、设置思路

CS传统课程按照知识领域安排,非常适合于培养研究性人才。软件产业则迫切需要能够综合运用各种工程技术知识解决具体问题的实用性人才。为此,南京大学SE专业教学体系从能力培养入手,强调持续培养学生的工程观、系统观和产品观;面向“软件系统设计与构造”主线,规划专业关键课程,实践并求精CCSE的SE优先课程设置方案;探索关键课程的教学内容与教学方法,建设相关教材与教学案例。

1.提出软件工程专业课程改革的基本策略。在专业教学早期开始培养学生工程观、系统观与产品观,引导学生持续以软件工程观的角度学习与体验软件系统分析、设计与构建的过程。在一年级开设软件工程课程,专业入门时就树立学生的工程观和系统观,将质量、成本、度量、折中、决策、纪律、规范等工程理念贯穿后续课程,通过反复强化来培养学生牢固的工程理念以及基于工程理念解决问题和进行开发的能力。

2.规划与实践SE优先的专业关键课程。遵循工程的集成与创新特征,面向“软件系统设计与构造”,按照软件系统规模由小及大的次序建立专业教学主线,即以小规模系统、中规模系统、中规模产品、大规模系统技术、应用领域来部署SE专业课程的展开。在单门课程中强调构建系统的全面知识融合教学,培养学生解决实际问题的综合能力。

3.探索适应培养卓越软件人才的教学方法。软件人才培养必须重视学生的工程实践能力、设计能力与创新能力培养,重视实验、实训、实习等培养过程,特别是理论教学与实践教学的完美融合。主要的教学方法包括:面向具体的软件系统构造项目开展综合性知识教学;加强课程教学案例与实践用例建设,实施理论、案例、实践相辅相成的教学;探索校企合作教学、面向问题教学、体验式教学、面向实际教学、研讨式教学、软件创新设计竞赛教学等适合卓越人才培养的新型教学方法。

三、课程体系框架

下图给出了南京大学SE专业的课程体系框架[4,5],其中左侧为重点建设的SE专业关键性基础课程,右侧为其他SE专业基础课程和高级课程,后者在教学上较为成熟,故不赘述。

面向“软件系统设计与构造”的SE专业关键课程共7门,分别为计算系统基础、软件工程与计算Ⅰ、软件工程与计算Ⅱ、软件工程与计算Ⅲ、软件需求工程、软件系统设计与体系结构、人机交互的软件工程方法,分别重点解决学生计算系统分层构建、个人级小规模软件系统设计与构造、小组级中小规模软件系统设计与构造、模拟团队级中规模软件产品设计与构建、大规模软件系统的需求技术、大规模软件系统的设计技术、交互式软件系统设计与评估技术等关键性能力培养。

南京大学软件工程专业课程体系结构图

这7门关键课程均围绕一个具体的软件系统教学案例,融合构建系统所需的多方面知识展开每门课程的教学。各课程都精心设计了一个教学讲解用的软件系统构建案例,并同步设计了一个培养学生工程能力的实践用例。课程围绕教学案例和实践用例的构建活动组织课程教学和实践教学。课程同时力图打破传统课程的技术藩篱,将程序设计、软件工程、交流与沟通、团队动力学、职业素质、过程管理、工程经济学等知识进行融合教学,在案例中引导学生使用软件工程的观念来观察、体验和实践计算系统软件的设计与构建过程,训练其软件系统设计与构造的综合能力。

四、课程描述

“计算系统基础”,以一个经典计算机指令集MIPS的简化版本DLX为线索,以C语言为载体,使初学者可以建立起完整的计算概念,了解经典计算系统的工作原理,理解计算系统自底向上、逐次构造的过程;理解结构化程序设计,能够利用自顶向下、逐步求精的方法完成小规模的结构化程序。具体教学内容包括:数据的机器级表示、数字逻辑、冯·诺伊曼模型、机器语言、汇编语言、输入和输出、Trap 机制和子例程、结构化程序设计和语言处理。endprint

“软件工程与计算Ⅰ”,在软件工程理念指导下,侧重于程序设计教学。以一个计算示例和实践用例的迭代式增量开发实践为线索,全面培养学生在个人开发级别的小规模软件系统构建能力,让学生初步体验软件工程方法与技术在系统开发中的关键作用。具体教学内容包括:程序设计基础、面向对象程序设计语言;OOA、OOD、调试与测试等软件工程知识;个人级别的软件开发活动管理、个人级别的软件职业知识。

“软件工程与计算Ⅱ”,以经典软件工程方法与技术为主线,软件设计与构造知识为教学重点,软件系统构建实例(计算系统示例与学生实践用例)为切入点,培养学生基于瀑布模型的、简单小组开发级别的、中小规模软件系统构建能力。具体教学内容包括:软件工程历史、软件职业知识;适用于中小规模软件产品开发的软件工程方法、原则与实践;软件工程方法指导下的程序设计原则与实践;小组级别的简单软件开发活动管理;包括代码和重要文档在内的关键软件开发制品。

“软件工程与计算Ⅲ”,以螺旋模型和团队实践为特征,通过开发一个中等规模软件产品的方式,培养学生对程序设计和软件工程方法的实际运用能力,同时强化学生的职业技能和项目管理能力。将学生组织成8人左右的团队,按照6个阶段(即项目启动阶段、第一循环、第二循环、第三循环、第四循环、项目部署阶段)合作完成一个具有一定复杂度的具体项目。在项目完成过程中,涉及需求、设计、实现和质量保障,强调团队协作、文档写作、工具使用、陈述等能力,并在软件团队中对软件开发进行管理。

“软件需求工程”,以需求工程技术、软件经济学和迭代过程为特征,结合工业界实例综合分析,培养学生构建大规模软件系统所需要的需求获取、分析与建模能力,试图让学生把握需求工程工作给后继软件项目工作带来的影响。具体教学内容包括:需求工程基础、需求获取方法与技术、需求分析方法、需求分析模型与建模技术、需求管理与需求工程过程知识、软件工程经济学等。

“软件系统设计与体系结构”,以软件设计、体系结构、可复用软件过程为特征,结合复杂工程案例及其重构,培养学生构建大规模软件系统所需要的综合设计技术能力。具体教学内容包括:软件设计的要素、软件设计的支持与评价、软件设计方法、体系结构设计、详细设计、基于中间件的设计、基于复用的设计和设计演化。

“人机交互的软件工程方法”,以用户为中心的设计与软件再工程为特征,培养学生交互式产品开发的软件分析、设计和评估技术。具体教学内容包括:可用性工程、人机交互界面的经典模型、人机交互的需求工程方法、人机交互的设计方法以及基于行为观测与眼动分析的交互评估技术等。

五、教学方法

软件人才培养需要重视教学方法改革,面向软件系统设计与构造的SE专业采用了一系列新型教学方法。

面向问题教学要求各课程都以工程问题开始,并依照工程问题的解决过程和活动来组织教学,这既体现了多种知识的融合运用,又培养了学生的问题解决能力。体验式教学要求各课程在实验设计时必须考虑模拟现实环境的不确定性因素,让学生体验真实的开发氛围,这既能培养他们综合运用各种知识与方法解决问题的能力,又能重点训练他们的折中、决策、沟通等非技术能力。面向实际教学要求各课程在讲授软件开发方法与技术时,要结合实践调查数据说明企业对不同方法、技术的选择与权衡情况以及应用效果,要突出企业界的主流方法与技术,遵循企业界的行业标准与规范,这既能让学生更深入地理解方法与技术,又能开拓他们的视野。研讨式教学要求各课程针对教学难点和重点,给出启发式问题,让学生自行收集资料,研讨解决,这既培养了学生的问题解决能力,又培养了他们的创新能力。基础课程结合软件创新设计竞赛教学鼓励低年级学生在导师指导下,结合课程教学内容,自由选题,参加软件创新设计竞赛,鼓励学生创新。部分高级课程采取实训实习后回顾教学,通过理论教学考试和实训实习后再回顾总结报告综合评定分数,促使学生学习理论、实践体验、再总结提高,以提高他们的工程认知能力与创新能力。还有部分高级课程采取校企联合设计课程、联合实施教学的校企合作教学。

这些教学方法可以培养学生牢固的工程观念、综合运用设计技术进行创新以解决复杂工程问题的能力、基本的职业素质与交流沟通团队组织能力以及良好的开发过程驾驭能力等。

面向软件系统设计与构造的SE专业关键课程建设秉承教材系列化、案例行业化、实践系统化、资源公开化的原则,围绕教材、案例和实践,打造了软件工程专业课程精品教学资源。多门课程入选国家精品课程,出版系列教材,建设教学案例和学生实验教学用例,建设课程教学资源示范网站,提供丰富的教学资源(课件、教学与实践案例、实验设计、教学视频),可供我国软件工程专业教育者参考。

参考文献:

[1] ACM/IEEE Joint Task Force on Computing Curricula[EB/OL]. Software Engineering 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, http://sites.computer.org/ccse/.

[2] 骆斌,臧斌宇,丁二玉. 软件工程专业教学知识体系的分析、重构与求精[J]. 计算机教育,2010(23):2-8.

[3] 刘强,陈越,骆斌等. “软件工程”课程教学实施方案[J]. 中国大学教学,2011(2).

[4] 骆斌,葛季栋,丁二玉等. 软件工程专业课程体系的研究与创新实践[J]. 计算机教育,2010(23):9-13.

[5] Eryu Ding, Bin Luo, Daliang Zhang, etal. Research and Practice on Software Engineering Curriculum NJU-SEC2006, CSEE&T2011[R]. Proceedings of 24th IEEE-CS Conference on Software Engineering Education and Training.

《软件UI设计》课程教学初探 篇4

随着软件技术的发展, 用户对软件的要求越来越高, 尤其在用户体验方面, 用户需要享受软件的使用过程, 这样对软件UI设计也提出了更高的要求。软件UI设计相关的课程在各高校已经陆续开设, 由于国内的UI设计还不是很成熟, 所以在怎样开设相关课程上有许多争议, 笔者根据本专业的课程开设情况, 对《软件UI设计》课程做一些研究, 供大家参考。

2、课程目标

《软件UI设计》课程总体目标是使学生掌握软件UI设计的方法, 使学生熟悉软件UI设计的基本概念和方法, 掌握软件UI设计的基本思想和技巧。通过教学应使学生获得三个软件UI设计的能力:第一, 能正确使用各种界面设计软件;第二, 能掌握软件UI设计的基本方法;第三, 能进行一般的软件UI设计。

3、教材选择与教学内容

国内软件UI设计起步比较晚, 相关的教材比较少, 有些教材比较旧, 不适合现在的教学, 所以我们选择国外教材《众妙之门——网站UI设计之道》, 该教材是知名设计网站Smashing Magazine上线以来的精华总结, 来自全球的知名设计师无私地分享了他们多年积累的宝贵经验。教材知识覆盖面非常广, 具有很强的操作性和专业性, 全书逻辑严密、言简意赅, 设计人员可以快速地找到自己想要的东西。

教材只是给学生一个参考的对象, 而教学内容的选择对课程是非常重要的。由于本门课程的特殊性, 教学内容的选择非常重要, 没有现成的课程体系参考, 只能根据实际的软件UI设计的应用来选取内容。

教学内容主要分三个模块, 分别为网页UI设计、桌面软件UI设计和手机UI设计, 主要侧重于网页UI设计。具体课时和内容安排如下表所示:

4、教学方法与考核

在教学中, 总体上是采用任务驱动式教学模式, 通过一个个任务来达到教学目标。对不同任务又采用不同的教学方法, 例如在网页UI设计模块, 采用学生自主设计为主, 没有对错好坏之分, 只要学生设计出相关的界面就算成功。而在手机UI设计模块, 则采用纯模仿为主, 完全参考效果图设计出就算成功。

由于课程的特殊性, 课程的考核采用过程化考核方式, 将整个学习过程都纳入到考核当中, 学生的每一任务的完成都有相应的分数, 学生的总成绩=平时表现+学生互评成绩+任务完成成绩+课程设计成绩。这样, 在UI设计没有一个统一标准的情况下, 逐步将学生的成绩进行量化, 使学生重视平时的学习, 弱化最后课程的考核, 改变学生最后突击的现状。

5、结束语

《软件UI设计》课程比较难开设, 但对软件专业的学生又是非常重要的, 如何能开设好课程, 培养学生的创新精神, 我们需要探讨的方面还有很多。

参考文献

[1]张军.关于UI界面设计课程设置的构思与创想[J].艺术与设计 (理论) , 2011, (7)

软件工程课程设计题目 篇5

1.个人通讯录管理系统

要求:增加记录、删除记录、显示所有记录、查询记录、退出。通讯录记录信息包括:姓名,电话,email等。(其中,用户输入正确的用户名和密码才能看到自己的通讯录信息)

2.图书销售系统 要求:系统可以:

显示每本书的详细信息

显示购物车和顾客选购的图书信息 增加新购买的新书

对定单的修改、确认、提交等 图书销售数量的排行

3.企业办公自动化管理系统(企业客户管理)

要求:针对企业常用的功能设计一个普遍适用的企业办公自动化管理系统,包括考勤管理,客户管理,每天的工作管理,个人信息修改,权限管理,注销等功能。

4.ATM柜员机模拟程序

要求:当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行(规则可以按照实际系统做需求):

查询余额:初始余额为10000元

ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

ATM存款:不能出现负存款。修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

5.火车订票系统

要求:可输入、添加、删除及修改列车信息,并能实现查询、订票、退票等功能。此系统还应能够打出取票通知和帐单,以保证能使每个旅客在出发的前一天凭取票通知和帐单交款取票。

6.超市收银系统(不考虑条码处理部分)

要求:接收收银台(客户端)的信息,经服务器处理后,把结果返回到收银台。即:客户端由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等,然后把信息提交服务器。由服务器从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200员,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

7.教师工资管理系统: 其中包括:基本信息管理,考勤信息管理,加班信息管理,工资信息管理,工种工资参数设置和年终奖生成几大模块。本项目数据库设计针对不同角色的用户需求,设计了三种角色.其中包括超级管理员,系统管理员和教师用户.帐户信息

不同的登录用户有对应的用户角色,登录用户名和登录密码,用户角色针对不同的用户群,而登录名则是帐户信息全局唯一的.用户基本信息

每个用户有对应的详细信息,包括:类别编号,类别名称,用户类型,部门编号,职称编号,级别编号,性别,地址,工作时间,出行日期,手机,家庭电话,办公室电话,政治面貌和教育程度等.教师部门信息

教师部门具有全局唯一的部门编号和部门名称.教师工资信息参数设置

教师工资工种编号,工资名称和工资金额.其中工种编号全局唯一.教师工资信息

教师工资包括教师编号,教师基本工资编号,教师职称工资编号,教师级别工资编号,教师工龄工资编号和教师津贴工资编号.8.图书馆管理系统

目的:方便图书馆对书籍借阅的管理

主要功能:学生基本信息查询,书籍借阅管理, 书籍管理 图书管理系统主要有三种角色,分别是读者、图书、工作人员.主要分成五个功能模块:图书管理, 图书流通管理, 读者管理, 统计查询, 系统管理.9.简易办公系统

(1)收发文管理:

对收到的公文进行登记,分类编号,(学校主要发文部门分为:教务处、财务处、学生处、人事处、保卫处、工会以及其他),并形成文件主要内容关键字,使收文能够按照关键字、时间和部门查询;对发文进行登记,并形成文件主要内容关键字,使发文能够按照关键字、时间和部门查询

(2)会议管理:

对所管理的2个会议室进行自动化管理,即由申请部门提交申请,然后统一安排会议室以及各种会议资源(如投影仪、计算机、桌子、凳子等),能形成会议资源使用通知单送达申请部门,主管领导随时查询会议室使用情况(管理者直接负责管理)。能够按照申请者的要求自动生成会议通知单,由办公室负责通知发放。能够形成会议纪要,存档并送到需要的部门(由申请者提供的信息决定)

10.选课管理系统: 主要由以下几个模块构成: 登陆:学生依照学生姓名,学号,密码等基本信息登陆 学生选课:列出所有可选课程供学生选择

课程相关信息查询:所设课程名称,教师,教材,学分,学时等信息 成绩查询:查询该门课成绩

选课方案建议:根据学生专业提供建议

信息修改:学生基础信息修改,学生选课修改 打印功能:打印所选课程信息

11.学校教材定购系统

系统简介:本系统可以细化为两个子系统:销售系统和采购系统

销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票,登记并返给教师或学生领书单,教师或学生可以到书库领书.采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员.12、音像租赁管理系统的开发与实现

目的:通过资料收集,了解音像租赁连锁店的基本业务需求,完成系统需求分析和概要设计,完成一个简单的光盘租赁管理系统的开发。任务:

音像租赁连锁店的基本业务需求,完成需求分析报告; 利用Java、C++或C#编写一个基本功能的光盘租赁管理系统,包括客户信息管理、音像资料管理、音像检索、业务统计等;

13、学生综合信息管理信息系统的设计与实现

目的:通过实际编写一个学生综合信息管理软件,将所学多门课程的技能、技巧加以综合运用,达到较大规模软件独立设计与开发的能力。任务:

软件可以对学院大学生综合信息(姓名、学号、成绩、籍贯、家庭所在地、特长、宿舍号等)进行管理(录入、删除、修改)、统计、分析(排序)、查询与打印

课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

14、家庭财务管理信息系统设计与开发

目的:通过实际编写一个家庭财务管理软件,将所学多门课程的技能、技巧加以综合运用,达到较大规模软件独立设计与开发的能力。任务:

软件能够对家庭的收入、支出进行分类统计,用户可以自定义收入、指出的类别,自定义分类查询和统计的条件。系统可以按照用户定义自动生成统计报表(月报、季报、年报)。通过财务分析,对家庭收支提出改进建议;

课程设计报告要求涵盖需求分析、概要设计、详细设计的主要内容,包括系统功能定义、模块划分、对象设计与实现的技术细节。

15、文化用品库存管理信息系统的设计与实现

目的:完成一个商品库存管理系统的简单业务流程分析,在此基础上,开发一个库存管理系统,掌握应用的开发。任务:

通过资料检索与整理,分析文化用品库存管理系统的基本功能; 完成软件开发和文档的编写。

16、大学生运动会运动成绩管理及统计分析系统实现

目的:通过本题目的设计,深入体会软件工程需求分析、概要设计、详细设计等主要环节,掌握面向对象程序设计的基本方法、训练编写一个基本的GUI应用程序。任务:

完成系统的需求分析和功能设计;

完成运动成绩统计、分析算法和模型的设计;

软件课程设计 篇6

摘要:油藏深埋地下,油藏中流体的渗流特性和地下油藏参数的变化都是依靠油藏数值模拟得到,《油藏工程》课程的特点需要借助油藏三维可视化软件对对地下油藏实现具体形象的展现。本文對油藏数模文件的格式、存储组织形式进行分析,然后利用利用OpenGL三维图形库实现了地下油气藏的三维可视化。

关键词:油藏 三维图

基金项目:重庆科技学院高等教育研究项目(GJ201408,GJ201409)。

【分类号】TE-4

油藏工程课程作为石油院校石油工程专业的主干专业课,是专门讲授油气田开采机理和方法的一门课程[1]。由于油气藏深埋地下、隐蔽抽象,油藏中流体的渗流特性和油气藏参数变化都是依靠油藏数值模拟得到,学生理解困难。随着计算机虚拟现实技术的发展,利用三维可视化技术辅助教学可以克服这些困难,成为一种行之有效的手段[2]。因此,根据油藏工程课程教学特点,利用OpenGL技术,实现地下气藏数值模拟的三维可视化。

石油行业中常用的地质建模软件有Petrel、RMS、Direct等,油藏数值模拟软件有Eclipse、CMG、VIP等。Petrel建模软件界面友好、过程管理使模型更新便捷快速,RMS的模块相对对,复杂断层处理能力较强;Direct软件可以进行多维互动的储层表征;Eclipse支持多种网格类型并能进行局部网格加密。下面我们以油田常用的Petrel地质建模软件和Eclipse油藏数值模拟软件,研究数模结果的三维可视化[3]。

1. 基于八叉树的数模文件存取技术

数模结果文件很大,有的达到100G,现有的计算机内存容量、计算和绘制性能有限,难以将海量的空间数据一次性从磁盘调入内存,而必须分块调度,因此需要研究大数据体在计算机中的存储组织技术。

存储组织与三维展示均采用八叉树数据组织结构,是一种用于描述三维空间的树状层次结构,八叉树的每个节点可以看作为一个正方体,每个节点有八个子节点,刚好利用八叉树结构描述。

我们将数模结果的大数据体分成若干小块,采用八叉树技术,即每次将数据体分为8个小块,每个小块再分为8个小块,直到每小块可以很方便地调入计算机内存并展示为止。

存储过程实际上是构造八叉树的过程,上面划分得到的可以在计算机展示的最小块构成八叉树的叶子节点,是分辨率最高、展示的体积最小的节点。如果用户要查看三维数据体的整体,需要将高分辨率的所有节点均调入内存,由于受计算机内存、绘制能力限制,这是无法做到的。人眼在观察事物时,对较远处的场景能够获得的信息相对较少,而随着距离的拉近,对细节的观察越来越详细,因此对远近不同的场景可以采用不同的分辨率(也称粒度)描述,这就是多层次细节(LOD)方法的基本原理[4]。

加载数据的初始时刻采用分辨率最低的数据,可以尽快描述物体大概的轮廓,在绘制数模大数据量的体数据时,效率仍然很高,因为它在最初加载进内存的是分辨率最小的数据,数据量小,可以在很短时间内绘制出来,随着用户放大数据体,分辨率更高的数据块需要进行绘制,直到分辨率最高的数据绘制完成。

因此在存储时,不仅需要存储分辨率最高的数据块,还要存储低分辨率的数据块。我们将分辨率最高的节点称为叶子节点,将8个子节点所表示的体积元素加在一起构成父节点的体积,父节点的分辨率比子节点低,每个父节点的数据量等于每个子节点数据量。8个父节点所表示的体积元素加在一起构成祖节点,祖节点的分辨率更低......,这样最后构成根节点,根节点表示数模大数据体的全体,其分辨率最低,在三维可视化开始加载时首先快速加载根节点,看到整个数据体的全部。

2. 油藏数值模拟模型解析与效果展示

油藏数值模拟模型数据分为文本格式和二进制格式2大类,这两种格式的文件有不同的应用场景。文本格式的文件,其格式易于解析,便于软件开发和调试;二进制格式文件读写速度快很多倍,占用更少的存储空间,我们对2种格式的文件都进行了解析,在软件开发阶段使用文本文件格式,在获取实验数据时采用二进制格式,以提高运行性能。

Petrel建立的静态模型包括很多文件,其中最重要的文本格式文件是.GRDECL。

油藏数值模拟模型二进制格式文件也可以在Eclipse软件中使用关键字进行定制输出的,在三维展示时使用的文件一般包括三个文件:

(1)*.GRID文件(*.EGRID文件):存储了网格的相关信息;

(2)*.INIT文件:属性文件,存储了孔隙度、不同方向的渗透率等静态属性;

(3)*.UNRST文件:重启文件,记录了各种动态属性结果,如:含有饱和度、压力等数据。

我们通过编写Java程序,对读到的每一个关键字进行分析,再与实际Eclipse的显示效果进行对比,解析了这些二进制文件的存储方式。

地下油藏三维可视化可以实现多层(多分辨率)的效果展示,图1为最低分辨率(第0层)的展示效果。

3. 结束语

结合OpenGL三维图形库和Java技术编制的油藏三维可视化软件,既可以加深学生的理解和记忆,有提高了教学效率,对激发学生的学习积极性有极大的促进作用。同时如果学生感兴趣,也可以自己编制该软件,培养了学生编程能力。

参考文献

[1] 李传亮?, 油藏工程原理(第2版)[M].北京:石油工业出版社,2011

[2] 张力,应用虚拟现实技术提高网络教学质量的研究[J],电化教育研究,2003,8(6):56-60

[3] 吴永彬等,基于PETREL的油藏三维可视化地质建模技术[J],钻采工艺,2007,30(5):65-66

[4] 申龙斌,油田勘探开发地质对象三维可视化关键技术研究[D],博士论文:中国海洋大学,2010

软件课程设计 篇7

当前正处于知识经济时代,社会需要高校培养更多的理论和应用兼备的优秀人才,要求学生具有较高的信息素养和信息处理能力。因此,社会和时代迫切需要提高程序设计类实践性课程的教学质量和教学效果,要求在人才培养模式上进行相应的改革和创新,促使课程体系、教学内容、教学方法等紧跟社会发展的步伐。但是,教学质量的提高、教学效果的加强和高素质人才的培养不是只靠理论教学就可以达到的,同样离不开与理论教学同等重要的实践教学。一般来说,计算机实践教学往往存在以下问题:

1.实践教学以验证为主,难以培养学生创新能力。目前在程序设计课程的课内实验中,为了巩固理论课堂所讲解的语法规则和算法,采取验证性的实验居多,学生只需要按照实验指导书的步骤,即可得到理想的实验结果,完成实验。这很容易导致学生实际动手能力、创新能力的不足。

2.教学案例与现实问题结合不密切。理论教学过程中以经典算法为基础,对基本概念、语法和程序设计知识进行讲解,采用的大多是比较抽象的案例,与现实问题有一定差距。对于大学一年级学生,既枯燥又难以理解,常常感到课堂上听懂算法思想,当自己编程解决问题时,又觉得无从下手。

3.实践教学内容单一、枯燥,学生缺乏学习兴趣。程序设计课程中,首先介绍数据类型、语法规则、基本程序设计框架和函数定义等基础知识,课内实验内容一般与课程的知识点相对应,一个实验对应一部分知识点,内容比较单一、枯燥。综合性的实验受时间、学生理解等多种因素影响,练习相对比较少。而学生的自学能力与主动学习的意识不高,很多学生课外很少主动做练习,欠账后更缺乏学习兴趣。如何激发学生对程序设计课程的兴趣,调动学生的学习积极性,培养学生创新能力、计算思维能力,是教学中亟待解决的一个难题。

“实践是催生创新的动力源泉”。近年来我校一直强化计算机类课程的实践教学,以增强学生利用计算机解决实际问题的应用能力,顺应当前信息社会发展和工程教育认证的需要为目标。基于Funcode平台的软件课程设计是计算机实践教学体系改革中重要环节。

二、我校的计算机实践教育体系

需要说明的是,这里的计算机实践教育体系指的是我校非计算机专业的计算机相关课程第二个学习阶段的实践教育体系。第一个学习阶段,非计算机专业学生主要按照大专业分类学习不同知识模块组成的计算机基础;第二个学习阶段,非计算机专业学生按照理工和非理工类进行划分,非理工类学生学习多媒体相关课程并据此进行有关实践活动,理工类学生学习程序设计语言课程并据此进行有关实践活动。

针对程序设计基础课程,需要在课堂教学中设置单元实验来巩固课堂教学所讲授的知识点,也可以在教学后期由教师根据需要设置一些综合实验来串联各个知识点,例如可以设置一个排序实验,可以根据键盘输入的选择来完成对整数、字符、字符串和对象构成的集合进行排序。学生在完成课堂实验教学之后,在当年的暑期即进入软件课程设计。由于VB语言教学中已经具有窗口功能,VB的软件课程设计一般沿用课堂教学需要延展的综合性案例。C和C++语言在日常教学过程中没有涉及到窗口设计,学生做的几乎所有实验的运行结果都是命令行的显示方式,迫切需要一种更能激发学生兴趣且具有较高显示度的方式来支持C和C++的软件课程设计。Funcode平台是一个很好的选择。当然,学生在完成课程设计之后,还可以参加相应的程序设计大赛和SRTP项目,继续加强对程序设计语言的实践学习。

三、基于Funcode平台的软件课程设计

(一)Funcode平台介绍

Funcode是一款全新的基于游戏和动画界面的C、C++和Java语言综合实验教学平台。基于Funcode平台,学生用课堂里学到的程序设计知识,即能轻松开发出一款互动式游戏或应用系统。Funcode旨在点燃学生学习激情,激发学生创新灵感,培养学生综合编程能力,最大程度减轻教师的工作负担。Funcode包含界面设计和项目开发两大模块。学生在编辑器中轻松设计游戏界面、特效、各种精灵(动态精灵和静态精灵),在VC++(或其他IDE)中编写代码,完成各种定制功能。

Funcode平台实际是一个小型游戏引擎,对涉及处理流程的细节进行了封装,将游戏运行过程划分为游戏初始化、游戏运行和游戏结束三个函数。

以下代码是关于CGameMain类的成员函数GameMain Loop,该函数在main函数中被循环重复调用来运行游戏。成员函数GameMain Loop内部,涉及初始化游戏、游戏运行和运行结束三种状态,分别使用GameInit函数完成游戏初始化功能、使用GameR un函数执行游戏运行功能,使用GameEnd函数执行游戏结束功能,三种状态按如下代码进行切换。

此外,Funcode平台将游戏中所涉及的各类实体划分为静态精灵和动态精灵,将精灵与精灵、精灵与边界的交互抽象为回调函数,使得当事件发生时系统会自动地进行调用。如下函数:

void CGameMain::On SpriteColSprite(const char*szSrcName,const char*szTarName);

在精灵和精灵发生碰撞时会自动被回调,其中szSrcName指针指向发起碰撞的精灵,而szTarName指针指向接受碰撞的精灵。如下函数:

void CGameMain::On SpriteColWorld Limit(const char*szName,const intiColSide);

在精灵与边界发生碰撞时会自动被回调,其中,szName指针指向发起碰撞的精灵,iColSide确定精灵与边界碰撞的方向,其中值为0表示与左边边界碰撞,值为1表示与右边边界碰撞,值为2表示与上边边界碰撞,值为3表示与下边边界碰撞。

最后,Funcode将用户与游戏的交互划分为键盘和鼠标两类,并提供相应的函数自动处理,如下所示:

void CGameMain::On KeyUp(constinti Key);

void CGameMain::On Key Down(const intiKey,const bool bAltPress,const boolb ShiftPress,const boolb CtrlPress);

void CGameMain::On MouseUp(const intiMouseType,const float fMouseX,const float fMouseY);

void CGameMain::On MouseClick(const intiMouseType,const float fMouseX,const float fMouseY);

void CGameMain::On MouseMove(const float fMouseX,const float fMouseY);

所有这些为学生进行代码编写带来了极大的方便,实际上学生只需要根据项目需要完成这些函数的实际功能即可。

(二)教学案例设计

Funcode平台中提供了大量的教学案例,如海底世界、黄金矿工、拼图游戏、桌球游戏、拍飞虫、打飞碟、太空战机和坦克大战等传统小游戏。

学生根据需要,可以选择Funcode中自带的教学案例,教师需提供简单的功能说明,鼓励学生增加新的功能,如积分、排名和倒计时等。此外,鼓励学生积极设计新的游戏,充分利用各种多媒体工具制作素材,发挥团队作战效能,按照制作脚本、素材准备、Funcode制作和运行优化的步骤有计划、有步骤地完成软件课程设计。下表分别为C++和C课堂学生自选课题和选择Funcode平台中题目的比例。

四、应用Funcode平台的软件课程设计的教学效果

(一)Funcode平台使用情况介绍

对于2014~2015学年夏季学期,全校大约有3300名学生参加暑期实践。暑期实践分为计算机实践、英语夏令营和创业训练三个部分。其中,选择参加计算机实践的学生大约为1600名,近50%。这其中,选择参加C和C++Funcode游戏设计的学生大约1200名,选择Office综合练习的约300名,选择VB窗口系统设计的约120名。

(二)教学反馈

软件课程设计结束后,基于学校课程中心提供的在线调查功能对学生进行了教学效果的网络调查。下面分别从课程对培养团队精神的重要性、使用程序设计语言的体验感和成就感以及综合评价四个方面分别进行说明。

五、总结与展望

基于Funcode平台进行C和C++软件课程设计达到应有的目标,在培养学生团队能力、提升学生使用C和C++程序设计语言的体验感和成就感方面效果显著。未来需要进一步改进的工作包括:将C和C++程序设计语言课程中各种抽象的计算思维,实例化为游戏中各种实际的精灵和实际算法需求,进一步将Funcode建设成为计算思维的训练平台。

参考文献

[1]Jeannette M.Wing.Computational Thinking.Communications of the ACM.2006,49(3):33-35.

[2]陈国良.计算思维[J].中国计算机学会通讯,2012,8(1):31-34.

[3]李廉.计算思维-概念与挑战[J].中国大学教学,2012,(1):7-12.

[4]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011,(1):7-12.

软件课程设计 篇8

软件工程是指将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。软件工程专业是一门应用计算机科学、数学及管理科学等原理,研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。该专业人才培养目标是培养“多层次、实用性、复合型和国际化”的软件工程人才。根据SWEBOK定义软件工程学科的10个知识域内涵,软件设计是关键的一个知识域[1]。软件设计处于软件工程过程中的技术核心位置,应用环境不需要考虑所使用的软件过程模型。与其他学科中的设计方法一样,软件设计随着新的方法、更好的分析和更广泛的理解的引入而不断地变化着。

文章以海南师范大学软件工程专业为例,根据多年的教学管理与教学实践经验,结合目前关于课程群建设的思想,分析了软件工程专业软件设计课程群的教学方案中存在的问题,结合“工作坊”实践教学活动[2],从理论教学内容、实践教学过程和教材建设等方面提出软件设计课程群的改革方案。

1 软件工程专业课程教学体系结构

课程群是为完善同一施教对象的认知结构,而将不同专业或跨专业培养方案中若干门在知识、方法、问题等方面有逻辑联系的课程加以整合而成的课程体系[3]。

根据该理论,结合软件工程专业的人才培养目标,软件工程专业的课程体系分为五个部分:通识教育课程、学科基础课程、专业核心课程、专业拓展课程和实践课程,如图1所示。通识教育课程和学科基础课程是一般普通本科院校理工科的常规课程。专业核心课程包括了计算机语言类课程、离散数学、数据结构、软件工程基础和体系结构等课程。在专业核心课程基础上建立起来的专业拓展课程涵盖了软件设计课程群、软件过程与管理课程群、软件开发技术课程群等工程类课程群,同时还包括了各种系统应用与专业方向课程群,比如:嵌入式课程群、图形与图像处理课程群、网络高级编程课程群等。而实践课程则涵盖了整个本科教学过程,体现的是理论与实践结合的教学理念。

2 软件设计课程群存在的问题及改革措施

2.1 软件设计课程群的教学体系改革

2.1.1 软件设计课程群的教学体系

软件设计的学习过程重点部分是“抽象”和“设计”,采用成熟的技术实现所设计的内容。软件设计课程群应以“软件设计”为核心,注重实践与方法的结合,旨在培养学生面向对象软件设计的“抽象”和“设计”能力。

软件设计课程群作为软件工程的专业拓展课程群,前驱课程群主要是计算机程序语言课程群。计算机程序语言课程群主要包括了《高级语言程序设计(C语言)》、《基于J2EE开发技术》和《数据结构》。软件设计课程群主要包含了《面向对象程序设计(Java语言)》、《算法设计与分析》、《面向对象分析与建模技术》、《软件设计模式》等课程。

2.1.2 软件设计课程群中理论教学体系存在的不足

2.1.2. 1 课程群教学内容重复

如教学体系内容所述,课程群的部分内容在逻辑上有关联、重复出现。《面向对象程序设计(Java语言)》、《面向对象分析与建模技术》和《软件设计模式》的课程内容体现了对于面向对象技术的逐步抽象过程。其外在差别体现在表达的工具不同,前者侧重Java语言中面向对象技术的实现,后者两门课程侧重利用统一建模语言描述面向对象的思想。面向对象的技术和特点是理论基础内容,也是这三门课程重复的内容。同时,《面向对象程序设计(Java语言)》课程和计算机程序语言课程群的《高级语言程序设计(C语言)》和《基于J2EE开发技术》课程在语法、数据类型、控制结构、过程和函数等方面均存在内容重复。

《算法设计与分析》和《面向对象程序设计(Java语言)》与计算机程序语言类课程群的《数据结构》重复内容更明显。除了语法等偏重程序语言方面的重复,在算法理论方面同样也存在重复内容。比如,《算法设计与分析》中分治策略的排序算法、动态规划中的二叉树、贪心算法的生成树、回溯法和分支限界法中的树与图等内容,都与《数据结构》的相关内容重复。

2.1.2. 2 课程之间结合不紧密

课程群的各门课程之间有互相重复的内容,在授课时间的安排上体现出了前趋后继关系,但通常每门课程的教学大纲彼此之间是独立的,不同课程的任课老师也各自按照课程大纲独立授课,不利于学生对该专业知识的整体性、协调性、一致性和系统化地理解与掌握。

同时,在课程群的理论教学内容中,虽然包含的内容很多、涉及的知识面也比较广,但大部分都是针对纯理论的内容,案例都是纯“数字游戏”,比如着色问题、n皇后问题。

2.1.3 改革措施

2.1.3. 1 教学内容整合

按照逻辑关系一致的原则,重新对软件设计课程群教学内容进行优化整合。按照协调一致的原则,减少重复的内容的讲授。比如,《高级语言程序设计(C语言)》课程重点介绍数据类型、运算符与表达式、语法格式等内容[4];《面向对象程序设计(Java语言)》重点讲解面向对象理论和Java语言的表达形式;《面向对象分析与建模技术》课程重点介绍统一建模语言描述面向对象的方式;《软件设计模式》课程则进一步讲解构造对象的原则以及一些成熟的基于对象结构的设计模式内容。整个教学过程清晰体现了课程群各门课程内容上的延续和侧重点,更有利于学生深入掌握软件设计课程群的理论重点。

针对《算法设计与分析》和《数据结构》课程,调整方式是在《数据结构》课程中,对于树和图等内容进行简单讲解。在《算法设计与分析》课程中,从算法和数据存储方式进行深入讲解,可以让学生对于树和图的数据存储结构以及对算法作用有更深入理解。

2.1.3. 2 共享案例

结合专业培养目标,调整教学内容中案例规模,在多门课程中共享案例。比如,以我校E-Learning系统原型为共享系统软件模版,软件设计课程群中的各门课程根据面向对象或者算法设计等各方面进行深入研究。这种方式,不仅加强了课程内容之间的连贯性,而且,可以引导学生逐步深入对于软件设计的理解和掌握[5,6]。

2.2 软件设计课程群中实践教学体系改革

2.2.1 软件设计课程群中实践教学体系存在的不足

2.2.1. 1 实践教学案例陈旧,缺乏综合性

软件设计课程实验都是针对单个知识点的验证性实验,而且实验内容陈旧,比如,对学生借书进行分析建模等。采用这种案例,学生几乎不用考虑就可以完成相应面向对象的构建,剩下的只是如何利用工具完成。单纯采用案例教学的效果并不是很理想,可能存在的原因是案例内容过于狭窄,学生几乎不需要思考就知道怎么划分相应的对象并构建类结构,从而降低了学习的兴趣。

2.2.1. 2 实践教学方式消极被动

虽然在实践教学过程中,采用了案例教学的方式,但大都是教师安排设计好案例的各个细节,采用多种方式单向传授给学生,学生被动消极接受。这种方式强调了教师授课内容的逻辑性和完整性,但忽略了学生的能动性,学生只是消极被动接受,没有和教师进行互动的环节。很明显的表现是学生在课堂教学过程中不活跃,和教师的互动积极性不高,甚至出现课堂上的消极沉默现象[7]。

2.2.2 改革措施

2.2.2. 1 共享案例和采用毕业论文作为案例

在课程群的各门课程之间共享同一个案例,课程侧重知识点不同,从而可以加强课程群之间的关联;采用毕业论文部分内容作为案例,增加了学生对于毕业论文内容的兴趣,也使得案例可以选择的范围更大,综合性更强。

2.2.2. 2 采用“工作坊”实践教学模式

相比较CDIO教学模式[8],“工作坊”实践教学模式强调以学生为中心,关注学生的需要、内在动机,并充分发挥学生学习的自主性,注重培养学生发现和解决问题以及知识和技能的应用能力。根据专题难度和组织能力形成学生的学习团队,通过学生讲解和教师点评的方式,可以有效培养学生创造性的思维和良好的口头表达能力,在增强团队合作精神的同时也进一步加强学生的观察、分析和解决问题的能力。

2.3 软件设计课程群中教材建设改革

2.3.1 软件设计课程群中教材建设存在的不足

现有的教材内容并没有能很好体现软件设计课程群的特色。每门课程所用教材基本都是大而全,所涉及的知识点都很全面,能适应不同课程的使用要求,这也是造成课程群中各门课程内容重复的主要原因。这种大而全的教材也不能很好突出各门课程的重点,从而使得学生学习重点不明确。同时,教材中案例内容陈旧简单,制约了课程之间的关联,降低学生学习积极性,造成知识内容上的断裂。

所以改革软件设计课程群的理论和实践教材是非常有必要。

2.3.2 教材建设改革

教材建设改革的目标主要是改革目前软件设计课程群中内容重复、重点不突出、教学案例内容陈旧简单的问题,需要从理论教材建设和实践教材建设两个方面来进行。

1)理论教材改革

理论教材改革,一方面,确定课程群中各门课程的教学大纲,明确教学内容和教学重点;另一方面,积极引进国内外经典教材,根据培养方案进行适当内容调整和优化。同时,鼓励相关任课教师合作编写教材,并通过专家评审的方式进行修改完善。

2)实践教材改革

按照培养个人级别工程项目开发能力、团队合作级别工程项目研发能力和系统级别工程项目研发能力进行专题实践教材选择和编写,每一个专题要突出解决某一个领域(企业ERP或者网络设备研发等)的问题,使得实践教材具有新颖性,也能提高学生参与的积极性。

3 结论

软件设计课程群是软件工程专业拓展性课程群,培养的软件设计能力是学生研发能力的基础和核心。软件设计课程群的熟练掌握程度为学生在其它业务领域的拓展垫定良好的基础。通过对目前软件工程专业软件设计课程群存在问题的分析,提出了从理论教学内容整合优化、共享案例加强各课程关联性;提出采用“工作坊”实践教学模式,加强理论与实践教学过程;提出从理论教材和实践教材等方面完善适合软件工程专业的教材建设。教学实践表明,改革措施有效培养学生创造性的思维能力,在增强团队合作精神的同时也进一步加强学生进行系统软件设计与开发的能力。

参考文献

[1]Campbell R.2005.Computer curricula 2005:Guidelines for associate-degree transfer curriculum in software engineering[J].2005.

[2]工作坊.http://baike.baidu.cn/view/1341825.htm[EB/OL],May2013.(下转第3801页)

[3]李慧仙.论高校课程群建设[J].江苏高教,2006(6):73-75.

[4]张怡文,贺爱香,王美荣.基于软件课程群的合格课程建设——《C++程序设计》合格课程建设[J].电脑知识与技术,2012(5):46.

[5]肖宿.软件工程课程教学方法初步探索[J].电脑知识与技术,2012,8(14).

[6]李兆翠,乔京涛.软件工程课程教学方法研究[J].电脑知识与技术,2011(2):090.

[7]王健,张静.大学英语课堂沉默现象的解析与对策[J].中国大学教学,2008(1):81-84.

软件课程设计 篇9

随着计算机网络技术的高速发展以及教学手段的不断更新, 各个高校对网络课程的建设越来越重视。通过网络进行教学, 可以跨越时间、空间的限制, 将课堂教学延伸到课外, 使课程教学更加灵活、生动。

《软件UI设计》课程是高职软件专业的一门新课程, 主要是要求学生掌握软件UI设计的方法。由于课程的特殊性, 更需要通过网络形式给学生展示更多的案例和创意。本文结合网络教学和《软件UI设计》课程的特点, 对课程的网络课程建设进行初步的探讨。

2 网络课程建设的目标

《软件UI设计》网络课程的基本建设目标是为适应教学的要求, 突出教学的重点和难点, 将教学的基本资源、拓展资源以及特色资源有效组织起来, 使教学走向形象化、动态化、信息化。

网络课程建设还需要为学生营造一个探索和创造的空间, 满足学生的个性化学习要求, 将素质教育和创新教育有效溶于到课程的教学当中。使学生通过学习网络课程, 不仅能随时了解本课程的教学进度、教学内容等, 还可以多层次、多角度去研究软件UI设计技术, 并能够进行在线提问、在线讨论等。

3 网络课程建设的内容

网络课程建设主要有三大块内容建设:基础资源建设、拓展资源建设和特色资源建设。三块建设内容相互区分又相互补充。

(1) 课程基础资源的建设

课程基础资源是反映课程教学思想、教学内容、教学方法、教学过程的核心资源, 对一门课程是最重要的资源, 主要包括课程介绍、教学大纲、教学日历、重点难点、PPT、教学视频、作业、参考资料等反映教学活动必需的资源

(2) 课程拓展资源的建设

拓展资源是反映《软件UI设计》课程特点, 应用于各教学与学习环节, 支持课程教学和学习过程, 较为成熟的多样性、交互性辅助资源。例如:案例库、素材资源库、在线自测/考试系统、答疑论坛、任务布置与管理系统等。

《软件UI设计》课程有自身的特殊性, 对拓展资源的依赖程度比一般课程要高。作为软件技术专业学生, 和艺术设计专业学生比较, 在UI设计方面肯定有所差别, 这就需要在拓展资源建设方面加大案例库、素材资源库的建设, 让学生有大量的案例可以模仿, 有大量的素材可以使用。同时, 还需要整理许多有创意的资料, 给学生以创意的空间, 激发学生的灵感, 提供创新教育的水平。

(3) 课程特色资源的建设

特色资源主要是根据课程的特点, 建设一些有特色的课程资源。例如, 课外实践创新平台用于学生课外开展实践创新及研究性学习, 学习云盘为学习者提供存放学习资料的云存储空间, 课程APP应用程序方便学生使用手机等移动终端进行课程学习。

4 网络课程建设存在的问题及对策

尽管《软件UI设计》网络课程的建设已取得了一定成绩, 但也存在许多问题, 主要体现在:项目库不够丰富、人气不高、内容更新不够快等。

针对存在的问题, 我们也提出一部分改进对策, 主要有:

(1) 加强项目库的建设力度, 尽可能多地增加参考项目数量, 兼顾项目质量。

(2) 增加视频资源, 为学生自主学习提供优质视频资源, 发挥网络课程优势资源共享的作用。

(3) 重视学生的主体性, 提升人气。网络课程建设需要进一步了解学生的兴趣、爱好和个性特点, 有针对地开拓资源。

(4) 加快内容的更新, 将最新的一些UI设计思想、创意展现给学生, 激发学生的灵感。

参考文献

[1]谭恒松《.软件UI设计》课程教学初探[J].福建电脑, 2012, (11) .

[2]王军, 何晓玲, 田同海.机械设计基础网络课程建设[J].中国现代教育装备, 2010, (21)

高职院校软件测试专业的课程设计 篇10

软件应用已渗透到各个领域,小到生活中的家电、电子消费品,大到国防、航天、医疗领域的精密仪器,软件是现代服务业发展的核心。随着软件功能的增强和应用的扩展,软件的规模越来越大,内部结构越来越复杂,软件的质量和生产率难以适应发展需求,已经成为软件企业规范管理和软件产业快速发展的绊脚石。

1.1 软件测试的重要性

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程规范了软件开发的过程,是生产最终能满足需求且达到工程目标的软件产品的保障。软件工程中提出了软件生命周期的概念,将软件开发分阶段有序进行,软件测试是软件质量得以保证的不可或缺的一环。

软件质量正确的内涵包括三方面,完整的需求、正确的代码和最少的缺陷。软件测试就是在软件开发的整个生命周期中对这三方面进行有效控制的重要手段,是软件质量的安全副驾驶。通过必要测试,软件缺陷数可至少降低75%,而软件的投资回报率能达到350%。软件测试工作对软件项目的重要性,从今天诸如微软这样的软件巨擎的人员架构上就可见一斑。如今,在微软内部,软件测试人员与软件开发人员的比率一般为1.5~2.5左右,即一个开发人员背后,有至少两位测试人员在工作,以保证软件产品的质量。

1.2 软件测试现状

目前越来越多的软件开发机构认识到测试的重要性,并且成立了专门的测试机构,如QA小组,并且配有专门的测试人员。软件测试的过程也由最初的后期调试上升到软件开发全生命周期的质量控制,测试的重要性和规范性也不断提高。

软件测试的方式也开始由手工向自动化测试方向转变,自动化测试工具在测试过程中的应用越来越多,越来越广泛,诞生了很多自动化测试工具,诸如:QTP,Winrunner,Loadrunner等等。软件测试的蓬勃发展在促进质量提升的同时,也将软件产业带进发展的新时代。

1.3 软件测试人才供给不足

据前程无忧招聘网统计,目前,国内120万软件从业人员中,真正能担当软件测试职位的不超过5万人,软件测试人才缺口已超过20万并向30万大关急速挺进。在中华英才网近期发布的2010十大热门职业中,软件测试工程师也位居三甲之列。

2 课程设计目标和原则

高职教育的内涵就是以市场为导向,培养具有较强动手能力,再培养成本低,能够快速切入工作领域的蓝领人才。也就是说高职教育的培养目标是具有一定应用能力的实用性人才。

软件测试工程师一般分为以下几个等级:1)高级测试工程师。高级测试工程师不但需要掌握测试与开发技术,而且要对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题进行分析和评估。2)中级测试工程师。中级测试工程师要能编写测试方案、测试文档,与项目组一起制定测试阶段的工作计划、能够在项目中合理利用测试工具来完成测试任务。3)初级测试工程师。初级测试工程师的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。

根据高职学生的能力特点,应该把高职学生定位在初级和准中级测试工程师,具有一定的设计方案的编写能力,能利用测试工具完成一定的测试任务,并能够执行功能测试。整个课程的重点是软件测试岗位的基本技能,主要包括:软件测试基本概念的建立;软件缺陷生命周期管理;系统测试的基本概念、方法和用例设计;典型测试工具的应用;对于典型系统的测试方法。

3 课程设计

基于软件测试工程师的工作性质和高职学生的特点,在高职院校开展软件测试方向课程,应分为三步走:第一,掌握一门软件开发语言和一种数据库应用技术,建立计算机信息系统的概念。开发语言的逻辑都是相通的,关键是通过对某一门语言的学习来建立软件开发和计算机处理信息的概念。第二,了解软件开发的过程,软件测试贯穿于整个软件生命周期中,只有对软件开发过程有了清晰的认识,软件测试的工作开展起来才会更完整,更有效,更加节省成本。第三,掌握一种自动化测试工具,软件的规模越来越庞大,测试的任务也越来越重,越来越规范,自动化测试工具的应用越来越广泛。

高职高专类学生的培养更加注重动手能力,特别是软件开发和软件测试方向学生的培养,单单靠课堂上有限的理论课程是很难建立对系统开发和测试的直观认识的,所以软件测试人才的培养实训课程的数量和质量必须有所保障。基于以上分析的这些特点,设计如下培养方案,以下设计每个环节都分几个方向,可根据学生自己的兴趣进行选择性学习。

3.1 认识测试环境

学生首先应该有一定的计算机基础,对当前比较流行的操作系统和简单的网络知识有一定的了解。测试环境这一环节的内容属于专业基础课程设计。如表1。

3.2 培养编程思想和数据库应用能力

无论从事软件开发还是软件测试,都必须掌握一门开发语言和数据库应用技术,来培养学生的编程思想和对信息系统这一概念的理解。编程语言基础众多,结合学院软件专业学生的培养方案,本文仅提出了.Net方向和Java作为参考。如表2。

3.3 软件测试的巩固

要成为合格的软件测试工程师,首先要对软件开发的整个流程有所认识,因为软件测试贯穿于整个软件生命周期过程中。无论做软件开发还是做软件测试,在当前都要有一定的标准和规范,所以软件工程这门课程在软件行业显得非常重要。如表3。

3.4 通过实训项目提高测试能力

了解软件测试的管理组织模式与实施过程。能运用所学的软件测试技术设计测试用例,执行测试,报告发现的缺陷,并给出测试结果和质量分析报告。这个模块的设计必须建立在实际的信息系统之上进行,通过实际项目掌握实际工作中开发和测试的流程,使用相关工具,提高测试能力和积累软件工程师经验。如表4。

4 小结

软件测试工程师不仅要有一定的专业技能,更重要的是有良好的逻辑思维能、耐力和毅力,所设计的课程内容首先要考虑到学生的兴趣,也要尊重当前的市场需求,所以本文只是宏观上的设计,鉴于教学实践的积累,软件测试专业的课程设计会被不断的充盈和完善,反过来,这种宏观上的课程设计为具体的授课提供依据和指导。

参考文献

[1]江苏:IT行业发展拉动人才需求[EB/OL].http://www.jobcn.com/HR/News_Content.jsp?ID=75352.

软件课程设计 篇11

关键词:高职办公软件应用任务驱动法课程设计

一、引言

随着社会信息化的快速发展,各行业对从业人员的办公软件操作能力的需求与日俱增,掌握基本的操作技能已成为当前高职院校的培养目标之一。在教学实践过程中,笔者发现传统的“教师传授,学生接受”教学模式存在以下弊端:

1.忽视学生的学习主动性。传统模式主张“老师讲得清楚,学生听得明白”,学生一味被动接受教育,学习热情不断减少,同时也逐渐磨灭教师的上课激情。

2.忽略对学生学习能力的培养。传统模式侧重学生是否“学会”,忽略了让学生“会学”。学生在学习过程中完全依赖教师的讲授示,教什么会什么,不知道举一反三。

3.忽视学生的差异性。教师的教学内容、标准单一,力求大部分学生学得懂即可。学生的学习基础、能力参差不齐,统一的教学任务及难度造成能力较好的学生“吃不饱”,基础差的学生“吃不了”。

4.教学内容缺少实践性。课堂教学与实践脱节,学生在学习过后无法将课堂内容与实践相联系,一旦在实际中遇到问题无法用所学知识来解决。

5.记忆缺乏持久性。由于教学以教师为主,学生的任务是模仿教师的步骤进行操作,在学习过程中没有深入地思考,因此对知识的记忆都是短暂性的。

二、教学设计

为了培养社会需求的技能型、应用型复合人才,同时针对传统教学模式的缺陷,笔者结合本校的教学实际,在高职《办公软件应用》课程中采用任务驱动法进行教学。

本课程以培养能力为目标,本着“实践性与应用性相结合”、“课内与课外相结合”、“学生与企业、社会相结合”的原则,以某公司为背景,采用以工作部门来划分学习篇章,将实际工作案例做为教学任务。课程共划分为四个篇章,以公司4个最具代表性的部门出发,挑选每个部门在实际工作中大量使用的办公文档做为教学案例,让学生在模拟工作环境中学习日常工作中最常用、最基础的办公操作技能。课程设计如下:

1.行政部(模拟工作部门)

工作任务:年度工作计划,发文单,公司简报,客户信函;

知识点:Word表格基本编辑,Word文档基本编辑,Word图文混排,Word邮件合并;

2.人力资源部(模拟工作部门)

工作任务:公司组织结构图,个人简历,劳动用工合同;

知识点:Word组织结构图, Word表格格式化,Word文本格式化、样式及模版的使用;

3.市场开发部(模拟工作部门)

工作任务:投标书,产品行业推广方案,产品目录及价格表,销售统计分析;

知识点:Word纲目结构、主控文档及自动生成目录页, PowerPoint演示文稿的编辑, Excel电子表格的数据管理, Excel电子表格图表的应用;

4.财务部(模拟工作部门)

工作任务:员工工资表,资产负债表,公司贷款及预算

知识点: Excel电子表格格式化及函数的应用, Excel电子表格模版的使用, Excel电子表格单变量和双变量模拟运算表的构造。

三、应用实例

下面以“制作产品行业推广方案”为例,具体介绍任务驱动法的教学过程。

1.情景设置,提出任务

假设学生是公司市场开发部的一名工作人员,现需将公司新产品投入市场。现在的任务就是运用PowerPoint演示文稿制作一份详细的产品推广方案向客户进行产品介绍。

2.合理分组,分解任务

首先将学生分成多个工作团队,即学习小组,每组3-5人。每个团队推选一名负责人,主要负责小组的组织、协调工作。小组分析讨论后,将工作任务分解为多个模块,然后由负责人将每个模块分配给团队各个成员。该工作任务可分解为5个模版:(1)市场调查分析;(2)产品的主要功能;(3)产品的主要性能;(4)产品的工作原理;(5)公司服务理念。

3.协作学习,完成任务

任务分配完后,学生需通过各种渠道完成自己的工作模版。在此过程中,比较简单的任务可由各个成员自己探索完成,如文本的编辑等;难度较大的或学生本身没有掌握的知识点可小组讨论共同完成,如动态设计等。若小组共同讨论后仍无法解决的,可向老师进行咨询,此时老师不急于将具体做法告诉学生,而是给予指导性的意见,引导学生如何去想办法解决问题。

4.成果展示,相互评价

各团队完成方案后,选派一名代表向客户进行推介,即向老师及全班同学展示本团队的作品。展示结束后进行多方面的评价。(1)本组评价:本小组对自己的作品进行点评,包括作品的亮点及不足之处;(2)成员自我评价:由团队每个成员进行自我评价,主要评价自己在此次制作过程中的表现,遇到的问题及解决的方法;(3)组内互评:由团队成员相互评价,指出自己认为本团队其他成员值得借鉴和需提高的地方;(4)组外评价:由其他团队对作品进行点评,同时可提出自己解决相同问题的方法,达到交流学习的效果。通过作品展示及多重评价,学生在复习巩固知识的同时,又可增强分析问题的能力。

5.教师总结,巩固提高。

教师对各个作品进行总结性的评价,并就本次任务涉及的知识点进行系统的讲解、总结,尤其是重点知识及学生在完成任务过程中暴露的普遍性错误,让学生巩固提高。例如:超链接的设置、动画设置方案等。

四、任务驱动法的教学效果

通过实践教学,笔者总结了以下几点教学效果:

1.明确学习目标。激发学习热情。学生围绕工作任务,通过自主学习、相互讨论、向教师提问等多种方式努力寻找解决问题的途径,在此过程中认真思考、大胆尝试,突破了“教为主,学为辅”的传统教学格局。

2.培养综合能力。在任务教学模式中,学生通过团队的形式共同完成任务,期间需要相互沟通、协调,在作品展示时需组织语言来描述自己的作品。学生的学习、协调、分析及解决问题、语言表达等能力得到了充分的提高,同时培养学生的团队合作意识。

3.满足差异性教学。课堂以学生为主体,教师没有制定统一的解决问题的方式,学生分析任务后可形成适合自身的任务,从而自主完成任务并获得不同层次的教学成果。

4.教学内容具备实践性。教学过程中将学生置于模拟的工作情景,以真实的工作案例为教学内容,学生能直观的感受到实际工作的氛围,从而较好的将教学内容与实践工作联系起来。

5.知识记忆具备持久性。学生在完成任务过程中经过思考、尝试、探索、创造等一系列体验和研究性学习,对知识点的理解透彻,学生记忆的是知识的运用,而不是教师的操作步骤。

五、总结

综上所述,高职《办公软件应用》课程在采用任务驱动法后的确取得良好的教学效果,但探索之路并未停止,教师需继续努力提高业务能力,以适应不断变化的社会需求。

参考文献:

[1]韩秋凤,王伟杰,罗俊.以任务驱动法主导“大学计算机”基础课程教学[J].计算机教育.2011(20).

[2]姜军.“任务驱动”法在高职会计电算化教学中的实践与探索[C].辽宁农业职业技术学院学报.2008(3).

[3]胡睛云.任务驱动法教学在高职计算机课程中的应用[J].信息技术.2011(28).

艺术设计专业软件课程教学研究 篇12

一、构建知识结构, 提高应用能力

通常情况下, 软件的操作方法在原理上是相通的。我们在软件课程的教学实践中应安排一部分理论知识讲述, 其内容主要包括计算机图像基本知识和软件工具的内在逻辑结构。这些知识可以帮助学生建立计算机图形处理的基本知识架构, 掌握常用工具和其他同类软件工具的使用方法, 培养学生解决实际设计工作中计算机制图问题的能力。

例如, 无论是办公软件还是制图软件, 一般情况下图片的管理都有图层的概念;文本的编辑方式大致相同;诸如复制、粘贴、撤销等命令的方法相同。所以, 在学习过程中, 随着学生使用软件数量的增多和软件操作经验的积累, 慢慢会扩展到不同软件的学习和应用中。所以, 软件课程和其他理论课程一样, 也有其自身的规律和特性。我们在学习和讲授的过程中, 顺应这一认知习惯和记忆特点, 可以有效地提高教学效率。

二、软件课程内容因“课”制宜, 与专业紧密结合

软件课程的讲授应从专业特色出发, 对于艺术设计应用软件的教学要与专业内容联系起来, 让学生在软件学习的过程中活跃设计思维, 了解软件应用的目标实现, 缩小软件课程学习与设计创作的距离, 让学生更加了解制图软件对于设计创作的辅助作用。例如, 在对Photoshop的课程教学中, 对于环境艺术专业的学生可以采取环境艺术专业的案例进行针对性的训练。

例如, 用Photoshop来对室内设计效果图的进行色彩效果、光影效果的处理, 或用Photoshop来对AutoCAD输出的景观平面图做道路铺装和绿化处理等。对于学生动手实践能力的培养, 可以采用一些实际案例作为专项课题在课程教学过程中制作, 让学生真正了解一些实际操作规范, 体验工作需求, 明确学习目标, 提高学习效率。

三、课堂教学形式多样化, 达到最佳学习效果

软件课程的教学方法通常采用工具教学和实例教学相结合的方法, 在教学过程中, 先将软件的工作界面和常用工具作全面介绍, 然后倒入与专业实践性教学需要的案例, 在操作演示的过程中完成软件教学的任务, 从而达到教学目标。除此传统的教学形式外, 还可以采用启发式教学、讨论式教学和目标式教学。

启发式教学, 注重方法与过程, 通过组逐层入的方法引导学生由简到繁、由易到难完成设计任务, 在设计创作的过程中逐渐掌握软件知识和技能。例如, 以环境艺术专业的学生为例, 在AutoCAD课程的授课过程中, 要求对一家居平面布置图进行功能布置。首先, 要求学生对业主的家庭人员结构、生活习惯、个人修养及爱好习惯等进行了解, 然后运用设计软件将家居平面图进行合理的功能布置与设计, 在这个过程中对于方案的分析讨论以及教师点评, 让学生逐渐拥有了独立思考、分析问题、解决问题以及运用AutoCAD软件进行设计表达的能力。

讨论式教学, 在对案例进行设计分析及图纸制作时, 教师以研讨的方式来分析方案的可行性。这种讨论式的教学方法, 需要教师与学生共同参与, 产生互动, 找出存在的问题并引导学生形成正确的思路和操作方法, 最终使学生形成一种可行性方案并进行实施。在方案形成以后, 还要进行作业作品展并进行作品点评, 让学生相互评价设计结果, 取长补短。这种讨论式教学的教学方法有利于启发学生的创造性和发散思维, 培养学生分析问题和解决问题的能力。

目标式教学, 是指在教学过程中, 给学生一份任务书, 要求根据项目总体要求完成一项具体的设计任务, 把教学内容隐藏在任务重, 让学生自己提出问题、分析问题, 经过老师的点拨去解决问题。它将教学内容任务化, 并在模拟情景中学习、探索、归纳, 完成任务的方法和步骤。目标是教学的教学模式主要有以下环节组成:指导选题、制定工作计划、决策阶段、实施阶段、检查阶段, 评估阶段。

四、培养良好操作习惯, 提高制图速度

在软件课程的机房辅导过程中, 我们常发现多数学生右手持鼠标, 左手常常无处可放, 处于“不作为”的状态。对于专业设计人员来看, 这不是一个好习惯。

众所周知, 对于常用的制图软件来说一般会设置大量的快捷键。我们想要快捷操作制图软件, 需要两手并用, 左手键盘、右手鼠标才能大大提高工作效率。左手一般来执行快捷键的辅助程序命令, 这需要长时间、大量的练习才能产生手指在键盘上的位置感, 和我们键盘打字的原理是一样的。良好的习惯不仅表现在软件的操作上, 同样也体现在学生实用软件完成设计任务的过程中。比如在AutoCAD的操作中, 图层的作用是把工程图纸中的各个不同类型的建筑构件或实体分成若干部分, 利用相互叠加的关系, 组合一副新的画面。在教学过程中, 要使学生真正理解和掌握图层的特性, 就需要有意识的培养学生规范管理图层的习惯。在AutoCAD开始制图时就先根据需要建立若干图层, 然后先建筑框架, 后室外布置等, 依图层逐步设计, 有序完成方案。所以, 在使用制图软件时要熟悉行业标准, 养成步骤规范、思路清晰的良好习惯, 这也是作为设计师良好专业素养的表现。

五、扩大课外交流, 持续学习

除了课堂教学以外, 学生可以在网络上通过多种艺术设计网站对有关知识进行选择和决策, 从而加强学生在学习活动中的思考与创新。同时, 我们应该鼓励学生把自己的作业在网络上发布, 和同学及行业前辈共享学习的快乐。这样在交流的过程中不仅技术得到了升华, 也是学生学会在交流中沟通, 在提高中成长, 在实践动手能力方面做好充分准备, 无形中也提高了学生的自信心。

对于艺术设计专业的学生来说, 软件属于辅助工具, 软件课程的最终目的是教会学生运用计算机软件实现自己的设计构想。所以软件课程应该更多地从专业实际需求出发, 有效地优化软件课程的教学内容, 全面服务于专业需求。软件课程教育是专业素质培养的重要环节, 随着技术的更新、时代的进步我们还需要在今后的教学当中多进行探索和研究。

摘要:随着我国经济与高等教育的迅速发展, 软件课程已经成为艺术设计专业不可缺少的专业基础课程, 在软件课程教学中应该把工具教学与专业素质教学结合起来, 突出软件对于专业的辅助性和对学生专业素质的提高、创新思维的培养起到相应的促进作用。

关键词:软件课程,艺术设计,专业素质,教学方法

参考文献

[1]李诚.谈现代艺术设计专业教学中的软件教学[J].时代教育, 2009.10

[2]应艳.对艺术设计应用软件教学的思考[J].职业技术, 2009.11

[3]郑彩虹.艺术设计软件教学的探讨[J].科技信息, 2008.32

[4]郑金洲.项目教学指南.[M]华东师范大学出版社, 2000

[5]贺平.项目教学法的时间探索[J].中国职业教育, 2006.22

上一篇:物资现代化管理下一篇:空肠管肠内营养