首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >软件构件类型分类

软件构件类型分类
EN

Software Engineering用户
提问于 2017-03-16 17:29:04
回答 1查看 160关注 0票数 1

我正在编写一个框架,它自动记录分布式系统中的应用程序依赖关系,其思想是在运行时生成接近整个系统的UML组件图。

组件通常是应用程序或它们所消耗的资源之一(数据库、HTTP、文件.)。

每个组件都有一个名称和一个类型。我想知道是否有“软件组件类型分类”这样的东西?

我不喜欢重新发明轮子,尤其是在存在标准的情况下。

下面是一些我称之为组件类型的示例:

  • 申请/http
  • 应用程序/桌面
  • 应用/移动/android
  • 数据库/mysql
  • 数据库/cassandra
EN

回答 1

Software Engineering用户

发布于 2017-03-19 19:49:40

什么是组件?

UML组件组件基本上是一个黑匣子,具有定义良好的行为和接口。其思想是,它是自成一体和可替代的。

有了如此广泛的定义,组件可以涵盖所有可能的东西,从整个应用程序,到插件,到初级类。这只是泛泛的一个一般的分类标准。

主流组件模型是什么?

主流组件模型使用非常灵活或广泛的类别,并且需要IDLs。例如:

  • 微软的COM使用非常灵活的分类ids
  • CORBA的三坐标测量机只有4个组件类别(服务、会话、过程、实体)。

我怀疑这些类别是否适合你的需要。

您自己的分类从哪里开始?

您需要定义用于细分类别的轴,这将取决于您的特定目标:

  • 如果您的目标是对复杂的可交换数据对象进行分类,则可以查看存在全局MIME型IANA参考
  • 如果您的目标更多地是按目标对组件进行分组,为了在目录中找到更容易使用的可重用组件,您可以使用软件体系结构的分层模型。例如,使用洁净建筑,您可以使用主层元素(例如实体、用例/事务、控制器、网关、演示程序、.)开始分类。并进一步细分它们(例如数据网关、服务网关、.)。

你的几个例子有力地说明了第二种方法的使用。

编辑:用于应用程序和资源的组件

在编辑中,您将分类缩小到应用程序和重新源。对于后者,您的示例似乎针对更多的服务(例如DBMS、API),而不是资源本身(例如数据或文件)。

目前还没有得到广泛接受的类别标准。以下是一些起点:

  • GAMP 5软件分类:本标准适用于制药业,在那里,自动化是以确保您的药品生产过程的安全性所需的强度来控制的。
  • 软件资产管理产品带有自定义类别。一个很好的例子这里,但肯定还有其他可用的。然而,请注意,这些专有列表可能受到版权的保护,即使是公开的。
  • 类似地,营销公司使用定义良好的软件类别(例如:IDC软件分类法)。但同样,这是专利材料,这些公司已经投入研究,所以不能随意重复使用。
  • 最后是用于公共采购的欧洲CPV分类。这是一个包含密码的大名单。代码从48开始,作为两个第一位数,提出了一个详细的软件类别(代码是一个分级十进制编号系统,在他们的网站上解释)。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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