对软件架构和企业组织结构的思考
作者:网络转载 发布时间:[ 2011/10/31 15:55:38 ] 推荐标签:
大企业的软件架构所面的挑战不但与技术有关,还与企业的组织结构有关。Dan Greenblog近在一篇博客里分析了软件架构与高效的组织结构在原则上的相似性,以之回答下面的问题:
企业结构与软件相似在哪里?对于两者的设计,有哪些实践是共通的? 作者特意从一个技术视角的、受环境影响的、特殊的观点入手去逼近所讨论的主题,使这篇文章更切合软件架构。他是这样立论的:
一家组织良好的企业,像良好架构的软件,被分成一套规整的功能组件,分别承担各不相同的、预先定义的、清楚描述的角色。所有组件都能通过一种共同的、全体约定好的协议互相交流。后,所有组件都被监控、维护、升级以及必要时被重构或者逐步淘汰。 乍看起来读者似乎只好祈愿自己所在的组织也能像上面说的那样定义良好而且高效。不过上面的一番比较其实是颇有帮助的,因为它阐述了一个威胁到大多数软件架构师的题目??对组织的管理,还点明了一个事实??其实架构师的工具箱里已经有了很多工具可以帮助他们把工作做好。Greenblog从模块性开始阐述他的四大观点:
模块性可能是一家企业或者一个软件应该具备的重要的性质。每个节点,不管是软件模块还是一队员工,得到的指令都是在一个大的背景下执行一项非常专门的任务;如果每个节点都能彼此协调,那么整体能顺畅地运行。 接着谈到契约式设计(Design by Contract)原则和需求管理:
在软件开发里,程序员编写前置和后置条件来确立特定软件组件的角色。有了这些在设计时明确定义的界限,程序员不太可能在代码里偷偷塞进不符合设计的额外功能。对于企业组织来说也一样,如果团队的使命定义明确,又符合团队成员所具有的技能,那么这个团队很可能表现出色。如果团队的使命变了,那要有一些检查取保证团队在新的定义下仍然能够正确地执行其职责。 当然也少不了消息模式:
在一行代码都没写的时候把通信范式预先筹划好,并且在整个程序中都保持一致,
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11