1、对软件工程认识论文姓名:贺志祥学号:10513109专业:信息与计算科学(软件工程)学校:北京科技大学天津学院绪言:计算机是 20 世纪最重大的科学技巧成就之一,它已成为现代化国度各行各业普遍使用的强有力信息处理工具。计算机使当代社会的经济、军事、科研、教育、服务等方面在概念和技巧上发生了性的变化,对人类社会的进步已经并还将产生极为深刻的影响。目前,计算机是世界各发达国度剧烈竞争的科学技巧领域之一。电子计算机虽然叫做“计算机” ,它的早期功效主要也确实是计算,但后来高水平的计算机已远远超越了单纯计算的功效,还可以模拟、思维、进行自适应反馈处理等等,把它叫做“电脑”更为合乎实际。由于电子计算机功
2、效的飞跃性发展,应用于生产和生活的各个方面,直接和显著地提高了生产、工作和生活的效率、节奏和水平,在软科学研究和应用中它也起着关键作用,因此它已被公认是现代技巧的神经中枢,是未来信息社会的心脏和录魂。计算机学科分为四个领域,分别是计算机科学,计算机工程,软件工程和信息系统。而软件工程是以系统的,科学的,定量的途径,把工程应用于软件的开发和维护,同时,开展对上述过程中的各种方法和途径的研究。软件工程领域的工作者需要掌握软件开发的方法学和工程学的知识,并应用于软件的研究和开发。本文仅仅粗略的描述计算机大学科以及其中的重要分支软件工程。正文:计算机科学是研究计算机及其周围各种现象和规律的科学,亦即研
3、究计算机系统结构、程序系统(即软件) 、人工智能以及计算本身的性质和问题的学科。计算机科学是一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算 法 分 析 、形式化语法等等,到更具体的主题如编程语言、程序设计、软件和硬件等。作为一门学科,它与数学、计算机程序设计、软 件 工 程 和计 算 机 工 程 有显著的不同,却通常被混淆,尽管这些学科之间存在不同程度的交叉和覆盖。计算机科学的分支学科:1 计算机科学。计算机科学包括计算的理论、算法和实现,以及机器人技术、计算机视觉、智能系统、生物信息学和其他新兴的有前途的领域。计算机科学是计算各学科的基础。2 计算机工程。计算机工程是对现代计
4、算系统和由计算机控制的有关设备上的软件与硬件的设计、构造、实施和维护进行研究的学科。3 软件工程。软件工程是指以系统、学科、定量的方法,把工程应用于软件的开发、运行和维护;同时,展开对上述过程中各种方法和途径进行研究的学科。4 信息系统。信息系统是指如何将信息技术的方法与企业生产和商业流通结合起来,以满足这些行业需求的学科。5 信息技术。信息技术从广义上来说,它包括了所有计算技术的各个方面,在此专指作为一门学科的信息技术。它侧重在一定组织及社会环境下,通过选择、创造、应用、集成和管理的计算技术来满足用户的需求。下面着重介绍一下软件工程。软件工程(software engineering,简称
5、SE)是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式,等方面。软件工程的目标是:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。软件工程的原则有以下四项软件工程师基本原则:1)选取适宜开发范型该原则与系统设计有关。在系统设计中,软件需求、硬件需求以及
6、其他因素之间是相互制约、相互影响的,经常需要权衡。因此,必须认识需求定义的易变性,采用适宜的开发范型予以控制,以保证软件产品满足用户的要求。2)采用合适的设计方法在软件设计中,通常要考虑软件的模块化、抽象与信息隐蔽、局部化、一致性以及适应性等特征。合适的设计方法有助于这些特征的实现,以达到软件工程的目标。3)提供高质量的工程支持“工欲善其事,必先利其器” 。 在软件工程中,软件工具与环境对软件过程的支持颇为重要。软件工程项目的质量与开销直接取决于对软件工程所提供的支撑质量和效用。4)重视开发过程的管理生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作
7、过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。在大学中,软件工程学生主要学的课程有:外
8、语、高等数学、线性代数、高等代数、电子技术基础、离散数学、计算机引论(C 语言) 、数据结构、C+程序设计、JAVA 程序设计、Delphi 程序设计、汇编语言程序设计、算法设计与分析、计算机组成原理与体系结构、数据库系统、计算机网络、软件工程、软件测试技术、软件需求与项目管理、软件设计实例分析、CMM/ISO9000 等。 另外,还包括操作系统、软件体系结构概论、设计模式、多媒体技术基础、UML 建模、概率论、大学英语等,部分院校还会包括大学物理,工程制图,数值分析等。如何在大学学好软件工程这门课程:在学习这门课程必须对这门课程要有一定的兴趣,如果没有兴趣的话是无法将一门课程学好,即便是强迫
9、自己学习也是一种折磨,但是如果对这门课程产生极大的兴趣就会自己鞭策自己让自己努力去练习,努力的去熟悉。而且在听老师讲的时候也会有一种愉悦的感觉。然后我认为要想学习好这门课程主要是有以下两个方面:1 正确的学习方法学习没有捷径走,但是存在弯路的,讲究正确的学习方法就是不要走弯路,首先是大学的基础,基础很重要。特别是对于高数的学习,因为高数会把你的思维方法进行优化。在大学中要学好软件工程这门课首先必须有严谨的数学思想,尽量减少在编程过程中的漏洞和错误。所以学习好基础课程对于以后的编程有很大的好处. 计算机系的学生学习高等数学:知其然更要知其所以然。你学习的目的应该是:将抽象的理论再应用于实践,不但
10、要掌握题目的解题方法,更要掌握解题思想,对于定理的学习:不是简单的应用,而是掌握证明过程即掌握定理的由来,训练自己的推理能力。只有这样才达到了学习这门科学的目的,同时也缩小了我们与数学系的同学之间思维上的差距。2坚持不懈的学习要在学习的过程中尽量多的编写程序,李开复博士曾经说过:一个合格的软件工程学生要在大学四年编写十万个程序。平均下来每天要编写 68 个程序,当然毕竟每个的情况不是一样的,不是每个人都能做到那样的标准,但是曾经有一大学说出一个合格的软件工程大学生四年要编写两万个程序。即便达不到李开复博士的要求,但是我们要尽量多的编写程序。编写的越多,对自己的各个方面的不足和缺点就会有更多的认
11、识。这样也可以更加好的进行改正。我校由于先天条件不允许,导致学习软件工程的学生无法经常进行练习,所以只能在平时学习的过程中努力听讲。还有就是要经常上网去学习新知识,由于每个学校开设的课程都有其滞后性,例如 C+,java,现在运用的很多,但是 NET 平台的诞生和 X#语言的初见端倪,说明了作为当代大学生应当有紧跟科学发展的素质。总结:经过半年左右的学习,我受益匪浅,也知道自己应该好好努力,争取在自己的专业领域上有所成就。在学了计算学科概论之后,让我更深入的了解了我将来要从事的学科。计算科学概论指导着我们该怎么学习计算机。让我更清楚的知道我们信息安全专业的方向。正如计算学科这座大楼一样,在不断的成长。致谢:谢谢本部老师王昭顺教授半年左右的时间专门到天院来为我们授课。虽然天院学生和本部学生有比较大的差别。但是王教授没有任何的不耐烦,仍然耐心的教我们知识,在这里对教授表示最大的感谢。