前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件架构设计--质量驱动

软件架构设计--质量驱动

作者头像
麦克-堂
发布2018-04-12 15:35:21
1.1K0
发布2018-04-12 15:35:21
举报
文章被收录于专栏:敏捷开发&项目管理

作为一个有多年程序编程经验的程序员,很多人的梦想是最早成为一名软件架构师,因为这个职位和工作内容听起来很神秘而拥有这个能力的人就像一位武林高手。

在真正尝试做架构之前,我一直心中有一大堆问题,比方,什么是架构,为什么要做架构,架构和设计有没有区别?(包括很多在大学教软件设计的老师也讲不清楚这些东西)

关于架构:

  • 当你想了解一个系统,你对构成系统的每一部分真正做些什么,他们之间怎么协作,以及他们怎么与系统周边相关的世界交互,就是架构该考虑的。

系统架构3个关键部分定义:

1.系统的各个元素和他们间关系

2.系统的基本属性:系统做什么,系统怎么做

3.设计和进化的原则: 这些原则使系统更容易被理解,使系统能按一致和有逻辑的方式被扩展,以适应系统全局的形式而不会加入多余的复杂度

  • 软件架构是抽象的,并不详述定义出来的系统元素
  • 软件架构需要用结构视图,从很多视角来描述
  • 软件架构可用作和利益相关方,对系统讨论,理解,协商,交流的基础
  • 架构本身不能达到质量,但提供了达到质量的基础
  • 架构对于实现系统相关的质量很重要,这些质量应该在架构阶段被设计和评估

系统质量的需求很大程度上会影响架构设计,质量元素可以考虑

System Qualities Availability Modifiability Performance Security Testability Usability 

Business Qualities Time to market Cost & benefit Projected lifetime of system Targeted market Rollout schedule Integration with legacy systems

Architecture Qualities Conceptual integrity Correctness & completeness Buildability

 质量驱动架构设计的步骤

  1. 创建质量属性的场景
  1. 给质量属性场景排优先级,选择驱动架构的场景
  2. 对于已选择的质量属性场景,选择架构实现手段,方法
  3. 选择架构设计模式
  4. 实例化模块和分配功能
  5. 定义接口和子模块
  6. 验证,优化用户啊用例和质量场景
  7. 文档化架构设计视图

完整过程请看下面视图

由以上描述可以看到架构设计很少用到或几乎没有谈到UML 中的类图,顺序图等等,那些是在设计阶段常用的。

最后:架构是抽象的,设计和实现是具体的,系统就是从抽象到具体的过程!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013-02-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档