Functionele en gedragsmodellen in software -engineering
Functionele modellen en gedragsmodellen zijn twee belangrijke soorten modellen die in software -engineering worden gebruikt om verschillende aspecten van een softwaresysteem weer te geven. Ze worden gebruikt om respectievelijk de * wat * en * hoe * van het systeem te beschrijven.
Functionele modellen:
* focus: Definieer de * functionaliteit * van het softwaresysteem. Ze beschrijven wat het systeem doet, zonder aan te geven hoe het het doet.
* Representatie: Vaak uitgedrukt met behulp van:
* use cases: Beschrijf interacties tussen gebruikers en het systeem.
* Gegevensstroomdiagrammen (DFDS): Illustreer gegevensbeweging door het systeem.
* Entity-Relationship Diagrammen (ERDS): Vertegenwoordigen relaties tussen gegevensentiteiten.
* Staatovergangsdiagrammen: Toon verschillende toestanden van het systeem en overgangen daartussen.
* Doel:
* Systeemvereisten communiceren: Voor belanghebbenden (gebruikers, ontwikkelaars, managers) op een duidelijke en beknopte manier.
* Design System Architecture: Door de componenten op hoog niveau en hun interacties te schetsen.
* Valideer systeemvereisten: Door ervoor te zorgen dat het systeem aan alle gebruikersbehoeften voldoet.
Gedragsmodellen:
* focus: Beschrijf het * gedrag * van het softwaresysteem. Ze beschrijven hoe het systeem reageert op inputs en hoe de interne toestand in de loop van de tijd verandert.
* Representatie: Vaak uitgedrukt met behulp van:
* sequentiediagrammen: Toon interacties tussen objecten in een specifiek scenario.
* Samenwerkingsdiagrammen: Markeer de interacties tussen objecten op een meer visuele manier.
* Activiteitsdiagrammen: Beschrijf de stroom van activiteiten binnen het systeem.
* Staatsmachinediagrammen: Toon de staten van het systeem en de overgangen ervan tussen hen.
* Doel:
* Systeemontwerp verfijnen: Door de interne werking van het systeem te detailleren.
* Identificeer potentiële fouten en inconsistenties: Door verschillende scenario's te simuleren en de reactie van het systeem te observeren.
* Test het systeem: Door het feitelijk gedrag te vergelijken met de voorspellingen van het model.
Relatie tussen functionele en gedragsmodellen:
* complementair: Ze werken samen om een uitgebreid begrip van het softwaresysteem te bieden.
* hiërarchisch: Functionele modellen bieden vaak de weergave op hoog niveau, terwijl gedragsmodellen ingaan op de details.
* iteratief: Modellen worden vaak verfijnd en bijgewerkt tijdens het softwareontwikkelingsproces.
Voorbeeld:
Laten we een eenvoudig online winkelsysteem bekijken.
* Functioneel model:
* Een use case voor "Plaats een bestelling" zou de stappen beschrijven die betrokken zijn bij de interactie tussen een gebruiker en het systeem.
* Een gegevensstroomdiagram zou de gegevensstroom weergeven tussen de gebruikersinterface, het winkelwagentje en het bestelverwerkingssysteem.
* Gedragsmodel:
* Een sequentiediagram kan de volgorde van interacties weergeven tussen de gebruikersinterface, de database en het bestelverwerkingssysteem bij het plaatsen van een bestelling.
* Een staatsmachinediagram kan de verschillende toestanden van een bestelling tonen, van "geplaatst" tot "verzonden" tot "geleverd".
Door zowel functionele als gedragsmodellen te gebruiken, kunnen software -ingenieurs een duidelijke en volledige weergave van het softwaresysteem maken, waardoor het aan de vereisten en functies voldoet zoals bedoeld. |