Monthly Archives: November 2010

软件架构的魅力6–读书笔记

最后一篇了。这本书 http://book.douban.com/subject/3669563/ 反反复复读了三遍。其实读到最后一遍,已经不关注书里在说什么了,而是关注作者为什么这样说,他们的理念是怎么得来的? 从中感悟出一些方法论上的东西:进入一个领域,先要理解概念,然后抽取共性,形成全局运转图,从顶到下,共性归类,建立起隔离带,再逐步细化,形成整个的系统概念。 软件产品线架构: 何谓软件产品线?SEI的定义:A software product line is a set of software-intensive system that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a … Continue reading

Posted in Uncategorized | Leave a comment

软件架构的魅力5–读书笔记

在实际工作,我们往往不会从头构建一个新系统,而是接手老的系统,进行重构升级。在这种情况下,掌握一些重构的模式有助于提高工作效率: 1 统一全局命名规范和编码规范,搭建共同的沟通标准。(非常重要) 2 识别公共功能,转移封装到统一的系统元素中。 3 采用LSP原则定义层次结构。 LSP原则:Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. (采用OO原则) 4 以适配(Adaption)方式替代中介(Mediation)方式。其实就是以谁为主的问题,如果能找到一个总线,那采用适配方式是不错的。适配方式的一个典型应用就是ESB,Enterprise Service Bus。 5 合并子系统。“子系统间松耦合,子系统内紧耦合” 6 强化层间调用,避免跨层调用 7 以Message通信替代RPC。(不错的点子)异步处理能较好的提高系统的响应能力。典型的例子就是北京奥运会的订票系统。 8 … Continue reading

Posted in Uncategorized | Leave a comment

软件架构的魅力4–读书笔记

构建一个系统架构,最终极的目标就是要让它完美无瑕。美是一种和谐,体系中的每一部分都是有机的组合,增一分则长,减一分则短,可是要做到这一点,绝不是一件容易的事情。 如何保证和提高软件系统的质量,首先要解决的问题是定义和度量问题: 1 软件系统的质量包括哪些方面? 2 如何将质量的各个特性转换为可度量的要求? 1 质量考虑哪些方面: 首先参考文献和通用定义,SEI将一个系统的质量分为Level 0和Level 1两级层级,Level 0分为5大类:Need Satisfaction Measures, Performance Measures, Maintenance Measures, Adaptive Measures, Organizational Measures。 而在实际工作中,可以将质量聚焦在两个大的方面: A 系统运维质量:当系统运行时的质量要求。包括Functionality, Concurrency, Performance, Security, Availability, Fault Tolerance, Usability, Interoperability, Resource Management等。 B 系统演化质量:系统发展演化所要求的质量。包括Modifiability, Portability, Reusability, Configuration等。 … Continue reading

Posted in 读书笔记, 技术思考 | Leave a comment

软件架构的魅力3–读书笔记

由于现成的框架往往局限于特定的知识领域,在不同的领域中,引用同样的框架指导就会存在一定的风险。所以还有一种方式指导架构师工作,就是对架构过程进行抽象的流程化、规范化。 其中来介绍一种流程模型,系统架构BABSC流程模型,(BABSC Architecture Process Model),主线流程有5个核心阶段: B 构建商业架构概念 Business Architecture Concept A 构建应用架构概念 Application Architecture Concept B 确立和稳定架构基线 Architecture Baseline S 子系统架构及设计 Subsystem Architecture and Design C 构件与单元设计 Component / Unit Detail Design 通过商业架构概念,来了解清晰所要构建的系统是什么,以及怎么运作。 通过应用架构概念,清晰系统边界,让所有人对系统有一个稳定、清晰、准确的认识和概念 通过确立和稳定架构基线,从技术上阐述系统的结构、接口、部署方式、通讯方式、质量规则和约束等。 子系统架构及设计和构件与单元设计,为系统的设计细化和实现。 ------------------------------------------ Step 1 构建商业架构概念 … Continue reading

Posted in Uncategorized | Leave a comment