论文部分内容阅读
中图分类号:TP311.5 文献标识码:A 文章编号:1009-914X(2014)24-0322-01
绪言:
软件工程是以系统的、科学的、定量的途径,把工程应用于软件的开发和维护,同时开展对上述过程中的各种方法和途径的研究。本文仅粗略的描述计算机大学科以及其中的重要分支软件工程,并对该学科的一些学习方法进行探讨。
计算机是20世纪最重大的科学技巧成就之一,大致可分为四个领域:计算机科学、计算机工程、软件工程和信息系统。计算机技术的飞速发展和广泛使用对人类社会的进步已经并还将产生极为深刻的影响,已成为各行各业普遍使用的强有力信息处理工具,计算机技术亦成为世界各发达国度剧烈竞争的科学技术领域之一。
电子计算机早期功能确实是计算,但后来随着该领域技术的飞速发展,高水平的计算机已远远超越了单纯计算的功能,它还可以模拟、思维、进行自适应反馈处理等等,把它叫做“电脑”更为合乎实际。随着计算机技术广泛应用于生产和生活的各个方面,直接和显著地提高了生产、工作和生活的效率、节奏和水平,其中软件工程学科的研究和应用在整个过程中发挥了极为重要的作用。
正文:
计算机科学是研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。
计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。作为一门学科,它与数学、计算机程序设计、软件工程和计算机工程有显著的不同,却通常被混淆,尽管这些学科之间存在不同程度的交叉和覆盖。
1 计算机科学的分支学科
(1)计算机科学。计算机科学包括计算的理论、算法和实现,以及机器人技术、计算机视觉、智能系统、生物信息学和其他新兴的有前途的领域。计算机科学是计算各学科的基础。
(2)计算机工程。计算机工程是对现代计算系统和由计算机控制的有关设备上的软件与硬件的设计、构造、实施和维护进行研究的学科。
(3)软件工程。软件工程是指以系统、学科、定量的方法,把工程应用于软件的开发、运行和维护;同时,展开对上述过程中各种方法和途径进行研究的学科。
(4)信息系统。信息系统是指如何将信息技术的方法与企业生产和商业流通结合起来,以满足这些行业需求的学科。
(5)信息技术。信息技术从广义上来说,它包括了所有计算技术的各个方面,在此专指作为一门学科的信息技术。它侧重在一定组织及社会环境下,通过选择、创造、应用、集成和管理的计算技术来满足用户的需求。
下面着重介绍一下软件工程。
软件工程(software engineering,简称SE)是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。
软件工程的目标是:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项软件工程师基本原则:
1)选取适宜开发范型
该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。
2)采用合适的设计方法
在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
3)提供高质量的工程支持
“工欲善其事,必先利其器”。 在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
4)重视开发过程的管理
生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
如何学好软件工程这门课程:
软件工程主要学习的课程有:外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、JAVA程序设计、Delphi程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。另外还包括操作系统、软件体系结构概论、设计模式、多媒体技术基础、UML建模、概率论、大学英语等,部分院校还会包括大学物理,工程制图,数值分析等。
下面就如何学好这门课程谈一点自己的看法:
(1)兴趣之最好的老师
学习这门课程必须对这门课程要有一定的兴趣,如果没有兴趣的话是无法将一門课程学好,即便是强迫自己学习也是一种折磨,但是如果对这门课程产生极大的兴趣就会自己鞭策自己让自己努力去练习,努力的去熟悉,听课看书的时候也会有一种愉悦的感觉,能够大幅提高学习效率。
(2)正确的学习方法
学习是一个长期积累的过程,没有捷径走,但是是存在弯路的,正确的学习方法就是少走甚至不走弯路,基本原则是在不断强化巩固支撑学科知识的基础上不断探索思维方法的优化。
学好软件工程这门课首先必须有严谨的数学思想,尽量减少在编程过程中的漏洞和错误。所以学习好基础课程对于以后的编程有很大的好处,你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力,培养自己数学思维模式。
(3)坚持不懈的学习
“书山有路勤为径,学海无涯苦做舟”,学习软件工程一定要有持之以恒的毅力,要在学习的过程中尽量多的编写程序,李开复博士曾经说过:一个合格的软件工程学生要在大学四年编写十万个程序。平均下来每天要编写68个程序,当然这样的的要求不是每个人都能做到那样的标准,但应该给自己制定计划,尽可能多的学习和练习。即便达不到李开复博士的要求,但是我们要尽量多的编写程序,编写的越多,对自己的各个方面的不足和缺点就会有更多的认识,只有清楚认识自己的薄弱环节,才能有针对性的进行提高和改进。
总结:软件工程领域的工作者需要掌握软件开发的方法学和工程学的知识,并应用于软件的研究和开发,学好软件工程这门课必须有严谨的数学思想,要有持之以恒的毅力和正确的学习方法,还要有活到老学到老的精神,不断更新自己的知识结构,才能与时俱进,适应软件工程这门学科的发展需求。
绪言:
软件工程是以系统的、科学的、定量的途径,把工程应用于软件的开发和维护,同时开展对上述过程中的各种方法和途径的研究。本文仅粗略的描述计算机大学科以及其中的重要分支软件工程,并对该学科的一些学习方法进行探讨。
计算机是20世纪最重大的科学技巧成就之一,大致可分为四个领域:计算机科学、计算机工程、软件工程和信息系统。计算机技术的飞速发展和广泛使用对人类社会的进步已经并还将产生极为深刻的影响,已成为各行各业普遍使用的强有力信息处理工具,计算机技术亦成为世界各发达国度剧烈竞争的科学技术领域之一。
电子计算机早期功能确实是计算,但后来随着该领域技术的飞速发展,高水平的计算机已远远超越了单纯计算的功能,它还可以模拟、思维、进行自适应反馈处理等等,把它叫做“电脑”更为合乎实际。随着计算机技术广泛应用于生产和生活的各个方面,直接和显著地提高了生产、工作和生活的效率、节奏和水平,其中软件工程学科的研究和应用在整个过程中发挥了极为重要的作用。
正文:
计算机科学是研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。
计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。作为一门学科,它与数学、计算机程序设计、软件工程和计算机工程有显著的不同,却通常被混淆,尽管这些学科之间存在不同程度的交叉和覆盖。
1 计算机科学的分支学科
(1)计算机科学。计算机科学包括计算的理论、算法和实现,以及机器人技术、计算机视觉、智能系统、生物信息学和其他新兴的有前途的领域。计算机科学是计算各学科的基础。
(2)计算机工程。计算机工程是对现代计算系统和由计算机控制的有关设备上的软件与硬件的设计、构造、实施和维护进行研究的学科。
(3)软件工程。软件工程是指以系统、学科、定量的方法,把工程应用于软件的开发、运行和维护;同时,展开对上述过程中各种方法和途径进行研究的学科。
(4)信息系统。信息系统是指如何将信息技术的方法与企业生产和商业流通结合起来,以满足这些行业需求的学科。
(5)信息技术。信息技术从广义上来说,它包括了所有计算技术的各个方面,在此专指作为一门学科的信息技术。它侧重在一定组织及社会环境下,通过选择、创造、应用、集成和管理的计算技术来满足用户的需求。
下面着重介绍一下软件工程。
软件工程(software engineering,简称SE)是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。
软件工程的目标是:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。
软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项软件工程师基本原则:
1)选取适宜开发范型
该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。
2)采用合适的设计方法
在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。
3)提供高质量的工程支持
“工欲善其事,必先利其器”。 在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。
4)重视开发过程的管理
生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
如何学好软件工程这门课程:
软件工程主要学习的课程有:外语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C语言)、数据结构、C++程序设计、JAVA程序设计、Delphi程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000等。另外还包括操作系统、软件体系结构概论、设计模式、多媒体技术基础、UML建模、概率论、大学英语等,部分院校还会包括大学物理,工程制图,数值分析等。
下面就如何学好这门课程谈一点自己的看法:
(1)兴趣之最好的老师
学习这门课程必须对这门课程要有一定的兴趣,如果没有兴趣的话是无法将一門课程学好,即便是强迫自己学习也是一种折磨,但是如果对这门课程产生极大的兴趣就会自己鞭策自己让自己努力去练习,努力的去熟悉,听课看书的时候也会有一种愉悦的感觉,能够大幅提高学习效率。
(2)正确的学习方法
学习是一个长期积累的过程,没有捷径走,但是是存在弯路的,正确的学习方法就是少走甚至不走弯路,基本原则是在不断强化巩固支撑学科知识的基础上不断探索思维方法的优化。
学好软件工程这门课首先必须有严谨的数学思想,尽量减少在编程过程中的漏洞和错误。所以学习好基础课程对于以后的编程有很大的好处,你学习的目的应该是:将抽象的理论再应用于实践,不但要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力,培养自己数学思维模式。
(3)坚持不懈的学习
“书山有路勤为径,学海无涯苦做舟”,学习软件工程一定要有持之以恒的毅力,要在学习的过程中尽量多的编写程序,李开复博士曾经说过:一个合格的软件工程学生要在大学四年编写十万个程序。平均下来每天要编写68个程序,当然这样的的要求不是每个人都能做到那样的标准,但应该给自己制定计划,尽可能多的学习和练习。即便达不到李开复博士的要求,但是我们要尽量多的编写程序,编写的越多,对自己的各个方面的不足和缺点就会有更多的认识,只有清楚认识自己的薄弱环节,才能有针对性的进行提高和改进。
总结:软件工程领域的工作者需要掌握软件开发的方法学和工程学的知识,并应用于软件的研究和开发,学好软件工程这门课必须有严谨的数学思想,要有持之以恒的毅力和正确的学习方法,还要有活到老学到老的精神,不断更新自己的知识结构,才能与时俱进,适应软件工程这门学科的发展需求。