首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >软件架构与系统架构与类图?

软件架构与系统架构与类图?
EN

Software Engineering用户
提问于 2017-03-07 13:37:40
回答 3查看 11.7K关注 0票数 12

我对以下几个词感到很困惑:

软件体系结构

软件应用程序体系结构是定义满足所有技术和操作需求的结构化解决方案的过程,同时优化性能、安全性和可管理性等公共质量属性。它涉及一系列基于多种因素的决策,每个决策都会对应用程序的质量、性能、可维护性和总体成功产生相当大的影响。(微软)

系统体系结构

系统架构是定义系统结构、行为和更多视图的概念模型。1体系结构描述是系统的形式描述和表示,其组织方式支持对系统的结构和行为进行推理(维基)。

类图

在软件工程中,统一建模语言(UML)中的类图是一种静态结构图,它通过显示系统的类、它们的属性、操作(或方法)以及对象之间的关系来描述系统的结构。(维基)

如果我阅读这些描述,所有这些都描述了应用程序不同模块之间的交互。然而,它们之间有什么区别呢?

我想/试着比较这些术语:

  • 类图不是系统体系结构的一种形式,因为上面的描述(structure, behavior, and more views of a system)意味着体系结构中不存在实现细节,而类图描述的是实现,并且可能更多地是在设计方向而不是在体系结构方面?
  • 我认为系统架构也包括外部交互(如数据库),而软件体系结构则专注于应用程序本身。
EN

回答 3

Software Engineering用户

发布于 2017-03-07 15:46:15

系统架构描述了系统的各个组成部分。例如,您可能有一个订单输入系统,该系统包括:

Web前端、业务层服务和数据存储。

所以,你应该用一个高层次的图表来展示这一点。

软件应用程序体系结构描述特定组件的体系结构。例如,订单输入系统的一个组件是web前端。应用程序架构将显示该组件的各种层和交互。响应用户界面、模型视图控制器、web服务调用、如何实现日志记录等。它给出了每个组件的构造思想以及该组件中作为较大系统一部分的层。

通常,会创建一个更详细的图表(S),说明如何构造该组件。

最后,类图深入到软件应用程序体系结构中。例如,日志接口的契约是什么样子的?将如何与控制器交互..。以此类推。这将进一步详细说明系统特定组件的软件应用程序体系结构。

如果特定的组件是大的和复杂的,那么应该有很多这样的组件。

票数 7
EN

Software Engineering用户

发布于 2017-03-08 06:32:42

另外几点:

  • 系统是最广泛的术语,通常是最高级别,最不详细。
  • 系统的一部分可以归类为软件。
  • 软件的一部分可以用类图来描述。

最后但并非最不重要的一点:建筑是一次的选择,如果不重建一切,很难或不可能在以后重新开始。建筑的最佳定义是“一切真正昂贵的改变”,这使它有别于设计。因此,在体系结构中,您通常会找到编程语言、操作系统、关系数据库的品牌的选择,无论是哪种类型的解决方案都可以将您锁定。因此,什么被归类为体系结构,也取决于系统本身以及它在方面的灵活性。

票数 3
EN

Software Engineering用户

发布于 2017-03-07 17:35:43

类图与两个术语的其余部分非常不同-它们显示了哪些类提供给其他类,以及它们是如何相互交互的。然而,术语“系统架构”和“软件体系结构”会造成混乱,需要进一步澄清。

重要的是要认识到,“系统”不仅指软件组件,也指其他组件,如硬件组件。如果一个系统只包含一个软件系统,那么这两个术语没有区别。但是,很明显,如果一个系统包含其他非软件组件,那么软件架构将与系统的体系结构有很大的不同。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/343643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档