funktionelle og adfærdsmodeller inden for software engineering
Funktionelle modeller og adfærdsmodeller er to vigtige typer modeller, der bruges i softwareteknik til at repræsentere forskellige aspekter af et softwaresystem. De bruges til at beskrive henholdsvis * hvad * og * hvordan * af systemet.
Funktionelle modeller:
* fokus: Definer softwaresystemets * funktionalitet *. De beskriver, hvad systemet gør, uden at specificere, hvordan det gør det.
* Repræsentation: Ofte udtrykt ved hjælp af:
* Brug sager: Beskriv interaktioner mellem brugere og systemet.
* Dataflowdiagrammer (DFDS): Illustrere datavevægelse gennem systemet.
* Enhedsrelationsdiagrammer (ERDS): Repræsenterer forhold mellem dataenheder.
* statsovergangsdiagrammer: Vis forskellige tilstande i systemet og overgange mellem dem.
* Formål:
* Kommuniker systemkrav: Til interessenter (brugere, udviklere, ledere) på en klar og kortfattet måde.
* Design System Arkitektur: Ved at skitsere komponenterne på højt niveau og deres interaktioner.
* validerer systemkrav: Ved at sikre, at systemet tilfredsstiller alle brugerbehov.
Adfærdsmodeller:
* fokus: Beskriv softwaresystemets * opførsel *. De detaljerer, hvordan systemet reagerer på input, og hvordan dets interne tilstand ændrer sig over tid.
* Repræsentation: Ofte udtrykt ved hjælp af:
* Sekvensdiagrammer: Vis interaktioner mellem objekter i et specifikt scenario.
* Samarbejdsdiagrammer: Fremhæv samspillet mellem objekter på en mere visuel måde.
* Aktivitetsdiagrammer: Beskriv strømmen af aktiviteter i systemet.
* statsmaskinediagrammer: Afbild systemets tilstande og dets overgange mellem dem.
* Formål:
* Refine System Design: Ved at detaljere systemets interne arbejde.
* Identificer potentielle fejl og uoverensstemmelser: Ved at simulere forskellige scenarier og observere systemets respons.
* Test systemet: Ved at sammenligne faktisk opførsel med modellens forudsigelser.
Forholdet mellem funktionelle og adfærdsmodeller:
* komplementær: De arbejder sammen for at give en omfattende forståelse af softwaresystemet.
* hierarkisk: Funktionelle modeller giver ofte visning på højt niveau, mens adfærdsmodeller dykker ned i detaljerne.
* iterativ: Modeller raffineres og opdateres ofte i hele softwareudviklingsprocessen.
Eksempel:
Lad os overveje et simpelt online shopping -system.
* Funktionel model:
* En brugssag til "Placer en ordre" vil beskrive de trin, der er involveret i samspillet mellem en bruger og systemet.
* Et dataflowdiagram viser strømmen af data mellem brugergrænsefladen, indkøbskurven og ordrebehandlingssystem.
* Adfærdsmodel:
* Et sekvensdiagram kunne skildre sekvensen af interaktioner mellem brugergrænsefladen, databasen og ordrebehandlingssystemet, når du bestiller.
* Et statsmaskindiagram kunne vise de forskellige tilstande i en ordre, fra "placeret" til "sendt" til "leveret".
Ved at bruge både funktionelle og adfærdsmodeller kan softwareingeniører skabe en klar og komplet repræsentation af softwaresystemet, hvilket sikrer, at det opfylder de krav og funktioner, der er tilsigtet.