软件课程设计的心得体会

2024-12-30

软件课程设计的心得体会(通用8篇)

软件课程设计的心得体会 篇1

软件课程的设计让我们体会更多的是熟悉到团队协作的主要性,只要合作协作才干保证整个项目标有条不絮。接下来小编搜集了软件课程设计心得体会,欢迎查看,希望帮助到大家。软件课程设计心得体会【1】

对于此次课程设计,我早在寒假就借了linux相关书籍参看,但上方讲的主要是有关linux操作方面的资料,编程方面讲得很少,而且在假期中也并不明白课设的题目是什么,因此此次课设基本上都是在开学后的这两周内完成的。

以前做过的软件方面的课设如C语言课设、数据结构课设都是在假期完成的,由于自我是一个十分追求完美的人,因此几乎每次都花了将近大半个假期的时光来做,如C语言就花了一个多月的时光来做,分数当然也较高,有90来分。对于课程设计,我历来都是相当认真的,此次操作系统的课程设计当然也不例外。但是linux以前没怎样接触过,学校也没怎样系统地讲过,在刚接到题目时除了明白如何用gcc编译等等,几乎能够算作处于一无所知的状态。时光紧任务重,要从对linux一无所知的状态到独立出色地完成课设,不下点苦功夫是不成的。那两周里我除了吃饭睡觉几乎就没离开电脑过,有时时光晚了食堂关门饭都没得吃了。最后,在这样近乎玩命地学习工作下,身体撑不住了,在第二周周三晚上我发烧了。但是眼看就要到检查的日期了,而我的课设也就快完工了。我不想因为看病而耽误下去弄得前功尽弃,因此只买了点药,继续在电脑前拼命……最后,总算赶在周五检查前做出了较满意的作品。

在周五检查那天,老师看了我第4题后,又抽查了一下我的第3题,其实也只是要我把第3题运行一下而已罢了。若放在平时,这绝对是小菜一碟,但当时正在发烧,加上一点紧张,居然把模块加载命令insmodfdev.o错打成insmodfdev.c了,由于这个低级失误造成心中慌乱,于是后面的一条生成设备文件命令mknod干脆就照着参考资料打上去了。于是老师认为我不熟,在那题上打了个半钩。当时心里确实感到十分地遗憾和沮丧,心想所谓“台上一分钟,台下十年功”,一分钟若把握不好,也同样尽毁十年功啊!

但最后,我最后明白,分数但是是个数字,知识才是自我的。透过这次课程设计,我确实学到了很多东西,多年后我可能已经忘记这次课设最后打了多少分,但这些学到的东西却能够使我受益终生。除了知识技术上的东西,我更锻炼了自我的快速学习潜力;我学会了如何快速有效地从图书馆、网络获取自我需要的信息;我尝到了在周围很多同学拷来拷去时孤军奋战的痛苦;我体会了夜以继日完成一个项目时中途过程的艰辛及最终完成后巨大的成就感……我更加深了人生的信心,以后应对任何一个困难的项目,我想我都不会惧怕,并最终能够成功地将其完成。

感谢老师,感谢此次课程设计。虽然在其中吃了不少苦头,但我毫不后悔,因为我满载而归。

软件课程设计心得体会【2】

通过此次课程设计,使我更加扎实的掌握了有关方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。

过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!

课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。

我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。

实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

软件课程设计心得体会【3】

整个设计透过了软件和硬件上的调试。我想这对于自我以后的学习和工作都会有很大的帮忙。在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有必须的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题务必要靠自我一点一滴的解决,而在解决的过程当中你会发现自我在飞速的提升。对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新潜力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时光是用在程序上方的。

很多子程序是能够借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此能够说系统的设计是软件和硬件的结合,二者是密不可分的。透过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生用心的影响。其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。另外在课程设计的过程中,当我们碰到不明白的问题时,指导老师总是耐心的讲解,给我们的设计以极大的帮忙,使我们获益匪浅。因此十分感谢老师的教导。透过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要好处,学会了坚持、耐心和努力,这将为自我今后的学习和工作做出了最好的榜样。我觉得作为一名软件工程专业的学生,这次课程设计是很有好处的。

更重要的是如何把自我平时所学的东西应用到实际中。虽然自我对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法透过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮忙和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自我开始主动学习并逐步从基础慢慢开始弄懂它。

我认为这个收获就应说是相当大的。一开始我们从参考书上找来了课题,但是毕竟是参考书,做到之后发现很多程序都是不完整的,这让我们伤透了脑筋。看着别的小组都弄得有模有样了,但是我们连一个课题都还没有定好。好不容易又找到了课题,但是结果还是很不尽人意。程序接线什么的都弄好了,调试也没有问题,但是就是无法到达预期想要的结果。参考书毕竟只是一个参考,设计这种东西最后还是要靠自我动脑筋。

然后我们大家一齐齐心协力,从平时做的实验?老师上课的举例?书本上的知识以及老师的辅导和其他同学的帮忙下最后完成了。就应说这是透过我们小组成员的共同努力和动脑完成的,虽然资料并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多,收获了很多。我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点能够联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合?相处,以及自身的动脑和努力,都是以后工作中需要的。

