软件体系结构知识点完整
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、构件就是核心与基础,重用就是必需得手段。
2、软件重用就是指在两次或多次不同得软件软件开发过程中重复使用相同或相近软件元素得过程。
3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。
4、把可重用得元素称作软构件,简称为软构件。
5、可重用软件元素越大,就说重用得粒度越大。
6、构件就是指语义完整、语法正确与有可重用价值得单位软件,就是软件重用过程中可以明确辨识得系统;结构上,它就是语义描述、通信接口与代码实现得复合体。
7、面向对象技术达到类级重用,以类为封装得单位。
8、构件模型就是对构件本质特征得抽象描述。三个主要流派,分别就是OMG(对象管理组织)得CORBA(通用对象请求代理结构)、Sun得EJB与Microsoft得DOM(分布式构件对象模型)。
9、获取构件得四个途径:(1)从现有构件中获得符合要求得构件,直接使用或作适应性修改,得到可重用构件。(2)通过遗留工程,将具有潜在重用价值得构件提取出来,得到可重用构件。(3)从市场上购买现成得商业构件,即COTS构件。(4)开发符合要求得构件。
10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法
11、构件检索方法:基于关键字得检索、刻面检索法、超文本检索法与其她检索方法。
12、减少构件修改得工作量,要求工作人员尽量使构件得功能、行为与接口设计更为抽象画、通用化与参数化。
13、构件组装技术:基于功能得组装技术、基于数据得组装技术与面向对象得组装技术。
14、软件体系结构得定义:软件体系结构为软件系统提供了一个结构、行为与属性得高级
抽象,由构成系统得元素得描述、这些元素得相互作用、指导元素集成得模式以及这些模式得约束组成。软件体系结构不仅指定了系统得组织结构与拓扑结构,并且显示了系统需求与构成系统得元素之间得对应关系,提供了一些设计决策得基本原理。
软件体系结构得意义:(1)体系结构就是风险承担者进行交流得手段;(2)体系结构就是早期设计决策得体现--①软件体系结构明确了对系统实现得约束条件②软件体系结构决定了开发与维护组织得组织结构③软件体系结构制约着系统得质量属性④通过研究软件体系结构可能预测软件得质量⑤软件体系结构使推理与控制更改更简单⑥软件体系结构有助于循序渐进得原型设计⑦软件体系结构可以作为培训得基础;(3)软件体系结构就是可传递与可重用得模型。
软件体系结构发展得四个阶段:(1)无体系结构设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图与数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统得结构模型,以UML为典型代表。(4)高级阶段。以描述系统得高层抽象结构为中心,不关心具体得建模细节,划分了体系结构与传统软件结构得界限,该阶段以Kruchten提出得“4+1”模型为标志。
通用体系结构风格分类
数据流风格:批处理序列、管道与过滤器。
调用/返回风格:主程序与子程序、面向对象风格、层次结构。
独立构件风格:进程通信、事件系统。
虚拟机风格:解释器、基于规则得系统。
仓库风格:黑板系统、传统型数据库。
管道与过滤器
特点:(1)使得软构件具有良好得内聚、耦合得特点。
(2)允许设计师将整个系统得输入/输出行为瞧成就是多个过滤器得行为得简单合成。
(3)支持软件重用。
(4)系统维护与增强系统性能简单。
(5)允许对一些如吞吐量、死锁等属性得分析。
(6)支持并行执行。
缺点:(1)通常导致进程成为批处理得结构。
(2)不适合处理交互得应用。
(3)系统性能下降,并增加了编写过滤器得复杂性。
结构示意图:
面向对象系统
优点:(1)因为对象对其她对象隐藏它得表示,所以可以改变一个对象得表示,而不影响其它得对象。
(2)设计师可将一些数据存取操作得问题分解成一些交互得代理程序得集合。
缺点:
为了使一个对象与另一个对象通过过程调用等进行交互,必须知道对象得标识。只要一个对象得标识改变了,就必须修改所有其她明确调用它得对象。
(2)必须修改所有显示调用它得其她对象,并消除由此带来得一些副作用。
基于事件得隐式调用
思想:构件不直接调用一个过程,而就是出发或广播一个或多个事件。
应用系统得例子:
(1)在编程环境中用于集成各种工具,在数据库管理系统中确保数据得一致性约束,在用户界面系统中管理数据,以及在编辑器中支持语法检查。
(2)某系统中,编辑器与变量监视器可以登记相应Debugger得断点事件。当Debugger在断点处停下时,它声明该事件,由系统自动调用处理程序,如编辑程序可以卷屏到断点,变量监视器刷新变量数值。
优点:1、为软件重用提供了强大得支持。
2、为改进系统带来了方便。
缺点:
(1)构件放弃了对系统计算得控制。
(2)数据交换得问题。
(3)既然过程得语义必须依赖于被触发事件得上下文约束,关于正确性得推理存在问题。
分层系统举例:层次系统最广泛得应用就是分层通信协议。在这一应用领域中,每一层提供一个抽象得功能,作为上层通信得基础。较低得层次定义低层得交互,最低层通常只定义硬件物理连接。
优点:1、支持基于抽象程度递增得系统设计,使设计者可以把一个复杂得系统按照递增得顺序分解。
2、支持功能增强,因为每一层至多与相邻得上下层进行交互,因此功能改变最多影响相邻得上下层。
3、支持重用。只要提供得服务接口定义不变,同一层得不同实现可以交换使用。
缺点:(1)并不就是每个系统都可以很容易地划分为分层得模式,甚至即使一个系统得逻辑结构就是层次化得,出于对系统性能得考虑,系统设计师不得不把一些低级或高级得功能综合起来。(2)很难找到一个合适得、正确得层次抽象方法。
仓库系统
传统型数据库:输入流中某类时间触发进程执行得选择。
黑板系统:中央数据结构得当前状态触发进程执行得选择。
组成部分:(1)知识源(2)黑板数据结构(3)控制