软件工程的学习方法的论文

时间:2023-06-01 19:29:42 学习方法 我要投稿
  • 相关推荐

关于软件工程的学习方法的论文

  篇一:软件工程专业学习方法

关于软件工程的学习方法的论文

  study methods of Software engineering 蔡娟(出生于1983年)、女、江苏省扬州市、广州科技职业技术学院及助教、硕士、软件开发

  摘要:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。本文就学习方法讨论了软件工程这一专业。

  关键词:软件工程、代码、实践

  严格地说,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。本文主要按学期划分讨论基于理论学习和研究的实践学习。

  第一学期

  通过阅读大量的C代码,了解计算机程序设计方法和一般规则,为以后学习打下坚实的基础。在计算机文化基础部分,可以考虑学习网页设计(最好是从HTML和JS开始),C代码可以找些开源项目的代码片段阅读。本学期除了课堂要求,最少要完成500行以上的代码量。

  第二学期

  本学期的专业课程不多,建议将大量的时间投入在数据结构和算法上。C++要阅读和书写大量的代码。计算机组成原理是单片机和嵌入式方向的基础,要将各功能电路部分完全看懂和活用,如果有机会做课程设计,一定要认真思考。数据结构是这个学期的重点内容,其核心是各种数据结构的特性,在算法初步,要认真对待排序和查找的内容,最好多做练习。另外,完全照搬和硬套某些算法或者莫名其妙的使用某种数据结构来设计程序,是非常不理智,这样做使得对问题的认识过程出现错误,而且易将问题复杂化。

  第三学期

  这学期的课程,可以说是软件工程专业最为重要的了,在java部分,已经可以开始思考面向对象和设计模式的问题了。操作系统可以说是计算机科学与工程实践之集大成者,其中大量的运用了数据结构、计算机组成原理等课程中学习的设计方法,包含了计算机工程实践方面遇到问题时的解决方案,且本身就是代码阅读的最好素材。能够深入理解了计算机操作系统理论与实践。

  回顾软件工程专业的课程,总体来说,课程体系中设置了5类课程:

  1 理论系列课程

  2 系统系列课程

  3 开发工具系列课程

  4 管理系列课程

  5 软件工程系列课程

  理论类课程主要包含高等数学、线性代数、概率论与数理统计、离散数学等等。系统类课程主要包含操作系统、数据库系统、数据结构等等课程,是专业课程的重要组成部分。这类课程作为开发工具课程的必要支撑。开发工具课程是需要基础的,不是说学习了某种编程语言的文法就完全可以使用该语言工作了,同样用C,层次不同,效果也不同。这样说来,类似数据结构、编译原理、操作系统这种课程就可以归于此类。硬件相关课程。软件工程的课程体系中,淡化了硬件相关课程,课程数量和深度对比计算机科学专业有一定的缩减。这是增加实习时间和增加软件工程和管理课程的必然结果。那么面对着这些硬件相关的课程,应该尽量以软件工程师的角度来看待软硬结合的问题,发挥我们的优势,而不是和有自动化、计算机背景的硬件工程师来比拼硬件功夫。其实,这个问题上,学计算机的位置最尴尬,位于软件工程和自动化中间。开发工具系列课程主要包含各种编程语言和开发环境课程,C、C++、java、j2ee等。其学习方法主要有两个流派:先博后精:首先广泛地学习各种编程语言和开发工具,在学习的过程中做到举一反三,基本上掌握了主流工具以后,再根据自己的兴趣和未来工作的要求,选择1~2门编程语言来深入学习;先精后博:基本是上个方法的逆序。就是首先把1~2门语言完全精通,然后再开阔视野。总之,不管采用哪一种方法,在学习的过程中,一定要多读多写,以案例(最好是实际工程)为导向,体会开发的异同。另外,代码风格绝对是个大问题。根据软件学院的课程设置特点,我推荐使用第一种方法读写练,要规范。管理系列课程主要包含软件项目管理、软件过程管理等课程。学习的方法与管理学专业的学生相比较有着很大的区别。

  首先,软件工程专业研究的管理学知识,不是艰深的理论,也不是全面系统的研究,而是实用的管理技术。仅仅通过课程的学习,完全不可能掌握管理艺术的精髓。这个东西涵盖的范围太广泛了,与个人的性格、交际能力、语言习惯甚至饮食习惯都有关系。还是需要经验。管理艺术,是在实践中逐渐完善的。书本固然重要,可是实践更重要。只看书本,是做不好管理工作的。即便是看了《管理的N条金科玉律》这样的书,也要因地制宜、根据实际情况来做,而不能够生搬硬套的。 总之,这类课程的学习过程中,占主导地位的是实践,每一次团队项目开发甚至课程设计都是一次难得的机会,要好好把握。软件工程系列课程,包含软件工程、软件体系结构等等。学习这类课程,首先要理解课程的意义、内涵和外延。实际上,这些课程就是给大家介绍了一套经验上证明了优秀的、成体系的、工程化的方法论。工程和科学实验不同,往往不都是理想状态的。所以,工程中也没有什么应该是一成不变的,改变通的要学会变通。

  最后,软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。所以通常说引入软件测试学科是很重要的。软件测试的目的就是为了发现尽可能多的缺陷,并期望通过改错来把缺陷消灭,以提高软件的质量。测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。

  篇二:软件工程的学习方法与发展前景

  摘要:软件工程作为一门指导计算机软件开发和维护的一门工程学科,对于我们用系统的、规范的、可度量的途径去开发运行和维护软件有着十分重要的意义,因此软件工程有着良好的发展前景。在学习软件工程的过程中,我们应当理论和实践并重,在实战中把课本上的知识转变为技术和经验。

  关键词:本质特性、理论实践、发展前景

  1、软件工程的概念

  软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科,它采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,从而经济地开发出高质量的软件并有效地维护它。软件工程的这种采用工程的思想来开发和维护软件有效地解决了软件危机,开发出满足人们需求的各种软件。

  2、软件工程的学习

  在学习软件工程的过程中,我们首先应该了解软件工程的几个本质特性。

  1、软件工程着重关注于大型程序的构造。

  2、软件工程的核心课题是控制软件开发过程中的复杂性。在软件开发过程中,我们可以把问题分解,使得分解出的每个部分都是可理解的,而且各个部分之间保持简单的通信关系,这种方法并不能降低问题的整体复杂性,但是却可以使它变成可以管理的。

  3、由于软件的经常变化,在开发的过程中必须考虑软件将来可能发生的变化。

  4、注意软件开发的效率。

  5、和谐地合作是开发软件的关键,为了有效的合作必须明确地规定每个人的责任和相互通信的方法。

  6、软件必须有效的支持它的用户,如果用户对软件系统不满意可以弃用该系统或者立即提出新的需求,因此仅仅用正确的方法构造系统还不够,还必须构造出正确的系统。在了解了软件工程的本质特性后,我们也更加明确了自己的学习目标。从软件工程课程的体系结构来看,软件工程设置了5门学科:理论系列课程、系统系列课程、开发工具系列课程、管理系列课程、软件工程系列课程。

  在我们学习理论课程(高数、离散数学、线性代数等)的时候,或许会感觉比较枯燥、抽象,但这些课程是我们以后学习的基础,在我们学习其他课程或解决一些实际问题时,这些理论课程的价值就会得到充分地体现,在应用这些理论课程的知识时,我们也会觉得这些知识其实并不枯燥,而在实际的应用过程中,我们对知识的理解也会进一步加深。

  开发工具课程也是十分重要的,而且不是说学习了某种编程语言的文法就完全可以使用该语言工作了,同样用C语言编写程序,层次不同,效果也不同。这样说来,类似数据结构、编译原理、操作系统这种课程就可以归于此类。开发工具系列课程主要包含各种编程语言和开发环境课程,C、C 、Java、J'2ee等。其学习方法主要有两个流派:先博后精:首先广泛地学习各种编程语言和开发工具,在学习的过程中做到举一反三,基本上掌握了主流工具以后,再根据自己的兴趣和未来工作的要求,选择1—2门编程语言来深入学习;先精后博:基本是上个方法的逆序。就是首先把1—2门语言完全精通,然后再开阔视野。总之,不管采用哪一种方法,在学习的过程中,一定要多读多写,以案例(最好是实际工程)为导向,体会开发的异同。另外,代码风格绝对是个大问题。根据软件学院的课程设置特点,我推荐使用第一种方法读写练,要规范。这些课程的学习与实际操作是密不可分的,也只有在实际操作中我们能发现自己学习的不足之处,进而提高自己的能力。

  管理系列课程主要包含软件项目管理、软件过程管理等课程。学习的方法与管理学专业的学生相比较有着很大的区别。首先,软件工程专业研究的管理学知识,不是艰深的理论,也不是全面系统的研究,而是实用的管理技术。仅仅通过课程的学习,完全不町能掌握管理艺术的精髓。这个东西涵盖的范同太广泛了,与个人的性格、交际能力、语言习惯甚至饮食习惯都有关系。总之,这类课程的学习过程中,占主导地位的是实践,每一次团队项目开发甚至课程设计都是一次难得的机会,要好好把握。软件工程系列课程,包含软件工程、软件体系结构等等。学习这类课程,首先要理解课程的意义、内涵和外延。实际上,这些课程就是给大家介绍了一套经验上证明了优秀的、成体系的、工程化的方法论。工程和科学实验不同,往往不都是理想状态的。所以程中也没有什么应该是一成不变的,改变通的要学会变通。

  我们可以发现软件工程的课程体系中,淡化了硬件相关课程,课程数量和深度对比计算机科学专业有一定的缩减。这是增加实习时间和增加软件工程和管理课程的必然结果,我们在这两方面应该更加认真学习以体现我们的优势。

  3、软件工程的发展前景

  在当前这个科技高度发达并以较快速度保持进步的时代,计算机在各行各业中的应用起到了至关重要的作用,在人们处理大量信息的时候,计算机是人们的首要选择。一些部门如通信建设、医疗、教育、交通、旅游、财政、邮电及个人运用计算机中的软件来处理各种各样的计算问题,大大加快了人们处理实际问题的效率。由于人们对各种处理不同问题的软件的大量需求,软件工程作为一种能规范地、有效地、大规模地制造软件的方式自然有很好的发展前景与发展空间。目前受限于软件工程的相关理论并不十分成熟,人们在制造软件的过程中仅有一部分应用到软件工程的相关知识,因此软件工程的发展空间必将逐步变得更为宽广,软件工程也将进一步为人类文明与科技的发展做出贡献。

  4、个人体会与总结

  软件工程作为一种用工程的思想来规范地有效地开发和维护软件的方式,有着无穷的活力与广泛的发展空间,这门学科需要我们学好多门基础课程,打好基础,并在实践中不断学习、不断提高自己,勤于思考,勇于创新,为软件工程的发展作出自己的贡献。

  参考文献与网站:

  软件工程--百度百科

  软件工程发展前景--百度文库

  Shari Lawrence Pfleeger, Joanne M.Atlee 著,杨卫东 译 《软件工程》(第三版) 人民邮电出版社2007

  张海藩.《软件工程导论》(第五版).清华大学出版社,2008

  篇三:软件工程学习方法解析

  摘要

  1968年在联邦德国召开的NATO会议上,首次提出“软件工程”的概念,提出了在软件生产中采用工程话的方法,采用一系列科学的、现代化的方法技术来开发软件。软件才逐渐发展起来.软件工程是研究以工程化的理论、方法和技术为指导开发较大规模软件系统的学科,其主要由可行性分析,需求分析、设计、编码、测试、维护6部分组成。在计算机软件领域中占有中心地位。在我们现在这个信息时代,软件已经应用与各个方面,它不仅带来了经济的发展,也大大提高了人们生活的质量。

  Summary In the federal republic of Germany in 1968 at the NATO meeting, the first put forward the concept of "software engineering, and puts forward the

  software used in the production of engineering words method, the series of scientific and modern methods to develop the software technology。Software it gradually developed software engineering is the study. In engineering theory, the method and technology for developing large-scale software system, and the main subject of feasibility analysis, requirement analysis, design, code, test, maintenance and parts. In computer software field have the central status. We are now in the age of information, the software has been used with each aspect, it not only brings the development of economy, also greatly improve the quality of human life.

  关键字:软件产品、项目、阶段

  信息社会的高科技,商品经济化的高效益,使计算机的应用普及到经济和社会生活的各个领域。信息时代的到来,计算机早已潜入人类的生活,与我们息息相关。随着信息的发展,软件也越来越重要【1】。在这个处处以信息作战的时代,软件应用于多个方面。如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,软件在各个行业流行起来,起到了不可代替的作用,如工业,农业,银行,航空,政府部门等。

  这学期我们专业也学了软件工程,让我体会了软件工程在要开发项目的重要性。我觉得软件工程,是以团队来完成的,以提高软件质量和程序员工作效率为目的的规范。其核心就是由6个重要阶段组成:可行性分析、需求分析、设计、编码、测试、维护。

  可行性研究

  关于分析项目开发技术的文档,开发任何一个基于计算机的系统都会受到时间和资源的限制。因此,开发方在接受客户的项目之前,必须根据客户可能提供的时间和资源等条件进行可行性研究。可行性研究最根本的任务是对以后的行动方针提起建议,如果问题没有可行性的解决方案,应建议停止这个项目的开发,以避免资源,人力和金钱的浪费.如果问题值得解,则推荐一个好的解决方案,并制定一个初期的项目计划【2】。

  需求分析

  这个阶段主要是解决“做什么”的问题,对要开发的软件的各方面进行准确的定义。需求分析处于软件开发过程的开始阶段,但它对整个软件开发过程以及软件产品质量是至关重要的.为了开发出令用户满意的软件产品,就必须准确知道用户的需求,确定用户所需软件产品的功能【3】,对软件需求分析的准确是软件产品获得成功的前提,如果需求分析没有全面考虑,设计和编码做得再好,也不能满足用户的需求只会令用户失望,不但这样,还会给开发者带来麻烦,浪费时间,金钱,造成不必要的麻烦,需求分析的任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收 测试准则和初步的用户手册。

  设计阶段

  概要设计

  在软件需求分析阶段,明白了软件”做什么”,就进入设计阶段,这个阶段要把软件”做什么”的逻辑模型转换为”做什么”的物理模型 ,即将软件需求转化为数据结构和软件系统结构.

  详细设计

  进行概要设计后,需要对软件产品的进一步细化。如:法设计、数据结构、数据库的设计。详细设计是程序设计的蓝图,程序员可以根据蓝图编写程序内部的细节,包括算法、数据结构以及各程序之间的接口,并对其设计单元测试计划。 编码阶段用户需要的软件功能设计好后,接下来做的就是需要编译一个软件来具体的将用户的需求都实现,编译就需要使用相关语言来编写代码。编码的主要任务是根据详细设计规格说明,用某种选定的程序设计语言把详细设计的结果转化为机器可运行的源程序模块【4】,这是一个编程和调试程序的过程。

  测试阶段

  在软件开发工程中,特别是在开发大型的软件系统中,面对的问题是极其多样、复杂的。因此,在软件生命周期的每个阶段都不可避免地会产生错误。应该在每个阶段结束之前进行严格的检查,尽可能的发现并纠正错误【5】。所以测试要介入每个阶段,测试也分许多种,如可分为:单元测试,编码阶段的子模的测试;组装测试:设计阶段的链接组装测试;确认测试,对分析阶段的功能测试;系统测试,系统与实际的匹配测试,根据不同的情况,选择符合的测试。 维护阶段不要以为把软件交给用户就完工了,还有一个重要的阶段,就是维护,维护在软件的生命周期中占用了最多的时间,维护不仅是要维护软件的正确性,还要对其进行修改,增加新的功能等。在维护时,以需求分析报告为依据【6】。当用户提出需要修改原需求分析报告内容的时候,以界面设计说明书为依据。当用户提出的要求需要修改界面设计说明书时,如对界面上的输入项,输出项的修改,页面风格的修改。具体的性能如下:

  校正性:诊断、改正陷藏错误

  适应性:适应软件环境的修改

  完善性:增加新的功能、性能

  预防性:提高软件的可维护性

  以上就是这学期我们所学的各个阶段,以前,以为软件工程只是一个比较文科的内容,在学习后,明白了它不止这样,每个阶段都是技术含量的活,软件工程在开发成功软件的重要性。虽然只学了一学期,但对于我们软件专业而言,其重要性不压与编码,如果以后从事这方面的工作,就会经常打交道了。

  参考文献

  (1)《软件工程PPT》

  (2)www.baidu.com

  (3)《软件设计精要与模式》——张逸 著

  (4 )《计算机与现代化》-----胡建华 杨军 2006 第8期 - 维普资讯网

  (5)《软件能力成熟模型》----何新贵 清华大学出版社

  篇四:软件工程专业学习方法

  摘 要:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。讨论了软件工程这一专业的学习法。

  关键词:软件工程;学习方法;计算机教学

  0 引言

  严格地说,软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。通俗地说,软件工程是实现一个大型程序的一套原则方法,即按工程化的原则和方法组织软件开发工作。本文主要按学期划分讨论基于理论学习和研究的实践学习。

  1第一学习阶段

  通过阅读大量的C代码,了解计算机程序设计方法和一般规则,为以后学习打下坚实的基础。在计算机文化基础部分,可以考虑学习网页设计(最好是从HTML和JS开始),C代码可以找些开源项目的代码片段阅读。本学期除了课堂要求,最少要完成500行以上的代码量。

  2第二学习阶段

  本学期的专业课程不多,建议将大量的时间投入在数据结构和算法上。C++和嵌入式方向的基础,要将各功能电路部分完全看懂和活用,如果有机会做课程设计,一定要认真思考。数据结构是这个学期的重点内容,其核心是各种数据结构的特性,在算法初步,要认真对待排序和查找的内容,最好多做练习。另外,完全照搬和硬套某些算法或者莫名其妙地使用某种数据结构来设计程序,是非常不理智的,这样做使得对问题的认识过程出现错误,而且易将问题复杂化。

  3第三学习阶段

  这学期的课程,可以说是软件工程专业最为重要的了,在java部分,已经可以开始思考面向对象和设计模式的问题了。操作系统可以说是计算机科学与工程实践之集大成者,其中大量地运用了数据结构、计算机组成原理等课程中学习的设计方法,包含了计算机工程实践方面遇到问题时的解决方案,且本身就是代码阅读的最好素材。能够深入理解了计算机操作系统理论与实践。

  回顾软件工程专业的课程,总体来说,课程体系中设置了5类课程:①理论系列课程;②系统系列课程;③开发工具系列课程;④管理系列课程;⑤软件工程系列课程。理论类课程主要包含高等数学、线性代数、概率论与数理统计、离散数学等等。系统类课程主要包含操作系统、数据库系统、数据结构等等课程,是专业课程的重要组成部分。这类课程作为开发工具课程的必要支撑。开发工具课程是需要基础的,不是说学习了某种编程语言的文法就完全可以使用该语言工作了,同样用C,层次不同,效果也不同。这样说来,类似数据结构、编译原理、操作系统这种课程就可以归于此类。

  4 学习要点

  软件工程的课程体系中,淡化了硬件相关课程,课程数量和深度对比计算机科学专业有一定的缩减。这是增加实习时间和增加软件工程和管理课程的必然结果。那么面对着这些硬件相关的课程,应该尽量以软件工程师的角度来看待软硬结合的问题,发挥我们的优势,而不是和有自动化、计算机背景的硬件工程师来比拼硬件功夫。其实,这个问题上,学计算机的位置最尴尬,位于软件工程和自动化中间。开发工具系列课程主要包含各种编程语言和开发环境课程,C、C++、Java、J2ee等。其学习方法主要有两个流派:先博后精:首先广泛地学习各种编程语言和开发工具,在学习的过程中做到举一反三,基本上掌握了主流工具以后,再根据自己的兴趣和未来工作的要求,选择1-2门编程语言来深入学习;先精后博:基本是上个方法的逆序。就是首先把1-2门语言完全精通,然后再开阔视野。总之,不管采用哪一种方法,在学习的过程中,一定要多读多写,以案例(最好是实际工程)为导向,体会开发的异同。另外,代码风格绝对是个大问题。根据软件学院的课程设置特点,我推荐使用第一种方法读写练,要规范。管理系列课程主要包含软件项目管理、软件过程管理等课程。学习的方法与管理学专业的学生相比较有着很大的区别。首先,软件工程专业研究的管理学知识,不是艰深的理论,也不是全面系统的研究,而是实用的管理技术。仅仅通过课程的学习,完全不可能掌握管理艺术的精髓。这个东西涵盖的范围太广泛了,与个人的性格、交际能力、语言习惯甚至饮食习惯都有关系。总之,这类课程的学习过程中,占主导地位的是实践,每一次团队项目开发甚至课程设计都是一次难得的机会,要好好把握。软件工程系列课程,包含软件工程、软件体系结构等等。学习这类课程,首先要理解课程的意义、内涵和外延。实际上,这些课程就是给大家介绍了一套经验上证明了优秀的、成体系的、工程化的方法论。工程和科学实验不同,往往不都是理想状态的。所以,工程中也没有什么应该是一成不变的,改变通的要学会变通。

  5结束语

  软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。所以通常说引入软件测试学科是很重要的。软件测试的目的就是为了发现尽可能多的缺陷,并期望通过改错来把缺陷消灭,以提高软件的质量。测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作是为了找出更多的问题,而不仅仅是为了验证每一件事是正确的。

【软件工程的学习方法的论文】相关文章:

软件工程学习方法11-11

软件工程编程论文03-23

软件工程论文的提纲10-05

软件工程论文开题报告03-27

软件工程论文的开题报告11-15

软件工程硕士的论文03-15

软件工程课程改革探讨的论文03-19

软件工程课程的改革思考论文03-19

工程教育软件工程的论文12-04

本科软件工程硕士论文03-15