期刊在线咨询服务,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

期刊咨询 杂志订阅 购物车(0)

软件课程设计总结模板(10篇)

时间:2022-12-11 09:13:01

软件课程设计总结

软件课程设计总结例1

中图分类号:G642 文献标识码:B

建大厦必须进行设计,而建平房则不需要设计。传统观点认为需求分析是项目开发成败的一个关键,项目的失败或夭折主要是由于需求分析不充分造成的,但对如何做好需求分析却苦无良策。在软件开发的早期,软件代码量不大,对设计重要性的认识也不充分,程序员可以设计、编码一肩挑,但随着软件规模的扩大,人们在大型软件的开发面前显得力不从心,因而产生了软件体系结构理论。现代观念认为通过需求与设计之间的迭代,并根据设计建立系统原型,能够较为充分地理解需求并得到满足需求的设计。

软件体系结构的设计在中大型软件项目中更易于显示它的意义,这也是软件体系结构课程产生的原因。“软件体系结构”作为高等学校软件工程专业的一门核心课程,是根据人们的软件设计经验总结出来的理论与实践相结合的课程。“上梁不正下梁歪”,体系结构的设计是现代软件开发中最为重要的一环,它设计得是否合理直接关系到软件的成败。随着软件规模变得越大越复杂,软件开发对软件架构师提出了更高的要求。

1课程特点与面临的问题

1.1软件体系结构课程的特点

(1) 软件体系结构的设计原则、技术、方法较为抽象

软件体系结构的设计原则、技术、方法可以应用在不同的软件项目中,其目的是为了在给定的时间、经费等条件限制下设计出高质量的软件,它们位于所有具体项目之上,针对全体软件项目,因而是抽象的。

(2) 软件设计的效果体现在软件开发的后续阶段中

软件生命周期包括可行性分析、需求分析、设计、编码、测试、运行维护等多个阶段,设计对软件成败的影响往往在这个阶段反映不出来。设计阶段做出的一个决定,可能要到编码、测试甚至是后续的维护阶段才能显现它的效果。

(3) 软件体系结构的设计往往是折衷与权衡的产物

软件中的一些质量要素经常是相互冲突的,即软件的质量要素之间既有正相关,也有负相关,因此在实际的软

件系统设计过程中,必须根据具体情况对各种要素进行折衷与权衡,从而得到总体上满足用户要求的软件。怎么折衷和权衡,必须结合具体项目,根据项目的实际情况去把握。

1.2教学中面临的问题

(1) 软件体系结构的抽象理论容易使学生感到枯燥乏味

由于授课对象是大三学生,项目开发经验有限,学生很难在头脑中将软件体系结构的抽象理论和实际联系起来,因此较难对这门课产生兴趣。在接受抽象的理论时,容易产生枯燥乏味的感觉。

(2) 学生缺乏完整项目的体验

学生参与的课程设计实践一般仅限于小型项目,很少有机会参与软件开发和运行的全过程,难以体会到软件体系结构设计中关于正反经验的总结。例如,可维护性是软件的一个重要质量指标,但学生很少有机会去参与真正的软件维护,所开发的系统大多只是给任课教师大概地检查一下,一般不会交付使用,没有经受用户的真正检验,设计里的很多错误被隐藏起来了。但学生看不到错误,就不能对这些错误进行维护,也就不能体会到设计阶段工作对可维护性造成的影响。而且对于经验欠缺的多数学生来说,软件设计中的折衷与权衡难以想象,不容易理解和把握,包括各种质量属性之间以及与很多非技术因素的折衷与权衡。

如何搞好这门课的教学,是摆在教师面前的一道紧迫课题,对教学方法、手段和个人经验都提出了很高的要求。我们提出通过本课程学习要达到以下三个目标:

(1) 帮助学生了解软件架构的基本概念,初步掌握中大型软件系统构架的分析与设计方法。

(2) 使学生了解软件系统的成败不仅取决于用户的功能需求是否被满足,还和各种外部约束条件有关,如设计师的素质与经验、开发组织的目标以及政策法规限制等,从而提高软件设计的基本素养。

(3) 引导学生认识系统的性能、可用性、安全性等质量属性都是受软件构架制约的,或者说这些属性的实现影响着设计师的设计选择。

2强化案例教学,建设符合学生接受能力的案例

本课程较为抽象,要求学生有一定的软件设计经验,为了弥补学生在设计经验上的不足,我们在本课程中采用以案例教学为主的方法和手段,尽量将理论讲授和实际案例结合起来。案例选取有三方面的要求:一是要选取学生能听得懂、能理解的案例,案例本身不能过于复杂,超出学生的可接受范围;二是案例不能太简单,应稍高于学生的现有经验,这样才能提高学生的学习兴趣并帮助学生提高;三是案例要和每阶段的教学内容相匹配。经过几年的教学积累,我们以实际系统为基础,建立了多个符合学生理解和接受能力的案例,如软件学院的研究生选课系统、软件学院的图书管理系统、学生宿舍管理系统、订票系统、软件学院校友管理系统、超市进销存系统等。这些系统都是真实的,也是学生经常接触的,有很强的参照性,学生容易接受。我们还把这些系统作为课程实践的选题,提供原有设计方案和源代码,让学生使用并提出意见,找出原先设计的不足并改进,大大提高了学生实践的感知能力。

在学时分配方面也做到向案例教学倾斜,本课程总共48学时,除了8个学时的专门案例分析和8个学时的上机实践,在课堂理论教学时还穿插大量案例,案例教学占课堂授课比例的40%左右。我们还采用启发式教学手段,在课堂上留有一定时间专门就案例展开讨论,鼓励学生通过争论来比较和掌握软件构架设计方。例如,学生都实际使用过选课系统,选取该系统作为案例,学生就很乐意参与讨论并给出建议。这些手段的采用取得良好的教学效果,加深了学生对抽象的软件架构设计思想的理解。

3教学内容与教学手段

(1) 激发学习兴趣和热情

我们从课堂气氛、内容选择、语言表达三个方面入手。在营造课堂气氛方面,讲解时尽量营造探究气氛,鼓励学生参与讨论,避免学生被动地听,增强教师与学生的交流互动。在内容选择方面,选一些容易引起学生兴趣的素材。例如,在讲到架构风格时,我拿了一个自己编写的对战游戏程序给学生看,由于这种游戏学生普遍都感兴趣,因此在讲解架构风格时,学生注意力都很集中,收到了较好的教学效果。语言表达方面,在讲课时多用一些形象、有趣的事例或类比来说明或代替那些抽象、枯燥的理论陈述。例如,在谈到满足不同质量属性需要权衡时,列举了斑马为什么有黑白条纹的例子。

(2) 注意与其他课程的衔接

软件体系结构的教学内容与软件工程、软件项目管理以及软件文档写作等课程紧密相关、甚至有部分重叠,我们针对不同课程的特点进行了妥善安排,在教学内容上注意相关课程内容的相互渗透。大三上学期首先讲授软件工程,使学生对软件工程有一个初步认识,紧接着是软件文档写作的训练。大三下学期软件体系结构和软件项目管理同步讲授,要求学生运用软件体系结构的理论、技术和方法进行软件设计和评审,同时运用项目管理的知识组织项目开发,最终验证软件设计的合理性。设计和实现的题目鼓励沿用软件工程课程上所用的项目、人员组成也鼓励保持一致,使学生对某个项目能保持一个学年左右的长期接触。

(3) 建立以设计师为主的开发团队

以小组(四人为一组)为单位开展课程实验,每个人扮演不同角色。首先他们是一个设计师团队,但其中要有一人负责,这也是软件设计的一条重要原则;其次,还有项目经理、需求分析师、程序员和测试员等角色需要担当,也就是说每个人要承担多个角色。实验综合运用软件工程、软件体系结构设计、软件文档写作、软件项目管理以及其它课程的知识,来体会如何围绕软件体系结构进行开发,体会软件体系结构设计的原则和方法。

(4) 建立实践教学平台

软件体系结构的教学应使学生通过对这门课的学习,加上对其他专业知识的综合运用,能够在实际工作中应付真正的项目设计,因此有必要让学生参与一个长期(不少于一学年)的软件项目。为此我们设计多个规模较大的、完整的软件项目作为实践教学平台,这种项目包括分析、设计、实现、软件维护、软件重用、对现有软件的扩展,以及团队合作、项目管理等等。让学生长期接触某个项目,使他们可以在这个平台上观察和动手实践自己的软件设计方案,或者对现有方案进行改进,这样既有机会获得正面成功经验,也有机会得到反面失败的教训。

实验与教学进度保持匹配,使学生在实验中主动运用所学设计理论,并和传统设计方法进行对比,帮助学生迅速地把所学知识转换成实际的软件设计能力。设计过程要求采用Raional等工具进行分析和设计。

课程结束时,安排专门的时间,由每个团队向全班同学演示自己的实验成果,并由学生和教师共同对实验结果进行评价和给分,极大地调动了学生的积极性,评分过程中的议论则帮助学生进一步加深了对软件架构设计方法的理解。

团队提交的实践结果:需求说明书、体系结构设计说明书、体系结构评审报告、个人总结报告、演示Demo,要求说明每个人的角色和工作量。

评分标准:项目文档描述60%;个人总结报告20%;Demo20%。

上述评分标准以团队为基础,改变了传统的针对个人实践结果的考评模式,避免了相互抄袭。通过以团队评分为主,个人表现为辅的评价方式,达到培养学生学会与他人合作,培养团队精神的目的;通过以软件文档评分为主,以实践结果为辅的评分体系,达到学生对软件设计过程和方法的掌握。

