NIAM

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Natural language Information Analysis Method (NIAM) is een informatieanalyse- en datamodeleringmethode en is onder andere ontwikkeld door Sjir Nijssen in de jaren 70. Het kenmerk van NIAM is dat het analyseren van informatie door middel van de menselijk gesproken taal wordt uitgevoerd. Dit heeft als voordeel dat het analyseerproces in samenwerking met de gebruiker uitgevoerd kan worden. Zo ontstaan er geen verkeerde interpretaties door de gebruiker en/of de informatieanalist. NIAM is verder ontwikkeld in de Object Role Modeling.

Geschiedenis[bewerken]

  • Begin jaren 70: Fillmore deed een onderzoek naar het gebruik van de gesproken taal in combinatie met onderzoekingen.
  • 1974: Abrial onderzocht de relatie tussen het gebruik van semantiek (de betekenis van woorden) en binaire relaties (relaties tussen twee ‘objecten’) bij het modelleren van informatie.
  • 1975: Falkenberg vervolgde het onderzoek door niet alleen deze techniek te gebruiken bij binaire relaties, maar n-aire relaties (relaties tussen meerdere ‘objecten’).
  • 1976-1977: Nijssen ontwikkelde een notatie voor deze methode en noemde dat ENALIM (Evolving Natural Language Information Model). Nijssen leidde een groep van onderzoekers uit België die deze methode verder ontwikkelde. De methode werd toen bekend als NIAM (Nijssen Information Analyse Methodology).
  • 1980er jaren: Nijssen en Falkenberg gingen samenwerken op de University of Queensland om de methode verder uit te werken.
  • 1989: Nijssen schreef in samenwerking met Terry Halpin het eerste boek over deze methode.
  • Begin 1990er jaren: Halpin ontwikkelde een uitbreiding van NIAM: Formal Object Role Modeling (FORM) en er ontstonden allerlei tools voor op de computer om met de NIAM methode informatie te modelleren.

NIAM betekent tegenwoordig “Natural language Information Analysis Method”, omdat Nijssen niet de enige was die aan deze methode had gewerkt, maar een heel team achter hem stond. Object Role Modeling (ORM) is een aanpassing en uitbreiding van de NIAM-syntaxis en semantiek. Ondertussen is een verdere uitbreiding van ORM bekend onder de naam ORM2. Fully Communication Oriented Information Modeling (FCO-IM) is een variant op de syntaxis en semantiek.

Werkwijze[bewerken]

De werkwijze van NIAM is geheel anders dan bij de meeste andere informatieanalysemethoden. In plaats van entiteiten te zien als gerelateerde tabellen, zijn bij NIAM de relaties de entiteiten. In NIAM’s termologie heet een relatie ook wel ‘role’. Hierdoor is het bij NIAM moeilijk om entiteiten los van elkaar te zien. In NIAM is het de bedoeling om met behulp van de menselijke gesproken taal “feiten” vast te leggen. Deze feiten bestaat in NIAM dan uit entiteiten, attributen en domeinen.

Hieronder volgt een stappenplan hoe NIAM wordt toegepast. Achter elk kernwoord van de stappen staat wat het inhoudt.

  • Verwoorden betekent dat je samen met een domeindeskundige (een persoon die met de informatie werkt die de analist gaat modelleren) het hele proces verwoordt. Dit gebeurt gewoon in zijn eigen taal, daarom is het verstandig dat de informatieanalist dit ook doet in samenwerking met de domeindeskundige en niet zelf gaat verwoorden. De domeindeskundige kan het beste verwoorden wat er allemaal gebeurt in het bedrijf.
  • Classificeren is het indelen van feittypen in groepen.
  • Kwalificeren is een betekenisvolle naam geven aan feittypen.
  • IGD (Information Grammatica Diagram) is het uiteindelijke schema met allerlei symbolen en de bijbehorende verwoorde feiten.
  • Toepassen van de beperkingregels in de IGD.
  • Groeperen: zo veel mogelijk feittypen samenvoegen zonder dat er redundantie optreedt.
  • Lexicaliseren de IGD zodanig veranderen dat de rollen worden gespeeld door labeltypen zonder dat er redundantie optreedt.
  • Tabellen genereren. Normaal genereer je de kolommen van tabellen met de entiteiten. Niet bij NIAM, daar gebruik je de rollen om kolommen te maken. Twee of meer rollen tussen twee feittypen worden de kolommen.

Schrijfwijze[bewerken]

Symbolen[bewerken]

Hieronder in figuur 1 volgen de meest gebruikte symbolen in FCO-IM.

NIAM symbolen.JPG
figuur 1

