大学计算机软件架构复习笔记 体系结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件架构复习笔记(7) --体系结构

21 Jun 2012At NJU

为什么需要有体系结构的设计(高层设计)

详细设计的不足

•关注点偏差(载体失配)

o程序语言无法描述整理的质量要求

•无法实现佳偶信息本地化(信息隐藏的局限性)

o单词匹配的需求是模块见必须依赖与对方的接口

•无法有效抽象部件的整体特性(无法描述Module itself)

•接口的定义缺乏结构性

o模块的众多接口之间太独立了

o无法实现区别对待

•不能有效适应大型软件开发的特殊开发方法

o复用与单词匹配

o多语言/多泛型与联合编译

o遗留资产与Module Inside使用

Programming in the large 的特点

•载体复杂度过大:过于依赖单词匹配的导入导出关系

•导入导出并不适合整体结构设计

•…

体系结构设计

the set of principal design decision about the system

组成部分

•Components: computation and state

•Connector: relation among components (deserve to be first-class)

•Configuration

注意点

•Components should be independent

•Connectors should be independent

•Relations among components are not fixed

体系结构设计的关注点

•Qualities of the system

o availability

o modifiability

o performance

o security

o testability

o usability

•Project Environments

o Develop Environments

o Business Environments

o Technology Environments

•Business Goals

Why architectural design decisions are important and difficult?

•Design decisions are cross cutting and intertwined:

o the design decision information is fragmented across various parts of the design, making it hard to find and change the decisions.

•Design rules and constraints are violated:

o designers can easily violate design rules and constraints arising from previously taken design decisions

o lead to architectural drift and its associated problems •Obsolete design decisions are not removed

o In the current design practice removing design decisions is avoided, because of the effort needed, and the unexpected effects this

removing can have on the system.

Software Architecture Description

4 + 1 View

传送门

Logic to Process

•Inside-out: from Logic structure

o define agent tasks

o Objects executed on that same agent

o several classes that need to be executed in mutual exclusion •Outside-in: from physical structure

o identify external stimuli (requests) to the system

o define client and servers processes

o define the right set of servers,and allocate objects to the client and servers agents

Logic to Development

•very close, but not the same

• A Component is usually implemented as a module. Large one are decomposed into multiple packages

•Grouping to subsystems based on:

•…

Strategies and Tactics (Ch5)

Availability Tactics

•Fault detection

o Ping echo

相关文档
最新文档