现在位置: 首页 > 软件工程思想
2010-02-05 10:28 工业·编程 ⁄ 共 21467字 暂无评论
林锐,1999年岁末 写此文使我很为难,一是担心读者误以为我轻浮得现在就开始写自传,二是担心朋友们误以为我得了绝症而早早留下遗作。 不论是落俗套还是不落俗套地评价,我在大学十年里都是出类拔萃的好学生。并且一直以来我对朋友们和一些低年级的学生们都有很大的正面影响。这十年是一个从幼稚到成熟的过程,交织着聪明与蠢笨、勤奋与懒散、狂热与怯懦、成功与失败。做对了的事可树立为榜样,做错的事可挂作为警钟。我写下经...
阅读全文
2010-01-30 10:27 工业·编程 ⁄ 共 1335字 暂无评论
[Abrash 1998] Michael Abrash, 图形程序开发人员指南(前导工作室译),机械工业出版社,1998 [Cline 1995] Marshall P. Cline, Greg A. Lomow, C++ FAQs, Addison-Wesley, 1995 [Comer 1996] Douglas E. Comer, David L. Stevens, Internetworking With TCP/IP, Vol III, Prentice-Hall,1996 [Cusumano 1995] Michael A. Cusumano, Richard W. Selby, 微软的秘密(程化等译),北京大学出版社,1995 [Jacobson 1997] Ivar Ja...
阅读全文
编程大师曾说:“哪怕程序只有三行长,总有一天你也不得不对它维护。” 很多软件产品不是一次性的买卖。比如在电信、金融等领域,有些软件系统要用十几年,对软件进行维护是必不可少的。8.1节将介绍“软件维护的常识”,对维护活动进行分类,并解释为什么维护比较困难。 软件公司的经理们没有哪一个喜欢被维护的费用吓一跳,但软件维护的代价通常是高昂的。7.2节将说明影响维护代价的一些主要技术因素与非技术因素。 如果希望提高已...
阅读全文
编程大师说:“任何一个程序,无论它多么小,总存在着错误。” 初学者不相信大师的话,他问:“如果一个程序小得只执行一个简单的功能,那会怎样?” “这样的一个程序没有意义,”大师说,“但如果这样的程序存在的话,操作系统最后将失效,产生一个错误。” 但初学者不满足,他问:“如果操作系统不失效,那么会怎样?” “没有不失效的操作系统,”大师说,“但如果这样的操作系统存在的话,硬件最后将失效,产生一个错误。” 初学者仍不满...
阅读全文
六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。 软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系统设计”环节的。“面向对象”有几大学派,就象如来佛、上帝和真主用各自的方式定义了这个世界,并留下一堆经书来解释这个世界。 有些学者建议这样找...
阅读全文
系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定了软件系统的质量。就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必定产生差的软件系统。”所以我们要努力保证系统设计“根正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态。 Windows NT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统...
阅读全文
可行性分析是要决定“做还是不做”。 需求分析是要决定“做什么,不做什么”。 即使可行性分析是客观的、科学的,但决策仍有可能是错误的。因为决策者是人,人会冲动,有赌博心态。如果可行性分析表明做某件事的成功率是10%,失败率是90%,倘若该事情的意义非常大,决策者也许会一拍脑袋:“豁出去,干!”于是这世界就多了一份极喜与极悲。4.1节讲述可行性分析的四大要素:经济、技术、社会环境和人。 目前国内很多软件公司做系统集...
阅读全文
在可行性分析之后,项目计划与质量管理将贯穿需求分析、系统设计、程序设计、测试、维护等软件工程环节。 项目计划是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。项目计划是要付诸实施的,不象用嘴巴喊政治口号,可以很夸张。软件的项目计划重在“准确”而非“快速”。 提高质量是软件工程的主要目标。但由于软件开发是一种智力创作活动,很难象传统工业那样通过执行严格的操作规范来保证...
阅读全文
工作在第一线的软件开发人员是程序员和程序经理,他们决定着软件的命运。良好的程序员队伍和出色的管理是软件项目成功的必要条件。管理不是管制,不是去卡住人家的脖子,因为程序员不是一群野鸭子。管理的目的是让大家一起把工作做好,并且让各人获得各自的快乐和满足。当一个组织被出色地领导时,雇员甚至不知道他们已被领导。在项目完成时,他们会自豪地说:“看看我们通过努力取得的成绩吧”。所以管理者不能老惦记着自己是一...
阅读全文
本章讲述软件工程的基本观念,是关于软件工程宏观上的探讨。如果你是软件公司的老板,用不着在第一线工作,那么看这一章就够了。但你一定要让员工们相信不停地工作是人生最大的快乐,并且让他们把本书看完。 1.1节讲述软件工程的目标和常用的软件工程模型。1.2节讲述软件开发的基本策略:“复用”、“分而治之”、“优化——折衷”,有助于指导实践者选择方法和产生新方法。1.3节例举一些不正确的观念,取材于早期软件人员比较幼稚的想...
阅读全文