软件架构自学笔记---架构分析
架构分析:
什么是架构,根据要解决的问题,对目标系统边界进行界定,并对目标系统按某个原则进行切分根据切分使得这些部分能够进行有机地联系,合并组装成为一个整体,完成目标系统的所有工作。
架构设计的方法体系:
Pre-architecture 阶段:架构实践中最常见的最短板
Conceptual Arch阶段,大型系统成败关键
Refined Arch阶段:团队大规模并行开发基础
Pre-architecture阶段:架构实践中最常见的最短板最大误区:架构师是技术人员,不必懂需求。实践要点:摒弃“需求列表”方式,建立二维需求观。思维工具:二维矩阵(需求层次-需求方面矩阵)
Conceptual Arch阶段:大型系统成败关键。最大误区:概念架构=理想设计。实践要点:重大需求塑造概念架构。思维工具:鲁棒图、目标-场景-决策表
Refined Arch阶段:团队大规模并行开发基础。最大误区:架构 = 模块 + 接口。实践要点:贴近实践的5视图法。思维工具:包图、包-接口图、灰盒包图、序列
需求结构化与分析约束影响:
业务环境的约束(客户或出资方)
使用环境的约束(用户)
构建环境的约束(开发者和维护人员)
技术环境的约束
确定关键质量与关键功能:
确定关键质量的5大原则
考虑多方涉众
用户不仅关注功能,同时也需要质量,用户关注的质量可能包括易用性、性能、持续可用性、鲁棒性等
客户不一定是最终用户,比如超市销售系统的客户是超市老板,但最终用户可能是收银员或上货员,他们所关注的质量属性可能不一致
检查性思维
随时检查各个质量属性,看看每一项是否确实算不上“关键质量”,从而防止遗漏关键需求
分类合适+必要扩充
识别矛盾+划定优先级
转载于:https://www.cnblogs.com/1605-3QYL/p/11004422.html
软件架构自学笔记---架构分析相关推荐
- 软件架构自学笔记——非功能特性
软件架构的非功能特征 1.可修改性 大型的工业和商业软件系统的寿命周期通常都是很长的,有时候会长达20年甚至更长.很多这类应用程序在开发结束后都不是固定不变的,而在其整个生命周期内不断演化.原来的需求 ...
- 软件架构自学笔记-- 畅途亿级业务日志系统演变过程
畅途亿级业务日志系统演变过程 原文链接:https://www.infoq.cn/article/xWlmaS0-rdIjUgNrTjGI 痛点 你是否遇到过如下情况:线上偶尔出现一个问题,但我们并不 ...
- 软件架构自学笔记----分享“去哪儿 Hadoop 集群 Federation 数据拷贝优化”
去哪儿 Hadoop 集群 Federation 数据拷贝优化 背景 去哪儿 Hadoop 集群随着去哪儿网的发展一直在优化改进,基本保证了业务数据存储量和计算量爆发式增长下的存储服务质量.然而,随着 ...
- 软件架构自学笔记--大学学的软件工程为什么感觉很“虚”
软件项目的开发都离不开软件工程的理论知识但感觉大学学的软件工程的知识很虚,因为大学期间的软件工程侧重理论,难以学以致用. 软件工程学习后的效果(理论): 软件质量得到保证,开发时间可估计,开发成本可控 ...
- 怎么用vc采集ni卡数据_SystemLink自学笔记(6):SystemLink架构和数据服务
1. SystemLink架构和数据服务 1.1. 架构和特点 现在在对SystemLink的功能有了一个大概的了解后,可以进一步从它的整体架构学习这门新技术了.NI官网给出了白皮书,原文是英文资料, ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- 【转载】Instagram架构分析笔记
原文地址:http://chengxu.org/p/401.html Instagram 架构分析笔记 全部 技术博客Instagram团队上个月才迎来第 7 名员工,是的,7个人的团队.作为 iPh ...
- RT-1052学习笔记 - GPIO架构分析
RT-1052学习笔记 - GPIO架构分析 一.RT1052之GPIO与IOMUX 二.GPIO架构分析 分析GPIO的外设框架 库函数操作 1.初始化MUX 2.初始化PAD 3.初始化GPIO外 ...
- motan学习笔记 二 motan架构分析
motan学习笔记 一 微博轻量级RPC框架Motan motan学习笔记 二 motan架构分析 motan学习笔记 三 motan Demo 分析 motan学习笔记 四 motan Demo 之 ...
最新文章
- R语言ggplot2可视化使图形的背景在不同区域有不同的颜色实战
- 为什么多数企业选择托管SD-WAN,而不是自行组建?—Vecloud微云
- python做网络的仿真_用python自动化仿真HFSS,超简易
- 静态库-动态库混合编译
- 各国网络安全审查制度及案例分析
- 算法导论第八章__实现计数排序
- 针对每个团队提出的意见和建议
- 希望能够在这条路上走下去
- 仓库镜像源为清华_conda国内镜像修改(最新版)
- android:gravity与android:layout_gravity的区别,以及代码设置对应属性
- Java获取姓名的首字母_java获取中文拼音首字母的实例
- coon.php连接,新手关于$coon的连接问题
- java poi设置导出的excel带下拉
- 编译原理 | 实验四 | 逆波兰式
- 机器学习之Javascript篇: 近邻(k-nearest-neighbor) 算法介绍
- Win10 ntoskrnl.exe蓝屏解决
- Cadence Allegro修改图纸尺寸和栅格大小图文教程及视频演示
- CUDA unknown error - this may be due to an incorrectly set up environment 问题解决
- 2G廉颇老矣,后浪Cat.1是如何顺利出道的?
- 用纯javascript和html编写仿淘宝注册页面(带源码)