Een view model in software engineering is een model, waarin de perspectieven op het te ontwikkelen systeem gedefinieerd worden, die men hanteert in de software engineering.

Illustratie van het 4+1 View model.

Algemeen

bewerken

Bij softwareontwikkeling is een "view" een "representatie van het gehele systeem vanuit een bepaald perspectief". Een enkele view op een bepaald systeem wordt wel een perspectief of "viewpoint" genoemd. Het te ontwikkelen systeem noemt men softwarearchitectuur, vaak kortweg "architectuur". Bij de softwareontwikkeling wordt de architectuur meestal vaak vanuit verschillende perspectieven beschreven en beoordeeld. Een "view model" is de bewust gekozen verzameling perspectieven op de architectuur, ook wel "architectuurviewpoints" genoemd.[1]

Viewmodellen zijn geïntroduceerd om richting te geven aan het ontwerpen van informatiesystemen. In het ontwikkelproces van een informatiesysteem wordt met de softwarearchitectuur de eerste ontwerpbeslissingen voor een systeem zijn vastgelegd. Met verschillende viewpoints benadrukt men hierbij verschillende aspecten van de architectuur, zoals de verdeling van functionaliteit over componenten, of de toedeling van softwarecomponenten aan hardwarecomponenten.[1]

Soorten perspectieven en viewmodellen

bewerken

De perspectieven die momenteel een dominante positie lijken in te nemen zijn bij het opstellen van een systeemarchitectuur zijn:[2]

  • Een procesperspectief, vanwaar processen aspecten die zich in het systeem afspelen benadrukken.
  • Een gegevensperspectief, dat zich richt op de vraag welke gegevens er door het systeem gemanipuleerd zullen worden en wat de structuur en/of eigenschappen van deze gegevens zijn.
  • Een technologisch perspectief, waarmee in kaart gebracht kan worden welke technologische componenten er in het systeem gebruikt worden, bijvoorbeeld de systeem-topologie, en
  • Een strategisch perspectief, waarin de langeretermijnvisie (zeg tien jaar) op het systeem naar voren komt.

Deze perspectieven kunnen niet los van elkaar worden gezien. Vaak is een combinatie van meerdere perspectieven gewenst om een systeemarchitectuur vorm te geven, bijvoorbeeld een proces- en gegevens-perspectief van een informatiesysteem. Diverse auteurs hebben even zoveel verschillende raamwerken voorgesteld om de perspectieven op een gestructureerde wijze te relateren[2]. Voorbeelden van viewmodellen zijn:

  • De RM-ODP[3]: De ISO RM-ODP-architectuur definieert en relateert (formeel) de volgende vier complementaire perspectieven: enterprise, informational, computational, engineering en technologie. Deze standaard richt zich op de specificatie van gedistribueerde informatiesystemen. De model-driven architectuur welke nu door de OMG wordt ontwikkeld is geïnspireerd door deze architectuur.[2]
  • Het "4+1 view model" ontworpen door Philippe Kruchten in 1995 voor software-intensieve systemen, gebaseerd op het idee van meerdere concurrerende aanzichten.[4]

Zie ook

bewerken

Referenties

bewerken
  1. a b Nico Lassing, Daan Rijsenbrij, Hans van Vliet (2001). Zicht op Aanpasbaarheid. Faculteit der Exacte Wetenschappen, Divisie Wiskunde & Informatica. Vrije Universiteit, Amsterdam.
  2. a b c W.J. van den Heuvel en H.A. Proper (2002). De pragmatiek van Architectuur[dode link]
  3. ISO, Reference Model for Open Distributed Processing, 1998. ISO/IEC 10746-1:1998
  4. Kruchten, Philippe (1995, November). Architectural Blueprints — The “4+1” View Model of Software Architecture. IEEE Software 12 (6), pp. 42-50