Metadatamodellering

Metadatamodellering är en typ av metamodellering som används inom mjukvaruteknik och systemteknik för analys och konstruktion av modeller som är tillämpliga på och användbara för någon fördefinierad klass av problem.

Metamodellering är analys, konstruktion och utveckling av ramar, regler, begränsningar, modeller och teorier som är tillämpliga och användbara för modellering i en fördefinierad klass av problem.

Diagrammets metadatasida består av ett konceptdiagram. Detta är i grunden ett justerat klassdiagram som beskrivs i Booch, Rumbaugh och Jacobson (1999). Viktiga begrepp är begrepp, generalisering, association, mångfald och aggregering.

Metadatamodelleringskoncept

Fig.1 STANDARD, ÖPPNA och STÄNGDA KONCEPT
Fig.2 Exempel på STANDARD, ÖPPNA och STÄNGDA KONCEPT

Först och främst är ett koncept en enkel version av en UML-klass (Unified Modeling Language). Klassdefinitionen används för att definiera ett koncept, nämligen: en uppsättning objekt som delar samma attribut, operationer, relationer och semantik.

Följande begreppstyper är specificerade:

  • STANDARDCONCEPT: ett koncept som inte innehåller några ytterligare (under)begrepp. Ett standardkoncept visualiseras med en rektangel.
  • KOMPLEXAT KONCEPT: ett begrepp som består av en samling (under)begrepp. Komplexa begrepp är indelade i:
  • ÖPPET KONCEPT: ett komplext koncept vars (under)begrepp utökas. Ett öppet koncept visualiseras med två vita rektanglar ovanför varandra. (Korrigering: Ett öppet koncept visualiseras med 2 vita rektanglar, en överlagd över den andra, förskjuten till höger, med 3 hörn av rektangeln under synliga.)
  • STÄNGT KONCEPT: ett komplext begrepp vars (under)begrepp inte utökas eftersom det inte är relevant i det specifika sammanhanget. Ett slutet koncept visualiseras av en vit rektangel ovanför en svart rektangel.

I figur 1 illustreras de tre koncepttyper som används i modelleringstekniken. Begrepp är alltid versaler, inte bara i diagrammet, utan även när man refererar till dem utanför diagrammet.

I figur 2 exemplifieras alla tre koncepttyper. En del av processdatadiagrammet för kravarbetsflödet i Unified Process illustreras. USE CASE MODELL är ett öppet koncept och består av en eller flera AKTÖRER och ett eller flera USE CASES. ACTOR är ett standardkoncept, det innehåller inga ytterligare underbegrepp. USE CASE är dock ett slutet koncept. Ett USE CASE består av en beskrivning, ett flöde av händelser, förutsättningar, speciella krav etc. Eftersom det i det här fallet är onödigt att avslöja den informationen illustreras USE CASE med ett slutet koncept.

Generalisering

Fig.3 Generalisering
Fig. Exempel på generalisering

Generalisering är ett sätt att uttrycka ett förhållande mellan ett allmänt begrepp och ett mer specifikt begrepp. Vidare kan man vid behov ange om de grupper av begrepp som identifieras är överlappande eller osammanhängande, fullständiga eller ofullständiga. Generalisering visualiseras av en heldragen pil med en öppen pilspets som pekar på föräldern, som illustreras i figur 3.

I figur 4 exemplifieras generalisering genom att visa sambanden mellan de olika begreppen som beskrivs i föregående stycke. STANDARD KONCEPT och KOMPLEXA KONCEPT är båda en specifik typ av KONCEPT. Därefter kan ett KOMPLEXAT KONCEPT specificeras i ett ÖPPET KONCEPT och ett STÄNGT KONCEPT.

Förening

Fig.5 Förening