所以我认为这次的课程设计好处很深,和其他4位同学的共同学习、配合?努力的过程也很愉快,另外还要感谢老师的耐心辅导。

软件课程设计的心得体会 篇2

根据多年的设计教学经验, 我发现学生中普遍存在的认识误区是把专业基础课程同软件学习课程分别对待, 而且更侧重后者, 没有将两者合理的结合起来, 这种现象实际上就是课程设置、教学中理论与实践应用脱节的体现。

针对此种现象, 我曾经尝试了将专业课程同软件学习同时进行的教学方法, 学生的学习兴趣和学习效果都有较大的提高。例如, 在PS+平面广告项目中, 周学时是十六节, 前两周用十二课时学习PS工具、图层、钢笔路径、蒙版等基本操作, 四课时通过图片、视频等学习了解广告的理论知识。在学生初步掌握了PS软件的简单操作及广告的基本理论知识后, 开始两者融合的教学。首先, 安排学生用软件临摹制作难度较小的各类广告作品, 这个环节至关重要, 因为此阶段学生既可以巩固加强已有的软件知识, 又能够通过制作直观的感受现代平面广告的特征、形式、规律。临摹的同时根据学生普遍的学习进度, 适量增加一些新的软件知识, 在软件操作较为熟练时, 临摹稍复杂的广告作品, 循序渐进, 如同人体的生长, 肌肉和骨骼同步成长、变化。经过几周的临摹环节, 学生已经能够把软件同专业课程联系起来, 对于复杂的、艺术效果更为完美的广告作品以及作品中表现出的软件制作技巧产生浓厚的学习渴望, 此时, 难度较大的理论问题即可结合软件应用的深入学习陆续展开。例如, 平面广告的板式设计、设计色彩的应用规律、画面文字图形元素的运用、广告的创意、某些常见的表现形式的软件制作技巧等。此过程可以开始临摹与创作相结合的方式, 学生已具备了一定量的感性认识和积累, 随着软件应用的熟练度加强, 有着较强的创作欲望, 教师合理的引导, 把握好学习进度和难度, 收效十分明显。

此种学习方式需要对传统的课程设置顺序做大幅度的调整, 做到设计课程中时时用软件、软件学习中时时做设计, 其实设计理论与软件应用在设计专业里原本就是一个整体, 分开来单独教学对于学生普遍的接受能力来说难免顾此失彼。设计能力是基础, 软件是工具。例如, 素描课, 不能用三分之一时间讲解理论知识, 再用三分之一时间讲解铅笔的使用技巧、排线方法, 最后的三分之一时间才开始用铅笔画画。由于设计课程与设计软件的混合教学, 教师严谨准确的教学指导, 在教学结束后, 学生均能熟练运用设计软件进行设计, 而且专业知识掌握的程度较好, 达到了预期的教学目标。

此种专业课程加软件应用的混合教学方式在各学校的设计专业中都有体现, 但程度较低, 依然是分开教学的形式为主。笔者尝试提出几点建议, 希望能够推动设计专业教学更加科学化、合理化。

1.课程设置的优化整合

以往的课堂理论教学与机房的软件教学不能简单的合在一起, 有可能会出现理论没学好, 软件没学会的混乱现象。在课程整合之前, 要认真、仔细的调查分析学生的学习能力情况, 结合专业人才培养目标、课程的教学目标, 制定合理的教学计划。理论内容与软件应用的比例、理论与软件的交叉结合方式等都需要仔细斟酌, 即使是混合教学也不能一会讲理论、一会讲软件, 两者相去甚远, 学生会无法适应。参考上文的例子, 可以用小分段式的教学方式, 前期理论与软件分开来讲, 但此过程不宜过长, 基本的软件操作与理论知识达到目标后马上把两者结合开展教学。随着教学进度的延伸, 结合的频率越来越高, 分段时间也越来越短, 到课程后期两者完全合二为一, 西瓜不能丢, 芝麻也要捡。

2.教师综合能力与硬件设施的加强

课程整合的教学方式对教师的专业综合能力与学校的硬件设施会带来较大的挑战, 许多设计专业的设计课程与软件教学是由不同的教师完成的, 理论课教师的软件操作一般较生涩, 软件教师的理论知识又不够全面, 这需要教师之间相互学习提高, 逐步扩大自己的专业知识面。作为设计专业的教师, 其专业有较强的社会应用性, 应该掌握更多的社会实践知识, 努力压缩课堂教学与社会实践应用两者间的距离。课程的整合同时对学校的硬件设施提出了较高的要求, 以往的理论课程是在教室中完成的, 软件课只要学会软件即可, 占用机房的时间有限。整合后的课程需要大量的机房课时, 如果班级数量较多的话, 相应的也需要配备较多的机房, 设备的投入与维护成本会增加许多。

3.注重专业教学的连续性, 加强专业内部学科间的协作

目前各学校设计专业的课程设置都遵循着由易到难、由基础到实践应用的教学顺序, 大体上是合理的, 但也存在诸多问题。比如专业知识的跳跃性较大, 每学期学习的内容都不一样, 学过的知识很容易就忘掉。今年学过包装设计, 明年还能记得包装知识的学生将会很少, 重点专业知识的重复性应用是必要的, 这就需要专业团队内部加强合作, 所有科目的教师不再是单独的个体, 互相穿插教学, 及时沟通交流专业教学情况, 建立高效的、全面的专业教学平台, 对于学生的就业发展是有积极意义的。