其次,让学生参与教师的研究课题,加强实践基地建设,构建课程实训环境,鼓励学生到社会上的软件公司去实习、兼职。学院已与国内外多家软件领域的著名公司和研发基地建立了合作关系,建立了全方位、多层次的课程实践教学环境。

(5) 构建高素质的师资队伍

根据国家示范性软件学院工程型人才的培养目标,考虑软件体系结构设计课程实践性很强的突出特点,构建了三三制的师资队伍结构,即专职教师、IT公司教师和境外教师。完善了校内专任教师到软件企业一线参与实际软件项目研发和交流、软件企业的工程技术和项目管理人员到学校兼职授课的制度和机制,形成了一支了解行业需求、教学经验丰富、专兼结合、国内国外、校企联合的高素质的教师队伍。

4教学效果

我院针对软件体系结构课程教学中存在的不足,从教学方法、手段等方面提出了改进方案,融理论、案例与实践为一体,系统地阐述了软件体系结构的设计过程,体系结构设计师的主要工作和职责,辅助以实际案例向学生传授软件架构的理论、方法和技巧,并以小组为单位完成课程实验。通过本课程学习,学生可以在较短时间内掌握软件体系结构的基本知识和实践能力。

软件课程设计总结例2

With the deepening of our reform and opening to outside world, we have achieved a great deal in economic development. Meanwhile, our country's education are enjoying rapid growth. In school education, especially in guiding students to curriculum design, we are often used software engineering technology. And also we are feel technology in software engineering curriculum design and the application status is constantly increasing. So the author analyses the application of technology in software engineering curriculum design and analysis of relevant problems, combining with his supervision experience and research.

Key words

Curriculum design, software engineering, application, problems

中图分类号: G423 文献标识码: A 文章编号:

一.前言

软件工程是计算机科学与技术本科专业一门重要的专业课。一般在软件工程课程结束后,会安排一些时间让学生做软件工程课程设计。软件工程课程设计的内容是让学生运用软件工程的知识设计一个应用软件系统,并写出相关的设计文档材料。在进行课程设计的时候,我们会经常应用到软件工程技术,例如图形的绘制等,都需要借助软件工程技术。结合当下学生在进行课程设计中存在的一系列问题,有必要加强软件工程技术在课程设计中的应用,提高课程设计的质量和效率。

二.课程设计中存在的问题

1.不重视可行性分析和需求分析

有学生认为在软件的生存期中,写程序(coding)最重要,因此,对软件工程中的其他阶段不重视,甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才清楚这是很危险的,万一有的需求事先不知道,而在编制程序的过程中才发现,而在已经编制的程序上不容易实现,就要重新改写程序,或在已编好的程序上打补打,破坏程序的结构,给程序的运行和维护带来极大的困难,作者在指导课程设计中看到不重视可行性分析和需求分析的课程设计很容易陷入困境,实际的开发进度往往比预期进度慢,有时候为了赶进度,学生就采取权宜之计,不惜损害软件的质量.

2.软件设计呈无序状态

软件设计一般要求进行概要设计、详细设计,以及必须的模块设计,才能进行编码,而课程设计中大部分同学的软件开发跨越了概要设计、详细设计以及必须的模块设计,直接进行编码,这种无序的软件设计只能带来人员组织的混乱、功能代码的重复开发,并导致系统最后可集成性差.

3.系统的使用说明书不正规、不完善

软件系统质量的优劣主要取决于用户的评价.目前,大多数课程设计做的软件虽然都采用了直观易学的图形窗口界面和菜单驱动技术,大大方便用户使用,但由于课程设计系统用户类型多样,理解的程度不尽相同,除一般的操作帮助外,解释清晰、内容全面的数据字典和使用手册是必不可少的.否则用户感到使用起来很不便,觉得难于操作.

4.系统开发过程中文档不完备

软件工程要求系统开发过程中的文档必须和所开发的软件完全一致,要清楚地说明系统开发到某一阶段时已经做了什么,下一步应该做什么,以及算法的精确描述或出处等,以便课程设计小组成员之间进行有效的交流,同时这些文档也是备忘录,对系统的维护和更新意义重大.不合格、不完备的文档给开发人员内部的工作交流带来了诸多不便.更严重的是如果没有准确的文档,诸如修改系统中的错误、改进和增添新功能、移植到其它软件环境等这些工作将非常难做.

三.软件工程技术在课程设计中的应用及其相关问题分析

1.合理选择课程设计的题目

由于该课程设计与软件工程课程内容密切相关,选题工作可以在软件工程课程开始讲授时布置下去,让学生有充足的时间思考,思考成熟后,在指导教师帮助下,将课程设计题目确定下来。然后学生一边学习软件工程课程 内容 ,一边着手收集课程设计所需的有关资料,做好课程设计的准备工作 。

课程设计题 目所涉及的问题规模和难度应该比较小。因为课程设计不同于课程设计,加上课程设计安排的时间比较少,学生投入的精力也有限,所以要控制规模和难度。指导教师在帮助学生选择题目时,可以选择学生比较熟悉的问题,如图书资料管理系统、学生成绩管理系统、人力资源管理系统等等,或者选择学生很快就能熟悉的一些问题 。

2.摆正程序编写工作在软件工程中的位置

学生在做软件工程课程设计之前,已经做过一些课程设计。比如在学习C、C++或 Java之后,利用 C、C++或Java所做的课程设计 。那些课程设计内容是使用高级语言设计和编写小软件 ,在那些课程设计中,程序编写是一项非常重要的工作,因为那些课程设计是以熟练应用某高级语言为目的。而在软件工程课程设计中,编写程序工作与需求分析、总体设计和详细设计等工作相比较,重要程度降低了。因为软件工程课程设计不是以熟练运用某高级语言为目的,而是以熟悉和运用软件工程知识为目的。实际上,按照开发软件的过程,当需求分析、总体设计和详细设计等开发过程完成后,用哪种高级语言来实现软件系统已经不是重要问题了。

学生往往认为程序编写工作重要,而认为需求分析、总体设计和详细设计等工作无关紧要,这是没有领会软件工程思想的表现。当确定课程设计题目后 ,有些学生不认真作需求分析、总体设计和详细设计等工作,匆匆忙忙开始编写程序,这种行为与软件工程课程设计的目的不相符。

指导教师要引导学生明确软件工程课程设计的目的,使学生清楚程序编写工作与其他软件开发工作的关系,让学生摆正编写程序工作在软件工程课程设计中的位置;告诉学生不能只重视编写程序工作而轻视其他工作;更不能不经过需求分析、总体设计和详细设计等阶段而直接开始程序编写工作。历史上,软件危机产生的原因之一就是错误地认为开发软件就是编写程序、程序就是软件,而忽视了程序编写之外的其他各项软件开发工作 。现在要通过做软件工程课程设计引导学生摆正程序编写工作的位置,用软件工程理论指导实践,防止过去的错误再出现。

3.熟悉常用技术和工具

按照软件工程课程设计的要求,学生在课程设计结束时,要完成全部的软件设计开发任务,不但要交出一个能运行的软件,还要交出设计过程中所形成的文档材料,包括需求分析材料、总体设计材料、详细设计材料、测试材料等。要做好这些文档材料,需要在课程设计中引导学生熟悉软件工程中常用技术和工具的使用方法 。

例如,在制作需求分析材料时,涉及到实体关系图、数据流图、状态转换图、IPO 图的使用;在制作总体设计材料时,涉及到模块化技术和层次结构图的使用;在制作详细设计材料时,涉及到传统流程图、盒图、PAD图、判定表、判定树的使用;在制作测试材料时,涉及到白盒技术、黑盒技术的使用。如果采用面向对象方法进行系统分析和设计,则要涉及到 UML 中的用例图、类和对象图、顺序图、活动图、协作图、构件图、部署图的使用。

上面提到的一些常用的技术和工具,在软件工程授课过程中,教师虽然讲过,但由于没有真正使用过,所以学生不熟悉。指导教师要引导学生利用课程设计来熟悉这些常用技术和工具。因为学生毕业后,既要会做程序编写工作,也要会做需求分析、总体设计、详细设计、测试等工作,熟悉这些常用技术和工具的使用方法,并且认真完成课程设计各项文档材料的制作 ,可以为毕业后从事相关的软件开发工作奠定良好的基础 。

四.结束语

综上所述,软件工程技术在课程设计中占据着十分重要的地位,并且其应用也是十分广泛的。因此,应该加强对软件工程技术的应用研究,加大其在课程设计中的应用范围和频率。

参考文献:

[1]王延青; 李海峰; 林森; 朱素霞; 倪泽辉 软件工程系列课程设计的分组及选题策略框架计算机教育2008-04-25期刊

[2]庞希愚; 王成 在课程设计中培养软件人才工程素质的研究与实践中国科教创新导刊2012-08-01期刊

软件课程设计总结例3

2多媒体课件开发流程

2.1课件开发原理

进行课件开发就要对课件的需求进行分析,根据调查确定课件的各个功能模块,例如,课件要能够在网站上被,同时能够单独使用;课件的引导功能不能被忽略,课件能够引导学生知道自己的学习进度、页面,并可以在随意页码切入进行具体学习;课件需要有书签模块,能够使学生离开后准确找到自己之前进入的页码;课件还需要有检索模块,帮助教师或者学生快速找到自己想要的内容。

2.2课件的开发

