软件体系结构复习重点:概念、UML与设计模式

4星 · 超过85%的资源 需积分: 5 56 下载量 101 浏览量 更新于2024-10-30 1 收藏 32KB DOC 举报
"软件体系结构复习题包含了54道题目,涵盖了软件开发的关键概念,如需求分析、交流挑战、用例、UML图、设计模式、软件工程特点以及复用技术等。" 软件体系结构是构建大型软件系统的基础,它定义了系统的组件、这些组件的组织方式以及它们之间的交互。在设计过程中,全面准备需求、建立良好的体系结构、有效的测试以及项目管理都是确保软件产品成功的重要因素。其中,人与人之间的交流往往是最具挑战性的环节,因为清晰、准确的沟通对于理解和实现需求至关重要。 用例是系统行为的一种用户视角描述,它帮助开发者理解用户期望的功能。顺序图用于展示基于时间的交互过程,而构造型则允许在项目中自定义元素。型构则指代操作中的参数和返回值的数据类型。在UML中,多重性表示一个类实例与其他类实例的关系,如5,10表示至少5个,最多10个;5:10表示范围在5到10之间。接口继承和实现是UML中的重要概念,用于表示类之间的关系和功能。 在软件开发中,收集用例通常是通过与利益相关者的交谈来完成的。用例的详细步骤发现是一个难点,但它是确保系统满足用户需求的关键。类图和用例的生成可以并行进行,没有严格的先后顺序。状态图中的变迁线代表对象间的信号传递。顺序图中动态创建对象的表示方法有助于理解对象的生命周期。 当代软件工程强调开发阶段的无缝连接和迭代,GRAPPLE模型中的需求收集是关键步骤。设计模式提供了解决常见问题的标准化解决方案,包括名称、问题、方案和可能的后果。例如,抽象工厂模式用于创建对象而不指定具体类,桥接模式用于分离抽象和实现,命令模式用于参数化请求,策略模式用于封装和互换算法。 面向对象系统中的功能复用有两种主要形式:类继承和接口继承。接口继承实现了“黑盒复用”,即只关注接口而不关心具体实现。对象组合则是通过抽象类的引用在运行时动态定义的。设计模式中,接口继承通常被视为首选的复用技术。 以Lexi系统为例,文档元素被看作是具有相同接口的图元,这使得可以使用Composite模式处理具有递归层次关系的文档。软件体系结构的设计不仅要描述系统的组件,还要描述它们如何协作以实现系统功能,同时不涉及实现细节。而UML模型则专注于描述系统做什么,而非如何做。接口是无属性的行为集合,可在模型的多个部分重复使用。
3219 浏览量
1. 构件:是指语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述通信接口和实现代码的复合体。2. 构件模型:是对构件本质特征的抽象描述。3. 构件组装:是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。4. 软件体系结构:Hayes Roth认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。5. 面向服务体系结构(SOA):本质上是服务的集合,服务间彼此通信,这种通信可能是简单地数据传送,也可能是两个或更多的服务协调进行某些活动。6. 可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统特性的基本能力。7. 可修改性:是指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包括:可维护性、可扩展性、结构重组、可移植性。8. 敏感点:是一个或多个构件(和/或构件之间的关系)的特性。9. 权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。10. 软件产品线:就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合。11. 框架:是封装了特定应用族抽象设计的抽象类的集合,框架又是一个模板,关键的方法和其他细节在框架实例中实现。