Föreläsning 1 - Arkitektur Flashcards
Cohesion (Sammanhållning):
Cohesion refererar till graden av inre relation eller sammanhållning inom en modul, komponent eller system. Det mäter hur väl de olika delarna inom en enhet arbetar tillsammans för att uppnå ett gemensamt mål. Ju högre sammanhållning, desto bättre är modulen strukturerad och desto mer fokuserad är dess ansvar. Det finns olika typer av sammanhållning:
Coupling (Koppling):
Coupling refererar till graden av beroende eller koppling mellan olika moduler, komponenter eller system. Det mäter hur mycket en enhet är beroende av en annan. Låg koppling indikerar att ändringar i en enhet har minimal inverkan på andra enheter, medan hög koppling innebär att ändringar i en enhet kan kräva ändringar i många andra enheter.
Logisk indelning (Layers):
Logiskt sett verkar systemet ha en uppdelning i tre lager - presentation, affärslogik och databas. Denna logiska uppdelning är karakteristisk för en skiktad arkitektur.
Presentation:
Vanligtvis grafisk användargränssnitt, med tillhörande logik
Business logic: (“affärslogik”):
Innehåller regler för verksamheten (“t.ex. alla kunder som köper över 10 000 får fri frakt, beräkningar, databearbetning.
Database:
Lagring av information, sökning av information.
En-skikts arkitektur:
innebär att alla lagren i ett system finns på en enda maskin eller enhet. Detta är vanligt förekommande i en-användarsystem där både presentation, affärslogik och databaslogik samexisterar på samma enhet.
Två-skikts arkitektur:
Designstruktur där systemet delas in i två huvudsakliga komponenter eller lager: klientlagret och serverlagret.
Huvudsakliga lager är:
Klientlagret: Ansvarar för presentationen och interaktionen med användaren. Det inkluderar det grafiska användargränssnittet och logik för användarinteraktion.
Serverlagret: Innehåller affärslogik och databasen. Här sker processning och lagring av data.
Fördelar med Två-skikts arkitektur
Enklare underhåll: Genom att separera lager blir det lättare att underhålla och uppgradera systemet eftersom förändringar i presentationen inte direkt påverkar databaslogiken och vice versa.
Bättre skalbarhet: Två-skikts arkitektur kan enkelt skala upp till hantering av cirka 500 användare, vilket gör den lämplig för mindre och medelstora system.
Tre-skiktad arkitektur:
Designstruktur där ett system är uppdelat i tre huvudsakliga komponenter eller lager: klientlagret, applikationslogiklagret och databaslagret.
Vilka är tre-skiktad arkitekturs huvudsakliga lager?
Klientlagret (Presentation): Ansvarar fortfarande för användargränssnittet och interaktionen med användaren, men nu fokuseras på att presentera data och hantera användarens input.
Applikationslogiklagret (Business Logic): Innehåller affärslogiken och processerna som styr hur data bearbetas och presenteras. Detta lager tillhandahåller ökad flexibilitet och skalbarhet genom att separera affärslogiken från presentationen.
Databaslagret: Hanterar lagring och hämtning av data. Databasen är nu åtskild från både presentationen och affärslogiken.
Tre-skiktad arkitektur fördelar
Ökad skalbarhet: Tre-skiktad arkitektur möjliggör enklare skalbarhet eftersom affärslogiken och databasen är separerade, vilket gör det möjligt att distribuera och hantera dem oberoende av varandra.
Bättre integrationsmöjligheter: Affärslogiklagret fungerar som en intermediär som kan underlätta integration med andra system och tjänster.
Lättare att utöka: Strukturen gör det enklare att lägga till eller ändra funktioner eftersom varje lager har en tydlig och självständig uppgift.
Multi-skiktad arkitektur (n-skikt)
Multi-skiktad arkitektur, är en vidareutveckling av tre-skiktad arkitektur där systemet delas in i fler än tre huvudsakliga lager eller skikt.
Denna arkitektur ger ökad flexibilitet, skalbarhet och möjligheten att anpassa sig till olika teknologier och användningsfall.
Fördelar med Multi-skiktad arkitektur
Ökad flexibilitet: Genom att introducera fler lager kan systemet anpassas och struktureras på ett mer detaljerat sätt för att uppfylla specifika krav och behov.
Anpassningsbar till olika teknologier: Multi-skiktad arkitektur möjliggör integration med olika teknologier och enheter, inklusive användning av tunna klienter som webbläsare.
Enkelt att utöka och integrera: Skalbarhet och tillväxt: Strukturen gör det enkelt att lägga till nya funktioner och lager vid behov. Det möjliggör också smidig integration med andra system och tjänster.