《软件工程思想》——林锐的独特见解

需积分: 32 1 下载量 78 浏览量 更新于2024-08-01 1 收藏 1.86MB PDF 举报
"《软件工程思想》是一本由林锐撰写的书籍,旨在分享软件开发的理念和程序员应有的职业素养。作者结合自身八年的软件开发经验,以独特的视角、创新的构思和幽默的语言,阐述了软件工程中的核心原则和方法。书中深入浅出地讨论了软件工程的常见问题,虽篇幅不长,却富含深刻的见解,足以媲美厚重的专业教科书。书中的故事和例子使得理论变得生动有趣,易于读者理解和共鸣。作者林锐不仅是一位技术专家,还以实际行动展现了正直和对社会的责任感,他的言行激励着读者追求卓越。这本书不仅是软件工程的实践指南,也是关于人生观和职业道德的启示录。" 在软件工程的历史背景下,60年代初期,由于程序设计的非标准化和随意性,导致了所谓的“软件危机”,表现为程序质量问题、频繁的错误、项目延期和成本增加。为应对这一危机,1968年的会议提出了软件工程的概念,倡导以工程化的方法来开发软件,从而推动了软件行业的规范化和专业化。至今,软件工程已经发展成为一门成熟的学科,虽然软件开发中仍然存在挑战,但整体上取得了显著的进步。 软件工程思想主要关注软件开发的过程和方法,旨在提高软件的质量、可靠性和可维护性。这包括需求分析、设计、编码、测试和维护等各个阶段的管理与实践。书中的内容涵盖了如何有效地组织团队、如何制定合理的计划、如何应用合适的开发模型(如瀑布模型、敏捷开发等)、如何进行版本控制和代码审查,以及如何确保软件的安全性和性能。此外,书中还强调了文档的重要性,提倡持续学习和改进,以及团队协作和沟通技巧。 在做程序员的道理方面,《软件工程思想》提醒读者,除了技术能力之外,个人的道德品质和责任感同样重要。林锐的行为表明,优秀的科技人员应该具备真实、正直的品质,关心社会,积极参与公益活动,并通过自身的行为为他人树立榜样。这样的软件工程师不仅能编写高质量的代码,还能在团队中发挥积极的作用,推动整个行业的发展。 《软件工程思想》是一本启发性的著作,它不仅教导读者如何成为一名合格的软件开发者,更引导他们理解软件工程背后的价值观和精神。通过阅读本书,读者不仅可以提升专业技能,还能培养良好的职业操守,为软件工程领域贡献自己的力量。
2009-10-04 上传
较全面的软件工程书籍 软件工程基本观念 1.1 软件工程的目标与常用模型 1.2 软件开发的基本策略 1.2.1 复用 1.2.2 分而治之 1.2.3 优化——折衷 1.3 一些不正确的观念 1.4 一些有争议的观念 1.5 小结 第二章 程序员与程序经理 2.1 了解程序员 2.2 了解程序经理 2.3 程序员升为经理后是否还要编程 2.4 经理与技术队伍的建设 2.5 向错误与失败学习 2.6 提高综合素责 2.7 小结 第三章 项目计划与质量管理 3.1 项目计划 3.1.1 知己知彼 3.1.2 进度安排 3.2 零缺陷质量管理的观念 3.2.1 高目标 3.2.2 可执行的规范 3.3 软件的质量因素 3.3.1 正确性与精确性 3.3.2 性能与效率 3.3.3 易用性 3.3.4 可理解性与简洁性 3.3.5 可复用性与可扩充性 3.4 质量检查 3.5 小结 第四章 可行性分析与需求分析 4.1可行性分析的要素 4.1.1 经济 一、成本——收益分析 二、短期——长远利益分析 4.1.2 技4.1.3 社会环境 4.1.4 人 4.2 可行性分析案例——投资软件公司失败的教训 4.2.1可行性分析案例之一 4.2.2 可行性分析案例之二 4.2.2 可行性分析案例之三 4.3 需求分析为什么困难 4.3.1 客户说不清楚需求 4.3.2 需求自身经常变动 4.3.3 分析人员或客户理解有误 4.4 如何进行需求分析 4.4.1 应该了解什么 4.4.2 通过什么方式去了解 4.5 小结 第五章 系统设计 5.1 体系结构设计 5.1.1 层次结构 一、上下级关系的层次结构 二、顺序相邻关系的层次结构 三、其它的层次结构 5.1.2 Client/Server结构 5.2 模块设计 5.2.1 信息隐藏 5.2.2 内聚与耦合 5.2.3 封闭——开放性 5.3 数据结构与算法设计 5.4 用户界面设计 5.4.1 界面设计中美的需求与导向作用 5.4.2 界面美的内涵 一、界面的合适性 二、界面的风格 三、界面的广义美 5.5 系统设计示例——支持协同工作的交互式三维图形软件开发系统 5.5.1 设计背景 5.5.2 通用交互式三维图形软件开发工具 Intra3D 2.0 5.5.2.1 主要模块和功能 5.5.2.2 用户界面设计 5.5.3 支持协同工作的网络通讯开发系统 CNC 1.0 5.5.3.1 CNC 客户程序的API设计 5.5.3.2 CNC Server的设计 5.5.4 应用示例 5.6 小结 第六章 C++ 面向对象程序设计 6.1 C++面向对象程序设计的重要概念 6.1.1 类与对象 6.1.2 继承与组合 6.1.3 虚函数与多态 6.2 良好的编程风格 6.2.1 命名约定 6.2.2 使用断言 6.2.3 new、delete与指针 6.2.4 使用const 6.2.5 其它建议 6.3 小结 第七章 测试与改错 7.1 对测试的理解 7.1.1 测试的目的 7.1.2 测试的心理要求 7.1.3 测试的真理 7.1.4 测试与质量的关系 7.2 测试人员的选择 7.2.1 Microsoft公司的经验教训 7.2.2 测试人员的分工 7.3 测试的主要内容与常用方法 7.3.1 正确性与精确性测试 7.3.2 容错性测试 7.3.3 性能与效率测试 7.3.4 易用性测试 7.3.5 文档测试 7.4 改错 7.5 小结 第八章 维护与再生工程 8.1 软件维护的常识 8.2 维护的代价及其主要因素 8.3 再生工程 8.3.1 重构 8.3.2 逆向工程 8.3.3 前向工程 8.4 小结