软件体系结构:动态性与考试重点

需积分: 10 1 下载量 163 浏览量 更新于2024-09-10 收藏 289KB DOC 举报
"该资源是关于软件体系结构的考试复习资料,涵盖了软件危机、构件、软件可重用性、软件体系结构的定义、类型、生命周期、经典风格、描述方法、UML图形、XML相关技术和动态软件体系结构等多个知识点。特别强调了Dynamic Wright,这是一种用于描述和模拟软件系统动态性的体系结构描述语言的扩展。" 软件体系结构是软件开发中的关键概念,它定义了软件系统的高层次组织结构和组件间的交互方式。在动态软件体系结构中,如Dynamic Wright,它允许模拟和标注软件系统的动态行为,应对需求和技术的不断变化。 软件危机主要体现在需求不明确、开发过程难以控制、维护成本高昂和软件质量不稳定四个方面。为了应对这些问题,引入了构件和构件模型的概念。构件是可重用的软件单元,具有明确定义的接口和实现。它们可以分为外部接口(描述如何与其他构件交互)和内部模型(描述构件内部的工作机制)。软件可重用性涉及代码、设计、文档等元素的复用,提高效率和质量。 软件体系结构的分类有多种,例如根据组件间的关系,可以有层次结构、网状结构、管道/过滤器等经典风格。"4+1"视图模型包括逻辑视图、进程视图、物理视图、开发视图和使用视图,分别从不同角度描绘系统。软件体系结构的核心模型由构件、连接件、配置、模式和约束五种元素构成。 软件体系结构的生命周期通常包括设计、分析、评估、实现和演化等阶段。在实现阶段,会涉及组件选择、接口设计、部署规划等。C/S(客户机/服务器)架构是一种常见的风格,具有数据处理和用户界面分离的优点。三层C/S结构包括表现层、业务逻辑层和数据访问层,能有效解耦系统。B/S(浏览器/服务器)风格则减少了客户端的维护,利用Web进行分布式交互。 软件体系结构的描述方法包括图形、文本、伪代码和混合方式,常见的描述语言有ADLs(体系结构描述语言),如Wright和Darwin。UML(统一建模语言)提供了九种图形,如用例图、类图、序列图等,用于系统建模。XML(可扩展标记语言)是数据交换和存储的标准,相关技术包括DTD、XPath等。 动态软件体系结构关注系统的运行时变化,包括交互式动态性(组件间的实时交互变化)、结构化动态性(组件结构的改变)和体系结构动态性(整体结构的调整)。软件体系结构的演化、动态性和扩展涉及需求变更、技术进步等因素导致的体系结构更新和扩展。 基于构件的动态软件体系结构模型通常分为应用层、中间层和体系层,各层之间通过特定接口进行通信。动态更新描述涉及更新类型、对象、新版本、方法、函数和限制,确保系统在更新过程中保持稳定和正确性。 最后,Dynamic Wright和Darwin是两种不同的动态软件体系结构描述工具,它们各自有独特特点,例如Dynamic Wright专注于动态性模拟,而Darwin可能更侧重于自适应和演化能力。
2015-06-28 上传
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的集合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合。11. 框架:是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。