软件课程设计的心得体会 篇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.

软件工程课程教学过程设计的论文 篇4

【摘要】软件工程课程软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。但在实际的教学过程中,存在较大的难度:知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,提出了以“应用”为导向的软件工程课程教学过程的设计,主要从教学设计原则、教学设计策略、教学内容、教学方法、课程重、难点解决方案、考核方式与评价方法等方面展开,给出了切实可行的方案,与院系“一体化”教学理念切合,通过实施,取得了一定的效果。

【关键词】软件工程;应用导向;“一体化”教学理念

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3教学设计策略

3.1知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的.进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6课程重、难点解决方案

6.1软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。

8总结

该教学过程设计,切合院系在提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,(14).

[3]汪Z玢,叶福玲.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,(10).

[4]王小磊.任务驱动与情境认知学习理论在《软件工程》课程教学改革中的探索[J].福建电脑,(7).

《软件工程》课程设计要求 篇5

一、课程设计目的

《软件工程》是一门实践性极强的课程。课程设计通过一个实际的项目,培养学生分析问题和解决实际问题的能力,培养学生综合应用软件工程的基本原理,方法和技术的能力,做到学以致用。

在教师的指导下,以实际应用中自选的中、小型题目为主,根据不同的题目类型选择一种开发模式,完成从系统定义、可行性研究、软件需求分析、软件设计、软件实现(编程)、软件测试,直到运行的软件生存周期各阶段的任务。

要求学生能把软件工程的基本原理和方法应用到软件的实际开发中。强化软件开发的团队协作意识,合作完成一个项目的开发过程。

二、课程设计基本要求

1、由学生自行选定题目。

2、根据学生的意愿,两人组成一个小组,也可单独完成。

3、采用学生自主完成项目为主,教师辅导答疑为辅的教学方式。

4、严格按照时间要求和进度安排,独立完成各阶段的任务。

5、课程设计的工作量,因选题不同,可以略有不同。

6、开发工具和程序设计语言自行确定。

7、要求每个小组的设计报告不少于50页。

三、课程设计报告的验收

每个小组必须提交一份完整的报告文档,包含如下八个方面的内容:

1、系统规格说明书

2、可行性分析报告

3、软件需求规格说明书

4、软件设计说明书

5、模块开发卷宗(源代码清单)和单元测试

6、软件测试计划和测试分析报告

7、软件安装手册、用户操作手册

8、项目开发总结报告

四、排版要求

1、文档内容完善,格式规范,基本符合国家标准。

软件测试课程设计要求 篇6

1、测试对象选择:

每组同学选择一个web应用程序,部署到笔记本上。Web程序可以从网络上找,至少包含5个以上的功能模块。

要求:每组所测试针对的web应用程序不能相同!否则两组成员成绩都将降一档次。

2、分组要求:

每组4人,班级内自由组合3、测试内容:

针对一个主要模块,至少有30行语句以上,进行如下测试设计:

1)白盒测试:

选择编写测试用例,并进行2种类型以上的覆盖测试,并针对测试用例画出表格

2)黑盒测试:

选择编写测试用例,针对模块中的功能点进行测试,测试用例选择不少于15个

3)自动化测试:

使用LoadRunner或qtp,对web应用程序进行性能测试,描述测试目的及测试结果

4、课程设计报告编写内容:

1)测试成员介绍(人员、负责内容)

2)测试目标(所针对的web程序介绍,测试的项目内容介绍)

3)测试计划(包含时间、目标及对应方法、检验标准)

4)测试用例(格式要按照测试用例书写规范)

5)自动化测试中的(要求有测试目的说明,测试过程截图)

6)测试结果(描述与测试用例中的结果比对、功能的正确性)

7)测试结论(对课程设计的总结)

报告内容不少于15页。

5、时间安排:

本周五(7月4日)上午8点在实验室633进行课程设计安排,下周四(7月10日)上午8点,在软件工程实验室进行分组检查,每组5-10分钟。

要求提交:课程设计报告(打印稿、电子稿)、测试所用的web程序源代码。并对自动化测试过程进行演示。

电子稿以各班长收齐,用逗号间隔的学生名字为目录名存放各组电子文件。

6、评分标准:

课程设计报告书写内容,60%

基于软件工程的课程网站设计 篇7

1 软件工程方法

软件工程采用生存周期的方法从时间角度对软件的开发与维护这个复杂问题进行分解, 将软件生存漫长的时期分为若干阶段, 每个阶段都有其相对独立的任务, 然后逐步完成各个阶段的任务。一个软件从定义到开发、使用和维护, 直到最终被废弃, 要经历一个漫长的时期, 通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始, 直到该软件产品被淘汰的全过程。

软件生存周期一般可分为以下几个阶段:问题定义、可行性研究、需求分析、设计、编码、测试和运行与维护。软件生存期也可以分为三个大的阶段:计划阶段、开发阶段和维护阶段。

