ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于软件工程的浅显感受

2020-02-24 14:38:18  阅读:273  来源: 互联网

标签:计算机 感受 计算机科学 浅显 领域 软件工程 程序设计 软件


软件工程是一个广泛的概念,是一个集合化的名词。软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在60年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地编程,结果产生了一堆问题:程序质量低下,错误频出,进度延误,费用剧增······这些问题导致了“软件危机”。
在1968年,一群程序员、计算机科学家与工业界人士聚集一起共商对策。通过借鉴传统工业的成功做法,他们主张通过工程化的方法开发软件来解决软件危机,并冠以“软件工程”这一术语。三十年余年来,尽管软件的一些毛病如人类的感冒一样无法根治,但软件的发展速度超过了任何传统工业,期间并未出现真正的软件危机。这的确是前人的先见之明。如今软件工程成了一门学科。
软件工程主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的,我们都可以领会,关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计─—在出了问题后才打开看看,而应该事先掌握,预料将要出现的问题,控制每个实践环节,并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了,就完事。
一个重要的问题就是,我们经常分不清计算机科学与软件工程。因为大多数我们课程相似,做的项目也差不多,等毕业之后大多从事程序设计这方面的工作,所以大多数我们都分不清楚从中的内在区别和联系。但是这其中是完全不一样的。计算机科学中的理论研究部分,大多可以从形式上证明,与数学、离散数学、数理逻辑密切相关;计算机科学中与实践相关的部分,都和数据以及其他学科发生关系。软件工程则和人的行为、现实社会的需求息息相关。软件工程的研究目标(软件的开发、运营和维护)都有“人”的出现这些“人”可以是项目需求的提供者,可以是软件的开发人员,还可以是软件的用户。这一特征与其他计算机科学的子领域明显不同。其实,在任何科学领域中,都有偏理论额子领域和偏应用的子领域,(例如数学与应用数学),当偏应用的领域得到长足发展之后,机会更多被大家所熟知,甚至成为一门独立的学科,这并不说明相对应的两方面有高低优劣之分。Tony Hoare比较过计算机科学和软件工程的不同侧重点,下图所示:
在这里插入图片描述
计算机理论的进展会帮助软件工程(例如对程序正确性的分析);软件工程的进展(更好的工具,更多的领域)会帮助计算机科学家做更多的实验和探索。
因为能力有限,无法完全理解软件工程的方法和思想,只能在宏观上表达自己一些浅陋的观点和想法。那我们建立软件是为了什么?当然是为了创造合适、稳定的好软件。
那我们就应该做到研发出符合用户需求的软件说明;通过一定的软件流程,在预计的时间内发布足够好二点软件说明;通过数据和其他方式展现所开发的软件是可以维护和继续发展的说明。我想这是最基本的要求,做到这些并不意味着你了解软件工程,仅仅是入门。关于软件工程,我们还有许多事情要去完成,你我一同努力,为软件工程贡献自己的一份力量。

LijinLin520xy 发布了1 篇原创文章 · 获赞 0 · 访问量 33 私信 关注

标签:计算机,感受,计算机科学,浅显,领域,软件工程,程序设计,软件
来源: https://blog.csdn.net/LijinLin520xy/article/details/104476960

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有