使用课件之前要明确课件的使用性质,课件要实现模块化,在使用过程中及时发现问题,并对其进行调整。课件还要实现多功能化,既可以被教师使用,也可以被学生使用。例如,当学生自学完毕后,通过课件的全屏、小屏切换功能,转化为教师使用模式,并且全屏模式可以实现字体、亮度等调整,方便教师完成课堂教学。课件的其他功能还要实现智能化,例如,课件的检索功能要分为模糊检索、精确检索、关键字检索、题目检索等内容,检索功能下分为不同类型的检索项目,降低师生检索教学内容的难度。另外,还需要对教师、学生的课堂需求进行调查,研发动态测试题生成模块,师生按着设定的模式键入测试题题目要求,课件会相应形成测试题,并可以自主批改测试题,按着测试题的完成情况形成测试评估,联接测试的评价页面。这样的程序既节约开发时间又节省开发精力,形成的测试页面还可以给学生以参照,帮助学生形成自我评价。

3软件工程思想与多媒体课件研发相结合

3.1软件工程思想的引入

课件是软件的重要组成部分,因此也会具有软件的基本特点。随着社会的不断进步与发展,多媒体课件的研发也朝着专业化、系统化的方向不断发展,并且规模也在不断的扩大。尤其是在教育部门的倡导下进行的网络课程、教学软件的开发等,更加具有科学化和规范化的特点,并且顺应时展的潮流。多媒体课件的研发从另一个角度来看,就是利用工程思想、方法和技术进行的软件开发。此外,从当前时展的状况来看,软件工程思想应用到多媒体课件的研发当中是一种必然的趋势,将软件工程思想应用到多媒体课件研发当中,可以将教育辅助和软件工程相结合,实现多媒体课件开发的创新与跨越式的发展。

3.2多媒体课件的研发

多媒体课件的开发与教学设计和一般的软件开发不同,具有一定的特殊性。多媒体课件作为软件工程的特殊组成部分,其在研发的过程中也具有一定的规律性。其具体表现为以下几个方面:

3.2.1对课件内容的设想与开发

多媒体课件在进行研发时,主要根据特定的课程内容进行设定、研制,需要明确课件研发的意义和作用、以及使用的群体等问题,它是多媒体课件研发的开端和目的所在。

3.2.2多媒体课件的设计

多媒体课件的设计是研发的关键,因此需要加强对该部分研发设计的重视。多媒体课件的研发与一般的教学设计不同,多媒体课件需要对其中的课程内容、学习者分析等进行细致的设计,实现总体体系轮廓明确,具体内容详细的目标。在进行教学设计和结构设计时,相关的工作人员要根据为其设定的中心进行完善的设计。在进行教学设计时要从课程教学的角度进行,在进行结构设计时,应考虑使用者使用的层次感以及其浏览的顺序等因素,既要保证两者内容的明确划分,同时又要使其保持内在的联系,使其符合教学的规律。

3.3多媒体课件的评价

这个阶段主要为多媒体课件功能的测评,通过记录课件在课堂上的使用情况,对课件的教学功能以及自学功能的实现情况进行评估,在实践中发现课件的不足,例如,对课件的主体结构、课件的组成要素、课件呈现在人们面前的内容等问题进行检查,并提出维建议,形成书面报告,促进课件的完善。这个环节是课件的开发反馈环节对提高课件质量非常重要。

软件课程设计总结例4

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)19-0087-02

《试验设计与统计方法》课程是一门理论和实践结合紧密,实用性很强的工具课、方法课和实验技能课,在动物科学、动物医学专业人才培养中具有重要的地位和作用。《试验设计与统计方法》实验教学环节可以培养大学生的归纳推理能力、科研能力和实践应用能力,对于全面提高人才培养质量有着重要的作用。本文从理论与实验学时分配调整、实验教学内容、手段以及考核方式等方面,探讨了《试验设计与统计方法》实验教学改革的目标和措施。

一、实验教学改革目标

(一)知识目标

《试验设计与统计方法》是应用概率论和数理统计的原理来研究生物界数量变异规律的一门学科,它不仅提供了正确设计科学试验和收集数据的方法,而且也提供了正确整理、分析数据,得出客观、科学的结论的方法。学生通过本课程实验课的学习,大致了解了常用统计分析软件,学会使用常用统计软件编制次数分布表,绘制次数分布图,掌握常用统计方法的统计软件操作过程,为今后更好地从事科研工作奠定基础。

(二)能力目标

《试验设计与统计方法》课程是一门理论和实践结合紧密,实用性很强的工具课、方法课和实践技能课。通过本门课程实验课的教学,使学生掌握由样本的统计量估计总体的相应参数,由样本的实际结果推断得出总体结论的各种统计分析方法的软件操作过程,培养大学生的归纳推理能力。统计分析方法的软件操作过程使学生对常用统计分析方法的基本原理与方法有更深刻的认识,进一步明确了各种统计分析方法的区别与适用条件,便于今后正确地使用统计软件进行统计分析,做到理论与实践相结合,提高学生的实践应用能力和科研能力。

二、《试验设计与统计方法》实验教学现状

(一)理论与实践教学的课时分配不合理,实验教学课时数不足

《试验设计与统计方法》总学时数为56学时,教学改革之前理论学时数50学时,实验学时数6学时。实验教学主要讲授统计计算器的使用以及通过简单的抽样实验验证常用的理论分布。随着计算机应用技术的普及和统计软件的不断开发,应用统计软件分析实验数据的实际应用倍受关注。2005年,在进行教学改革时将理论与实践教学的课时分配进行了调整:在本课程56个总学时不变的情况下,理论教学减少到46学时,实验教学增加到10学时。实验教学内容由原来的理论分布验证性实验改为常用统计软件的上机操作。从近几年的教学效果来看,由于实验教学课时数不足,学生不能很好地掌握常用统计分析方法的操作过程,实验教学效果仍不理想。

(二)《试验设计与统计方法》实验、实践教学条件不足

常用统计分析方法的统计软件使用均需在计算机上完成,以往计算机资源缺乏,统计软件的上机操作实验不能正常开设。随着计算机应用技术的普及和统计软件的不断开发,应用统计软件分析实验数据的实际应用倍受关注,计算机教学设备的配备逐渐完善,常用统计软件的上机操作实验得以正常开设。由于上课班次、人数较多,计算机房缺乏相应的多媒体教学设备以及视频教学软件,实验教学效果不理想。

(三)实验教学方法不能充分调动学生的学习积极性

计算机房缺乏相对应的多媒体教学设备以及视频教学软件,《试验设计与统计方法》的实验教学是先将软件操作界面截图,制作PPT多媒体教学课件,在多媒体教室讲授并演示,上实验课时,学生根据讲授的操作过程上机操作。由于计算机资源限制以及课程安排等原因,软件操作讲授时间与软件操作实施时间(实验上课时间)不连续,存在一定的时间间隔,上实验课时部分操作过程被遗忘。再者,上课班次、人数较多,坐在教室后面的同学看不清楚软件演示画面,不能很好地掌握软件操作过程,上机操作时一头雾水,学习积极性不高。

(四)实验课缺乏有效的考核、监督方法

成绩考核是促进学生复习、巩固所学知识,并对教学效果进行检查的重要方法。计算机房缺乏相应的视频教学软件与打印设备,不能考察学生们的实际操作过程与实验结果。以往该课程实验教学效果考核仅仅依据实验课出勤情况和实验报告成绩,不注重考核实验课堂上学生们的实际操作过程与实验结果和学生对统计分析方法操作步骤的掌握情况,致使学生忽视了《试验设计与统计方法》实验课的学习,导致逃课或应付差事,课后照抄实验报告的现象非常突出。

三、《试验设计与统计方法》实验教学改革措施

(一)调整理论与实践教学的课时分配,强化实践教学环节

为了满足山东省名校工程建设和应用型人才培养的需要,提高学生对常用统计分析方法的实际应用能力,进一步强化实践教学环节,提高《试验设计与统计方法》实验教学效果,重新调整理论与实践教学的课时分配,增加实验教学课时数,减少理论教学课时数。在本课程56个总学时不变的情况下,实验教学课时数由10学时增加到16学时,理论教学课时数由46学时减少到40学时。

(二)开设该课程的教学实习环节

《试验设计与统计方法》是一门实用技能课,也是一门工具课。为强化实践教学环节,创新实践教学模式,提高实践教学质量,切实提高大学生的实践能力和创新能力,笔者认为应开设本门课程的教学实习环节。课堂教学实习可以让学生根据专业特点、知识结构和兴趣,设计实验内容,完成实验操作,统计分析实验数据。除课堂教学实习外,还应该鼓励学生参与科学研究,到生产实践和科学实验一线去设计试验、采集数据并统计分析结果。例如,试验开始前选择试验设计方法;试验过程中控制试验条件以体现唯一差异原则,并获取试验数据;试验结束后选择正确的统计分析方法分析试验数据[1]。通过这一过程使学生亲身体会生物统计学在科学研究中的具体作用,将所学的试验设计与统计分析方法真正应用于实践,加深对理论知识的理解和掌握,锻炼创新思维,培养学生试验设计与统计分析的实际应用能力。

(三)优化实验教学内容