为了反映软件生存周期内各种工作应如何组织及软件生存周期各个阶段应如何衔接, 需要用软件开发模型给出直观的图示表达。软件开发模型是软件工程思想的具体化, 是实施于过程模型中的软件开发方法和工具, 是在软件开发实践中总结出来的软件开发方法和步骤。总的说来, 软件开发模型是跨越整个软件生存周期的系统开发、运行、维护所实施的全部工作和任务的结构框架。如图1所示是由B.M Boehm提出的软件生存周期模型, 它是软件工程的基础模型。

2 课程网站的设计

目前, 网站的设计技术应该说是比较成熟的。但如果能引入软件工程的思想和方法来指导网站的设计, 那网站的设计效率和网站的质量必将得到大大的提高。特别是对于那些非计算机专业出生的广大教师, 如果在课程网站的构建过程中能够增加“软件工程意识”, 那他们一定会事半功倍。

根据软件工程方法的基本思想, 可将整个课程网站的开发过程分为若干阶段, 每一阶段都有其明确的有待解决的主要问题。另外, 为了便于领导或者管理人员对网站的开发进程进行有效的管理和了解以保证网站的质量, 软件工程方法还对每个阶段设立一个里程碑。软件工程方法要求在每个阶段结束时, 必须完成相应里程碑所规定的工作。这不仅能有效地提高网站设计过程的可见性, 而且能大大增加尽早发现错误或不足的可能性。因此, 在整个设计过程中, 各里程碑所规定的任务必须强制性地要求完成。根据网站设计的特点, 从软件工程的角度可将课程网站的构建过程大致划分为:可行性分析、网站的需求分析、网站的概要设计、网站的详细设计、网站的编码、网站的测试和网站的运行与维护等七个阶段。

2.1 可行性分析

当决定建设一门课程的网站时, 就意味着进入了软件生命周期的第一个阶段, 即进行可行性分析。根据软件工程思想, 可行性分析的目的是分析在当前的具体条件下, 构建课程网站是否具备必要的资源和其他条件。可行性分析是压缩简化了的系统分析和设计过程, 是在较高层次上以较抽象的方式进行设计的过程。一般而论, 要从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面分析可行性。

经济可行性分析主要考虑课程网站建设的成本与效益。如果是免费网站, 则主要考虑网站建设的投入是否具有可行性。如果是收费网站, 则要考虑开发成本、投资回收期以及预期的利润等。

技术可行性要根据课程网站的功能、性能及各项约束条件, 从技术的角度来分析实现网站的可行性, 包括现有的技术手段和开发人员的实际技能是否可行, 也包括用于构建网站的其他资源, 如硬件、软件等是否具备。

运行可行性主要考虑网站规定的运行方式是否可行, 如浏览器的版本、特殊的插件是否具备等。

法律可行性主要考虑网站的开发过程中可能涉及的各种责、权、利以及各种与法律相抵触的问题, 如使用盗版工具软件、使用没有授权的各种资源等。

开发方案可行性主要是要提出构建网站的多种方案, 然后对它们进行评价之后, 从中选择一种最优秀的方案作为实施方案。

2.2 网站的需求分析

通过较为详细具体的用户调查和市场调研活动, 需求分析要形成一份《网站功能描述书》。网站的需求分析必须包含以下内容:

(1) 网站功能;

(2) 网站用户界面;

(3) 网站运行的软硬件环境;

(4) 网站系统性能定义;

(5) 网站系统的软件和硬件接口;

(6) 确定网站维护的要求;

(7) 确定网站系统空间租赁要求;

(8) 网站页面总体风格及美工效果;

(9) 主页面及次页面大概数量;

(10) 管理及内容录入任务分配;

(11) 各种页面特殊效果及其数量;

(12) 项目完成时间及进度 (根据合同) ;

(13) 明确项目完成后的维护责任。

2.3 网站的概要设计

在需求明确、准备开始实施网站设计之前, 要做概要设计。概要设计文档是重要的设计文档, 对后面的开发、测试、实施、维护工作起到关键性的影响。概要设计的具体任务是制定规范:包括代码体系、接口规约、命名规则等。这是项目小组今后共同作战的基础, 有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法, 大家就有了共同的工作语言、共同的工作平台, 使整个网站开发工作可以协调有序地进行。

2.4 网站的详细设计

概要设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化。详细设计主要是针对程序开发部分来说的。但这个阶段并不是真正编写程序, 而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图, 它们应该包含必要的细节, 例如:程序界面、表单、需要的数据等。程序员可以根据它们写出实际的程序代码。

在程序员进行详细设计的同时, 网页设计师开始设计网站的整体形象和首页。整体形象设计包括标准字, Logo, 标准色彩, 广告语等。首页设计包括版面, 色彩, 图像, 动态效果, 图标等风格设计, 也包括导航, 菜单, 标题, 版权等模块设计。首页一般设计1-3个不同风格, 完成后, 供用户代表选择。

2.5 网站的编码

网站建设编码必须遵循合理的规范, 否则将降低网站的可维护性。网站编码中合理的规范常见如下:

(1) 让代码分段和缩进。一种提高代码可读性的方法是给代码分段, 换句话说, 就是在代码块内让代码缩进。所有在括号之内的代码, 构成一个块。基本思想是, 块内的代码都应统一地缩进去一个单位。

