软件架构为谁而设计

架构师·软件架构设计·ADD 文章目录一、名词定义二、为什么需要软件架构设计三、架构师的意义四、架构设计4.1、通用设计4.2、软件架构的设计4.2.1、架构设计(系统全景图)4.2.2、元素交互设计(业务流程设计)4.2.3、元素内部设计(详细系统设计)4.2.4、场景(系统扩展范围)4.2.5、参考架构4.2.6、架构的设计模式4.2.6.1、分层架构-结构化架构描述4.2.6.2、分层架构- 面向模式的软件架构4.2.6.3、部署模式-应用架构4.2.6.4、架构的设计策略4.2.6.5、外部依赖组件4.2.6.6、架构设计过程 阅读详情
2006年10月24日 16:24:00

(节选自《软件架构设计》书稿)

..如此看来,架构师应当为项目相关的不同角色而设计(如图5-2所示):

l 架构师要为客户负责,满足他们的业务目标和约束条件;

l 架构师要为用户负责,使他们关心的功能需求和运行期质量属性得以满足;

l 架构师必须顾及处于协作分工"下游"的开发人员,

l 架构师还必须考虑"周边"的管理人员,为他们进行分工管理、协调控制、评估监控等工作提供清晰的基础。

图5-2 软件架构师为谁而设计

一言以蔽之,软件架构师必须做到内外兼顾、各层并重(如图5-3所示)。只有这样,软件架构才能和它"包含了关于如何构建软件的一些最重要的设计决策"的"地位"相符。

补充三点:

●这个话题我在2006IBM开发者大会的预热课堂上有过演讲,说明了如何运用基于多视图的架构设计方法应对上述问题。

●另外可参考我在IBM DW上发的文章:运用RUP 4+1视图方法进行软件架构设计

●其实,《软件架构设计》一书讲述的具体方法和4+1方法有所不同..例如,明确引入"质量属性分析"活动来为性能、可伸缩性、可重用性、可扩展性等非功能需求制定相应的架构决策。书的第15章专门介绍质量属性分析(例如如何运用"质量-场景-决策"表这种思维工具落实需求、制定设计决策等)。



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1349176


AI辅助软件架构设计与评估 AI辅助软件架构设计与评估 关键词:AI、软件架构、设计、评估 摘要: 本文将深入探讨如何利用人工智能(AI)技术辅助软件架构设计与评估。首先,我们将回顾AI的基本概念和发展历程,并分析其在现代软件架构设计中的应用。接着,我们将介绍软件架构设计 阅读详情

相关推荐

软件架构设计全面指南

设计模式是解决软件设计问题的模板和通用语言。它们是经验丰富的开发人员发现、记录并传播的经过验证的解决方案。设计模式按其功能分类,大致可以分为创建型、结构型和行为型三大类。创建型模式:主要用于描述“对象创建”的模式,提供创建对象的机制,增加其灵活性和可复用性。常见的创建型模式包括:工厂方法、抽象工厂、单例、建造者和原型模式。结构型模式:涉及如何组合类和对象以获得更大的结构。结构型模式关注类和对象的组织,其中包括:适配器、桥接、组合、装饰、外观、享元和代理模式。行为型模式。

weixin_34456923的博客 947

软件架构视图

软件架构为谁而设计? 1.       为用户而设计。 不仅包括功能性需求,也包括非功能性需求,例如性能、稳定性、健壮性等。 2.       为客户而设计。 用户和客户有时是不一样的,可以这样理解:客户是出钱的,用户是软件产品的直接使用者。 需要充分考虑客户的特点。业务目标、时间需求、预算限制以及集成需求。 3.       为开发人员而设计。 主要关注软件的非功能性需求。 ...

weixin_34408624的博客 143

VSCode+Typst零配置写作指南:5分钟搞定论文排版环境(含实时预览技巧)

本文介绍如何利用VSCode和Typst快速搭建零配置的论文排版环境,5分钟内实现高效写作与实时预览。Typst作为轻量级排版工具,结合LaTeX的精度与现代化语法,显著提升学术写作效率,特别适合需要频繁调整格式的研究人员。

weixin_30642561的博客 109

软件架构笔记(一)

