软件工程专业学习方法_第1页
软件工程专业学习方法_第2页
软件工程专业学习方法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论