常裕文档网    > 范文大全 > 公文范文 >

软件工程教学方案设计

时间:2022-05-31 11:21:01  浏览次数:

摘要:软件工程是指导计算机软件开发与维护的一门工程学科,是高职软件技术专业培养方案核心课程之一。本文基于软件工程的理念,给出了结合实例的课程教学、重视关键概念的传达、工程意识培养和实践训练在校期间一贯制的教学方案设计。

关键词:软件工程;概念和术语;实例;实践

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)06-10ppp-0c

Designing a Software Engineering Teaching Scheme

WEN Zhi-xiong,CHEN Zhen-ting

(Brief Introduction of Kunming Metallurgy College, Kunming 650033, China)

Abstract: This paper proposes a teaching scheme based on the idea of software engineering, which is teaching together with examples, attaching importance to convey the key concepts, persisting in engineering awareness cultivating and practice training during all the school period.

Key Words: Software Engineering; Concepts and terminology; Example; Practice

1 引言

高职软件技术专业培养目标是:“能够从事软件企业桌面应用开发、软件生产企业编码、系统支持、软件销售与应用开发、非IT企业事业单位信息化等工作。”

软件工程是专业培养方案核心课程之一,它是指导计算机软件开发与维护的一门工程学科。

计算机专业的学生毕业之后,无论从事软件开发、维护还是销售,都离不开软件工程的知识。可以说,软件工程概论课是他们参加工作后马上就要直接应用的一门专业课。

但是,由于下述原因:

(1)由于为了推进就业,各学校都采取最后一个学期进行毕业设计和就业实习的做法,所以,学制三年的高职,课堂学习时间两年半;作为国家紧缺人才培养工程的二年制软件技术专业,课堂学习时间一年半。而学习软件工程涉及的前驱课程比较多,学习时间紧。

(2)计算机高职学生对动手解决实际问题的能力较强,但对《软件工程》理论学习,普遍感到内容比较抽象,不易理解,学生学习的积极性很难调动起来。

因此,如果没有一整套科学、合理的教学方案设计,就不可能在短时间内,培养出具有较强工程能力的软件人才。

2 教学方案设计的依据

(1)在软件工程的理论学习中,有些概念、术语反复出现,它们对内容的理解起着至关重要的作用,所以,我们的教学要重视这些概念的传达。

(2)Jennifer Niederst Robbins在他的广受读者欢迎的著作《学习Web设计》一书中写到:“很多人通过读书和理解并修改存在的例子自学JavaScript”[1],等。所以,实例软件工程教学是一种好方法。

(3)L.G.Alexander在其编著的《新概念英语》教程中,就外语学习的基本原理,致教师和学生:“学习语言与学习乐器十分相似”。同样,“软件设计是一个创造性的过程。从书本上学不会设计,只能经过实践,通过对实际系统的研究和实践才能学会”[2]。所以,我们的软件工程教学要加强实践教学。

总之,通过重视关键概念、重点难点内容的讲解,实施实例教学以及加强实践环节,使学生成为教学的主体,通过自主学习来了解、掌握相关知识和技能。

3 教学方案设计

3.1 重视几个重要概念和术语的传达

在软件工程中有几个出现频率非常高的术语,理解掌握它们对促进学生的自我学习将起到一两拨千金的作用。

3.1.1 模型

(1)定义:模型就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成[3]。

(2)建立模型的一般步骤:1)客观、正确地调查和分析所要解决的问题;2)在明确问题的性质和关键所在后,根据知识进行归纳和总结

(3)抽象地建立起求解问题的模型;4)考察和证实模型是否准确地反映了实际问题运行的规律。

结构化分析主要建立功能模型和数据模型。数据流图是建立功能模型的基础,实体-联系图是用于建立数据模型的图形。软件设计的目标是设计出所要开发的软件的模型,等等。

3.1.2 抽象

人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节,即在解决问题的过程中集中考虑与当前目标有关的方面,忽略与当前目标无关的方面。

软件工程中从软件定义到软件开发要经历多个阶段。在这个过程中每前进一步都可以看作是对软件解法的抽象层次的一次细化。抽象的最低层就是实现该软件的源程序代码。

3.1.3 逐步求精

逐步求精是一种求解问题的技术。Miller在他于1956年3月发表的著作"The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacity for Procession Information"中指出,一个人在任何时候只能将注意力集中到7+-2的信息块上。