为便于学生理解和掌握常用统计方法的基本原理,熟悉和掌握常用统计软件的实际操作,提高学生对常用统计方法和统计软件的实际应用能力,培养学生的实践能力和创新能力,为学生毕业论文的设计与数据资料的统计分析以及毕业后更好地从事科学研究工作奠定基础。将《试验设计与统计方法》的实验教学内容进行了相应改进,将原来的统计计算器的使用和抽样实验改为Excel、SPSS等常用统计软件的上机操作。统计分析方法实验教学的实施是在讲授基本原理的基础上,让学生用Excel和SPSS统计软件将课堂所授的动物科学、医学相关专业的具体案例进行统计分析,便于学生理解和掌握该章节的基本原理及其相应的统计分析方法。根据实验教学大纲的要求,统计学实验课教学内容包括以下几个方面:常用统计分析软件SAS、DPS、SPSS和Excel简介,利用SPSS和Excel统计软件进行数据资料的整理与基本分析、均数差异显著性检验、方差分析、卡方检验和相关与回归分析。

(四)完善实验、实践教学条件,优化实验教学方法和手段

凌波多媒体网络教室软件以及极域电子教室系统等多媒体网络课堂教学管理软件能够全面协助教师开展高效的课堂互动教学,实时评测学生课堂学习效果,并提供多样化的班级管理功能,真正实现了个性化自主学习的实践与创新。为了提高实验教学效果,我们先将统计软件的操作界面截图,然后制作成PPT格式的多媒体课件。上实验课时,利用计算机房安装的凌波多媒体网络教室软件以及极域电子教室系统等电脑网络教学平台,先在主机上给学生详细讲述统计软件的具体操作、结果解释和注意事项等,并动态演示Excel和SPSS统计软件的具体操作过程,然后让学生应用Excel和SPSS统计软件独立完成教科书上的案例或课后习题,并要求学生结合专业知识对输出结果做出合理的解释。这种实验教学方式便于学生深入了解和掌握统计软件的具体应用,提高实验教学效果。

(五)改革实验教学考核方式,注重学生能力考查

以往该课程实验教学效果考核仅仅依据实验课出勤情况和实验报告成绩,不注重考核实验课堂上学生们的实际操作过程与实验结果和对统计分析方法操作步骤的掌握情况,致使学生忽视统计学实验课的学习。为了对教学质量进行科学的评价与管理,也为了客观准确地评定学生的成绩和能力,有必要改革实验教学考核方式,制定出较合理的实验教学综合评价指标体系,全面考察学生的实践操作能力。我们制定的实验教学综合评价指标体系包括三部分:一是平时实验考核,占总成绩的10%,主要包括实验课出勤情况、上课纪律以及实验动手能力等;二是实验报告考核,占总成绩的20%,每次实验课结束后,要求学生将主要的操作步骤书写成实验报告的形式上交,教师批阅实验报告,评定成绩;三是期末实验考核,占总成绩的70%。期末实验考核是在理论与实验教学结束之后,利用多媒体网络课堂教学管理软件进行上机操作考试。学生借助计算机软件绘制统计图表、进行试验设计以及进行各种试验设计资料的统计分析,并对统计分析结果的实际意义进行解释说明,教师根据实验结果评定成绩。计算机上考试的信息容量大,既能全面考核学生对各种统计方法的掌握情况,又能防止考试作弊[2]。

软件课程设计总结例5

2.评分模式单一软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。

二、现有的教学方法的分析

针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:

1.自底向上教学法在“软件工程”课程中应用授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]

2.模块化教学法在“软件工程”课程中的应用在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]

3.案例教学法在“软件工程”课程中的应用软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]

4.项目驱动教学法在“软件工程”课程中的应用项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。

5.三位一体式教学法在“软件工程”课程中的应用根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。

三、基于多元教学法的课程改革新模式

某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。

1.理论教学内容多样化

理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。

2.实践教学内容多样化

软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。

3.考试方式多样化

传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。

四、基于多元教学模式课程改革方案

基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。

软件课程设计总结例6

1、引言

随着多媒体技术的快速发展,CAI课件普及到教育领域,而目前的CAI课件,主要是由高校自己研制的针对基础课程的教学软件和软件开发公司开发的教育软件,缺乏针对性和实用性。目前,大多数教师开发课件缺乏专门培训和专业知识,制作的课件往往存在照搬教材内容;课件只追求“漂亮”,用各种图片,动画或音乐吸引学生注意力,反而忽略了教学效果;课件缺乏与学生的互动,着眼点在教而不再学;课件应用范围窄,不能资源共享,重复开发严重等等问题。要解决这些问题,就应该有正确的软件开发原理,遵循成功的软件开发方法,软件工程学是是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。使用软件工程的方法有助于提高软件产品的质量和开发效率。

2、软件工程原理与多媒体课件开发

软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。软件工程是经过众多科研工作者和用户的创造、修改和更新得出的经验总结,可以有效保证软件质量,科学组织人员、跟踪进度、完成计划。

课件是根据教学大纲的要求,经过教学目标确定,教学内容和任务分析,教学活动结构及界面设计等环节,而加以制作的课程软件。课件实质是一种应用软件,课件开发同样遵循软件开发的一般规律。将软件工程原理应用于多媒体课件开发可以有效提高课件开发效率。

多媒体课件在课堂教学中的使用从纯演示型课件到专业型积件再到资源共享型课件系统,这个演变过程可以看出,多媒体课件已经从单纯的演示,教师课堂主导,发展到具备学科通用特性,再到多学科结合,课件资源共享、交互性强通用性强。课件的开发难度越来越大,开发时间越来越强,因此多媒体课件开发也正朝着降低开发时间和难度、提高开发效率、提高通用性的方向发展,多媒体课件开发的模块化、规模化已成趋势。

3、基于软件工程思想的课件开发过程

3.1软件定义

软件定义的基本任务是确定软件的需求,软件定义可以分为可行性研究和需求分析两个阶段。

(1)可行性研究。针对将要开发的教学软件,进行大量的市场调研,分析同类软件存在的问题,能否满足教学需要,初步给出课件开发的概况。然后分析教学要求和教学对象,确定软件开发可行性。

(2)需求分析。需求分析是整个软件设计中的关键环节,在这个环节中要确定软件系统“做什么”,确定软件的功能需求、性能需求和运行环境。目前的一些教学软件实用性不强,与教学脱节,主要还是需求分析工作做得不充分。所以要全面分析课程的总体要求,根据教学大纲确定教学目标,分析教学对象的特点和接受能力,根据课程要求、教学目标和学生特点制定教学软件的总体框架。由于软件是复杂的逻辑产品,需求分析阶段很难精确表述各项指标,所以这一过程中,应该与用户反复交流,了解教学要达到的效果,使用户需求逐步精确化、一致化、完全化。

3.2软件开发

(1)概要设计:根据需求分析建立软件总体结构,定义各功能模块和模块之间的关系。考虑到教学软件的特征,概要设计应包括教学设计和结构设计。教学设计根据教学目标,教学计划,教学内容模块,教学环节,学生信息安排整体教学过程。结构设计是按照课程的框架结构和要实现的功能对课件总体结构进行设计。

(2)详细设计:设计过程是一个逐步细化的过程,对概要设计所产生的功能模块逐步细化,形成具体的教学单元。根据教学进度要求,学生接受能力,知识点分布,内容逻辑关系等合理划分教学单元,详细列出每个教学单元包含的教学内容、重点内容、表现方式、逻辑顺序等。另外内容设计要注意规范化,对整个界面的布局,课件的文字、颜色、背景、强调效果都要有统一的设计。

(3)素材采集加工:根据模块功能和脚本内容,搜集整理相关的媒体素材。媒体素材包括文字素材、图片、动画、音频和视频等。文字素材是最基本的内容,也是课件主体内容,一定要注意突出醒目。图片、动画等制作时注意格式,以免课件容量过大。

(4)实现:前期准备工作完成,就进入实现步骤,根据前期的框架和内容,分模块编制程序,进行单元测试。最后合成、综合测试。

3.3软件使用与维护

软件在实际教学中试运行,让老师与学生从教、学两个方面评价,根据教学效果和运行情况进行合理修改。试用正常就可以,正常使用。当然在软件使用过程中,教学软件也应该根据学科变化及时更新内容,增加知识点,同时修改漏洞,优化界面,以保证课件的先进性和实用性。

4、结语

多媒体课件在现代教学中逐步占据重要位置,而如何制作出高效实用的课件是值得我们思考的问题,多媒体课件的开发越来越趋向专业化、模块化、规模化,我们使用软件工程原理开发课件,结合课件自身的特点,促进多媒体课件开发的专业化和标准化,制作出更多高效优质的多媒体课件。

软件课程设计总结例7

1 选择适当的软件工程过程

“软件开发设计实训”课程的主要目的是使学生学会用面向对象的设计方法设计实际系统。结合软件工程学科的发展和应用现状,软件开发过程主要采用rup(rational unified process,统一软件开发过程)的方式组织软件开发。rup是风险驱动的、基于use case(用例)技术的、以架构为中心的、迭代的、可配置的软件开发流程。

rup分为初始、精化、本文由收集整理构造和交付四个阶段,各阶段涉及多种工作流【1】。rup的核心工作流主要包括:

需求捕获工作流:需求捕获通过对问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。

分析工作流:分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。

设计工作流:设计的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。

实现工作流:实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。

测试工作流:测试是一项相当主要的工作。测试工作流贯穿于软件开发的整个过程。它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与缺限,而不能证明程序无错。

rup就像一个元过程,通过对rup进行裁剪可以得到很多不同的开发过程,非常灵活,所以可以将其按本课程需要进行精简,从而把深奥的理论指导融入具体软件项目的开发设计中,让学生更加深切地体会到什么叫学以致用,消除畏难情绪,培养和增强在软件开发设计中自觉遵从软件工程思想的习惯。本课程使用的case(computer aided software engineering,计算机辅助软件工程)工具集采用sybase公司的powerdesigner。

