一部论述系统思想的书,有助于提高你的系统思维和架构能力
2023-04-26 21:09:37 4.57MB 系统思想
1
*非常值得看的一本好书,都是作者的亲身经历,曾看过作者的另外基本大作,写的非常好。(放心不是病毒,是做好的exe方式查看的) 软件工程思想 (林锐博士) 进入目录 《软件工程思想》讲述“软件开发”和“做程序员”的道理,视野独特,构思新颖,内容风趣,不落窠臼,令人耳目一新。堪称难得,以至回味无穷。 作者从事了八年的软件开发工作,在他的博士学位论文完成之际写下了这本“心之所感”。虽然它探讨的是软件工程最常见的内容,但他将亲身所历的感悟写成活泼生动的文字,将软件工程的很多原则和方法融于笑谈之中,让人看得轻松,时有共鸣。尽管很薄,然其内涵不逊于厚近千页的有关教科书。 每次回浙大我都要和林锐相聚,谈学术、论社会,直面人生,“位卑未敢忘忧国”,每每至凌晨。前不久我在某大学计算机系作讲座,最后冒昧谈了几句题外话,其中之一是“学问与明理”。古人云:“读书明理”,意即读书要明白做人的道理。我以为其中的重要内涵,是要有积极的人生观,以贡献社会为己任。这也是我们的共识。林锐曾立誓做一名“真实、正直、优秀的科技人员”。他在自己困难的时候依然资助数名贫困中学生和大学生;常常躬身拾捡被乱扔于地的废纸、塑料袋,以示后生。这都会使很多的学人汗颜有加。 简言之,林锐对软件工程实践的积极思考、轻快而不失深邃的文笔及其言行,都是出色之处。 正由于此,而不仅因为是同行,我才不惭浅陋,接受他的要求,荣幸地成为本书的第一位读者,并在本来应是名人大家留文的地方谈林说森。 董军,2000年2月于 朝夕室 目 录 第一章 软件工程基本观念 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 小结 参考文献
1
Scrum敏捷项目管理思想培训讲义
2023-04-04 11:26:21 905KB Scrum
1
C#编程思想,介绍在.NET环境下C#语言的基本语法,基本概念。用实例实现,简单易学,可作为C#的入门书
2023-03-29 21:11:52 4.56MB C# 入门
1
主要介绍了Python面向对象思想与应用,较为详细的分析了Python面向对象思想与原理,并结合实例形式分析了类与对象相关定义、用法及操作注意事项,需要的朋友可以参考下
2023-03-27 15:27:35 90KB Python 面向对象 类与对象
1
【书内资源】【配书源代码】单片机编程魔法师之高级裸编程思想
2023-03-13 09:15:32 1.58MB 单片机编程
1
压缩感知理论在数据获取、数据存储/传输、数据分析和处理方面有很大优势,成为近年来的研究热点.考虑到大多数图像信号信息分布有差异,编码端,在对图像分块的基础上,融合熵估计和边缘检测方法计算各图像块的信息含量,再从两个不同的角度进行分类采样:依据信息量多少将图像块分为平滑、过渡和纹理3类,使用不同的采样率采样;依据信息量的分布特征,采用不同的采样率分配策略进行采样.在解码端,根据不同类型的图像块构造不同的线性算子进行重构,再运用改进的迭代阈值算法去除块效应和噪声.实验证明,算法在提升图像重构质量的同时缩短了重构时间,并且对纹理边缘多的图像的重构效果较其他方法理想.
1
是volume 1的课后答案,以前从网上下了几个,可是都不是,这个绝对正宗。先给2-1的答案。 2-1 Modify Hello.cpp so that it prints out your name and age (or shoe size, or your dog’s age, if that makes you feel better). Compile and run the program. Solution: The original Hello.cpp appeared in the text as follows: // Saying Hello with C++ #include // Stream declarations using namespace std; int main() { cout << "Hello, World! I am " << 8 << " Today!" << endl; } Here’s my rewrite: //: S02:Hello2.cpp #include using namespace std; int main() { cout << "Hello, World! I am Chuck Allison." << endl; cout << "I have two dogs:" << endl; cout << "Sheba, who is " << 5 << ", and" << endl; cout << "Muffy, who is 8." << endl; cout << "(I feel much better!)" << endl; } /* Output: Hello, World! I am Chuck Allison. I have two dogs: Sheba, who is 5, and Muffy, who is 8. (I feel much better!) */ ///:~ I chose to have separate statements that send output to cout, but I could have printed everything in a single statement if I had wanted, like the example in the text does. Note that in the case of Sheba’s age, I printed 5 as an integer, but for Muffy I included the numeral in the literal text. In this case it makes no difference, but when you print floating-point numbers that have decimals, you get 6 decimals by default. Bruce discusses later in the text how to control output of floating-point numbers.
2023-03-07 10:22:43 261KB thinking c++ 思想 编程
1
4.删除运算 (1)思想方法 删除运算是将表的第 i 个结点删去。 具体步骤: (1)找到 ai-1 的存储位置 p(因为在单链表中结点 ai 的存储地址是在其直接前趋结点 ai-1 的指针域 next 中) (2)令 p->next 指向 ai 的直接后继结点(即把 ai 从链上摘下) (3)释放结点 ai 的空间,将其归还给"存储池"。
2023-02-28 11:00:31 3.33MB ACM 哈尔滨理工大 培训资料 c算法
1
《Delphi面向对象编程思想》 - 刘艺 PDF
2023-02-23 18:52:40 18.22MB 刘艺 delphi
1