(2) 行结束标志。行结束标志遵循Unix文本文件的约定, 行必需以单个换行符 (LF) 结束。

(3) 在代码中使用空白。在代码中加入几个空行, 也叫空白, 将代码分为一些小的、容易理解的部分, 可以使它更加可读。建议采用一个空行来分隔代码的逻辑组, 例如控制结构, 采用两个空行来分隔成员函数定义。没有空白的代码很难读, 很难理解。

(4) 每行只做一件事情。每一行代码只做一件事情。在依赖于穿孔卡片的计算机发展的早期, 想让一行代码完成尽量多的功能的想法是可以理解的。若想在一行里做多件事情, 就会使代码难于理解。为什么要这样呢?我们应使代码尽量容易理解, 从而更容易维护和改进。正如同一个成员函数应该并且只能做一件事一样, 一行代码也只应做一件事情。此外, 应让代码在一个屏幕内可见。也不应向右滚动编辑窗口来读取一整行代码, 包括含有行内注释语句的代码。

(5) 说明运行顺序。提高代码可读性的一个相当简单的方法是使用圆括号来说明代码运行的准确顺序。如果为了理解你的源码而必须了解编程语言的操作顺序, 那么这说明源码中一定有什么重要的东西做的不对。

(6) 给代码注释。记住:如果你的代码不值得注释, 那么它就不值得保留。当正确地使用了本文提到的注释标准和方针, 就可以大幅度地提高代码质量。

2.6 网站的测试

随着技术的迅速发展, 许多公司都开发了一些基于Web的网站服务, 通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况, 因此, 当Web网站遇到访问高峰时, 容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况, 需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试, 来测试静态HTML页面的响应时间, 甚至测试动态网页 (包括ASP、PHP、JSP等) 的响应时间, 为服务器的性能优化和调整提供数据依据。

测试网站可使用专业测试工具软件进行。推荐使用Microsoft的Web Application Stress Tool这个工具软件。这个微软提供的小工具能有效测试一个网站的负载性能, 这个软件可以通过脚本模拟100个强并发用户的访问, 并模拟实际用户的一些点击操作, WAS还可以连接上远程Windows网站服务器的性能计数器 (Performance Counter) , 通过对服务器性能 (CPU/内存等) 的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销, CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。每次测试运行结束后WAS会生成详细的报表, WAS报表可以从View菜单选择Reports查看。

2.7 网站的运行与维护

课程网站设计制作完成后, 就进入运行阶段。这个阶段一个必不可少的工作就是对网站进行必要的维护。网站维护服务基本内容如下:

监测网站的运行情况;

保证网站脚本程序正常运行;

监测并保证您的主机处于正常运行状态;

备份网站内容及数据;

监测域名的解析运行状况;

提供网站内容的维护服务, 包括:网页文字内容的更新、修改;网页图片内容的处理、更新;网站Flash动画中文字内容的更新、修改;网页链接指向的更新、修改;网站其他内容的修改;

提供网站改进和完善的意见和建议, 提升网站的运行效果;

制作新的页面及模块, 同时确保网站总体风格的完整和统一。

3 结语

本文将软件工程思想引入到课程网站的开发设计过程中, 较之传统的开发方法, 整个系统结构化更强, 逻辑性更加严密;图文结合, 形象、直观, 可视化更强;同时还配有完整、规范的软件文档, 便于系统的维护与更新。系统提供的个性化学习支持功能, 可以大大提高学生的学习效率, 真正实现个性化教育。本文论述的个性化网上教学系统设计与实现方法适用于绝大部分课程, 并在《中国美术简史》、《网络实用软件》、《国家赔偿法》和《WTO专题》等多门课程的网上教学系统开发过程中得到了应用, 效果显著。

摘要:将软件工程思想引入到课程网站的开发设计过程中, 较之传统的开发方法, 整个系统结构化更强, 逻辑性更加严密;按软件工程方法设计的课程网站还配有完整、规范的软件文档, 便于系统的维护与更新。系统提供的个性化学习支持功能, 可以大大提高学生的学习效率, 真正实现个性化教育。

关键词:软件工程,课程,网站,设计

参考文献

[1]郑人杰, 殷人昆, 陶永雷.实用软件工程[M].北京:清华大学出版社, 2008, 4

[2]陈明.软件工程学教程[M].科学出版社, 2009, 7

软件课程设计的心得体会 篇8

摘 要:《教育软件设计与开发》是教育技术学专业本科生的专业核心课程,通过设计和开发一个基于网络的课程系统,可以有效实现课程管理、资源管理、课程活动、用户管理,为学习者提供一个良好的学习空间和个性化的学习环境,并且能够引导学生进行课程任务的系统化分析和设计。

关键词:教育软件;网络课程;管理;学习环境

中图分类号:G434 文献标志码:B 文章编号:1673-8454(2016)07-0093-04

一、概述

