【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《软件工程专业学习方法》,欢迎阅读!
软件工程专业学习方法
软件工程专业学习方法
摘 要:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。讨论了软件工程这一专业的学习法。
关键词:软件工程;学习方法;计算机教学 0 引言
严格地说,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。本文主要按学期划分讨论基于理论学习和研究的实践学习。 1第一学习阶段
通过阅读大量的C代码,了解计算机程序设计方法和一般规则,为以后学习打下坚实的基础。在计算机文化基础部分,可以考虑页设计(最好是从HTML和JS开始),C代码可以找些开源项目的代码片段阅读。本学期除了课堂要求,最少要完成500行以上的代码量。 2第二学习阶段
本学期的专业课程不多,建议将大量的时间投入在数据结构和算法上。C++和嵌入式方向的基础,要将各功能电路部分完全看懂和活用,如果有机会做课程设计,一定要认真思考。数据结构是这个学期的重点内容,其核心是各种数据结构的特性,在算法初步,要认真对待排序和查找的内容,最好多做练习。另外,完全照搬和硬套某些算法或者莫名其妙地使用某种数据结构来设计程序,是非常不理智的,这样做使得对问题的认识过程出现错误,而且易将问题复杂化。 3第三学习阶段
这学期的课程,可以说是软件工程专业最为重要的了,在java部分,已经可以开始思考面向对象和设计模式的问题了。操作系统可以说是计算机科学与工程实践之集大成者,其中大量地运用了数据结构、计算机组成原理等课程中学习的设计方法,包含了计算机工程实践方面遇到问题时的解决方案,且本身就是代码阅读的最好素材。能够深入理解了计算机操作系统理论与实践。
回顾软件工程专业的课程,总体来说,课程体系中设置了5类课程:①理论系列课程;②系统系列课程;③开发工具系列课程;④管理系列课程;⑤软件工程系列课程。
理论类课程主要包含高等数学、线性代数、概率论与数理统计、离散数学等等。系统类课程主要包含操作系统、数据库系统、数据结构等等课程,是专业课程的重要组成部分。这类课程作为开发工具课程的必要支撑。开发工具课程是需要基础的,不是说学习了某种编程语言的文法就完全可以使用该语言工作了,同样用C,层次不同,效果也不同。这样说来,类似数据结构、编译原理、操作系统这种课程就可以归于此类。 4 学习要点
软件工程的课程体系中,淡化了硬件相关课程,课程数量和深度对比计算机科学专业有一定的缩减。这是增加实习时间和增加软件工程和管理课程的必然结果。那么面对着这些硬件相关的课程,应该尽量以软件工程师的角度来看待软硬结合的问题,发挥我们的优势,而不是和有自动化、计算机背景的硬件工程师来比拼硬件功夫。其实,这个问题上,学计算机的位置最尴尬,位于软件工程和自动化中间。开发工具系列课程主要包含各种编程语言和开发环境课程,C、C++、Java、J2ee等。其学习方法主要有两个流派:先博后精:首先广泛地
学习各种编程语言和开发工具,在学习的过程中做到举一反三,基本上掌握了主流工具以后,再根据自己的兴趣和未来工作的要求,选择1-2门编程语言来深入学习;先精后博:基本是上个方法的逆序。就是首先把1-2门语言完全精通,然后再开阔视野。总之,不管采用哪一种方法,在学习的过程中,一定要多读多写,以案例(最好是实际工程)为导向,体会开发的异同。另外,代码风格绝对是个大问题。根据软件学院的课程设置特点,我推荐使用第一种方法读写练,要规范。管理系列课程主要包含软件项目管理、软件过程管理等课程。学习的`方法与管理学专业的学生相比较有着很大的区别。首先,软件工程专业研究的管理学知识,不是艰深的理论,也不是全面系统的研究,而是实用的管理技术。仅仅通过课程的学习,完全不可能掌握管理艺术的精髓。这个东西涵盖的范围太广泛了,与个人的性格、交际能力、语言习惯甚至饮食习惯都有关系。总之,这类课程的学习过程中,占主导地位的是实践,每一次团队项目开发甚至课程设计都是一次难得的机会,要好好把握。软件工程系列课程,包含软件工程、软件体系结构等等。学习这类课程,首先要理解课程的意义、内涵和外延。实际上,这些课程就是给大家介绍了一套经验上证明了优秀的、成体系的、工程化的方法论。工程和科学实验不同,往往不都是理想状态的。所以,工程中也没有什么应该是一成不变的,改变通的要学会变通。 5结束语
软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。所以通常说引入软件测试学科是很重要的。软件测试的目的就是为了发现尽可能多的缺陷,并期望通过改错来把缺陷消灭,以提高软件的质量。测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。
本文来源:https://www.wddqxz.cn/eab04ae4a01614791711cc7931b765ce04087ad5.html