【感悟】再论软件工程

前言:无意中翻到了之前自己关于软件工程的理解,重新温习一下,特在博客记录。

再论软件工程

      学习《软件工程概论》这门学科之前,软件工程对我来说只是一个可以选择的专业,是一门学习做软件的学科,其不同于计算机科学与技术的,或许是它更偏向软件,而计科研究硬件多,软件工程卓越工程师班更是一个利于就业而考研颇难的专业,结合自己的意愿,于是选择了软卓。但仔细想想,还从来没有认真的思考过什么是真正的软件工程,不禁让人唏嘘,这才通过老师的讲解以及网上的解释,并结合自己的思考,更深入的了解到何为软件工程、为何学习软件工程以及怎样学习软件工程,仅以以下内容描述我对软件工程的认识。

      软件工程带有“工程”二字,于是这门学科不再是单独的一个过程,它具有工程的特征,是一个大的系统,但一定又不同于传统工程,例如水利工程、机械工程、建筑工程等,它包含定义阶段、开发阶段、维护阶段。百度百科释义软件工程目的在于:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。以此观之,软件工程经过了几十年的历史积累,已经发展为一个独立的并且较为成熟的学科。

      纵观软件工程的发展过程,软件的发展总是落后于硬件的发展,期间与各个学科的支持密不可分,面对硬件的飞速发展,软件时常望尘莫及,顶多与硬件齐头并进,难以实现超越,当然也不难理解,没有硬件的支持,软件无所依靠。对于软硬件的关系,大约有以下几个方面:

⑴ 硬件和软件互相依存
 硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件的各种功能。
⑵ 硬件和软件无严格界线                
    随着计算机技术的发展,在许多情况下,计算机的某些功能既可以由硬件实现,也可以由软件来实现。因此,硬件与软件在一定意义上说没有绝对严格的界面。
⑶ 硬件和软件协同发展
    计算机软件随硬件技术的迅速发展而发展,而软件的不断发展与完善又促进硬件的更新,两者密切地交织发展,缺一不可。当然,根据时代的需求和利益的驱使,其发展过程会有所浮动,但总是向更加前沿发展。

      那么软件工程发展历程是怎样的呢?软件是由计算机程序程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并且逐步商品化的过程中形成的。软件开发经历了程序设计阶段、软件设计阶段和软件工程阶段的演变过程。

      程序设计阶段的特点是:尚无软件的概念,程序设计主要围绕硬件进行开发,规模很小,工具简单,无明确分工(开发者和用户),程序设计追求节省空间和编程技巧,无文档资料(除程序清单外),主要用于科学计算。软件设计阶段的特点是:硬件环境相对稳定,出现了“软件作坊”的开发组织形式。开始广泛使用产品软件(可购买),从而建立了软件的概念。随着计算机技术的发展和计算机应用的日益普及,软件系统的规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽,开发者和用户有了明确的分工,社会对软件的需求量剧增。但软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,从而导致了“软件危机”的产生。自1970年起,软件开发进入了软件工程阶段。由于“软件危机”的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件产生进入了软件工程时代。此阶段的特点是:硬件已向巨型化、微型化、网络化和智能化四个方向发展,数据库技术已成熟并广泛应用,第三代、第四代语言出现;第一代软件技术:结构化程序设计在数值计算领域取得优异成绩;第二代软件技术:软件测试技术、方法、原理用于软件生产过程;第三代软件技术:处理需求定义技术用于软件需求分析和描述。

      软件工程是把软件当作是一种工业产品,要求“采用工程的原理与方法对软件进行计划、开发和维护”。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。典型的软件比如有电子邮件嵌入式系统人机界面,办公套件,操作系统编译器数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。由此可见,未来一定是信息的时代,未来也一定离不开软件对于产业的支持。

 

发布了31 篇原创文章 · 获赞 6 · 访问量 4181

猜你喜欢

转载自blog.csdn.net/zhenliangit0918/article/details/104290748