网络课程是通过网络表现某门课程的教学内容及教学活动的总和,它包括按一定的教学目标、教学策略组织起来的教学内容和网络教学支撑环境,其中网络教学支撑环境是指支持网络教学的软件工具、教学资源以及在网络教学平台上实施的教学活动。[1]相对于传统的教材,网络课程具有开放性、内容丰富、形式多样、交互性强、反馈及时以及共享性等特点。《教育软件设计与开发》网络课程的使用对象是教育技术学专业的学生,因此,其内容设计和结构规划既要全面反映课程内容,又要适合教育技术学专业学生的学习要求和特点,并为教师提供一个良好的教学辅助平台。鉴于此,《教育软件设计与开发》网络课程管理系统的主要特点包括:

(1)依托网络课程的开放性、交互性、共享性等优点构建多功能学习环境。与传统课程相比,网络课程具有开放性、交互性与共享性等优点。本网络课程系统提供了个人管理、资源下载、在线交流、课程项目、在线考试等多种功能特性,此系统的功能特性就是利用网络课程的开放性、交互性和共享性等优点构建网络课程。充分体现了网络课程的优点,为学生和教师提供了良好的学习环境,同时也为师生之间提供了良好的学习交流平台。

(2)利用网络课程系统来达到学生自主学习、自主探索的目的。由于网络课程具有开放性与共享性等优点,因此网络课程能够给学生提供良好的自主学习、自主探索平台。本网络课程充分体现了自主学习的特点,为学生提供了大量的自主学习教材和学习资源。

(3)充分利用多种媒体形式,丰富教学内容,提高学生的学习兴趣。与传统课程相比,网络课程能够充分利用多媒体进行教学,不但丰富了教学内容,还提高了学生的学习兴趣。本网络课程系统中就包括了教学资源电子课件和课程视频等多种多媒体教材。

(4)学习评价设计(作业系统、在线测试、练习题)随时检测学习效果,实现自我评价,随时得到反馈。本网络课程系统包括了学习评价功能,主要有作业系统、在线测试和习题演练。为学生提供了自我评价和自我检测的平台。

(5)实现网络课程的交互功能,为学生提供更好的教学内容,实现教师与学生的有效沟通。网络课程的交互,是网络课程的核心环节,能够给学生与教师提供及时、方便的沟通环境。本网络课程系统包括了在线答疑、常见问题、BBS等多种交互模块,为学生与教师、学生与学生之间的交流提供了良好的沟通渠道。

(6)符合网络教学、学习规律和使用对象——学生的特征。网络课程的最终服务对象是学生,评价网络课程的好坏,最重要指标是该网络课程是否符合学生特征。本网络课程系统的开发充分考虑了学生的特征,为学生提供了良好的学习平台。

二、《教育软件设计与开发》网络课程系统的设计原则

《教育软件设计与开发》网络课程系统的开发在吸收上述网络课程优点的同时遵循以下原则:

1.专业性原则

网络课程是一个以提供学习资源为特点的开放系统,能够为学生提供丰富的学习资源。因此,在教学内容的设计上要符合专业要求,明确学习目标,充分发挥网络的优点,有目的、有计划地提供专业知识及其拓展材料,争取做到学生的学习脱离于传统教室的讲授学习却又不脱离课程专业所要求达到的目标。

2.导航明确性原则

由于网络课程信息量巨大, 内部信息之间的关系复杂,因此在网络课程的设计过程中要充分考虑学生的需求,尽量为学生创造便捷的学习条件。那么设计清晰、明确、简洁的导航显得尤为重要,本系统在导航设计过程中将力求结构清晰、交互生动形象、逻辑结构合理、链接方便,从而可以使学生在知识的海洋中第一时间内找到自己学习的内容。

3.交流互动性原则

网络课程不同于传统的课堂教学,它借助于现代网络技术,能够体现强烈的人机交互、师生互动和生生交互等交流活动,在培养学生自主学习、主动学习能力的同时又不失为学生提供强大的交流平台,使学生随时可以获得所需的帮助。

4.操作性强原则

由于学生的计算机操作水平参差不齐,因此在网络课程系统设计过程中要充分考虑到学生的现有水平,提供简单明了、方便快捷的操作,将重点内容放到显眼的位置,在操作过程中不会对学生再有其它过多的辅助操作步骤要求,尽可能地为学生提供便捷顺畅的学习流程。

三、《教育软件设计与开发》网络课程系统的设计思路

考虑到网络课程的全面性与交互性,在系统设计时将教学过程的各个环节都进行了全面的分析,尽量将教学过程的每个环节都能在系统上完成。系统的全面性决定了网络课程对教学过程深入的程度,本系统主要分为课程内容建设、课程团队建设、课程资源建设和教学互动建设。课堂教学、师生互动、课后巩固以及教学评价都在系统上完成。系统的交互性决定了课程中师生互动的程度,本系统包含了教学答疑、常见问题、课程项目以及在线考试等功能,能及时给学生提供良好的学习平台以及与教师之间的交流平台,教师也能通过互动环节与学生进行交流,帮助学生更好地掌握所学知识,同时还能获得更好的反馈信息。

在人员管理模块中,本系统采用三级管理模式,即教师、学生和管理员。为了便于管理,该系统将教师设置为课程主讲教师和课程团队教师两个角色,其中课程主讲教师既是本门课程的教师,又具有课程管理和系统维护等功能。由于本课程是一门计算机应用类课程,教师的计算机应用能力都很强,所以本系统将课程负责人设为管理员,由课程负责人来管理系统的正常运行。

