我对以下几个词感到很困惑:
软件体系结构
软件应用程序体系结构是定义满足所有技术和操作需求的结构化解决方案的过程,同时优化性能、安全性和可管理性等公共质量属性。它涉及一系列基于多种因素的决策,每个决策都会对应用程序的质量、性能、可维护性和总体成功产生相当大的影响。(微软)
系统体系结构
系统架构是定义系统结构、行为和更多视图的概念模型。1体系结构描述是系统的形式描述和表示,其组织方式支持对系统的结构和行为进行推理(维基)。
在软件工程中,统一建模语言(UML)中的类图是一种静态结构图,它通过显示系统的类、它们的属性、操作(或方法)以及对象之间的关系来描述系统的结构。(维基)
如果我阅读这些描述,所有这些都描述了应用程序不同模块之间的交互。然而,它们之间有什么区别呢?
我想/试着比较这些术语:
structure, behavior, and more views of a system)意味着体系结构中不存在实现细节,而类图描述的是实现,并且可能更多地是在设计方向而不是在体系结构方面?发布于 2017-03-07 15:46:15
系统架构描述了系统的各个组成部分。例如,您可能有一个订单输入系统,该系统包括:
Web前端、业务层服务和数据存储。
所以,你应该用一个高层次的图表来展示这一点。
软件应用程序体系结构描述特定组件的体系结构。例如,订单输入系统的一个组件是web前端。应用程序架构将显示该组件的各种层和交互。响应用户界面、模型视图控制器、web服务调用、如何实现日志记录等。它给出了每个组件的构造思想以及该组件中作为较大系统一部分的层。
通常,会创建一个更详细的图表(S),说明如何构造该组件。
最后,类图深入到软件应用程序体系结构中。例如,日志接口的契约是什么样子的?将如何与控制器交互..。以此类推。这将进一步详细说明系统特定组件的软件应用程序体系结构。
如果特定的组件是大的和复杂的,那么应该有很多这样的组件。
发布于 2017-03-08 06:32:42
另外几点:
最后但并非最不重要的一点:建筑是一次的选择,如果不重建一切,很难或不可能在以后重新开始。建筑的最佳定义是“一切真正昂贵的改变”,这使它有别于设计。因此,在体系结构中,您通常会找到编程语言、操作系统、关系数据库的品牌的选择,无论是哪种类型的解决方案都可以将您锁定。因此,什么被归类为体系结构,也取决于系统本身以及它在方面的灵活性。
发布于 2017-03-07 17:35:43
类图与两个术语的其余部分非常不同-它们显示了哪些类提供给其他类,以及它们是如何相互交互的。然而,术语“系统架构”和“软件体系结构”会造成混乱,需要进一步澄清。
重要的是要认识到,“系统”不仅指软件组件,也指其他组件,如硬件组件。如果一个系统只包含一个软件系统,那么这两个术语没有区别。但是,很明显,如果一个系统包含其他非软件组件,那么软件架构将与系统的体系结构有很大的不同。
https://softwareengineering.stackexchange.com/questions/343643
复制相似问题