2 将有价值的软件工程知识引入课堂,教学采用项目贯通案例

为让学生在中小规模的实训项目中也能体会到较大型项目通常会用到的一些软件工程技术,让本课程更有实用价值,教师需要对学生补充一些软件工程相关知识,包括:设计模式、架构设计、类的持久化以及数据库设计、面向对象实现以及文档的书写这四个方面。

为配合上述四个方面的软件工程相关知识的介绍,教师采取“项目驱动的案例教学”方法【2】,在课堂讲授中引入一个完整的、规模适中、难易适度的软件项目案例。该案例需要通俗易懂而又具有实际意义,涉及的应用领域应该是学生较为熟悉的,这样理解起来更为容易。以此案例完整的开发设计过程为主线,借助这个贯穿整个课程教学进程、文档齐全的完整案例来将软件项目开发设计过程中的各个环节串连起来,着重展现上述四个方面的知识运用,让学生熟悉和掌握软件开发设计的具体实施步骤和技术。

3 学生实践环节分小组按项目方式进行

由于在本实训课程之前学生已经学习过一门先导课程:“软件需求分析实践”,所以可以把学生仍然按照在“软件需求分析实践”课程中的各小组成员组成来进行项目分组,这样各小组便可将该课程中的最终成果——《软件需求分析规格说明书》作为本课程的起点来进行,需求捕获工作流便只需粗略进行。由于本课程侧重于软件开发过程的分析工作流和设计工作流,对实现工作流和测试工作流也只作粗略涉及。

每个项目小组通常为3到5人,分组时采用了优势互补的方式,注意合理搭配,尽量让每组各个成员具有不同的优势能力,并让其民主推选一名组长负责组内的组织和协调【3】。

教师的项目贯通案例教学分阶段间插在学生实践过程中,每介绍一个阶段的rup理论,就紧跟几次课的学生实践环节,如此交替进行,当教师的教学案例施教完毕,学生的项目也同步进行到最后阶段。

项目进行中模仿软件公司的例会形式,定期由项目小组长召开小组讨论会(如每周一次),对最近这段时间的项目进展情况和技术问题进行讨论。每个开发设计阶段结束时教师均要求各小组给出相应的文档,且每个阶段完毕要进行一个模拟的里程碑式的评审(教师参与作为评审团的一员)【4】。

教师还应在课程即将结束的最后课时中对各小组的项目完成情况及普遍存在的共性问题作一个分析总结,并让各小组组长总结本组项目完成的经验教训,以利于同学之间取长补短,活跃思维,提高分析总结问题的能力。

4 依托教学团队,理论及案例部分采用轮流授课法

笔者所在的软件工程系于2009年底成立了软件工程教学团队。团队兼顾了职称、学历、教学、科研的合理搭配,由有大型项目开发和管理经验的老教师提供指导来提升年轻教师的教学能力,并让其参与到科研项目中积累项目经验。本课程的任课教师均由该团队中选出。本课程所用的《软件开发设计实训指导书》的编写由各任课教师分工完成,每人负责完成一章内容。本课程每个教学班安排30人左右,各教学班的教师全程负责该班整个课程的实践指导环节。而理论及案例讲授部分的教学则采用轮流授课法,实施方案是每个阶段的课堂讲授由编写实训指导书的相应章节的教师对全体教学班集体授课,其他教师同时到场辅导。具体各阶段的课堂讲授内容安排如下:

1)rup总论以及课程概述

2)设计模式

3)常用的软件架构风格及适用情况分析

4)对象持久化与数据库设计

5)面向对象实现及文档编写与整理

对应进行的学生的各阶段实践任务如下:

1)按既定方式确定各小组成员和组长,并且重新审核各组在先导课程“软件需求分析实践”中的最终成果《软件需求分析规格说明书》,进一步完成分析模型,得出用例图,分析类图,序列图及协作图。这一阶段学生需提交分析模型文档。

2)按照设计模式重新设计类。这一阶段学生需完成两个任务:一是实现设计模型中的具体设计类,具体要求学生:使用设计模式和机制;创建初始设计类;确定持久类;定义类可视性;定义操作;定义方法;定义状态;定义属性;定义依赖关系;定义关联;定义内部结构;定义泛化关系;解决用例冲突。二是完成用例实现的设计,主要设计模型内的协作关系,以设计类及其对象为基础,描述各个特定用例的实现和协作。这一阶段学生需提交设计模型、类图和用例实现。

3)完成架构设计。这一阶段学生需要设计包结构,完成系统设计模型图的实现子系统、接口设计类及架构模型(组件图),重新审查用例模型,得出用例模型的架构视图。这一阶段学生需提交子系统设计文档、接口设计文档及架构模型文档。

4)根据持久类以及数据库知识对数据库进行设计(包括字段编码设计)。这一阶段学生需提交数据库设计文档。

5)本课程的最后阶段。完成实施模型(部署图);完成界面以及输入输出(报表等)设计;完成具体子系统的编程工作,并进行二次迭代重新审核前面的设计部分;整理测试报告;整理文档并编写软件使用说明书。这一阶段学生需提交组件图、部署图、输入输出设计说明及具体子系统代码执行程序。

5 考核方式强调过程考核,开发设计能力与书写文档能力并重

本课程的实训目标是使学生能综合运用所学的知识进行中小型应用项目的软件开发设计。为此,我们提出了本课程考核的指导思想:重视实训过程,看重软件开发设计能力的提高,采用复合考核的方式,课程成绩由平时考核、过程考核和项目验收答辩成绩组成。重点突出“会不会做”,强调对学生的实际开发设计能力考核,同时注意防止轻视书写文档的观念。这种考核方式不但能更客观地反映学生的学习情况,还能引导学生有意识地加强软件开发设计技能的培养,开发设计能力与书写文档能力并重,更利于达到预期的教学效果。本课程具体的课程考核成绩组成如下:

1)平时成绩*10%(考勤成绩*50%+小组开发设计工作中的合作精神表现*50%);

2)阶段考核成绩*60%(五个阶段,各阶段的能力表现及提交的文档各占20 %);

软件课程设计总结例8

中图分类号:G64 文献标识码:B

文章编号:1672-5913 (2007) 19-0043-04

1引言

信息管理与信息系统专业具有管理与信息技术相互渗透的特点,它既不同于计算机专业也不同于管理专业,更不是计算机与管理专业的大拼盘,而是基于现代管理理论,借助于先进的计算机工具进行信息管理和信息处理的学科。课程涉及计算机技术、信息处理技术、信息系统管理与分析、经济管理类课程。要求学生在知识结构上除了掌握扎实的管理科学、经济科学、计算机科学与技术、现代信息技术知识外,还应该具备较强的系统思想、信息系统分析与设计方法以及信息管理等方面的知识与能力。

“软件工程”是信息管理与信息系统专业的主干课程,也是一门指导信息管理与信息系统分析的课程,它在信息管理与信息系统专业的教学中占有非常重要的地位。但是,目前现有的针对信息管理与信息系统的“软件工程”教材大部分还是按照传统的分析和设计方法,没有融入当前比较先进的设计方法、设计工具,而且所选取的实例也没有融入先进的管理理念,所以对信息管理与信息系统专业的“软件工程”课程的研究和改革是非常必要的。

2信息管理与信息系统专业软件工程教学改革

传统的软件工程教学模式已不适合信息管理与信息系统专业的学生,需要建立一个符合社会发展需求、能够培养有优秀复合人才的教学新模式。通过几年的教学摸索,我们提出了“合理体系、多种形式、内容渗透、特色案例和实践、多形式考核”的教学模式。该模式采用产学结合、理论实践相结合的方法,在企业中建立研究基地同时与资深软件工程师和咨询师进行联合研究和实践,使学生能够掌握最先进的软件分析方法和工具;深入理解先进的企业管理理念;提高动手实践能力,保证了以后毕业设计的顺利进行和社会的需求。

2.1软件工程课程体系的合理构建

软件工程课程是信息管理与信息系统专业非常重要的专业课程。课程的培养目标应该以市场人才需求为导向,培养的人才应该能够为软件企业提供更为专业化的服务,满足企业的需求,从而增加企业的国际竞争力。因此,软件工程课程的教学内容也应该更为专业化,应该在跟踪国际有关机构对软件工程研究的新成果的基础上,不断更新教学内容,构建新的课程体系。软件工程课程主要涉及3个方面:技术与方法、工具与环境、标准与规范、过程与管理。教学过程既要考虑内容的连续性、继承性,又要考虑可理解性和可操作性。因此,课程体系和教学内容也应涵盖如下层面:

(1) 基本理论层面:介绍软件工程基本理论,包括基本概念、原理、方法和技术、工具与环境,等,其中传统的方法和技术等内容不能没有,但不能占用太多的课时,而对于新的技术和方法则应该花较多的课时加以介绍,安排合适的课程训练,如在面向对象的方法、项目管理方法、相关的开发工具和开发环境等方面。

(2) 技术管理层面:介绍软件管理的主要内容,包括软件项目管理、软件风险管理、软件质量管理、软件配置管理、软件过程管理等方面。主要以软件过程为主,包括美国的SEI的软件能力成熟度模型CMM/CMMI、ISO9000-3、国家行业标准《软件过程成熟度模型SJ/T11234》和《软件能力成熟度模型SJ/T11235》,等。

