`

软件的艺术之美源于权衡(Trade-off) (转)

阅读更多

原文:http://www.cnblogs.com/zhuweisky/archive/2005/09/11/234301.html
软件架构师的主要职责是什么?是抉择、是权衡。把软件称为艺术一点都没有夸张,可以说软件是科学、工程、与艺术的结合体。软件的艺术体现在权衡上。在这一期的《程序员》杂志上看到了一篇“鱼与熊掌--完美主义架构师的梦魇”,其中关于权衡要素的论述正切合我之所想,现将主要部分转摘如下,如果想了解更详细内容,请在本期程序员阅读全文。

(1)Time or Space  时间 vs. 空间
   牺牲内存换取时间或牺牲时间以节省内存是我们常用的伎俩。  

(2)Elegancy or Efficiency  优雅 vs. 效率
   比如,多态很优雅,却是以效率为代价,而丑陋的函数指针却正好相反。

(3)Fashion or Familiarity  不熟悉的新技术 vs. 熟练的旧技术
   是采用最新、能提高开发效率却我们不熟悉的新技术,还是继续使用我们很熟练的但是开发效率低下的陈旧技术了?

(4)Revolution or Evolution  革命 vs. 继承
   对于遗留系统,我们是推翻重来,还是在其基础上进行改良重构并增强了?

(5)Under-Design or Over-Design  轻度设计 vs. 过度设计
   设计,需要细化到何种程度、需要多长时间?

    架构设计的限制始终围绕了软件质量的11要素:正确性、可靠性、有效性、完整性、可用性、可维护性、灵活性、可测试性、可移植性、可重用性、可互操作性。

分享到:
评论

相关推荐

    Performance evaluation and delay-power trade-off analysis of ZigBee protocol.pdf

    ZigBee协议的性能评估与延迟功耗权衡分析 In this paper, we analyze the superframe structure of the Medium Access Control (MAC) sublayer of IEEE 802.15.4 protocol (ZigBee), designed for Low-Rate ...

    Making a Faster Cryptanalytic Time-Memory Trade-Off.pdf

    这篇文章的标题是《Making a Faster Cryptanalytic Time-Memory Trade-Off》,从这个标题我们可以知道,文章讨论的是一种加密分析中的时间-存储权衡技术,目的是为了提高破解的效率,减少所需的时间,同时减少计算...

    The Architecture Tradeoff Analysis Method

    ### 架构权衡分析方法 (ATAM):软件系统质量属性的核心考量 #### 概述 《架构权衡分析方法》(Architecture Tradeoff Analysis Method, ATAM)是一篇聚焦于软件密集型系统架构设计与分析的重要论文。该论文提出了...

    Trade-offs in Analog circuit design

    在设计过程中,电路设计师常常面临各种权衡(Trade-offs),这要求他们根据特定的应用需求和设计目标,选择合适的设计方法、技术架构和工艺技术。《模拟电路设计中的权衡》这本书为电路设计师提供了一个全面的参考...

    Trade-off Between Dimensionality Reduction and Quantization in Minimum Mean Square Error Estimation

    在研究最小均方误差估计(Minimum Mean Square Error Estimation, MMSE)中,维度降低(Dimensionality Reduction)和量化(Quantization)之间的权衡是一个关键问题。在给定的通信带宽下,比特分配问题被表述为一个...

    Actual-Delay Circuits on FPGA Trading-Off Luts for Speed

    ### 实际延时电路在FPGA上的应用:速度与查找表的权衡 #### 引言 在现代集成电路设计中,现场可编程门阵列(FPGA)因其灵活性和高性能而受到广泛青睐。然而,FPGA器件的制造变异性成为了一个不可忽视的问题,这种...

    信息安全_数据安全_eu-16-Beery-Grady-Cyber-Judo-Off.pdf

    另一方面,安全团队也必须考虑到兼容性和性能的权衡,尤其是在部署代理或者恶意软件防护工具时。 最后,文档中列举了各种加密算法和技术,例如des_cbc_md5、rc4_hmac_nt、aes128_hmac、aes256_hmac等,这些都是用来...

    .NET软件架构之美

     内容简介:软件架构设计是现代软件开发的核心,它不仅是一门技术,更是一门艺术。然而,长期以来,一直没有一本讲述.net架构设计的书。.  本书填补了这一缺憾。两位作者人选可谓众望所归,他们将gof设计模式、...

    FPGA Hardware Accelerators - Case Study on Design Methodologies and Trade-Offs

    ### FPGA硬件加速器:设计方法学与权衡案例研究 #### 概述 现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)作为一种高度灵活且高效的硬件平台,在众多领域得到了广泛的应用,尤其是在高性能计算、...

    物流管理专业全套24门之学习笔记

    #### 三、权衡(Trade-off) 1. **权衡的意义**: 在做出决策时,需在不同方面之间进行平衡。 2. **典型权衡**: - 成本与服务之间的权衡。 - 库存价值与交货速度之间的权衡。 - 仓储成本与交货可靠性之间的权衡。...

    spectrum sensing\Spectrum sensing in cognitive radio networks_ requirements, challenges and design trade-offs [cognitive radio communications]

    ### 认知无线电中的频谱感知:要求、挑战与设计权衡 随着无线服务需求的不断增长以及新兴无线设备和应用的涌现,对无线电频谱的需求显著增加。然而,传统频谱管理方法非常僵化,每个运营商仅被授予在特定频率范围内...

    软件架构_中文第二版_len bass

    这部分内容可能包括如何进行架构分析,识别关键的非功能需求,以及如何使用不同的评估技术(如 trade-off analysis 和风险分析)来权衡各种设计决策。 在《软件构架_4.pdf》中,林·巴斯可能会介绍软件演化和演进的...

    汇丰银行-全球-金融业-金融业中的机械学习-2019.5.1-34页.pdf

    Bias-Variance Trade-off是指在模型中权衡bias和variance的关系,以取得最佳的结果。 Model Ensembling 决策树模型可以通过ensemble的方式组合成更强大的模型,即ensemble learning。这种方法可以将多个模型组合...

    论文研究-基于转换成本的企业融资策略与定价策略.pdf

    研究表明,转换成本对产品市场竞争具有"Bargains-then-Ripoffs"效应,而债务融资的战略性效应对该效应的实施效果却有弱化效用,企业定价策略则取决于其对二者策略的偏好和权衡.当面对高转换成本的产品市场, 企业往往会...

    Design Trade-offs for a Robust Dynamic Hybrid Hash Join (Extende

    本文将深入探讨《健壮的动态混合哈希连接(扩展版)的设计权衡》这篇论文,理解其中的设计权衡,并探索其对DBMS性能提升的潜在影响。 HHJ算法涉及两个主要阶段:构建阶段和探测阶段。在构建阶段,算法选取其中一个...

    《软件测试艺术》Glenford J.Myers等著

    《软件测试艺术》一书由Glenford J. Myers等人撰写,是一本深入探讨软件测试领域的经典著作。这本书从独特的视角——心理学和经济学——出发,为读者揭示了软件测试的本质和重要性。作为一本专为软件测试从业人员...

    软件测试系列最佳实践

    - 在软件测试过程中,经常需要权衡时间、成本和质量之间的关系。 - 如何在有限的资源下达到最佳的测试效果是一门艺术。 5. **平衡之美**: - 软件测试需要在多个维度之间找到平衡点,如功能完整性和性能优化之间...

    软件体系结构软件架构讲义PDF-中国系统分析员首席顾问讲义

    《软件体系结构软件架构讲义》是中国系统分析员首席顾问精心编撰的一份详尽教程,共计347页,涵盖了软件架构领域的核心概念、原则、模式和实践。这份讲义旨在帮助读者深入理解软件架构的本质,提升在系统分析与设计...

Global site tag (gtag.js) - Google Analytics