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