software Architecture(1)

一.软件体系结构概论。

1.SA定义:Architecture=Components+Connectors+Topology+Constraints+Performance

 (软件体系结构=构建+连接件+拓扑结构+约束+质量)

 

 

2.构件(component)

广义上讲,构件时具有某种功能的可复用的软件结构单元,是为组装服务的,是组成软件系统的计算单元或数据存储单元;严格意义上讲,构件时一种可部署单元,它具有规范的接口规约和显式的语境依赖,而接口功能由构件内部封装的服务来实现。

3.接口(interface)与服务(service)

构件作为一个封装实体,只能通过其接口与外部环境交互,表示了构件与外部环境的交互点。内部结构则被隐藏起来(black-box),一个构件至少有一个接口,一个构件可以提供多重接口,构件接口与其内部实现应严格分开。构件内部所实现的功能以服务的形式体现出来,并通过接口向外发布,进而产生与其他构件之间的关联。

4连接(connection)

连接:构件间建立和维护行为关联与信息传递的途径;需要两方面的支持:连接发生和维持的机制,和连接能够准确、无二义、无冲突惊醒的保证——连接正确有效的进行信息交换的规则(连接的协议),即机制(mechanism)和协议(protocol).

计算机硬件提供了一切连接的物理基础:
–中断、存储、堆栈、串行I/O、并行I/O、网络等;
连接实现机制:
–过程调用、回调、进程通讯、内存共享、同步/异步、远程过程调用、管道、消息传递、反射、动态链接、动态绑定、文件等;
协议(Protocol)是连接的规约(Specification);
连接的规约是建立在物理层之上的有意义信息形式的表达规定
–对过程调用来说:参数的个数和类型、参数排列次序;
–对消息传送来说:消息的格式;
–对ODBC数据库连接来说:SQL语言;
–对Web Service连接而言:SOAP或REST协议;
目的:使双方能够互相理解对方所发来的信息的语义。
 
5.连接件(connector)
表示构件之间的交互并实现构件之间的连接,亦可以看作一类特殊的构件,不过连接件是负责完成构件之间信息交换和行为联系的专用构件。
连接件有:管道(pipe)、中间件(Middleware)(ODBC/JDBC、应用服务器、WEB服务器、消息中间件)
 
二.软件体系结构建模需求
1.SA建模三层次:——图形化模型:SA模型的多模图表示
                      ——形式化模型:SA描述模型
                      ——文档化模型:SA文档化.
2.4+1视图模型:(逻辑视图、进程视图、物理视图、开发视图、用例视图)
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.用例视图(Use Case View)

用例视图用来捕获最终用户所需求的功能性,即“系统应该做什么”;The use case view includes use case diagrams and typically uses several interaction diagarams  to show use case details.

4.开发视图(Development View)

主要侧重于软件模块的组织和管理。系统-子系统-模块(构件、文件、资源等)并组成层次结构,另一个焦点是描述各模块之间的依存关系——What components depend on what,what source files implement what classes,etc.实现视图要考虑软件内部的实现需求,如软件开发的容易性、软件的复用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。在UML中,开发视图通常使用以下的图形表达形式-component diagrams(构件图)-package diagrams(包图)

5.进程视图(Process View)

进程视图侧重于系统的动态运行特性,主要关注一些非功能的需求:

——并发性、分布性、系统集成性和容错能力

——逻辑视图中的各个抽象概念如何在进程中被执行

——逻辑视图中各个类操作具体在进程中那个线程被执行

在UML中进程视图通常使用Activity diagrams(活动图)和Sequence diagrams(次序图)来描述一个系统的运行时行为

6.物理视图(Physical View)

物理视图主要考虑如何把软件部署到硬件上,它通常要考虑系统性能、规模、可靠性等,结局软件系统设置、安装、系统部署后的物理拓扑结构、系统执行过程中的通讯问题等。在UML只能怪通常为部署图(Deployment diagrams)

三. 架构设计案例

1.系统需求说明

§功能需求
–用户管理:用户注册、用户验证、删除用户、用户信息修改等
–存货管理:订书、到货接收、入库、修改库存、查询等
–购物管理:购物、查看购物车、支付等
–订单实现:处理订单、打包管理、配送、查询等
§非功能需求
–可扩展
–可靠性
–安全性
–安全与法规
 
2.用例视图的UML表示
 
3.逻辑视图的UML表示-次序图
 

 

4.逻辑视图的UML表示-类图

 

5.逻辑视图的UML表示-活动图

6.逻辑视图的UML表示-状态图

7.实现视图的UML表示-构件图

8.实现视图的UML表示-包图

9.进程视图的UML表示-顺序图

10.物理视图的UML表示-部署图

 

以上均摘自  刘旭东

刘旭东 软件体系结构课件cameran@hit.edu.cn

posted @ 2013-10-27 01:51  木瀆  阅读(699)  评论(0编辑  收藏  举报