技术开发 频道

软件架构要设计到什么程度?

8.5 总结与强调

本篇讨论了一个对软件开发和管理都有深刻影响的问题,软件架构要设计到什么程度?如果说前面讨论的架构视图关注了软件架构的横向宽度,那么本章就是关注软件架构的纵向深度。

----------------------------------------------------------------------------------

个人理解部分:

看了本章后,有一种茅塞顿开的感觉。对以下一些问题有了更清晰的理解:

1. 在架构方面,有可能是售前人员在做概要性架构,也可能是软件需求人员在做,作为众开发程序员技术掌控者的软件架构师,他需要对概要性架构进行细化。站在一个较高的地方,对整个系统不仅在业务逻辑上有清晰的理解和表述,而且要站在开发、测试、部署等人员的角度上去进行综合设计,很多时候团队部分成员在技能和专业知识上不是很成熟,在项目中,可以通过培训或者知识点的补充让成员更快的融入项目中,并很好的领会架构,使架构能真正的成为指导,能用起来。让项目组成员真正的以架构为核心,不要走出这个圈圈。并且配合项目经理做好对投资人、上级领导的沟通工作。在第5章的5视图法这个工具在此处可以发挥较大的作用。架构师给出的5视图。对概要性架构是一种补充和完善。

2. 本文也对分层架构和各分层和模块,在交互接口和交互机制提出了强调。不仅懂原理,而且要在实践中用起来。我甚至觉得,在各角色人员的分工和合作方面。也可以更加紧密的和项目经理合作,将各工种的合作方式、接口、机制进行定义。以更有效的提高工作效率。减少沟通上的时间和资源损失。并且架构师是站在整体的角度来考虑问题,所以可以将共同的部分抽象出来,并建立一套调用机制。在细节上,可以和技术员们共同讨论,以完善和优化调用机制。

3. 在对一个系统的分析方法上,提出的按广度和按深度的不同考虑角度是很有益的。其实,我个人感觉,在实际操作中,其实是在不断的交互。不断的螺旋上升的过程。结合5视图法,只有这种,才能更加清晰,更加快速的将系统的蓝图展现在众人面前。设计也是需要效率的。

4.团队开发的方式和作用。文中不仅对大团队合作开发的方式提出了有益的指导。而且我觉得稍加改变,也可以运用到小团队、小项目的合作开发中。比如和快速抛弃原型法结合。一二个开发和美工就可以利用.net快速的开发。如果在小团队中,有高明的架构做为指导,再结合较成熟的企业框架的应用。这几杆枪也可以发挥出小炮的威力的。

5.在架构设计和详细设计间的关系及应用。结合需求分析的方法。可以指导开发人员制作详细设计。减少架构师的工作量和培训提升开发人员在设计方面的能力。

6.带领团队一起进步。一起把项目做细做好。怎么把团队成员的思想往一处带是很重要的。团队中,有可能有初程、中程、高程。大家的经历、特长也不尽相同。那么怎么培训就显示尤为重要了。对一些基础性的常识、或者专业的术语在团队内进行普及。不同的岗位在项目的不同阶段,能给出指导性的纲领计划、执行方法、相关知识获取、学习方法也可以使项目组成员更好的执行架构思想和团结在架构师周围。更有利于架构的推广。当然,能带出架构师的人。更是牛人。

 

0
相关文章