(3) 实践层面:软件工程实践,主要是让学生进行软件工程课程内容的综合应用实践。可以采用相对集中的课程设计、参与实际软件项目开发,以小组方式进行软件项目模拟,参与软件企业的软件过程改进等方式进行,必要时可以跨学期进行。

2.2软件工程教学内容的合理安排

为了保证教学的高标准,体现教学的科学性和完整性,我们应该在合理的软件工程课程体系结构基础上合理的安排软件工程教学内容。软件工程教学内容覆盖了软件工程知识体系中十个知识点,即软件需求、软件设计、软件构造、软件测试、软件维护、配置管理、工程管理、软件过程、工具和方法、软件质量。这些内容的教学被有意识、阶梯状地分配到学生四年的不同学习阶段,最后使学生具备知识的综合应用、融会贯通的能力。软件工程的教学内容安排如下:

(1) 加强对软件工程的认识:一年级的学生主要是公共基础课程的学习,但在一年级的计算机导论课中加入了职业发展和软件工程思想,使学生初步了解软件工程的思想、作用,加强学生的规范化意识。

(2) 加强编程规范:在二年级的程序设计课程中除了使学生熟悉编程语言,理解面向对象的概念外,还加入了模块化思想和编程规范的训练,通过加强软件工程中编码阶段的规范化训练减轻了以后的软件维护工作。

(3) 设计的规范化:三年级开设了数据库系统、软件工程以及大量的管理课程,在课程最后布置一个综合作业,这个作业以先进的管理理论为指导,以软件工程的思想规范系统的分析、设计。

(4) 工程化实践:四年级通过软件工程课程实习和毕业设计课程进一步强化软件工程的思想,通过实践进一步体会其重要性。

对于软件工程这样一门特殊的课程通过四年的阶梯状教学渗入,通过迭代式教学,使学生的分析、实践能力得到有层次、有步骤地提高。

2.3多种教学形式相结合

为了提高软件工程的教学质量和教学效果,激发学生的学习兴趣和热情,在教学中应采用多种教学手段提高教学效果。

(1) 多媒体教学:理论课采用多媒体教学手段,制作了大量课件。这些课件可以形象化地讲授软件工程基本原理,并且在同样的一节课内能比以前传授更多的知识。由于课堂时间有限我们将部分内容制作成课件供学生自学,以便于学生课外扩展自己的知识面。

(2) 网上教学:随着Internet的发展,网络成为人们获取知识的最重要的途径,在软件工程的教学中通过建立网站,为学生更好学习提供了一个平台。网站为学生提供学习资料下载以及相关业界信息;学生也可以通过网络进行在线、离线的交流,同时网站也经常开展课程的专题讨论和专家在线讲座。

(3) 双语教学:考虑到学生以后可能会阅读大量的外文资料,软件工程尝试实施双语教学,采用国外优秀的原版教材,课件和作业大部分采用英语作为工作语言,并鼓励学生使用英语进行交流;同时给学生提供英文的课外阅读资料,以使他们及时了解国际最新发展。

(4) 案例教学:考虑到信息管理与信息系统专业的特殊性,我们将案例教学融入到软件工程课程的教学中,通过案例的分析一方面加强学生对所学的管理知识的理解,另一方面使学生能深刻领会和理解软件工程的思想和方法。

(5) 实践教学:通过与企业合作,建立实践基地为学生提供实际的课题。这种方式提高学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,提高学生的综合素质(特别在基础技能、团队协作、资料收集、人际交流、项目规划几个方面),在就业中具备更强的竞争力,更加适合在现代软件企业中发展。

(6) 讲座:通过资深的专家、软件工程师的讲座,有利于学生了解当前的社会需求和前沿技术,为学生提供一个指导方向。

2.4完整的、体现先进管理理论的特色案例教学

软件工程讲授的原理、技术、方法都是抽象的,为了使学生能深刻领会和理解软件工程的思想和方法,在教学中将MBA的案例教学引到软件工程的课堂教学中,将复杂抽象的概念用具体生动的案例进行诠释,能够收到事半功倍的效果。在具体教学中,可以实施以下几个步骤:

(1) 设计一个典型的、完整的、具有先进管理思想的、实际的软件项目案例,在整个教学过程中结合该案例讲授每个知识点,将实际案例作为贯穿所有知识点的主线。该案例选择学生学过、当前流行的管理方法(比如ERP、供应链),最好来源于授课教师直接参与的软件项目或实习基地的项目,授课教师对其全部细节能够准确掌握,当然还可以与软件企业的资深的软件工程师和管理者合作来编写案例,使其具备实战性;另外,这些教学案例最好采用传统的以及目前流行的两种方法编写,并且要根据软件工程的发展对其进行不断的修改和完善。

(2) 布置讨论案例。在讲授完每个知识点后,安排一到两节的案例课,该案例不同于教学案例,可以针对各个知识点的特点设计多个案例,不要用一个案例贯穿所有知识点。案例的内容应具有目的性、典型性、真实性、复杂性和启发性。教师用描述性语言叙述案例,其中隐含着有待解决的问题及其所处的客观条件,学生通过认真阅读案例,并查阅有关资料,从错综复杂的现象中理出头绪,明确给定条件,找出主要问题并做好记录。同时,分析问题,制定针对性的措施,提出解决主要问题的可行方案,并对方案进行初步评价。

(3) 组织小组讨论。将学生分成五至六人的讨论组,由每位学生运用所学知识对案例作出分析和说明,提出解决的措施,重点阐述分析、设计的理由,然后,大家集思广义,小组内展开讨论,各抒己见,并由专人记录,讨论的重点是各个解决方案的相互对比和分析评价。最后,从各个可行方案中选出一个较为合理的解决方案,或者对所有方案进行整理和归纳,得到一个最佳方案。

(4) 小组代表发言,集体讨论。每个讨论组派一名代表上讲台,讲述本组对案例的理解、分析、判断、论证和决策过程,说明解决问题的方案和分析设计结果。对于同学的发言老师要围绕题目给予必要的引导,鼓励他们多角度、多因素地观察分析问题,培养学生的知识迁移和拓宽思维的能力,启迪他们学以致用的创造意识。然后,组织全体同学进行分析、讨论、评价,对于非确定型的决策问题,同学们往往存在着意见分歧,结论很难统一。这一过程可以增加学生对软件开发项目的感性认识和兴趣,提高他们分析问题和解决问题的能力。

(5) 教师总结。在案例讨论结束时教师要进行总结,但总结的重点不是对案例分析所做的结论性意见。因为,解决案例问题的决策方案不是唯一的,所以教师的总结应是就整个讨论情况作出评价,对正确的论点给予肯定和完善,指出一些带有倾向性和原则性的问题,特别是对某些问题可以更深一步的思考,进行启发式的诱导。

案例教学法通过案例贯穿软件工程各知识点的讲授,将枯燥的理论与实际紧密结合,变抽象为具体,帮助学生充分理解和掌握各知识点;通过组织学生参与案例讨论,要求学生从真正工程师的角度来分析问题和解决问题。正是这种参与性的学习方法,才使学生有可能成为未来优秀的人才。

2.5合理的实践安排

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生,因此,实践是这门课程的一个重要环节。课程实践一般集中安排在课堂教学结束后,但是,在把握教学进度的同时,必须及早布置课程设计题目,让学生边听课边实践,使其有相对充裕的时间收集相关资料和进行独立思考,及时消化理论知识并应用于实际,探询问题的最佳解决方案。课堂学习结束后,进入集中的课程设计阶段,对上一阶段的工作成果进行补充和完善,编写各阶段的工程文档,实现系统并测试,最后总结设计得失。

课程设计应以团队合作的方式进行,每个小组4~6人,在优差生搭配的前提下自由组合,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,小组成员角色可以互换。以团队合作的方式协同完成项目开发。这些项目都是从实际合作基地的项目。设计过程学生相对独立的完成,需要学生在熟悉UML的面向对象软件开发方法后,能够通过Rational Rose针对实际应用问题构造UML模型,教师采用点拨方式或共同探究的方式进行指导。设计小组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同,在研究问题找出规律的过程中创造性地学到了知识,创造能力、应用能力、综合能力和交流合作等都得到充分的发展。在课堂讲授的同时及早布置课程设计题目,避免了理论学习与实践应用的脱节,提高了学生课堂学习的认真程度,同时也提高了课程实践的效果。同时每个阶段要有成果展示和相应的文档资料。最终应提交成功运行的产品及全部文档。

2.6多形式考核方式

软件工程是一门实践性非常强的课程,考核的重点不应该只是理论考试,而应该看学生是否掌握了软件工程学的思想和方法,另外考核的功能不仅是检验学生学习和掌握课程的情况,更重要的是鼓励和督促学生学习的主动性,因此软件工程的考核注重学生综合知识和应用能力方面的考核,我们的考核方案是:平时作业5%,课堂表现(发言与讨论)25%,案例分析(小组模式)40%,笔试30%,课程的实践单独考核。采用这种考核方式,可以避免学生对知识的死记硬背,转而重视对知识的理解和运用,课堂发言踊跃,对学生学习的主动性和创造性思维具有很大的促进作用。

3结论

总之,针对信息管理与信息系统的专业特点改进软件工程的课程教学,必须针对其实践性强、发展迅速的特点,根据管理模式、软件行业需求的变化不断更新教学内容,设计合理的课程体系、教学方法,产学结合、理论与实践相结合,在突出课程基本理论和概念知识的同时,更侧重于对学生的软件工程应用能力的培养,运用有效的教学手段,建立良好的教学环境,培养学生的学习兴趣,提高学生学习的主动性与创造性。该课程的目标是培养适应社会需要的高素质的复合型人才。

