摘要:
记得几个月前,两位以前的同事(现在一位在中兴,一位在迅雷)也问过我,软件系统架构好坏的决定因素是什么,我当时就告诉他们是非功能需求与约束、系统功能可能的变化与扩展点与趋势。当时他们有点吃惊地问那么软件系统架构不是主要研究功能或用例的吗? 是的,软件架构研究的主要内容可能主要是功能或用例,并且功能或用例确定的软件架构的大的方向如分层、MVC等,但实现功能与用例的架构方案有多种,而软件架构决定使用这种... 阅读全文
摘要:
所谓成功的架构设计,就是设计出的软件架构是高质量的,并且在所花费的时间、技术决策等方面也都满足具体开发情况的要求。 好的软件架构应当具有如下品质: 良好的模块化。每个模块职责明晰,模块之间松耦合,模块内部高聚合并合理地实现了信息隐藏; 适应功能需求的变化,适应技术的变化。典型地,应该保持应用相关模块和领域通用模块的分离,技术平台相关模块和独立于具体技术的模块相分离,从而达到"隔离变化"的效果; 对... 阅读全文
摘要:
在软件架构中经常会出现类、模块、类库、子系统、框架等名词。在基于面向对象的开发语言工具中,都提供了非常丰富的类库;随着软件系统复杂性的增长,软件系统的规模也越来越大,不得不划分为多个子系统进行开发;当前,为了提高软件开发的起点,以加快开发速度,提高产品质量,基于框架进行开发已成为一种普遍现象和时髦,堪称一种文化,如Spring、Struts等。那么,类库、子系统、框架究竟与架构有什么关系与区别呢?... 阅读全文
摘要:
记得我曾服务于一家软件公司任项目主管(项目总监)时,刚进公司时由于开发工作处于无序状态(也就是CMMI中定义的0级),所有项目几乎均是一再延期、质量低下。于是我建议并得到公司老板的大力支持下,根据公司人员的当前能力并稍高一点要求,以并行开发模式SPP为主、借鉴部分CMMI3与RUP规范,制订了公司的开发流程、规范、模板与制度,并强调需求、架构与品质保证活动的作用。经过一段时间的培训后,我在试点项目... 阅读全文