软件架构--12-5-7

软件架构


软件复杂性与分解

 处理软件复杂性的方法:分解。

        i.             结构分解

        ii.             开发周期分解

 

  分解依据:重用代码。

 

分解级别(可重用代码大小来看):

       i.             函数库

       ii.             oo内的重用方式,JDK中API

       iii.             组件层面

       iv.             SOA服务级别重用

 

软件分解思路(代码层面):

 

分解可以使用AoP面向方面编程,例:事务管理、日志维护。

 

OSGI架构

以java为例,之前开发模型



问题:应用程序组件,仅使用lib包内局部代码,但工程(应用程序组件)迁移时,lib需要整包迁移

 

由此,产生OSGI,目标:将组件间的依赖关系描述清楚

功能:    

        i.             热部署

       ii.             逻辑上独立的组件,物理上也独立

       iii.             eclipse、weblogic等,工具软件中使用

       iv.             B\S模式中未广泛应用(原因):

1.        浏览器限制

2.        SSH等框架采用的模式限制(非OSGi)

 

今后软件的发展方向:



说明:服务内部使用OSGI模式实现,再使用SOA为上层应用层序提供服务。

 

 

4+1模型

软件工程架构师:4+1模型

软件架构目标:应用系统的架构详细的构造出来(而不仅是第一页中的OSGI)?

统一软件过程:RUP(UP)Rational unified process?Rational是一种软件

 

软件架构是什么?方向:水平、垂直


4+1?在下一篇文章中,将介绍4+1模型

 

4+1架构模型:

a)        逻辑模型(逻辑组件)

b)        物理模型(开发模型,实现)

c)        进程模型(代码间调用)

d)        部署模型

 

软件---(类比于)---建筑

                      i.             功能

                     ii.             结构

                     iii.             功能与结构的一致性

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值