No.9软件架构设计

软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、知道构件继承的模式以及这些模式的约束组成。

软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。

软件架构风格

软件架构设计的 一个核心问题是能否发到架构级的软件复用,也就是说能否在不同的系统中,使用同一个软件架构。

架构风格反映了领域汇总众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统。

软件架构分为数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格:

  • 数据流风格:数据流风格包括批处理序列和管道/过滤器两种风格

  • 调用返回风格:包括主程序/子程序、数据抽象和面向对象,以及层次结构

  • 独立构件风格:独立构件风格包括进程通信和事件驱动的系统。

  • 虚拟机风格:包括解释器和给予规则的系统

  • 仓库风格:包括数据库系统、黑板系统和超文本系统。

软件架构评估

软件架构评估是软件开发过程中关键的一步。软件架构评估可以是只针对一个架构,也可以针对一组架构。在架构评估过程中,评估人员所关注的是系统的质量属性。

在分析具体架构评估方法之前,我们来了解两个概念:敏感点和权衡点:

  • 敏感点是一个或多个构件的特性

  • 权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。

从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。这三种评估方式中,基于场景的评估方式最为常用。

基于场景的方式主要包括:架构权衡分析法、软件架构分析法和成本效益分析法。

在架构评估中,一般采用刺激、环境和响应三个方面来对场景进行描述。刺激是场景中解释或描述项目干系人怎样引发与系统的交互部分, 环境描述的是刺激放生时的情况,响应是指系统是如何通过架构对刺激做出反应的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值