×

软件工程思想PDF电子书免费下载

消耗积分:2 | 格式:pdf | 大小:1.19 MB | 2020-05-21

whh

分享资料个

  在 60 年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地编程,结果产生了一堆问题:程序质量低下,错误频出,进度延误,费用剧增……。这些问题导致了“软件危机”。在 1968 年,一群程序员、计算机科学家与工业界人士聚集一起共商对策。通过借鉴传统工业的成功做法,他们主张通过工程化的方法开发软件来解决软件危机,并冠以“软件工程”这一术语。三十年余年来,尽管软件的一些毛病如人类的感冒一样无法根治,但软件的发展速度超过了任何传统工业,期间并未出现真真的软件危机。这的确是前人的先见之明。如今软件工程成了一门学科。软件工程主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的,平凡之人皆可领会,关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计─—在出了问题后才打开看看,而应该事先掌握,预料将要出现的问题,控制每个实践环节,并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了,就完事。我在读大学的十年里有八年从事软件开发,尽管编写了几十万行 C++/C 程序,也经历了若干次小不点儿大的成功和失败,可老感觉只学了些皮毛,心里慌兮兮的。在博士研究生毕业前的半年里,我告戒自己不应该再稀里糊涂地在程序堆里滚爬下去了,于是就面壁反省,做了一阵子木讷的和尚。在“打坐”时,每有心得体会便记录下来,不知不觉凑成了八章经,我就给此经书起名为《软件工程思想》。经典的软件工程书籍厚得象砖头,或让人望而却步,或让人看了心事重重。请宽恕我的幼稚,我试图用三个问题:是什么、为什么、怎么办,来解释软件工程的道理。所以本书薄得象饺子皮─—用来包“思想”这种有味道的“馅”。本书的八章经分别为:第一章“软件工程基本观念”;第二章“程序员与程序经理”;第三章“项目计划与质量管理”;第四章“可行性分析与需求分析”;第五章“系统设计”;第六章“C++ 面向对象程序设计”;第七章“测试与改错”;第八章“维护与再生工程”。附录“大学十年”可以充当饭后的水果。

  软件工程模型建议用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,如同工厂的生产线。常见的软件工程模型有:线性模型(图 1.2),渐增式模型(图 1.3),螺旋模型,快速原型模型,形式化描述模型等等 [Pressmam 1999, Sommerville 1992]。

  最早出现的软件工程模型是线性模型(又称瀑布模型)。线性模型太理想化,太单纯,已不再适合现代的软件开发模式,几乎被业界抛弃。偶而被人提起,都属于被贬对象,未被留一丝惋惜。但我们应该认识到,“线性”是人们最容易掌握并能熟练应用的思想方法。当人们碰到一个复杂的“非线性”问题时,总是千方百计地将其分解或转化为一系列简单的线性问题,然后逐个解决。一个软件系统的整体可能是复杂的,而单个子程序总是简单的,可以用线性的方式来实现,否则干活就太累了。线性是一种简洁,简洁就是美。当我们领会了线性的精神,就不要再呆板地套用线性模型的外表,而应该用活它。例如渐增式模型实质就是分段的线性模型,如图 1.3 所示。螺旋模型则是接连的弯曲了的线性模型。在其它模型中都能够找到线性模型的影子。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !