APP下载

计算思维在软件工程中的应用研究

2016-03-29郭咏梅张剑妹韩冰马桂芳赵秀梅

长治学院学报 2016年2期
关键词:思维能力思维分析

郭咏梅,张剑妹,韩冰,马桂芳,赵秀梅

(长治学院计算机系,山西长治046011)



计算思维在软件工程中的应用研究

郭咏梅,张剑妹,韩冰,马桂芳,赵秀梅

(长治学院计算机系,山西长治046011)

计算思维能力的培养需要选择适当的课程知识作为载体,并在教与学的过程中有意识、有计划地展开。文章通过分析软件工程课程的基本知识点与计算思维能力点之间的关系,探讨了《软件工程》教学过程中计算思维能力培养的策略和方法。

软件工程;计算思维;能力培养

1 引言

2010年,教育部高等学校计算机科学与技术教学指导委员会编制的《高等学校计算机科学与技术专业人才专业能力构成与培养》中指出,计算机专业人才的专业基本能力主要包括计算思维能力、算法设计与分析能力、程序设计与实现能力、系统能力[1]。在教学过程中,如何培养学生的专业基本能力需要我们进行深入的探讨和研究。

软件工程是计算机科学与技术、网络工程等专业的专业必修课,具有综合性、实践性和工程性特点,它涉及软件技术、方法和管理等各个方面。软件工程课程的教学目标,是使学生理解和掌握软件工程的基本思想、方法和技术,能够对实际问题进行需求分析、系统设计和编码测试,学会软件开发的方法和过程;能够综合应用前修课程知识,并将所学知识融会贯通,应用到实际问题的开发过程中。这一教学目标与计算机专业能力的培养目标是一致的,因此,软件工程的教学对培养学生的专业基本能力起着非常重要的作用。

文章重点探讨计算思维能力的培养问题。首先概述计算思维和计算思维能力的内涵,然后分析软件工程课程知识点与计算思维能力点之间的对应关系,最后探讨如何在软件工程课程的教学过程中渗透计算思维方法,通过理论教学和实践教学培养学生的计算思维能力,进而提高学生的工程素质。

2 计算思维

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动[2]。计算思维是利用计算机解决实际问题的思维方法,它的本质是抽象(Abstract)和自动化(Automation)。典型的计算思维包括一系列广泛的计算机科学的思维方法:递归、抽象、分解、关注点分离、约简、迭代、预置和缓存、保护、冗余、容错、回溯、纠错和恢复等等。

计算思维能力是指人们运用计算思维方法思考的能力。对于计算机专业人才的培养,计算思维能力主要包括问题及问题求解过程的符号表示、逻辑思维与抽象思维、形式化证明、建立模型、实现类计算和模型计算、利用计算机技术等[1]。这些能力的培养需要以课程知识为载体,在教师有意识、有计划的引导下,在不断的实践过程中进行实施。

3 软件工程课程知识点分析

软件工程是研究软件开发和软件管理的一门工程学科,它主要包括技术和管理两方面的内容。在新建本科院校的计算机类专业,软件工程课程重点讲授软件技术方面的知识,包括软件工程基本概念、基本原理和基本方法,强调应用计算机技术解决实际问题的方法和步骤,使学生掌握软件开发各个阶段规范的方法、工具和过程。软件工程知识体系主要有结构化方法和面向对象方法两大部分,下面重点分析两种软件开发方法涉及的知识点与计算思维能力点的关联。

3.1面向过程方法知识点分析

结构化软件开发方法的主要过程是:需求分析、系统设计、编码测试、运行维护,每个阶段都要遵循规范的方法和步骤,通过严格的评审后才能开始下个阶段的工作。各个阶段的主要知识点为:①需求分析:主要包括数据分析、功能分析和状态转换分析。数据分析是对软件要处理的数据进行分析,确定数据实体及其属性,并分析实体之间的关系,建立数据模型;功能分析是按数据流的处理过程对软件的功能进行分析,建立功能模型;状态转换分析是对系统状态进行分析,确定引发系统状态转换的事件及分析状态转换的过程,建立行为模型。②系统设计:主要包括概要设计和详细设计。概要设计完成体系结构设计、数据设计和接口设计,按功能分析的结果将一个复杂系统分解为若干个简单模块,并确定各个模块之间的接口形式;详细设计完成各个模块的算法设计,通常用流程图或盒图表示。③编码测试:主要包括编码规范和测试技术。编码规范主要是程序设计风格和编写程序代码的规范,编写规范的程序代码实现系统的各项功能;测试技术主要包括白盒测试技术和黑盒测试技术,设计合理的测试用例对软件进行模块测试、组装测试、确认测试和系统测试,保证软件的质量。④运行维护:主要包括运行程序和软件维护活动。在用户的实际环境中运行程序,发现错误后调试程序,改正软件错误,完善系统的各项功能,满足用户的需求。

在基于结构化方法开发软件过程中,涉及到大量的计算思维方法:在需求分析阶段,对实际问题进行简化、抽取问题的本质,应用了约简、抽象方法;在概要设计阶段,将复杂问题分解为若干个简单问题,用到关注点分离方法;数据库设计用到抽象和分解的方法;在调试程序的过程中,从发现错误的地方开始,沿程序的控制流往回追踪分析程序代码,直到找到错误,体现了回溯方法的应用。应用计算思维方法开发软件,能够训练学生的计算思维能力。例如:需求分析阶段的数据流图、实体关系图、状态转换图,设计阶段的层次结构图、算法流程图,编码阶段的程序代码都是分析问题和求解问题的符号表示,分析和设计的过程就是逻辑思维与抽象思维的过程,需求分析过程就是建立模型的过程,由此可见,软件工程的知识点与计算思维的能力点是相互关联的。

