Architecture 软件结构与软件体系结构
我无法得到软件结构和软件架构之间的精确区别 请举一个简单的例子来解释精确的差异Architecture 软件结构与软件体系结构,architecture,uml,modeling,Architecture,Uml,Modeling,我无法得到软件结构和软件架构之间的精确区别 请举一个简单的例子来解释精确的差异 顺便说一句,我使用UML表示体系结构软件体系结构和它们之间的软件结构重叠 软件体系结构是与软件系统(简单地说)相关的一组重要方面和决策。它包括最重要的需求和所有类型的限制(性能、安全性等),然后是高级系统组织、系统部件之间的主要通信机制、外部依赖性、实现技术和指南,甚至风险等 我曾经读过一篇关于软件架构的伟大论述:它是一组难以改变的决策 所以,当你不确定某个方面/决策是否真的与架构相关时,问问你自己——如果我以后改变
顺便说一句,我使用UML表示体系结构软件体系结构和它们之间的软件结构重叠 软件体系结构是与软件系统(简单地说)相关的一组重要方面和决策。它包括最重要的需求和所有类型的限制(性能、安全性等),然后是高级系统组织、系统部件之间的主要通信机制、外部依赖性、实现技术和指南,甚至风险等 我曾经读过一篇关于软件架构的伟大论述:它是一组难以改变的决策 所以,当你不确定某个方面/决策是否真的与架构相关时,问问你自己——如果我以后改变了这个方面/决策,会产生什么影响?改变它有多难 示例:
- 假设我们希望将客户机-服务器系统结构更改为3层。重组有多难?嗯,可能很难。因此,这是一个建筑方面
- 我们想要改变XML和JSON之间的通信。这可能是非常复杂的,如果没有良好的设计,所以我们谨慎对待这一点,并作为一个建筑学的要求
- 如果我们想更改方法中的排序算法,该怎么办。这种变化可能是本地化的,成本也不是很高。因此,这不是一个建筑方面
- API od定义的变化是一个系统的一些核心模块,被许多其他模块和系统使用,这很可能是一个架构主题
请记住,建筑与非建筑之间没有明确的界限。有时这是主观的,关键不是要正确区分它们,而是要建立一个良好的规范,这将导致成功的产品开发。这不应该在上询问吗?谢谢您的帮助hint@TobiMcNamobi请注意我编辑了我的问题我真的很感谢你“问问你自己”伟大的例子1#对于软件架构和软件结构,有没有关于强烈推荐哪个图的提示?因为听起来类图应该在这两种情况下使用(架构和结构)2#我从回答中了解到,详细设计不是架构/结构设计的一部分,但我可以使用相同类型的UML图,如类和序列图(在架构和结构中使用)以及更详细的信息。对吗?请澄清这些要点3#高层设计是否与建筑设计相同?请参阅更新的答案。你帮助的比你想象的要多did@Aleks,谢谢你很酷,很高兴知道。谢谢