软件架构是软件系统一个高层次的结构体现,显示了系统分解后组件的布局和组件之间的关系。好的架构描述应该包含架构的多个视角,组件的设计和扩展描述,以及为满足功能性需求和非功能性需求的设计原则。
一般说,软件架构分为5个步骤,
1.建立架构的任务并且形成架构团队。
2.建立并且文档化架构需求。
3.设计架构
4.验证架构是否达到需求
5.发布架构到开发团队
然后我们细说这五步骤
第一,架构是需要有目标的,一般是为了满足长期的业务需求。然后去制定任务并且明确里程碑。让架构组的每个人都明确架构的目标以及任务的进行和任务之间的关系。总体架构设想这个时候需要出来了。关键组件设想也应该有了。
第二,这个时候就需要按照目标去分开整理架构的需求了。开始可能是很多的需求索引,每个索引就是一两句话的表达。对于索引要给出简单的描述。索引评审之后需要细化需求,是一个更为详细的需求整理,除了文字描述,还可以配置图形等。然后要做的就是建立use case去覆盖这些需求。
第三,设计架构可以分为概要设计和详细设计阶段。概要设计需要给出一个比较轮廓性的设计说明,能够比较简要的通过这些设计元素去阐述use case,在总体上把故事讲完整。然后评审,进入详细设计阶段,细化的设计更为完整和贴近实现。同样需要一个说故事的过程,把use case通过详细设计的元素说的更为生动和形象。然后去实现和整合。
第四,验证的过程是测试的一个过程,在需求阶段会确立很多测试计划和用例。对需求进行一个扫荡,看实现是否到达了承诺。
第五,不断测试并且反馈修改之后,稳定版本就可以发布到开发团队了。
个人观点,请大家多讨论。
架构的设计部分
1。更应该侧重组建的分解以及组件之间的接口关系。比一般的软件设计过程,更突出组件的接口特性和使用描述。组件的功能列表,生命周期,并发情况说明,通讯消息格式等。
2。架构中的组件是有统一的架构思想和原则。组件是要被约束的。
3。组件需要提供事例代码,典型应用场景,异常以及测试说明。
4。组件有时候是要映射到物理视图中的进程。
5。侧重架构系统的动态特性,组件之间的协作关系。
msn:gdq123@hotmail.com