四、网络课程系统的设计与开发

网络课程系统的设计与开发是一个复杂的过程。需要设计者有系统的建构思想,对系统中各个环节、功能模块进行全面的分析,综合考虑不同角色的需要,分析使用者的特征,这样才能设计和开发一套操作简单、目标明确、内容丰富、思路清晰的网络课程。

1.整体框架及功能设计

本系统将整个网络课程划分为课程内容建设、课程团队建设、课程资源建设和教学互动建设四大功能模块,以及相应的后台管理模块。其结构如图1所示。

(1)课程内容建设

课程内容建设是本系统的核心和基础。它包括课程大纲、课程内容、习题演练、在线考试、参考资料五个功能模块。课程大纲是描述本门课程的学习框架以及学习的总目标,其中包括教学大纲和考试大纲。课程内容给学生提供了本门课程的主要教学内容,课程内容的每一个章节都包含了本章节的学习目标、学习内容和相关资源等信息。习题演练是给学生提供一个课后巩固知识点的平台。参考资料列出了本门课程中部分知识点的参考出处,学生可以查找这些参考资料,从而对这些知识点进行更进一步的了解。在线考试是检测学生对课程知识的掌握程度。学生学习了课程内容之后,可以通过在线考试来检测和巩固自己所学的知识,教师也可以通过在线考试这一环节来了解学生的掌握程度从而对学生做出学习评价。

(2)课程团队建设

课程团队是教授此门课程的所有教师团队,它包括课程负责人、课程团队两个模块。课程负责人是本门课程的主要负责人,同时也是课程团队中的领导者。课程团队中展示了本门课程授课教师的相关信息,学生可以通过这个模块了解教师的一些相关信息。

(3)课程资源建设

课程资源建设是对课程主体的补充,同时也是给学生提供丰富的网络学习资源的平台。本模块包括课程项目、教学录像、电子课件、学生作品和资源下载五个模块。

a.课程项目是学生协作学习的展现平台,教师根据学生的特征,对学生进行分组,或者学生根据自己的爱好和特长自行分组;然后教师根据小组的特征给每一小组分配不同的项目。学生通过小组协作的方式完成项目要求,最后上传项目成果。

b.教学录像为学生提供课堂再现,学生可以通过观看教学录像,以便充分掌握相关的教学知识。

c.学生作品是学生在学习本门课程的过程中,自己完成并上传的学习作品,是学生作品的展示平台,也是学生资源的共享平台。在学生作品模块中,提供了作品检索和作品统计功能,这样方便了学生检索作品。

d.资源下载为学生的学习提供了更多的网络学习资源,资源下载模块将资源按不同的分类进行显示,同时也提供了资源检索功能,学生可以根据不同的分类进行资源的检索。

(4)教学互动建设

教学互动是课程学习中的必要环节,教学互动为教师与学生之间提供了一个交流的平台,学生可以在学习的过程中与教师进行沟通互动。教学互动包括课程公告、教学答疑、常见问题。教师可以通过课程公告给学生提供最新的课程信息,提醒学生按时完成课程要求。教学答疑环节是教师与学生在线交流的平台,学生在遇到困难时,可以在教学答疑中给教师提出问题,教师登录之后可以给相关问题做出解答。常见问题是教师通过自己的教学经验,总结出学生在学习过程中可能遇到的问题,然后把问题以及解决方法展示给学生,以便学生能够及时解决问题。

(5)后台管理模块

网站系统后台是管理员维护网站功能以及网站信息的平台。本系统是一个网络课程网站,为了达到系统的要求,本系统采用三级管理模式,包括系统管理、教师管理和学生管理。

a.管理员管理

管理员负责整个系统的管理与维护,拥有最高权限。本网络课程是一门计算机应用类课程,教师的计算机应用能力都很强,因此本系统的管理员是本门课程的课程负责人。其主要功能的体现有:在课程内容上对一些大纲、资料等进行添加、删除、修改和维护;在课程团队上对一些课程的团队以及负责人的信息进行添加、删除、修改和维护以及人员的审核;在课程资料项目的管理中首先是对本门课程进行立项、分配课程小组以及安排小组组长、给小组分配课程项目后对项目作品的审核等,还包括对项目、小组及小组成员进行修改、删除、审核等;在教学互动中,可以公布一些课程公告,对常见问题和教学答疑进行管理,并对这些信息进行添加、修改和删除管理。

b.教师管理

为了使本系统信息能得到及时的更新和维护,系统为教师分配了较高的管理权限,除了用户设置管理里面的教师管理功能和系统安全管理功能外,教师管理还具有管理员管理的其他所有功能。

c.学生个人管理

学生可以在系统中完成相应的教学过程和教学任务。其主要功能包括:对个人信息、资料的修改上传,查看课程及分组情况,并能进行在线考试和对自己的成绩进行查询。

2.系统UML建模

数据建模语言是从项目工程中引入的概念,它能够帮助我们更好地理解正在开发的平台,理清设计思路,并能够比较直观地反映系统平台的结构和功能。本系统采用基于UML模型建模语言,UML模型包括用例图、时序图和活动图等。

