首页 > 范文大全 > 正文

课程设计中软件工程技术的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇课程设计中软件工程技术的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘要】近年来,随着经济的发展,特别是随着改革开放的不断深入,我国的经济建设取得了巨大的进步。与此同时,我国的教育行业也在快速的发展着。在学校教育中,特别是在指导学生进行课程设计时,经常会用到软件工程技术,并且越来越感觉软件工程技术在课程设计中的应用以及地位在不断的增加。因此,笔者就结合自己的研究和实际的经验,对于软件工程技术在课程设计中的应用以及相关的问题进行分析。

【关键字】课程设计,软件工程技术,应用,问题

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]廖江福; 王宗跃 软件工程专业课程设计中的双语教学集美大学学报(教育科学版)2012-07-28期刊

[4]胡海华 面向软件安全的软件工程课程设计井冈山学院学报(自然科学版)2007-10-15期刊

[5]沈涛 系统工程中软工程技术与CMM的融合应用电子科学技术评论2004-04-15期刊