3.2面向对象知识点分析

面向对象软件开发方法的主要过程是:需求分析、系统设计、编码测试、运行维护。但与结构化方法相比,面向对象方法的特点是按对象分解系统,更符合人类认识问题和解决问题的一般方法和过程。主要知识点为:①面向对象分析:主要包括对象分析、功能分析和状态转换分析。对要处理的对象、类及接口进行分析建立对象模型,用类图描述;从用户的角度分析系统的功能,建立用例模型,用用例图描述;分析系统的交互作用及状态转换,建立动态模型,用状态图、顺序图描述。②面向对象设计:主要包括体系结构设计、各个子系统设计及类设计。体系结构设计要根据用户的需求选择体系结构风格,设计系统的框架;对各个子系统的设计主要有问题域子系统、人机交互子系统、任务管理子系统和数据管理子系统;类设计以问题领域的对象设计为核心,设计出详细的对象模型。③面向对象实现:主要包括编写程序代码和软件测试。编写类、接口、包都要遵循规范的命名规则和编程风格,做到源程序文档化和数据说明标准化。软件测试主要是类测试和系统测试。④面向对象维护:与结构化方法类似,面向对象维护也是对软件在投入运行之后出现各种错误进行调试和纠错,完善软件的功能,满足用户的需求。

面向对象的需求分析过程是建立对象模型、用例模型和动态模型的过程,对象分析过程是一个典型的抽象过程;功能分析将系统抽象和分解为若干个用例,是抽象和分解、关注点分离方法的典型应用;面向对象的设计和实现是在需求分析的基础上多次反复迭代的演化过程,对各个子系统的设计也用到抽象和分解、关注点分离方法。这些计算思维方法的应用对应着问题求解过程的符号表示、逻辑思维与抽象思维、建立模型、实现类计算和模型计算、利用计算机技术等计算思维能力点,通过面向对象方法开发软件,达到训练学生计算思维能力的目的。

4 培养学生思维能力探究

以课程知识为载体,重点从意识、理解、实践三个层次入手,循序渐进的提高学生应用计算思维方法解决实际问题的能力。

4.1强调思维能力的重要性

从笔者有关计算思维调研结果来看,大部分学生不了解计算思维的概念,在分析问题和解决实际问题的过程中,不会应用计算思维方法,即使用到一些计算思维方法也是无意识的。因此,在课堂教学和实践教学过程中,要充分发挥教师的主导作用,教师要将课程知识与实际问题紧密结合,激发学生学习兴趣,有意识地、系统地讲解计算思维的方法,让学生认识到计算思维方法在求解实际问题中的重要地位。

4.2采用案例教学

在教学过程中,选择一个学生比较熟悉的应用系统,如学生成绩管理系统、图书管理系统等,以这个系统的开发过程贯穿教学始终,有计划、有意识地讲解计算思维方法在系统开发各个阶段的应用,让学生领悟计算思维方法,理解计算思维方法在实际问题中的应用。通过需求分析训练学生的抽象思维和建立模型能力。通过系统设计、算法设计训练学生的逻辑思维能力。通过编写程序训练学生用符号表示问题及问题求解过程的能力。通过对实际项目的分析,让学生理解利用计算机求解问题的典型方法和过程。

4.3重视实践教学

软件工程课程是一门实践性很强的课程,课程实践环节可分为课程实验和课程设计两部分。课堂上的案例教学有助于学生形成计算思维的意识,理解计算思维在实际问题中的应用。课程实验中让学生以小组的形式模拟案例开发一个简单的系统,小组成员分工合作,应用计算思维方法完成需求分析、系统设计、编码测试过程,实现系统的主要功能。课程设计是在课程结束后进行的综合性的实践环节,训练学生综合应用知识的能力、应用计算思维解决实际问题的能力和团队合作能力等。

此外,通过实习实训、毕业设计等综合性的实践环节,以及大学生创新创业项目、程序设计大赛等活动,进一步强化、提升学生的计算思维能力。

5 结语

计算思维能力的培养不可能通过一门课程完成,需要通过系列课程有意识、有计划、持续地训练。文章对如何在软件工程的教学过程中渗透计算思维方法,培养学生计算思维能力做了一些初步的探讨,实践表明,将计算思维方法融入课程的教学过程中,提高了学生解决实际问题的能力和计算思维能力,对应用型人才的培养大有裨益。

[1]教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业人才专业能力构成与培养[M].北京:机械工业出版社,2010.

[2]周以真.计算思维[J].中国计算机学会通讯,2007,(11):77-79.

[3]蒋宗礼.计算思维之我见[J].中国大学教学, 2013,(09):5-10.

[4]刘强等.“软件工程”课程教学实施方案[J].中国大学教学,2011,(02):41-44.

[5]郑人杰等.软件工程概论[M].机械工业出版社, 2011.

(责任编辑张剑妹)

TP311

A

1673-2014(2016)02-0080-03

2016—02—19

2015年山西省高等学校教学改革项目(2015113);山西省教育科学“十二五”规划2014年度规划课题项目(GH-14031);长治学院教改课题(JY201502)。

郭咏梅(1963—),女,山西高平人,硕士,副教授,主要从事计算机应用研究。

猜你喜欢

思维能力思维分析
思维跳跳糖
思维跳跳糖
思维跳跳糖
思维跳跳糖
隐蔽失效适航要求符合性验证分析
培养思维能力
培养思维能力
电力系统不平衡分析
电力系统及其自动化发展趋势分析