1971年,Wirth在他的"Program Development by Stepwise Refinement"中首先提出了逐步求精的开发技术。他指出,逐步求精可以帮助工程师将精力集中到当前的开发阶段,而忽略其他细节问题。Miller规则是人类的智力限制,我们不可能战胜我们的自然本性,所以我们要与之共存,接受自身局限,并在这个前提下尽我们的最大努力。

所以,逐步求精是一种“为了求解重要问题而尽量推迟对细节进行考虑”的基本解题方法。

3.1.4 演绎、归纳

归纳和演绎是人们认识过程中的两种推理形式。归纳是从个别事实走向一般的结论、概念的思维方法。演绎法是从一般原理、概念走向个别结论的思维方法。

3.2 在校期间持续培养工程意识

针对学制短、时间紧的情况,在前驱的课程中就要让学生了解软件工程框架、熟悉模型元素。如在结构化程序设计课程教学中坚持用用流程图表达算法思想,在面向对象程序设计课程中,表达面向对象的思想时使用UML图和图素(基本图素如角色、用例、类、接口等);在对应的课程设计中,教师以软件工程框架(目标、过程和原则)来指导学生的设计,并要求同学使用相应的开发工具(如C,VC#.NET)来实现老师给出的(或与同学一道做出的)软件模型。总之,要求同学要具有按“图”(模型)施“工”(编码)的能力,为更深入地学习和今后从事软件工程打下良好的基础。

3.3 实施实例教学

目前市面上的软件工程教材基本没有适宜高职的、完整的教学用开发实例,所以,我们进行案例的分析、整理和编写。教学实例项目考虑进销存管理信息系统,一是因为进销存软件主要管理企业活动中最频繁的物品进出、资金往来等业务,还为企业经营提供良好的决策信息[4],因而,大量企业在自己的企业管理中使用进销存软件。其次,项目涉及的相关的企业管理知识、经验和流程对于同学自主创业(就业)也有很好的帮助。项目设置包括这样一些基本功能模块:资料管理、采购管理、销售管理、库存管理、统计分析、系统管理等。教师设置一些题目,让同学模仿实例,去开发并选用某种开发工具实现某企业的某个子系统,如应付款管理、应收款管理、帐务管理、零售管理等。

3.4 加强实践教学

软件工程是管理方法与软件技术紧密结合的学科,所以,软件工程实践要有管理内容并最好覆盖软件范型(方法、过程、工具)的各个方面。为此,我们这样对软件工程实践教学进行设计规划:

(1)实践内容包括软件开发的两大方法—结构化技术和面向对象技术的训练,重点是面向对象方法的实践。

(2)任务覆盖软件生命周期的各个阶段。随着课程进展布置任务,包括软件定义、开发和运行维护,使学生通过实践加深对理论知识的理解。

(3)工程实践采用“项目小组”的形式,班级按项目小组进行分组,每组不得超过5人。每个项目小组选出项目负责人或项目经理,由其计划、组织和控制项目组成员的活动,培养团队精神,共同完成项目任务。

(4)根据高职高专软件人才的培养目标,要求每位同学至少要掌握一种开发工具,熟悉开发环境。学生在学校机房的机器应固定下来,并安装好相应的软件,没有特殊情况不应缺席,在规定的时间内,要完成软件的实现并依据国家《计算机软件开发规范》撰写规范的技术文档。

(5)教师的主要任务是答疑和检查。答疑在每次上机的中间进行,检查在每次上机结束时进行。检查工作以小组为单位,但每项任务应落实到个人。出现问题,教师要引导学生独立分析解决。

总之,实践的意义主要是让学生经历完整的项目过程,体验各阶段方法和工具的应用,还有锻炼除技术以外的多方面能力(如需求分析时如何与用户交流、文档写作、成员间的协作与管理等等),以提高其职业素质。

4 结束语

我们按照软件工程的理念设计的教学方案使教育从知识化走向了工程化,使学生走进了实际项目和工程,达到了培养自我学习能力和提高职业素质的目标。

参考文献:

[1]Jennifer Niederst Robbins. Learning Web Design(3rd Edition)[M].Beijing: O"Reilly Media,Inc.,2007.

[2]Ian Sommerville.软件工程[M].北京:机械工业出版社,2003.

[3]张海藩.软件工程[M].北京:人民邮电出版社,2003.7.

[4]王晟,邓远辉.Visual C++.NET数据库开发经典案例解析[M].北京:清华大学出版社,2006.

收稿日期:2008-01-23

作者简介:温志雄(1964-),男,云南昭通人,讲师,软件工程硕士、软件设计师,研究方向:软件工程、Web技术。

推荐访问:软件工程 方案设计 教学