ISO/IEC 24744:2014 ソフトウェアエンジニアリング—開発方法論のメタモデル | ページ 3

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

導入

開発方法論は基礎となるメタモデルのコンテキストで説明される場合がありますが、メタモデルの観点から開発方法論を定義できるようにする正確なメカニズムは通常説明が難しく、すべてのニーズをカバーできるわけではありません。たとえば、方法論を構成する要素のプロパティと、同時に方法論の適用時に作成されるエンティティ (作業成果物など) のプロパティの定義を可能にする実践方法を考案するのは困難です。このドキュメントでは、(潜在的な) 標準として、パワータイプの概念に基づいて方法論を定義するための新しいアプローチを利用する包括的なメタモデルである、開発方法論のためのソフトウェア エンジニアリング メタモデルを紹介します。 SEMDM は、情報ベースの領域、つまりソフトウェア、ビジネス、システム エンジニアリングなどの情報管理と処理に大きく依存することを特徴とする領域における方法論の定義を目的としています。 SEMDM は、他のメタモデリング アプローチの主要な利点と既知の欠点を組み合わせて、方法論のプロセス、モデリング、および人材の側面をシームレスに統合できます。他のメタモデルが SEMDM にマッピングされ、問題の簡単な概要が示されている付録 B where 参照してください。

さまざまな方法論が、ますます多くの標準によって定義、使用、または暗示されており、各方法論で使用される概念が調和されることが望ましい。調和のための手段は SEMDM です。このメタモデルに準拠することで、一貫した概念と用語を使用して各方法論を定義するための一貫したアプローチが保証されます。

この文書では、ISO/IEC 24744 標準メタモデルの提案された表記法も示します。ここで紹介する表記法は主にグラフィカルなもので、ISO/IEC 24744 にあるクラスのほとんどをサポートしています。

目的

SEMDM は、深さは最小限ですが、非常に幅広い (単一のアプローチではめったに対処できない領域を含む) アプローチに従っています。したがって、これには、広範囲のアプリケーション領域にわたって真に汎用的で、他の既存のメタモデルよりも高い抽象化レベルにある、より高いレベルの概念のみが含まれます。 SEMDM の主な目的は、豊富で表現力豊かなインスタンスの作成を提供しながら、結果として得られる方法論を不必要に制約しない、非常に汎用的なメタモデルを提供することです。

この目的を達成するために、SEMDM にはいくつかのメタモデル アプローチのアイデアと最近の研究結果が組み込まれています (詳細については [4, 5, 6, 7, 9, 10, 17] を参照)これにより、次のことが容易になります。

  • •メソッド エンジニア間のコミュニケーション、およびメソッド エンジニアと方法論のユーザー (つまり開発者) の間のコミュニケーション。
  • •メソッドフラグメントの既存のリポジトリからのメソッドのアセンブリ。
  • •この目的のために提供された拡張メカニズムを介して標準メタモデルを拡張することによる、方法論メタモデルの作成。
  • •方法論と関連するメタモデルの比較と統合。
  • •モデリングおよび方法論サポート ツールの相互運用性。

SEMDM といくつかの既存の方法論およびメタモデルとの関係は、付録 B に示されています。

観客

SEMDM の多くのクラスは (方法論ドメインではなく) 取り組みドメインを表すため、方法論を制定する開発者がメタモデルの直接ユーザーであるように見えるかもしれません。これは真実ではありません。エンデバー レベルの要素をモデル化する SEMDM のクラスは、メソッド エンジニアがエンデバー ドメインの構造と動作を確立するのに役立ち、制定中に直接使用されることはありません。メソッド エンジニアによってメタモデルから作成されたクラスやオブジェクトなどのメソッド要素のみが、開発者によって愛着レベルで使用されるため、「パッケージ化された」メソッドの作成と、カスタマイズされたプロジェクト固有のメソッドの両方がサポートされます。

ここで「メソッド エンジニア」という用語は、特定の目的のために現場で方法論を構築する人、または「シュリンク ラップされた」プロセス製品として「パッケージ化された」方法論を作成する人を総称して指します。

Introduction

Development methodologies may be described in the context of an underpinning metamodel, but the precise mechanisms that permit them to be defined in terms of their metamodels are usually difficult to explain and do not cover all needs. For example, it is difficult to devise a practice that allows the definition of properties of the elements that compose the methodology and, at the same time, of the entities (such as work products) created when the methodology is applied. This document introduces, as a (potential) standard, the Software Engineering Metamodel for Development Methodologies, a comprehensive metamodel that makes use of a new approach to defining methodologies based on the concept of powertype. The SEMDM is aimed to the definition of methodologies in information-based domains, i.e. areas characterized by their intensive reliance on information management and processing, such as software, business or systems engineering. The SEMDM combines key advantages of other metamodelling approaches with none of their known drawbacks, allowing the seamless integration of process, modelling and people aspects of methodologies. Refer to Annex B where other metamodels are mapped to SEMDM and a brief synopsis of problems is provided.

Various methodologies are defined, used, or implied by a growing number of standards and it is desirable that the concepts used by each methodology be harmonized. A vehicle for harmonization is the SEMDM. Conformance to this metamodel will ensure a consistent approach to defining each methodology with consistent concepts and terminology.

This document also presents a proposed notation for the ISO/IEC 24744 standard metamodel. The notation presented here is mainly graphical and supports most of the classes found in ISO/IEC 24744.

Purpose

The SEMDM follows an approach that is minimalist in depth but very rich in width (encompassing domains that are seldom addressed by a single approach). It therefore includes only those higher-level concepts truly generic across a wide range of application areas and at a higher level of abstraction than other extant metamodels. The major aim of the SEMDM is to deliver a highly generic metamodel that does not unnecessarily constrain the resulting methodologies, while providing for the creation of rich and expressive instances.

In order to achieve this objective, the SEMDM incorporates ideas from several metamodel approaches plus some results of recent research (see [4, 5, 6, 7, 9, 10, 17] for details). This will facilitate:

  • • The communication between method engineers, and between method engineers and users of methodology (i.e. developers).
  • • The assembly of methodologies from pre-existing repositories of method fragments.
  • • The creation of methodology metamodels by extending the standard metamodel via the extension mechanisms provided to this effect.
  • • The comparison and integration of methodologies and associated metamodels.
  • • The interoperability of modelling and methodology support tools.

The relation of SEMDM to some existing methodologies and metamodels is illustrated in Annex B.

Audience

Since many classes in the SEMDM represent the endeavour domain (as opposed to the methodology domain), it might look like developers enacting the methodology would be direct users of the metamodel. This is not true. Classes in the SEMDM that model endeavour-level elements serve for the method engineer to establish the structure and behaviour of the endeavour domain, and are not used directly during enactment. Only methodology elements, i.e. classes and objects created by the method engineer from the metamodel, are used by developers at the endeavour level, thus supporting both the creation of “packaged” methodologies as well as tailored, project-specific methodologies.

Here the term “method engineer” refers collectively to either a person constructing a methodology on site for a particular purpose or a person creating a"packaged" methodology as a"shrink-wrapped" process product.