参考文献

[1] 骆斌,张大良,邵栋. 软件工程专业的课程体系设计[J].中国大学教学,2005,1.

[2] 万江平,安诗芳,黄德毅.软件工程知识体系指南综述[J].计算机应用研究,2006,10.

[3] 王志平,张毅,童华,李烈彪.软件工程实验室建设和实验教学的探索[J].实验科学与技术,2006,12(6).

[4] 沈备军,顾春华.软件工程教学模式的研究和实践[J].计算机教育,2005,1.

[5] 尹锋.软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006,9(5).

[6] 牛丽,.基于UML的ERP开发方法研究[J].长春大学学报,2006,2(1).

软件课程设计总结例9

中图分类号:TP301文献标识码:A文章编号文章编号:1672-7800(2013)012-0004-02

作者简介:王忠华(1963-),男,武汉大学教务部教育技术中心主任、副研究员,研究方向为高教管理、教育技术。

0引言

随着多媒体网络技术的发展,多媒体课件在教师教学过程中的应用越来越广泛,极大地提高了教学效果和效率,促进教学方式发生深刻变革。开发种类丰富、功能齐全的多媒体课件资源是当前教育改革发展的一项重要任务。目前各类学校都建设了大量多媒体教室,要充分发挥这些现代教育技术设施的作用,还需具备丰富的多媒体课件资源。现阶段多媒体课件资源开发大多以教师为主,以项目申请方式进行,制作的课件资源大多限于教师本人使用。显然,这种模式下制作的课件资源数量有限,课件功能质量也参差不齐,而且容易导致资源重复建设问题。本文旨在运用软件工程方法对多媒体课件开发过程进行指导,从学校层面形成一个多媒体课件资源开发体系,以求更好更快地建设优质教学资源库。

1软件工程方法

由于软件开发要求具有较多的定制性需要,因此其一直落后于硬件技术的发展。为克服软件开发过程中的重复、低效、质量等问题,许多软件专家借鉴工程设计建设领域中的原理与方法,按照工程化的方法组织软件开发。实践证明,工程领域中的原则与方法应用于软件开发过程是有效的,并逐渐形成了一套适用的软件工程方法。

软件工程方法自提出以来,经过60年的发展,其思想和方法逐渐成熟并工具化,也就是开发出不同的用于软件工程方法的工具软件。软件工程方法主要分为面向“过程”的方法和面向“对象”的方法。在实际应用中,面向“过程”的方法使用最为成熟,应用也最为广泛。面向“过程”的方法是一种结构化方法,其核心思想是软件生命周期理论。软件生命周期理论将软件开发过程划分为6个阶段,具体如下:① 制定软件开发计划:该阶段要确定软件系统的总目标和功能需求,分析软件开发任务的可行性和风险估计,拟定项目开发实施计划;② 需求分析:该阶段对软件的功能需求进行具体分析并给出详细定义,包括对用户的分析、对数据的分析,编写形成软件需求分析文档;③ 软件设计:软件设计阶段一般分为总体设计和详细设计两个阶段,总体设计阶段要把已确定的各项需求转换成具体的软件模块和相互结构关系,对每个模块功能进行具体定义;详细设计阶段则要对每个模块的功能接口和过程进行详细描述,最后编写软件设计文档;④ 程序编写:也就是要把软件设计文档用具体程序设计语言编码为计算机程序代码;⑤ 软件测试:依软件功能要求分别进行各模块测试和软件组装测试;⑥ 运行和维护:在软件使用过程中进行适当维护[1]。

把以上各阶段工程活动组合进行软件开发和维护就形成了软件生存周期模型,常用的有瀑布模型和演化模型等。瀑布模型规定了各项软件工程活动自上而下、相互连接的顺序过程,每一阶段都要在前面工作得到评审确认后,才能继续下一阶段工作。演化模型的主要特征是产生一个称作“原型”的试验型产品,它可以用于分析一些不很明晰的软件需求,也可逐渐完善这个“原型”而成为最终产品。

2多媒体课件开发过程

多媒体课件是一种具有教学功能的计算机软件,所以软件工程方法对多媒体课件开发具有非常重要的指导价值。参照软件工程方法的课件开发过程可分为以下几个阶段[2]。

(1)计划阶段。计划阶段应明确开发多媒体课件的目的。教学课件的主要目的是用于学习,必须明确该课件如何用于教学过程,具体地,也就是明确学习者在学习中的性质和地位,即课件是作为学习者学习的基本教材还是辅助或补充教材以及与其它教材的相互关系;还有,必须明确学习者的学习模式,是作为教师辅助课堂教学,还是作为学生个别化学习,是作为知识学习还是作为技能培训;另外,课件使用除计算机外,是否还有其它要求。计划阶段必须在各种候选方案中研究明确课件开发的可行性和必要性,并制定具体开发计划、人员安排、成本预算和预期效益等。

(2)分析、设计与制作。课件需求是教师提出的,所以需求分析必须以教师为中心。

对于教师明确教学和制作要求的情况,可选用瀑布模型进行课件开发。教师进行教学内容选择,分析表现形式要求并按脚本要求填写脚本卡片,由具体制作人员按要求设计制作。这种流水线型工程化制作模式可并行展开,提高开发效率。

对于教师不是很明确具体要求的情况,可选用“原型”化方法。根据教师提出的部分要求快速开发出一个试验型的课件“原型”,它是一个早期可运行的版本,反映了最终系统的重要特性。教师应用原型亲身体验并受到启发,做出进一步要求,开发者对原型加以改进得到新的原型版本,乃至得到最终课件。“原型”化开发方法可灵活运用到课件开发的局部模块,也可结合到部分开发阶段进行。

(3)测试、评价与维护。按照需求分析对课件的要求和总体设计对各个模块的要求,分别对多媒体课件进行模块测试和组装测试,课件满足要求并运行稳定后即进入运行使用阶段。在多媒体课件的教学应用中,进行教学效果评价,根据新的要求进行课件的改正性、适应性和完善性维护。

3重要启示

(1)模块化。软件工程的一个重要原则就是模块化,课件开发同样要注重模块化,依据教学内容设计各个模块,使得各个模块之间低耦合,模块内部高内聚,这样有助于控制问题的复杂性,便于维护和模块重用[3]。近年来,国内教育技术界提倡的“积件”思想,其本质就是软件模块化。所谓“积件”,就是开发设计人员根据教师的教学需要把教学内容、教学方法、教学策略等做成一个个独立的模块。教师本人或者课件开发人员在制作多媒体课件时就可以像搭积木一样,把单独的“积件”进行组合形成辅助教学的课件产品[4]。模块化对多媒体课件开发非常重要,它可以有效提高软件开发的效率和质量。

(2)软件复用。软件复用是软件工程的指导思想,通过复用可以提高软件开发效率、有效降低软件开发成本。软件复用,就是利用某些现有的软件系统元素、模块,进行简单改造加工用于新的软件系统开发。软件复用作为一种指导思想,是指它不仅仅是重复利用一个软件模块对象,而是所有软件工程过程中出现的元素都可以进行复用,包括软件开发计划、需求分析文档、设计规格文档、程序代码、数据结构、用户界面、文档风格等等,也就是不但可以复用程序模块,也可以复用设计思路。多媒体课件设计制作从项目计划一开始就要考虑复用别的课件系统,制作过程中也要尽量考虑到模块的可复用性。

(3)文档编制。软件本身包括程序、数据和文档,因此文档也是软件产品。软件文档在软件工程中的地位和作用非常大,完善的软件文档是保证高效率、高质量地开发软件的重要依据。从软件生命周期中,我们知道每一阶段都是在对上一阶段形成的文档审核基础上展开的,也就是说上一阶段的软件文档作为该阶段工作的总结成果,只有通过了审核,才能实施下一阶段开发计划。同时,上一阶段的软件文档也是下一阶段软件开发过程的依据,出现问题可以追根朔源、有据可查。在实际软件开发工作中,由于认识问题、或者工作量考虑,对软件文档的编制普遍存在不规范或者干脆不编写的现象,这给软件开发质量和后期维护带来许多隐患,对于课件开发,这种现象更为普遍。由于现阶段大多课件的程序控制不是很复杂,主要以媒体素材为主要工作量,更重要的是课件的后期维护和二次开发工作很少,导致文档编制的作用容易被忽视。但是课件真正用于教学,不可能不进行二次维护或开发。没有相应的完整的编写良好、风格统一的文档,进行二次开发是很困难的。

按照产生和使用的范围,软件文档大致分为3类:① 开发文档:这类文档是在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作的依据,包括项目开发计划、可行性研究报告、软件需求文档、总体设计文档、详细设计文档等;② 管理文档:这类文档是在软件开发过程中,由软件开发人员制定,提交管理人员的工作计划或工作报告,包括项目开发计划、开发进度报告、项目开发总结等;③ 用户文档:这是软件开发人员为使用户了解软件的使用、操作和维护提供的资料,包括用户手册、操作手册、软件需求规格说明、维护修改建议等。一个完备的课件,这些文档都是必不可少的。

(4)软件项目管理。任何工程项目都存在一个组织管理问题,管理的内容涉及诸多方面,包括人员、进度、成本、质量等。软件工程方法一般重点研究软件开发过程,对软件项目管理问题则稍有提及,但软件项目管理对软件工程的质量是必不可少的,在小型软件开发项目中可能还无所谓,但对于需要一个团队进行协作开发的大型软件项目,如果没有软件工程管理安排和设计,是无法保证软件开发过程的顺利实施的。对于多媒体课件开发,无论项目大小,实施软件管理都是有益无害的。