In figuur 2 zie je twee rollen bij elkaar, nummer 1 en 2. Aan de linkerkant zit een labeltype en aan de rechterkant een labeltype dat een rol bevat (genomaliseerde feittype).

NIAM feit.JPG
figuur 2

De zinnen die bij rol 3 passen zijn:”Er is een stad die Amsterdam heet” en “Er is een stad die Utrecht heet”. Op deze manier zie je wat de rollen zijn van de naam en de stad. “Naam” woont in de stad “naam van de stad”.

Beperkingregels[bewerken]

  • Waardenregel: deze worden opgelegd aan de labeltypen. Ze specificeren de soorten waarden dat bij deze labeltypen kunnen bevatten. De waarden bij een labeltypen en/of rol worden ook wel populatie genoemd. Voorbeeld:
NIAM waarderegel.JPG
figuur 3

In figuur 3 zie je rechtsboven de labeltype “Burgerlijke stand” een regel met accolades. Dit is een waardenregel dat zegt dat de labeltype “Burgerlijke stand” alleen maar de waarden:”Ongehuwd, samenwonend en gehuwd” mogen bevatten en geen andere.

  • Uniciteitsregel: Is een beperkingsregel dat je aan een rol kan opleggen. Dit geeft aan dat een bepaalde populatie maar één keer mag voorkomen bij de betreffende rol en dus uniek moet zijn. Voorbeeld:
NIAM UC.JPG
figuur 4

Op rol 2 heeft de uniciteitsregel gekregen (een streep met aan beide zijde een pijlpunt). Dit zegt dat onder rol twee de populatie geen dubbele waarde mag bevatten. Studentnummer S123456 dat onderaan in het rood staat is dus fout, deze staat bovenaan ook al een keer.

Uniciteitsregels over twee of meer rollen wilt zeggen dat de combinatie van die rollen geen dubbele waarden mogen bevatten. Dus als bij figuur 4 een uniciteitsregel over rol 2 en 3 zou staan, zou de onderste regel wel goed zijn, maar dan moet de klas anders zijn dan bij de bovenste populatie, anders is de combinatie dubbel en dat mag niet.

  • Totaliteitsregel: Dit is een soort van “not-null” regel. De rol dat deze regel opgelegd heeft gekregen mogen niet leeg gelaten worden, maar moeten opgevuld worden. Voorbeeld:
NIAM totaliteitsregel.JPG
figuur 5

De zwarte stip dat tegen de genomaliseerde labeltype staat geeft de totaliteitsregel aan. Dit houdt dus in dat alle waarde (populatie) van die labeltype ingevuld moeten worden en niet leeg gelaten mag worden.

  • Deelverzamelingsregel: Is een beperkingsregel dat geplaatst kan worden tussen twee setten van rollen. Dit geeft aan dat de populatie van de som van de ene set rollen, de som is van de andere set rollen. Voorbeeld:
NIAM deelverzameling.JPG
figuur 6

Rol 1 en 2 zijn een deelverzameling van de rollen 3,4 en 5. rol 1 kom over met rol 3 en rol 2 met rol 5. Deze rollen hebben dan ook dezelfde populatie. Het kan niet zijn dat rol 1 en 2 andere waarden bevatten dan rol 3 en 5.

  • Gelijkheidsregel: Is bijna hetzelfde als een deelverzamelingsregel, alleen dan geldt deze ‘heen en weer’ van de beide set rollen. Dan zou bij figuur 6 de pijl vervallen en dan zijn rollen 1 en 2 gelijk met rollen 3 en 5.
  • Aantallenregel: Deze geeft aan hoe vaak een populatie mag voorkomen bij de betreffende rol. Voorbeeld:
NIAM aantalregel.JPG
figuur 7

Boven rol 1 staat een klein rondje met daarin ‘=3’. Dit houdt in dat er onder rol 1 een bepaalde waarde niet meer dan 3 keer voor mag komen. Naast de ‘=’teken, kunnen de groter dan (- of gelijk) en kleiner dan (- of gelijk) gebruikt worden.

Zie ook[bewerken]

Literatuur[bewerken]

  • Sjir Nijssen and Terry Halpin (1989). Conceptual Schema and Relational Database Design. Prentice Hall, Sydney.
  • Guido Bakema, Jan Pieter Zwart en Harm van der Lek (2002). Volledig Communicatiegeoriënteerde Informatiemodellering, FCO-IM. Den Haag: ten Hagen & Stam. ISBN 90-267-2316-4
  • J.J.V.R. Wintraecken (1987). Informatie-analyse volgens NIAM in theorie en praktijk. Academic Serivce, Schoonhoven, (2e druk), ISBN 90-623-3169-6.

Externe links[bewerken]