1、架构师--软件架构的层次 当前系统和外部系统的关系为0层; 当前系统和子系统调用关系为1层; 系统内部模块之间的调用关系为2层; 模块内部之间类的具体调用关系,详细设计为3层; 架构设计时需从0层开始,逐级到3层;   2、 企业顶层信息化架构设计的4大架构,宏观设计 业务架构---应用架构---技术架构---数据架构。   3、 一个应用系统架构表达方式 4+1模型 逻

zhang的博客 5024

NXP应用随记(八):S32K3XX的HSE学习记录(HSE\MU\UTEST\IVT\A,B SWAP)

HSE,即硬件安全引擎(Hardware Security Engine),是NXP S32K312微控制器(MCU)中的一个功能,它提供了一系列的安全特性,包括加密、安全启动和密钥存储等。这些功能旨在增强汽车电子系统的信息安全,符合ISO26262标准,达到ASIL D安全等级。具体来说,S32K312的HSE支持AES-128/192/256加密、RSA、ECC等加密算法,以及侧通道保护,确保了数据传输和存储的安全性。

梦想技术家 9743

[PCIE5.0] 2.2.8.9 Optimized Buffer Flush/Fill (OBFF) Message

这段文字讲解的是 优化的缓冲区清空/填充(OBFF)消息,它是 PCI Express(PCIe)规范中的一个可选功能,用于向设备报告平台中央资源的状态。简单来说,OBFF 主要帮助设备了解当前平台资源(如缓存或内存)的状态,从而优化数据的处理和传输。这章重点内容如下。

系统固件工程师 538

软件架构设计之七:软件架构设计

一、本章要点 1)信息系统综合知识。包括软件架构的概念、软件架构的风格、特定领域软件架构、基于架构的软件开发方法、软件架构评估、软件产品线;设计模式的概念、设计模式的组成、模式和软件架构、设计模式分类、设计模式的实现。 2)系统架构设计案例分析。包括软件架构技术、XML技术、基于架构的软件开发过程、架构模型(风格)、特定领域软件架构、基于架构的软件开发方法、架构评估、软件产品线、系统演化、设计

波粒二象性的专栏 5377

【ROS】ROS2导航Nav2:简介、安装、测试效果、错误处理

在ROS2中自动导航使用Nav2来实现。Nav2 使用几个独立的模块化服务,通过 ROS 2接口(例如动作服务器或服务)与行为树 (BT) 通信。Nav2 输入包括:TF转换、一个地图源、一个行为树 (BT) XML 文件和相关的传感器数据源;Nav2 输出速度命令;Nav2 支持多种机器人,比如:四足机器人、履带机器人、轮式机器人等。

郭老二 5078

软件架构设计

软件架构的概念、设计方法和重要性概述

horacemolin的博客 1776

CATIA二次开发一一一装配体与零件之间的坐标转换

输入参数:Product(产品实例对象)、iPointToTransfor(待转换坐标点CATMathPoint)核心逻辑:通过产品对象的绝对位置变换矩阵,计算逆向变换实现坐标系转换。输出参数:Point(转换后的局部坐标点CATMathPoint)

工业软件开发 1129

openharmony之UniProton内核技术揭秘:鸿蒙面向工业控制领域的RTOS设计之道

UniProton是鸿蒙操作系统面向工业控制领域的轻量级实时操作系统(RTOS),专为资源受限的嵌入式设备设计。作为鸿蒙生态的重要组成部分,UniProton提供了高效的实时任务调度、内存管理和IPC机制,满足工业控制场景对实时性和可靠性的严格要求。想象一下,UniProton就像一个超级聪明的管家,管理着电子设备里所有的工作。让你的智能手表既能显示时间,又能接收消息让家里的扫地机器人既能避开障碍物,又能记住哪里已经打扫过了让工厂里的机器人手臂既能精确地抓取东西,又能快速地完成任务实时性强。

m0_67505153的博客 883

架构-软件架构设计

通俗理解:软件架构是软件系统的“骨架”,定义了系统的结构、行为和属性,就像盖房子的设计图纸,规划了房间布局、承重结构和功能分区。核心作用沟通桥梁:让技术人员(如程序员)和非技术人员(如产品经理)能理解系统设计,比如用“用户模块”“数据存储模块”描述系统组成。质量预测:通过架构设计可提前判断系统是否能满足性能、安全等需求,例如分层架构能提升可维护性。方便迭代:清晰的架构让修改局部功能更简单,比如更换数据库时只需调整数据层接口。重点架构设计本质是“需求分配”

1535

