【软件工程】什么是软件工程 您所在的位置:网站首页 383工程的含义 【软件工程】什么是软件工程

【软件工程】什么是软件工程

2024-05-31 10:57| 来源: 网络整理| 查看: 265

软件工程的视频看了一半了,看的也是一头雾水,看视频的时候我就在想软件工程究竟是什么,它是干什么的,有什么用呢?如果这个不了解清楚,我感觉我视频看了也是白看。就按照我这不将就的小脾气,我就要整明白这是个什么东西。

什么是软件工程?

从上世纪90年代初起,计算学科(Computing)的发展远远超越了计算机科学的边界,形成了计算机科学、计算机工程、软件工程、信息系统与信息技术等若干独立学科。计算机工程从电子工程学科中分离出来,旨在研究计算机硬件的相关工程问题,而软件工程从计算机科学中的一个学科方向发展成为与之并重的一门独立学科,重点研究如何以系统的、可控的、高效的方式开发和维护高质量软件的问题。

一、软件工程的定义?

软件工程学科诞生以后,人们为软件工程给出了不同的定义。经过上网搜索,我找到了几个比较好理解的定义来供自己更好地理解软件工程。

IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

看了那么多的定义之后我总结的关键词: 1、软件的开发、运行和维护 2、科学高效的方法 3、高质量、低成本、长期 之所以称为“工程”,是因为大软件本身就是一个壮观的工程项目。 算法加数据结构为程序。开发一个程序,从变量怎么在内存中组织,怎么开发效率高的算法,怎么并行计算,怎么通信,怎么读写数据,都是需要统揽考虑的,牵一发而动全身,比如数据结构决定了其并行算法和通信。 所以这就好比盖楼,地基怎么打,怎么设计,用什么材料,怎么装修,一样,是一个系统工程。这就是所谓软件工程的由来,已经不是hello world的过家家了。

二、软件工程的思想(有什么用)?

世界上有 10 种程序员。一种是遵守软件工程开发规则的,我们称之为工程师;一种是不遵守软件工程开发规则的,我们称之为码农。 软件工程,是为了让程序员能够更好地写代码、写出更好地代码。这两个好,都有多层次的含义,但本质上,都是在长期的跨度内,减少程序员的工作量并提高代码质量。 然而,世事总是不随人愿:长期跨度内的好,往往和短期利益会存在冲突。这也就是「短视」或者「目光短浅」的由来。在软件工程中,「写注释」、「保持良好的命名习惯」、「单元测试」、「设计思想」、「总结分析」、「时间记录」,这些是无数前辈总结出来的强而有效的工具。但是,从短期效果来看,使用这些工具(或者进行这些练习),无疑是耗费时间的——只要写出代码来就好了,谁管那么多事? 不讲软件工程的项目,就像上面的图一样。 团队成员搬砖很努力,楼的高度也有,但是你敢住么? 它有上下水么? 你在顶楼入厕,一冲水,会不会把整个楼给冲没了? 那么,为何有些不讲软件工程的公司也似乎混得风生水起呢? 你把上面这个楼房放到一千年前,也是方圆几百里的一朵奇芭,也能拿几轮风投的。 软件行业的一些局部领域和建筑业相比, 就是建筑业几千年前的水平, 大家刚刚从洞穴里面爬出来,看到一个广阔而变化快速的市场,也不知道寒冬什么时候到来,那就各显神通了,赶紧活下来再说! 众多竞争者只能在 {快,好, 便宜} 这三者中选一到两个优化。 这个比喻的还挺形象的吧,这里还有一个官方解释。 http://blog.csdn.net/boonya/article/details/14441661

三、软件工程的内涵

当我说完内涵之后你会发现知识与管理是相通的。 软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:

1、P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。 2、D(DO)——软件开发。开发出满足规格说明的软件。 3、C(Check)——软件确认。确认开发的软件能够满足用户的需求。 4、A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。

从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。 三个阶段:定义阶段:可行性研究初步项目计划、需求分析;开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃 原则:1、抽象;2、信息隐蔽;3、模块化;4、局部化;5、确定性;6,一致性;7、完备性;8、可验证性 说完之后,你对软件工程有没有一个宏观的了解呢?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有