`

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

 
阅读更多
软件架构师的主要职责是什么?是抉择、是权衡。把软件称为艺术一点都没有夸张,可以说软件是科学、工程、与艺术的结合体。软件的艺术体现在权衡上。在这一期的《程序员》杂志上看到了一篇“鱼与熊掌--完美主义架构师的梦魇”,其中关于权衡要素的论述正切合我之所想,现将主要部分转摘如下,如果想了解更详细内容,请在本期程序员阅读全文。
(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)之间的权衡是一个关键问题。在给定的通信带宽下,比特分配问题被表述为一个...

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

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

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

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

    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]

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

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

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

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

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

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

    《健壮的动态混合哈希连接(扩展版)的设计权衡》这篇论文深入探讨了数据库管理系统(DBMS)中至关重要的Join操作,特别是混合哈希连接(Hybrid Hash Join, HHJ)算法的设计与优化。HHJ作为一种高效且广泛应用的连接...

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

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

    软件测试系列最佳实践

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

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

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

    权衡的艺术-产品经理如何把产品做成功?

    那其实就是一门权衡的艺术~并且我觉得产品经理和架构师的处境类似~产品经理需要和架构师多沟通才行~(当然这么说的话就针对比较“大”的产品了~对,本文不针对“小”产品)产品经理如何把产品做成功呢?这个是大多数...

    片上多处理器中延迟和容量权衡的cache结构.pdf

    本文提出了一种新的cache结构设计,称为Trade-off Cache(TLC),该设计结合了私有cache和共享cache的优点。TLC可以动态地识别cache块的共享类型,并对其进行优化。在私有cache中,使用迁移策略来优化私有cache的...

Global site tag (gtag.js) - Google Analytics