Component level design Flashcards
Hvad er component level design?
systemet nedbrydes i mindre uafhængige komponenter, der kan udvikles, testes og vedligeholdes seperat.
Hvad er en component?
En byggeklods i software, der kan:
-Genbruges – Bruges i flere projekter.
-Udskiftes – Let at erstatte med en anden.
-Forbindes – Har “stik” (interfaces) til at samarbejde med andre.
Hvordan arbejder komponenter sammen?
gennem veldefinerede interfaces
Hvad definerer en genbrugelig komponent?
Den løser én opgave og kan forbindes med andre byggeklodser gennem interfaces.
Tænk på den som en LEGO-klods:
Modulær: Passer sammen med andre klodser.
Genbrugelig: Kan bruges i mange forskellige bygninger.
Har stik (interfaces): Så den kan kobles rigtigt på
Komponenter med et objektorienteret syn
En komponent er en klasse fra et program, men med flere detaljer.
Den har funktioner (interfaces), f.eks.:
-computeJob – Beregner prisen på et printjob.
-initiateJob – Sender jobbet videre.
Komponenter med et traditionelt syn (moduler)
En komponent er en del af programmet, der laver en bestemt opgave.
Der er tre typer:
-Kontrol-komponent: Styrer andre dele.
-Problem-komponent: Løser en konkret opgave.
-Infrastruktur-komponent: Hjælper med tekniske ting (f.eks. databaseadgang).
Komponenter med et proces-orienteret syn
Komponenter designes med genbrug for øje.
De beskrives med:
-Interfaces: Hvordan de taler med andre.
-Funktioner: Hvad de kan.
-Samarbejde: Hvordan de arbejder sammen
Component-Based Development (CBD)
CBD handler om at bygge programmer af færdige komponenter
Trusselsmodellering (Threat Modeling)
For at beskytte systemet mod angreb undersøger man:
-Hvordan kan systemet blive angrebet?
-Hvilke svagheder findes der?
-Hvordan kan de forhindres?
Komponenter er grundstenene i software. Hvis de designes godt, bliver programmer?..
-Hurtigere at bygge
-Billigere at vedligeholde
-Mere stabile
Hvad viser et UML-Komponentdiagram?
Hvordan komponenter arbejder sammen.
Hvilke interfaces (stik) de bruger for at tale med hinanden.
Komponentbaseret Udvikling (CBD)
Hvordan designer man komponenter trin-for-trin?
1️⃣ Find klasser og komponenter.
2️⃣ Definér deres samarbejde (med f.eks. samarbejdsdiagrammer).
3️⃣ Beskriv deres opførsel (med tilstands- og aktivitetsdiagrammer).
4️⃣ Lav en implementeringsplan (med implementeringsdiagram).
Hvad er et Work Product?
Et work product er hver komponent, der skabes under designprocessen, og som vises med:
-Grafisk notation (fx UML-diagrammer)
-Tabelnotation (fx skemaer eller tabeller)
-Tekstbaseret notation (fx pseudokode eller beskrivelser)
Work productet er hovedresultatet af designarbejdet og gennemgås for at sikre kvaliteten.