软件工程实践与人格魅力:林锐的独到见解

需积分: 0 0 下载量 154 浏览量 更新于2024-07-31 收藏 1.86MB PDF 举报
《软件工程思想》是由林锐撰写的一本深入探讨软件开发和成为优秀程序员理念的书籍。作者凭借自身八年的软件开发经验,将专业理论与个人见解相结合,以独特的视角和新颖的构思,打破了传统软件工程教科书的沉闷框架,以风趣幽默的方式传递知识,使得读者在轻松愉快的阅读中获得深刻理解。书中,林锐不仅分享了他在软件工程实践中的见解,还融入了积极的人生观和社会责任感,强调真实、正直和卓越的职业精神。 书中提到,在早期的软件开发阶段,由于技术限制和开发者的过度自由,软件质量不高、问题频发,这引发了所谓的“软件危机”。然而,通过借鉴传统工业工程化的理念,软件工程应运而生,旨在通过系统化和规范化的方法改进软件开发流程,从而提高软件的质量和效率。尽管软件工程并不能完全解决所有问题,但它确实在很大程度上推动了软件行业的快速发展。 林锐本人践行了他所倡导的理念,资助贫困学生,积极参与环境保护等行为,展现了科技人员应有的社会责任感。他的作品不仅包含了丰富的专业知识,还充满了生活智慧和道德启示。这本书对于软件开发者来说是一本难得的教材,对于普通读者来说,也是一次关于职业素养和个人成长的启发。 作为本书的第一位读者,董军博士在序言中表达了对林锐的敬佩和对他作品的认可,他认为林锐的思考方式、清晰的表达以及实际行动都体现了软件工程思想的精髓。《软件工程思想》因此成为了一部既实用又有深度的读物,不仅适合专业人士研读,也值得所有追求卓越的人士品味和学习。
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 小结