南京大学软件体系结构期末复习关键点

需积分: 20 4 下载量 129 浏览量 更新于2024-08-05 收藏 30KB DOCX 举报
"南京大学软件体系结构期末复习资料,涵盖了软件体系架构的基本概念、一般活动、架构来源、软件产品线与单一产品体系结构的区别、架构模式与策略的关系、架构设计中的策略实例,以及代理体系结构模式的优缺点,强调了不同视图在记录软件架构中的作用。" 软件体系架构是描述一个系统的核心组成部分、它们的外部可见属性以及它们之间的关系。它是系统设计的基础,定义了系统的高层结构和组织方式。在软件体系结构过程中,通常涉及以下活动: 1. 指定应用程序需求(ASR),这是设计的基础。 2. 架构设计阶段,确定系统的基本构造块及其交互方式。 3. 文档化,将设计决策和结构清晰地记录下来,便于沟通和理解。 4. 架构评估,评估设计是否满足需求、性能和其他质量属性。 软件架构可能来自多个来源,包括: 1. 需求,驱动架构设计以满足特定业务或用户需求。 2. 系统的利益相关者,如客户、用户或项目团队,他们的期望影响架构选择。 3. 开发组织的经验和偏好,它们可能有惯用的架构模式。 4. 架构师的判断和创新,他们是设计的主导者。 5. 技术环境,现有的技术和平台限制或启发架构设计。 软件产品线(SPL)的体系结构与单一产品的体系结构不同,SPL关注于一组相似系统的共同核心,允许高效地创建和维护多个变体。SPL体系结构关注可重用性和可管理性,而单一产品体系结构主要关注单个系统的实现。 架构模式和策略是架构设计的两个关键概念。策略是简单的解决方案,解决特定的架构问题,而模式则封装了多个设计决策。常见的架构策略包括: 1. 时间戳策略,用于确保事件的正确顺序,常用于分布式系统。 2. 合理性检查,验证组件的行为是否符合预期。 3. 协调策略,控制组件间的交互,确保服务调用的顺序和管理。 4. 控制资源需求,优化资源利用率,减少响应时间。 代理体系结构模式中,代理作为中间层,代理客户端请求给服务器。优点包括高可扩展性和可重用性,允许动态编辑服务器。然而,它也有缺点,如增加延迟、可能成为通信瓶颈、单点故障、增加复杂性以及可能的安全风险。 记录软件架构时采用多种视图是因为不同的利益相关者关注系统的不同方面。例如: 1. 模块视图,展示了系统的功能划分和代码组织,有助于工作分配、实施规划和成本估算。 2. 组件和连接器视图,揭示了系统如何运行,包括组件和它们之间的交互,对理解和优化系统行为及质量属性至关重要。 3. 数据流视图,突出数据处理路径,强调信息流动和处理。 4. 过程视图,关注系统的并发和同步特性,对实时和分布式系统尤为重要。 通过理解这些知识点,学生可以更好地准备南京大学软件体系结构课程的期末考试。
2023-06-10 上传