SA架构设计过程分析.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
提炼领域概念,建立领域模型为目的 精髓: 业务决定功能, 功能决定模型 关键需求决定了架构的大方向 关键功能 概念架构:直指系统目标的设计思想、重大选择 */30 软件体系结构 Software Architecture 宋和平 147 6283 2856 644326271@QQ.com 软件工程系 江苏大学 §4 架构设计过程 */30 转型 程序员?架构师 需求决定架构 ? 路径依赖 架构设计怎么做 哪些步骤 步骤间关系 每步的输入输出 Requirements Specification Architecture Design Implementation Testing Deployment Maintenance 软 件 开 发 */30 实践脉络 洞察节奏 3个原则 (看透需求、把握大方向、细化) 掌握过程 需求分析 领域建模 确定关键需求 概念架构设计 细化架构设计 架构验证 */30 架构设计过程的节奏 看透需求 需求 领域模型 把握大方向 关键需求 概念架构 细化 细化架构 架构原型 需求成果 高层架构成果 架构设计规格 */30 看透需求 影响 决定系统的质量属性 原则 全面: 功能/质量/约束需求 权衡/折中: 需求间矛盾 追溯: 满足不同层次目标 */30 把握大方向 意义 决定全局 关键需求 重大/特色/高风险需求 概念架构 策略选择: 模块划分/架构模式/技术选择/集成技术/二次开发技术 */30 架构各个方面的细化 多视图设计 运行视图: 各种质量需求/权衡轻重缓急/策略选择 开发视图: 各种性能需求/代码组织管理/架构选择 5视图法: 多方面 */30 架构设计步骤 1 需求分析 需求 领域模型 关键需求 概念架构 细化架构 架构原型 需求成果 高层架构成果 架构设计规格 2 领域建模 3 确定关键 需求 4 概念架构 设计 5 细化架构 设计 6 架构验证 */30 需求分析 需求分析 非功能 沟通 范围 Feature 上下文图 确定系统目标 建立用例模型 质量 功能 约束 */30 领域建模 领域建模 可扩展性 功能 需求 领域模型 */30 确定关键需求 确定关键功能 功能 约束 需求 确定关键需求 质量 确定关键质量 关键功能 关键需求 关键质量 */30 概念架构设计 关键功能 关键需求 关键质量 概念架构设计 运用鲁棒图 运用目标-场景-决策表 概念架构 开发技术选型 集成技术选型 二次开发技术选型 架构风格选型 划分顶级子系统 */30 细化架构设计 模块划分 接口定义 领域模型 逻辑架构设计 物理架构 技术选型 文件划分 编译关系 架构设计规格 技术选型 控制流划分 同步关系 硬件分布 软件部署 方案优化 技术选型 存储格式 数据分布 运行架构 开发架构 逻辑架构 数据架构 细化架构 */30 架构验证的位置 需求 领域模型 关键需求 概念架构 细化架构 架构原型 需求成果 高层架构成果 架构设计规格 6 架构验证 */30 架构验证的I/O 架构验证 物理架构 运行架构 开发架构 逻辑架构 数据架构 细化架构 架构风险 架构原型 */30 何谓成功的软件架构设计 所谓成功的架构设计, 就是设计出的软件架构是高质量的, 并且在所花费的时间、技术决策等方面也都满足具体开发情况的要求 在不适当的时候 “用时间换完美” 会毁掉整个项目 架构设计并非 ”好的就是成功的” , 而是 “适合的才是成功的” */30 好的软件架构 良好的模块化 每个模块职责明晰, 松耦合, 高聚合, 实现信息隐藏 适应功能需求的变化, 适应技术的变化 相关模块和领域通用模块的分离, 技术平台相关模块和独立于具体技术的模块相分离, 从而达到 “ 隔离变化” 的效果 对系统的动态运行有良好的规划 标识出哪些是主动模块, 哪些是被动模块, 明确这些模块之间的调用关系和加锁策略, 并说明关键的进程、线程、排队、消息等机制 对数据的良好规划 持久化存储, 还包括数据传递、数据复制和数据同步等策略 明确、灵活的部署规划 可移植性、可伸缩性、持续可用性和互操作性等质量属性 */30 探究成功架构设计的关键要素 是否遗漏了至关重要的非功能需求 能否驯服数量巨大且频繁变化的需求 能否从容设计软件架构的不同方面 是否及早验证架构方案并作出了调整 */30 是否遗漏了至关重要的非功能需求 非功能需求来自何处 1. 用户 诸如性能、易用性等软件质量属性 2. 开发者和升级维护人员 软件的可扩展性、可重用性、可移植性、易理解性和易测试性等非功能需求 3. 客户组织 客户对上线时间的要求、预算限制以及集成需要等非功能需求, 还要特别关注客户所在领域的业务规则和业务限制 *

文档评论(0)

琼瑶文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档