软件项目的管理工作涉及整个软件生存期,包括成本管理、人员管理、资源管理、进度管理、质量管理等。管理的对象包括进度、质量、成本估算、经费安排、组织人员、资源配置等。严格的项目管理对保证软件的质量和预期效益是必要的。

参考文献参考文献:

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

软件课程设计总结例10

一、引言

软件工程是计算机科学、信息技术、软件工程等专业的教学计划中一门重要专业必修课[1],而软件工程课程设计是针对软件工程这门课程展开的一项理论与实践相结合的重要教学活动;它不同于毕业设计,更不同于简单的实验过程。它是软件工程教学的一个重要实践环节,为学生综合能力的运用、技术思维的形成、创造能力的培养搭建了一个平台,使学生除了掌握软件工程理论和方法外,还能够综合运用已学过的程序设计、数据结构、计算机网络、管理学和经济学等课程的技能、工具解决与其相关的理论或实际问题。

在软件工程课程设计中,很多本学科的学者与施教者总结了不错的经验,比如“激励机制”[2]、面向对象的自主实验教学[3]、课程相关体系研究[4]及相关的案例法教学实践设计[5]等,这些方法各有所长。我取其所长,结合亲身教学实践,从课程设计的目标要求,设计内容,设计的具体实施,学生成绩评价体系等方面,对软件工程课程设计教学模式作了系统的探讨。

二、软件工程课程设计的教学现状

长期以来,很多高校培养的学生存在着“什么都学过,却什么都不会”的尴尬局面,专业教育、教材与实际应用需求严重脱节[6]。传统的软件工程课程设计虽然也有设计的要求,但一般只是停留在组织学生编写软件项目若干设计文档这个单一环节上,忽略了对教学方法和内容的更新。目前,大多数院校软件工程课程设计课程教学中普遍存在的问题有以下几点。

1.课程设计目标不够明确,实验和设计不加区别。把软件工程实验和设计的要求同等对待,从而使设计内容偏少,验证性实验内容和方法偏多,实验过程变成了重复的复制和操作的过程,实验教学效果不理想,达不到培养学生独立思考和创新能力的目的。

2.课程设计内容比较陈旧,不能与时俱进。很多从事软件工程课程设计教学的教师本身缺乏项目开发的实战经验,对课程设计的内容往往从一些参考书籍的实例中拿过来让学生去做,有的甚至多年不更新设计内容,这样很容易给学生抄袭的机会,达不到课程设计的要求;同时,很多学生对设计的内容也不一定感兴趣,因此也容易扼杀学生的积极性和创新能力。

3.在项目组划分确定方面,缺乏对学生专业基础,性格和技能的分析与匹配,导致没有凝聚整组成员的合作精神和团队的开发能力。组长的核心作用很重要,但在具体的设计中,一般就是简单的按学号自然的分化,或者学生的自由组合分组,前者失去了团队能力的柔化组合与应用,后者导致少数技能较差的学生不能分到组中去而处于孤军作战的局面。

4.教师制定课程设计的指导要求目的不明确、不详细,监管力度不到位,导致项目开发团队在执行的过程中出现安排任务不合理,出现某些成员任务过重或者过轻的情况。

5.学生成绩的评分结果过于单一,评价体系不够科学合理。对学生的设计成绩的评价往往是指导老师根据学生提交的报告和设计结果来评分,这样容易忽略对学生综合能力(包括学生的口头表达能力,组织能力,团队协调能力等各方面)的评价。

因此,为了培养高素质的综合型软件人才,高等学校探索良好的软件工程课程设计教学模式就显得十分必要。

三、软件工程课程设计教学模式的探讨

针对当前多数院校软件工程课程设计课程教学中普遍存在的一些问题,我根据多年的教学经验,对该课程的教学模式作了如下探讨。

1.指导老师根据软件工程教学的特点,制定出软件工程课程设计的目标与通过该课程设计后可取得预期的收获。下面是我对软件工程课程设计制定的目标和可能的预期收获。

(1)通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法,等等。

(2)为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。为学生提供主动学习(比如,对Web网页设计、或ASP交互网页技术、Java开发环境、网站构架如Struts,Hibernate,Spring,商用数据库应用、电子商务、客户机/服务器技术、Visio与Rational Rose,Sybase powerdesigner软件工具等内容的学习)、积极探索与大胆创新的机会。

(3)使学生通过参加小组团队的开发实践,了解项目管理、团队协作、与客户交流、文档编写、口头与书面表达的重要性。

(4)使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能。

(5)通过“稍大的”富有挑战性的软件设计项目开发实践,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。

2.课程设计内容选择应该具有科学性和与时俱进性。课程设计内容选择十分重要,既要体现时代性,又要体现科学性和难度的适当性,因此要求指导老师对当前软件开发领域的整个动态有总体掌握。下面是我对当前软件开发领域进行的大致归类。

(1)网站开发类:包括休闲娱乐(音乐,影视,聊天,休闲运动,旅游景点等)网站;工商经济网站(摄影,日用家居,玩具等);文学网站(诗词/韵文,港台文学,民间文学,科幻文学等);体育与健身网站(极限运动,球类,健美/健身,运动常识,网球,乒乓球等);卫生与健康网站(医学理论,医疗器械,保健/养生,论坛等);国家地区网站(北京,上海,广东,江苏,天津等);教育培训网站(小学/中学教育,职业教育,高等教育,教育软件,培训机构等);其他等类型网站。

(2)应用软件类:如信息管理系统,汉字输入,转换翻译,文字处理,压缩解压,电子阅读,文档管理,字体工具,数据恢复等。

(3)系统软件类:如系统管理,内存管理,文件管理,系统测试工具等。

(4)游戏娱乐类:如网络游戏,Flash游戏,牌和棋游戏等。

(5)其他:如安全病毒,桌面工具等。

这样,课程设计的内容可以根据学生的兴趣和爱好从以上几方面进行选择,也可以由学生自己选择设计内容,指导老师把握学生选择的项目难易程度,同时提出所要达到的要求(包括完成日期,演示时间,学生所要提交的成果,文档资料,等等)。

3.课程设计项目具体实施

(1)确定开发团队。指导老师在班长和学习委员的协助下充分了解学生的兴趣、爱好、基本技能和未来学生的就业意向,学生在教师的指导下,有选择性地进行分组,一般3至5人为一组,并选定好组长。

(2)确定开发项目。指导老师给小组成员分配好开发任务,组长写好开发计划进程安排并提交指导老师检查以便及时修进。

(3)中期检查与指导。指导老师根据各个团队提交的开发计划,对各团队开发项目进程定期进行中期检查,检查各团队的项目进展情况,包括各个小组的开会记录,所查阅的资料,当前所遇到的困难,协助与指导小组面对困难所要采取的解决方法等。

(4)成果提交与演示。课程设计结束时指导老师要求按时提交项目的相关成果,并组织小组团队进行演示与简短的答辩。演示过程要求学生用5―10分钟时间叙述设计原理、过程、系统运行的情况和体会,叙述完毕后由指导老师或其他小组成员提问,指导老师和小组成员记录该学生演示情况和回答问题的情况,并以此作为下一阶段评定该学生成绩的一部分。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

4.建立合理,科学公正的评价体系。为了对每个开发团队中的成员成绩有个公正、公平和合理的成绩,因此必须建立合理、科学、公正的评价体系,本文建立的评价体系包括:学生提交成果,学生演示与答辩,学生自评与互评,教师评分。学生提交成果根据表1学生所承担的角色来交付;学生演示与答辩重点体现对系统的原理、过程、结论,以及开发体会进行表述;学生自评和互评体现了学生的自我认同和互相认同感;最后是教师的评分,教师的评定从以下几方面全面考虑:(1)学习态度是否端正,总体表现;(2)项目组织是否有条理,协作程度;(3)软件系统文档资料表达格式是否规范、符合要求,表达是否准确、完整、简单明了;(4)系统结构是否合理,功能是否正确,人机界面是否友好;除了符合上列基本要求具体评定可以参见下表1。最后学生的总评定成绩为:0.4×教师评定分+0.2×学生互评分+0.2×学生演示与答辩评分+0.2×学生自评分。

表1 评定标准

四、结语

软件工程课程设计是一门理论与实践相结合的应用性很强课程,我结合自身从事软件开发的经验和多年的教学,从以上几个方面探索了该课程的教学模式,在实践工作中虽然取得了一定的成效,获得了学生的认可与好评,但仍处于尝试和探索阶段。在实际指导过程中还存在不少问题,例如:个别学生的积极主动性不够,存在抄袭设计成果现象,等等。这些都需要继续努力,尤其是随着软件产业的飞速发展,如何培养高素质软件人才,对教师来说更是一种挑战。因此,教师应不断学习新的知识,提升自身的能力,把握学科的最新发展动态,探索新的教学模式,深化实践教学改革,为我国教育事业作出更大的贡献。

参考文献:

[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2008:55-73.

[2]张引,杨小虎,陈越.“软件工程”课程实践中激励机制的探索[J].计算机教育,2007,(5):30-32.

[3]江颉,石晓耀.面向对象的软件工程自主实验教学改革[J].实验技术与管理,2007,24(7):112-114.

[4]王薇.软件工程课程体系研究[J].计算机教育,2007,(8):31-32.

[5]巫华芳.软件工程教学案例设计初探[J].教育与职业,2007,(11):139-140.