基于STM32L4XX 、HAL库的TMC2226-SA-T步进电机驱动器驱动程序应用设计

集成的功率MOSFET可处理高达2A RMS的电机电流,并具备保护与诊断功能,确保运行稳健可靠。作为业界最先进的STEP/DIR步进电机驱动系列,该芯片通过升级设计实现无噪音、高精度运行,为用户提供高性价比且极具竞争力的解决方案。// 用于PDN_UART单线通信。// HAL_UART_Transmit - 注意PDN_UART是单线,收发共线。.huart = &huart1, // PDN_UART连接的USART。均方根步进/方向控制接口,提供8、16、32或64微步针设置,

PP_Cottage的博客 621

软件架构设计总结和理解

1. 软件架构设计的What & Why ● 啥是软件架构(Software Architecture)? 软件架构是指在一定的设计原则基础上,从不同角度对组成系统的各部分进行搭配和安排,形成系统的多个结构而组成架构,它包括该系统的各个组件,组件的外部可见属性及组件之间的相互关系。组件的外部可见属性是指其他组件对该组件所做的假设。 软件架构设计就是从宏观上说明一套软件系统的组成与特性。 软件架构设计是一系列有层次的决策 ,比如:功能与展现的决策;技术架构的决策;自主研发还是合作;商业软件还是

weixin_41542613的博客 2057

DDR5中的On-Die Termination(ODT)详解:电阻值支持及其背后的秘密

DDR5支持多档ODT电阻值,范围从40Ω到480Ω,均基于240Ω标准参考电阻RZQR_{ZQ}RZQ​。不同电阻档位对应不同的信号负载和功耗需求。校准电压点关键,常用0.8×VDD进行精准调校。CA信号间ODT匹配必须严格控制,保证命令总线稳定。选择合适的ODT值是高速内存设计中不可忽视的细节。

weixin_43199439的博客 2095

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

如何进行软件架构设计

上次有幸给大家介绍了软件架构设计的“七种武器”,对于这“七种武器”的修炼是一个漫长的过程,除了需要不断的学习理论、原理之外,还要不断的在软件架构设计的工作中去实践,而且这样的实践机会有限,因为毕竟公司的项目就那么多,失去一次这样的机会就只有等下一个项目了,所以我想在这里就具体怎样进行软件架构设计提供一些思路和方法给大家,希望能对大家在软件架构设计的工作中有所帮助。软件架构设计的目的对于外包

TechChan的专栏 928

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

软件架构设计概述

1、软件架构设计 软件架构的研究内容主要涉及软件架构描述、软件架构设计、软件架构风格、软件架构评价和软件架构的形成方法等。 软件架构设计解决好软件的设计、复用、质量和维护等方面的实际问题;解决各类关键的重复问题的通用方案(复用性),以及系统设计中影响深远(架构敏感)的各项重要决策(一旦贯彻,更改的代价昂贵)。 在较高层面上实现软件复用。软件架构作为系统的抽象模型,可以在多个系统间传递(复用)...

程序员杂谈 1352

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

软件架构设计文档

软件架构设计文档(Software Architecture Design Document,简称SAD或SADD)是软件开发中非常重要的文档之一。它主要描述系统的整体结构、各个模块的划分、模块之间的关系、关键技术选型、设计原则等,是开发、测试、运维等团队成员理解和实现系统的“蓝图”。下面是软件架构设计文档的主要内容,适用于大多数中大型项目: 温馨提示: 实际项目中,架构设计文档的内容和深度可根据项目规模、团队协作需求灵活调整。对于小型项目可以适当简化,对于大型项目建议详细、规范,便于团队沟通和后期维护。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1925

《软件架构设计》读书笔记

《软件架构设计》读书笔记 最近看了《软件架构色设计》这本书,收获非浅,碰巧在网上看到这本书的笔记,转载如下: 【书 名】:软件架构设计 【出版社】:电子工业出版社 【作 者】:温昱 前言 春节前后花了将近两个月时间才把《软件架构设计》一书看完。此书紧紧围绕“软件架构设计”这一主题,非常系统地解析了软件架构的概念,阐述了切实可行的软件架构设计方法,给出了可

fengxinze的专栏 3070
上一篇: 本应更火:《UML 面向对象设计基础》
下一篇: 6月8日14:00,温昱谈“软件架构设计智慧之旅”
itkbase
博客等级 码龄19年 113粉丝 4646原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值