(1)用例图

用例图是用于描述用户与系统之间的关系,它表示系统能够给用户提供的操作。在绘制用例图时首先要确定参与者,也就是使用此系统的人或事物,通常包括三大类:使用者、管理者和应用程序接口,在本系统中包括管理员、教师和学生。其次是要明确系统用例,也就是系统给操作者提供什么样的使用操作。学生用例图如图2所示。

(2)时序图

时序图是指按时间的顺序描述系统各个元素之间的交互顺序,网络课程的时序图主要有:①管理员添加、修改和删除用户的时序图;②课程内容的添加、修改和删除的时序图;③课程公告的添加、修改和删除的时序图;④教师和管理员对课程信息的添加、修改和删除的时序图;⑤教学资源的上传、下载以及查看的时序图等等。以上时序图的设计方法大致相同,本文以管理员对课程大纲的添加、修改、删除为例说明网络课程系统设计中时序图的创建过程。如图3所示为管理员添加课程大纲时序图,管理员首先使用自己的用户名和密码登录系统后台,进入后单击添加课程大纲菜单,输入添加课程大纲信息,然后点击添加将输入的课程大纲信息提交给数据库模块进行添加处理,最后平台会弹出添加成功提示信息,这样一个添加课程大纲的时序图就完成了。

(3)活动图

活动图是用来描述系统是如何协同工作的。当系统中的操作步骤比较多时,活动图就可以清晰地显示各个步骤的先后顺序,使用者只要按照步骤进行操作就可以达到预期的结果,学生子系统的活动如图4所示。

3.技术的应用

本系统采用ASP技术作为开发工具,使用SQL作为数据库,运用VBScript、JavaScript脚本实现语言,B/S(浏览器/服务器)架构设计。本系统是以课程为中心,为教师和学生提供了良好的学习和交流的平台。学生和教师登录之后,就可以对系统进行相关操作。以下以课程项目实现为例,进行一个简单的说明。课程项目模块主要是针对课程小组活动设计的。当某个班需要进行分组活动时,教师就可以在后台将班级按照随机或者指定的方式进行分组。如果是随机分组,教师只需要将每组最多和最少人数输入系统,系统将会自动完成分组;如果是指定分组方式,教师可以按照课程项目需要分组,并且可以指定每组人数、负责人和设定每组的活动项目名称和内容。另外,该模块还具有对选修相同课程的学生之间进行班级间的自由成组功能,他们可以依据个人喜好和需要自由成组,只要双方课程中的某一个教师审核通过即可。在课程项目中,小组成员自动组成讨论小组,可以发表言论,建立小组成果展示区等。

五、小结

本系统的设计充分考虑《教育软件设计与开发》的课程要求,实现了《教育软件设计与开发》课程教学过程的各个环节。同时还将协作学习模式融入到本课程当中。系统中的课程项目以及在线考试是本系统特设功能模块,课程项目为学生提供了良好的小组协作学习平台,在线考试为学生提供了自我评价的平台,同时也是教师对学生考核的重要平台。本系统在某高校教育技术与传媒学院的《教育软件设计与开发》课程中使用了5年,获得了教师与学生的一致好评。本系统虽然给教师以及学生提供了良好的学习与交流平台,但是在评价方式上没有充分考虑到评价的多样性与全面性,虽然有个人评价、小组评价以及在线测试评价,但是它们之间联系不够充分,无法形成一个总体性的评价。下一步工作将是完善系统的评价功能,使教师能够充分而又方便地对学生进行综合性评价。增加教学互动方式,方便师生之间的交流,使师生交流方式更为多样。

参考文献:

[1]何克抗,林君芬,张文兰.教学系统设计[M].北京:高等教育出版社,2006.5.

[2]王志军.多媒体教学软件设计与开发[M].北京:高等教育出版社,2006.7.

[3]新艺科技.DreamweaverCS3超酷网页设计CSS篇[M].北京:清华大学出版社,2008.12.

[4]李文光,吴紫佩.“教育技术学”网络课程整体规划设计与开发研究[J].现代教育技术,2004(4):57-60.

[5]方美玉.基于ASP的网络课程的开发架构与实现[J].浙江教育学院学报,2004(1):50-55.

[6]纪永毅,黄建军.网络课程设计与开发的实践探索[J].电化教育研究,2004(5):51-53.

[7]李仕梅,龚盛昭.基于Web 技术的精品课程网站设计与维护[J].广东轻工职业技术学院学报,2008(1):9-11.

[8]施庆平.网络课程开发的探讨[J].职业技术教育,2006(26):103-105.

[9]张红艳.基于分层目标的网络课程的设计与实现——以“大学计算机基础”网络课程为例[J].中国电化教育,2013(4),95-98.

[10]王国华,俞树煜,李亮,梁胜男.基于微型学习理念的网络课程微型化设计与实现──以“现代教育技术”网络课程为例[J].中国远程教育,2014(4):89-94.

[11]武燕平,金玉.基于网络课程平台实现动态交互学习模式研究——以《VB程序设计》网络课程为例[J].中国教育信息化,2014(10):20-22.

上一篇:污水处理站工作人员岗位职责下一篇:酒店在我心中演讲稿