软件架构设计 导言
流程
描述关键流程的概览图:
架构设计活动位于开发和需求的中间。虽然需求这个阶段主要是业务分析人员的责任,但是架构师也会参与这个活动的一些详细任务。随后,架构师在创建逻辑架构中首先创建一个大概的逻辑架构,这个时候不考虑技术因素。这步是从需求到物理架构的一个跳板。物理架构是需要考虑技术因素的。逻辑架构会做为逻辑详细设计执行的任何详细设计的输入。
在需求、逻辑架构、逻辑详细设计的基础上,架构师对这种架构凝练并最终产生物理架构。物理架构作为物理详细设计执行的任何详细设计的输入。物理详细设计会成为实现的基础。详细设计和实现并不是架构师的职责。但需要架构师在需要的时候为这些团队提供指导。
架构设计可以看作是战略上的设计,而详细设计可以看作是战术上的设计。
下面详细的看一下其中的部分活动
定义需求活动中的任务:
这个任务从收集利益相关者的需求开始,它关注于了解各种各样利益相关者的需求。这些需求为架构师提供了需要设计系统的范围的一个初始的指示,在整理常用词汇完成后,架构师非常关注定义系统上下文。因为他定义了与系统交互的外部元素,如最终用户和外部系统。在这个上下文基础上,概要说明功能需求和非功能需求。架构师不仅对关键的功能性需求感兴趣,还应对系统质量(性能)、解决方案约束(非功能性需求)感兴趣,处理非功能性需求通常比处理功能性需求有挑战性。
在某种程度上,架构师参与整个定义需求以确保需求能够按照可能的技术、在制定的时间和预算内可以实现的方式来制定。就我们关心的需求任务而言,指定需求优先级与架构师关系特别大,架构师要保证优先级受那些能使架构尽可能快速稳定的需求和风险的影响。高优先级的需求会在细化功能性需求和细化非功能性需求中进行细化。接下来,架构师在更新软件架构文档中正式的编写架构上重要需求的概要文档。最终以和利益相关者复审需求结束。
创建逻辑架构活动中的任务:
基于最高优先级的需求,架构师在个定义架构概图中概要的说明候选的解决方案,架构概览定义了架构的整体轮廓。概要说明功能性元素和概要说明部署元素同时进行,接着根据组件,他们的关系和交互精炼这个轮廓。检验架构确保功能性元素和部署元素一致,尤其是确保跨这些元素的任何要点都被适当的处理。在构建架构证明中架构师关注证明架构的某些方面,概念证明提供了一个工具来减少某些与架构相关的风险。接下来,架构在系统功能性元素和细化部署元素中得到细化。确认架构确保架构像声明那样满足需求,还确保项目上的一些考虑,如资源,进度和预算约束。然后,架构师在更新软件架构文档这个任务中编写一个不依赖于平台的架构的概要。由此形成的架构描述用来和利息相关人员沟通架构,这些相关人员包括设计人员,程序员,分析人员,项目经理,维护人员和支持人员。最后,在和利益相关者复审架构中使大家对架构达成一致意见。
创建物理架构于创建逻辑架构任务完全一样,只不过创建物理架构需要考虑技术因素。
当然,这些顺序并不是一个必须遵守的顺序(仅仅是一个比较合适的顺序),在需要的时候可以重新回到这些任务。
转载于:https://www.cnblogs.com/ShaYeBlog/archive/2013/05/28/3103951.html
软件架构设计 导言相关推荐
- 书讯:《架构实战—软件架构设计的过程》
架构实战-软件架构设计的过程 基本信息 作者: (英)Peter EelesPeter Cripps 译者: 蔡黄辉;马文涛 出版社:机械工业出版社 ISBN:9787111301158 上架时间 ...
- SoC嵌入式软件架构设计之中的一个:系统内存需求评估
内存是SoC(System on Chip,片上系统)集成设计的重要模块.是SoC中成本比重较大的部分.内存管理的软硬件设计是SoC软件架构设计的重要一环,架构设计师必需要在成本和效率中取得平衡,做到 ...
- 软件架构设计 温昱著 - 读书笔记
#读后感#一本实用性很强的架构入门书籍.内容有深有浅,涉及面广,帮我们树立一个架构设计的全局观. 本书已读完,把读后感放在最前面,以下是详细的读书笔记. #读书笔记# 我们将软件架构概念分为两大流派 ...
- 软件工程系列教材:软件架构设计实践教程
第1章 认识软件架构 1.1 软件架构与软件工程 1.1.1 软件产业的工业化与现代化 1.1.2 软件系统的复杂性 1.1.3 克服"软件危机"的进程 1.1.4 现代软件产业发 ...
- 《软件架构设计》读书笔记
前言 春节前后花了将近两个月时间才把<软件架构设计>一书看完.此书紧紧围绕"软件架构设计"这一主题,非常系统地解析了软件架构的概念,阐述了切实可行的软件架构设计方法,给 ...
- 软件架构设计(第2版)——程序员向架构师转型必备
软件架构设计(第2版)--程序员向架构师转型必备 温昱 著 ISBN 978-7-121-17087-4 2012年7月出版 定价:39.00元 16开 256页 宣传语:本书内容务实.技能梳理清晰, ...
- USB学习6---Linux Android USB软件架构设计
下面学习针对高通平台的HS-USB(HS:high speed高速)堆栈(stack)软件架构设计和源代码布局的细节. Android HS-USB堆栈基于下面几点: Gadget driver fr ...
- 转:如何进行软件架构设计?
上次有幸给大家介绍了软件架构设计的"七种武器",对于这"七种武器"的修炼是一个漫长的过程,除了需要不断的学习理论.原理之外,还要不断的在软件架 构设计的工作中去 ...
- 软件架构设计原则和大数据平台架构层
1.软件架构设计的六大原则: 1)"开-闭"原则(OCP) Software entities should be open forextension, but closed fo ...
最新文章
- Linux 开机网络无法自动连接配置、网络开机自动连接
- antd 轮播图样式_React - AntD 走马灯组件前后切换面板
- 【英语天天读】I want I do I get
- 回答知乎问题:你写过什么自认为惊艳的诗?
- 不写代码,带你徒手开发一个健康打卡应用
- 2017.9.12 人员雇佣 失败总结
- python获取微信用户基本信息_微信开放平台扫码登录获取用户基本信息!附可用demo...
- 第二十四章:页面导航(六) 1
- 一个实现业务规则组合小框架
- 全国计算机网络考试和答案,全国计算机三级《网络技术》复习题及答案2017
- java程序实验总结_Java实验报告一及作业总结二
- ARX中非模态对话框
- 【微信小程序】日历弹窗选择器
- 彻底掌握 Javascript(二十一)async 函数-曾亮-专题视频课程
- Bootstrap 响应式开发(2021.10.13)
- clap与slap_slap-slap和clap有什么区别?slap和c – 手机爱问
- 【数据分析学习笔记day25】实战案例:世界高峰数据可视化+世界高峰数据可视化 (World's Highest Mountains)
- STM32F767ZI-NUCLEO移植运行micropython过程记录
- Oracle Primavera P6软件建立项目进度控制体系
- 为什么你的服务器总是被入侵?应该怎么防范提高服务器安全性。
热门文章
- 一些非常实用的JSON 教程
- ViewState的使用
- 企消互动广告:网络时代广告活动的创新形式——兼谈杜丽反败为胜对企业的启示...
- VS2005与VSOrcasExpress对LINQ各有所属~
- python中并发编程基础1
- 用华为eNSP模拟器配置Hybrid、Trunk和Access三种链路类型端口
- IntelliJ中的main函数、for循环、System.out.println()快捷键
- ubuntu自动登录tty1(shell,text)配置
- 设计模式——门面(外观)模式
- 流程管理产品小故事汇总贴