En association är ett strukturellt förhållande som anger hur begrepp är kopplade till ett annat. Den kan koppla ihop två begrepp (binär association) eller fler än två begrepp (n-är association). En förening representeras med en oriktad heldragen linje. För att ge en mening åt föreningen kan ett namn och namnriktning ges. Namnet är i form av ett aktivt verb och namnriktningen representeras av en triangel som pekar i den riktning man behöver läsa. Samband med ett namn och namnriktning illustreras i figur 5.

I figur 6 (borttagen) illustreras ett exempel på association. Exemplet är ett fragment av processdatadiagrammet för kravanalysen i Unified Process. Eftersom båda begreppen inte utökas ytterligare, även om det finns flera underbegrepp, illustreras begreppen som slutna begrepp. Bilden läses som "SÖKNINGSBESKRIVNING beskriver USE CASE MODELL".

Mångfald

Fig.7 Multipel
Fig.8 Exempel multiplicitet

Förutom namn och namnriktning kan en förening ha fler egenskaper. Med multiplicitet kan man ange hur många objekt av ett visst koncept som kan kopplas samman över en instans av en association. Multiplicity visualiseras genom att använda följande uttryck: (1) för exakt en, (0..1) för en eller noll, (0..*) för noll eller fler, (1..*) för en eller flera, eller till exempel (5) för ett exakt antal. I figur 7 illustreras samband med multiplicitet.

Ett exempel på multiplicitet visas i figur 8. Det är samma exempel som i figur 6, endast multiplicitetsvärdena adderas. Figuren lyder som "exakt en BESKRIVNING AV UNDERSÖKNING beskriver exakt en ANVÄNDNINGSSÄTT MODELL". Detta innebär att en UNDERSÖKNINGSBESKRIVNING inte kan beskriva noll eller mer än en ANVÄNDNINGSFALL MODELL och en ANVÄNDNINGSFALL MODELL inte kan beskrivas med noll eller mer än en UNDERSÖKNINGSBESKRIVNING.

Aggregation

Fig.9 Aggregation
Fig.10 Exempel på aggregering

En speciell typ av association är aggregering. Aggregation representerar förhållandet mellan ett begrepp (som helhet) som innehåller andra begrepp (som delar). Det kan också beskrivas som ett "har-ett"-förhållande. I figur 9 illustreras ett aggregeringsförhållande mellan ÖPPET KONCEPT och STANDARD KONCEPT. Ett ÖPPET KONCEPT består av ett eller flera STANDARDBEGREP och ett STANDARDBEGREP är en del av noll eller flera ÖPPET KONCEPT.

I figur 10 exemplifieras aggregering av ett fragment av arbetsflödet för kravfångst i UML-baserad webbteknik. EN USE CASE MODELL består av en eller flera ACTORS och USE CASES.

Egenskaper

Fig.11 Aggregation
Fig.12 Exempel på aggregering

Ibland finns behov av att tilldela begrepp egenskaper. Egenskaper skrivs med gemener, under konceptnamnet, som illustreras i figur 11.

I figur 12 visas ett exempel på ett koncept med egenskaper. Konceptet FEATURE har fyra egenskaper, respektive: prioritet, typ, risk och status.

I tabell 1 presenteras en lista. Varje KONCEPT kräver en korrekt definition som helst kopieras från en standardordlista. Alla CONCEPT-namn i texten är med versaler.

Tabell 1: Begreppsdefinitionslista
Begrepp Definition
KONCEPT A Detta är en definition av KONCEPT A
KONCEPT B Detta är en definition av KONCEPT B

Se även

Vidare läsning

  • Grady Booch , James Rumbaugh och Ivar Jacobson (1999). Användarhandboken för Unified Modeling Language . Redwood City, CA: Addison Wesley Longman Publishing Co., Inc.
  • M. Saeki (2003). Inbädda mätetal i utvecklingsmetoder för informationssystem: en tillämpning av metodteknik . CAiSE 2003, 374–389.
  • I. Weerd, J. van de, Souer, J. Versendaal och Sjaak Brinkkemper (2005). Situationskrav Engineering av webbinnehållshanteringsimplementeringar . SREP2005.