Funktionella och beteendemodeller inom mjukvaruteknik
Funktionella modeller och beteendemodeller är två viktiga typer av modeller som används i mjukvaruteknik för att representera olika aspekter av ett programvarusystem. De används för att beskriva * vad * respektive * i systemet.
Funktionella modeller:
* Fokus: Definiera mjukvarusystemets * funktionalitet *. De beskriver vad systemet gör utan att ange hur det gör det.
* Representation: Ofta uttryckt med:
* Användningsfall: Beskriv interaktioner mellan användare och systemet.
* Dataflödesdiagram (DFDS): Illustrera datarörelse genom systemet.
* Enhetsrelationsdiagram (ERD): Representerar förhållanden mellan dataenheter.
* tillståndsövergångsdiagram: Visa olika tillstånd i systemet och övergångar mellan dem.
* Syfte:
* kommunicera systemkrav: Till intressenter (användare, utvecklare, chefer) på ett tydligt och kortfattat sätt.
* Designsystemarkitektur: Genom att beskriva komponenterna på hög nivå och deras interaktioner.
* Validera systemkrav: Genom att säkerställa att systemet uppfyller alla användarbehov.
Beteendemodeller:
* Fokus: Beskriv * beteendet * för programvarusystemet. De beskriver hur systemet reagerar på ingångar och hur dess interna tillstånd förändras över tid.
* Representation: Ofta uttryckt med:
* Sekvensdiagram: Visa interaktioner mellan objekt i ett specifikt scenario.
* Samarbetsdiagram: Markera interaktion mellan objekt på ett mer visuellt sätt.
* Aktivitetsdiagram: Beskriv flödet av aktiviteter inom systemet.
* tillståndsmaskindiagram: Visar systemets tillstånd och dess övergångar mellan dem.
* Syfte:
* Refine System Design: Genom att beskriva systemets interna funktion.
* Identifiera potentiella fel och inkonsekvenser: Genom att simulera olika scenarier och observera systemets svar.
* Testa systemet: Genom att jämföra faktiskt beteende med modellens förutsägelser.
Förhållandet mellan funktionella och beteendemodeller:
* Kompletterande: De arbetar tillsammans för att ge en omfattande förståelse av programvarusystemet.
* hierarkiskt: Funktionella modeller ger ofta vyn på hög nivå, medan beteendemodeller fördjupar detaljerna.
* iterative: Modeller förfinas ofta och uppdateras under hela programvaruutvecklingsprocessen.
Exempel:
Låt oss överväga ett enkelt online -shoppingsystem.
* Funktionell modell:
* Ett användningsfall för "Placera en beställning" skulle beskriva stegen som är involverade i interaktionen mellan en användare och systemet.
* Ett dataflödesdiagram skulle visa flödet av data mellan användargränssnittet, kundvagnen och beställningsbehandlingssystemet.
* Beteendemodell:
* Ett sekvensdiagram kan skildra sekvensen för interaktioner mellan användargränssnittet, databasen och beställningsbehandlingssystemet när man gör en beställning.
* Ett tillståndsmaskindiagram kan visa de olika tillstånden i en beställning, från "placerad" till "skickas" till "levererad."
Genom att använda både funktionella och beteendemodeller kan programvaruingenjörer skapa en tydlig och fullständig representation av programvarusystemet, vilket säkerställer att det uppfyller kraven och funktionerna som avsedda.