- 博客(7)
- 收藏
- 关注
翻译 《软件构造》 第七章 软件构造的健壮性
》》健壮性和正确性健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度,处理未期望的行为和错误终止。即使终止执行,也要准确/无歧义的向用户展示全面的错误信息。正确性:按照spec加以执行的能力。用户输入错误时,直接结束一般来说,对外的接口,倾向于健壮性;对内部的实现,倾向于正确性测量健壮性和正确性的方法:——外部观察角度:Mean time between failures (MTBF,...
2018-06-23 22:58:06 407
翻译 《软件构造》 第六章 面向可维护性的软件构造
》》可维护性的常见度量指标:1.圈复杂度CC:度量代码的结构复杂度 CC=e-n+2 (e是流程图中边的数量,n是流程图中节点数量)2.代码行数3.Halstead Volume:基于源代码中(不同)运算符和操作数的数量的合成度量。4.可维护性指数(MI):计算介于0和100之间的索引值,表示维护代码的相对容易性。 高价值意味着更好的可维护性。5.继承的层次数:表示扩展到类层次结构的根的类定义的...
2018-06-23 17:19:50 515 3
翻译 《软件构造》 第五章 基于可复用性的软件构造处理
》》可复用性高复用性的软件应具有如下特性:小、简单;与标准兼容;灵活可变;可扩展;泛型、参数化;模块化;变化的局部性;稳定;丰富的文档和帮助白盒复用:源代码可见,可修改和扩展。复杂度高,需要对内部代码充分了解黑盒复用:源代码不可见,无法修改代码;简单清晰,适应性差可复用性外部观察:——类型可变:能够复用的部分应该类型参数化,以适应不同的数据类型;复用的部分应该一般化;适应不同的类型,且满足LSP(...
2018-06-23 15:55:38 294
翻译 《软件构造》 第三章 ADT与OOP 下
本章小结:ADTOOPADT与OOP》》ADT (抽象数据类型)ADT具有以下几个能表达抽象思想的词:——抽象化:用更简单、更高级的思想省略或隐藏低级细节。——模块化: 将系统划分为组件或模块,每个组件可以设计,实施,测试,推理和重用,与系统其余部分分开使用。——封装:围绕模块构建墙,以便模块负责自身的内部行为,并且系统其他部分的错误不会损坏其完整性。——信息隐藏: 从系统其余部分隐藏模块实现的细...
2018-06-23 00:08:26 291
翻译 《软件构造》 第三章 抽象数据类型和面向对象的编程 上
写在最开头,个人认为这是java或者是软件构造里面最核心的部分。如何面对给出的要求,构造出结构清晰合理的类和接口,我觉得是最有难度的,也是最充满艺术性的。本章小结:数据类型:基本数据类型,对象数据类型可变性与不可变性:可变与不可变,防御性编程设计规约:SPECADT,OOP,ADT与OOP》》数据类型基本数据类型和对象数据类型的区别java中有8个封装了的对象类型表示基本类型:– Boolean,...
2018-06-22 00:56:33 324
翻译 《软件构造》 第二章 软件构造的过程和工具
本章小结:过程:线性过程、迭代过程工具:SCM、Git》》软件构造的过程1.线性过程: 个人理解就是一步接着一步进行,没有回头的操作——瀑布过程:需求,设计,实现,确认,维护——增量过程:在瀑布过程的基础上每次完成产品的一小部分,一步步增加(多个瀑布的串行)——V字模型:一个可以考虑开发过程的瀑布过程2.迭代过程:可能会有循环和运行之前步骤的过程——原型过程:开发后给用户评审,然后开发者继续实现,...
2018-06-21 17:36:40 595
原创 《软件构造》 第一章 软件构造的多维度视角和质量目标
本章小结:描述软件构造的三个维度:——阶段:build-time || run-time——动态:moment || period——级别: code || component软件系统的构成要素:——软件=程序(代码)?——软件=算法+数据结构?——软件=程序+数据+文档?——软件=模块(组件)+数据/控制流?软件构造的多维度视角:》》Build-time(构造阶段)构造阶段:...
2018-06-21 10:45:32 523
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人