《软件工程思想》林锐:编程的智慧与工程之道

需积分: 7 4 下载量 29 浏览量 更新于2024-07-26 收藏 1.12MB PDF 举报
"《林锐-软件工程思想》是一本由林锐著、董军审的书籍,讲述了软件开发和程序员的道理,具有独特的视角、创新的构思和生动的内容。作者结合自身八年的软件开发经验,将软件工程的原则和方法融入轻松幽默的叙述中,旨在启发读者理解软件工程的本质和程序员的职业素养。书中的内容虽然简洁,但深度不减,对软件工程实践的深入思考和作者的人生态度都体现了书的价值。书中的前言由董军撰写,回顾了软件工程的发展历程,指出早期的‘软件危机’催生了软件工程这一概念,以期通过工程化方法改善软件开发的问题。" 在这本书中,林锐强调了软件工程不仅仅是技术问题,更关乎程序员的道德和责任感。他提倡的软件工程思想包括但不限于以下几个方面: 1. **软件开发之道**:林锐认为软件开发不仅是编写代码,更是理解需求、设计系统、测试和维护的过程。程序员应当具备全面的视角,理解软件生命周期的各个环节。 2. **实践经验与理论结合**:基于自己的工作经验,林锐倡导将实际遇到的问题与软件工程理论相结合,以提升软件的质量和效率。 3. **软件工程原则**:书中可能会涵盖软件工程的基本原则,如需求分析、设计模式、版本控制、测试策略等,这些都是有效管理软件项目的关键。 4. **工程化方法**:书中可能讨论如何应用工程化的思维方式来组织和管理软件开发过程,以避免“软件危机”中的问题,如进度延误、成本超支等。 5. **程序员的素养**:林锐强调程序员应具备的真实、正直的品质,以及对社会的责任感,这些品质对于软件行业的健康发展至关重要。 6. **持续学习与改进**:随着技术的快速发展,程序员需要保持持续学习的态度,适应新的编程语言、工具和技术,以提高软件的创新性和竞争力。 7. **软件质量与维护**:良好的软件工程实践还包括对软件质量的追求和后期的维护工作,确保软件能够稳定、可靠地运行。 这本书不仅适合初学者,也适合有经验的开发者,通过阅读,读者可以深化对软件工程的理解,提升自身的专业素养,同时也能受到作者积极人生态度的启发。
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 小结