F2 Teknisk arkitektur Flashcards

1
Q

Software Architecture

Vad är definitionen av mjukvaruarkitektur?

A

The software architecture för ett program eller ett datorsystem är strukturen eller strukturerna i systemet, som omfattar:

Software elements,
Externt synliga egenskaper hos dessa element,
Realationen mellan dem

Example: Systemarkitektur, teknisk arkitektur, IT-arkitektur, mjukvaruarkitektur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad menas med “element” i software architecture?

A

En programmodul, t.ex. en komponent, en klass eller en exekverbar fil.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad representerar en “lollipop” i ett UML Component Diagram?

A

O-
En provided interface (API) – funktioner som komponenten erbjuder

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad representerar en “socket” i ett UML Component Diagram?

A

-C
En required interface – funktioner från andra komponenter som komponenten behöver använda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Hur representeras beroenden i ett UML Component Diagram?

A

Med en pil från den beroende komponenten till den den är beroende av.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Ge fyra anledningar till varför arkitektur är viktigt.

A

Management – Dela upp komplexa problem i mindre delar.

Kravhantering – Möjlighet att ställa krav på modulnivå.

Vidareutveckling – Frikoppla delar i systemet för att minska påverkan vid ändringar.

Underhåll – Gör systemet lättare att förstå och underhålla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Vilka två begrepp används för att bedöma hur modulär en arkitektur är?

A

Cohesion (sammanhållning)

Coupling (koppling).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad innebär high cohesion och low coupling?

A

Det är en bra arkitektur där moduler är väl sammanhållna internt men löst kopplade till andra moduler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad innebär low cohesion och high coupling?

A

Det är en dålig arkitektur där moduler har dålig intern sammanhållning och är starkt beroende av andra moduler.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Nämn fyra egenskaper som påverkar design och utveckling av arkitektur.

-illites

A

Maintainability – Hur lätt systemet kan underhållas över tid.

Extensibility – Hur lätt ny funktionalitet kan läggas till.

Portability – Hur lätt det är att flytta systemet till en annan plattform.

Interoperability – Hur väl systemet kan integreras med andra system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nämn tre egenskaper som påverkar systemets prestanda vid körning.

-illites

A

Availability – Systemets tillgänglighet (”uptime”).

Scalability – Systemets förmåga att hantera ökad belastning.

Performance – Systemets svarstid på förfrågningar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vilka är de fyra huvudsakliga vyerna för arkitekturdokumentation?

A

Logiska moduler

Information

Fysiska strukturer

Processer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är skillnaden mellan skikt och lager i arkitektur?

A

Skikt (tiers) är en fysisk indelning av datorer i ett nätverk.

Lager (layers) är en logisk indelning av programvarans funktioner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Lager (layers) – logisk indelning

A

Presentation: Vanligtvis grafiskt användargränssnitt, med tillhörande logik.

Business logic: Innehåller regler för verksamheten (”tex alla kunder som köper över 1000kr får fri frakt”), beräkningar, databearbetning.

Database: Lagring av information, sökning av information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad kännetecknar en en-skikts arkitektur?

A

All funktionalitet i en enda enhet eller applikation.

Användaren interagerar direkt med applikationen, som hanterar både logik, data och användargränssnitt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad kännetecknar en två-skikts arkitektur?

A

Systemet delas upp i två separata delar:

Klient – Användarens gränssnitt och viss applikationslogik

Server – Databashantering och eventuell affärslogik

17
Q

Vad kännetecknar en tre-skikts arkitektur?

A

Delar upp systemet i tre lager:

Presentation – Användargränssnittet (t.ex. webbapplikation eller mobilapp)

Business Logic – Behandlar regler, datahantering och processer

Databaslager – Lagrar och hämtar data

18
Q

Vad kännetecknar en multi-skikts arkitektur (n-tier)?

A

Multiskiktsarkitektur är en vidareutveckling av treskiktsarkitektur där fler lager läggs till.

19
Q

Vad är en Application Server?

A

En server som fungerar som värd för programkomponenter och erbjuder funktioner såsom transaktionshantering och distribution.

20
Q

Vad är en Integration Server?

A

En server som fokuserar på att ansluta olika system via färdiga adaptrar och dataomvandlingar.

21
Q

Vad är en Message Queue Server?

A

En server som hanterar asynkron meddelande-kö, vilket möjliggör lös koppling mellan sändare och mottagare.

22
Q

Vad är en Business Process Server?

A

En server som exekverar processbeskrivningar och hanterar parallell exekvering, synkronisering och långvariga transaktioner.

23
Q

Vad är en Portal Server?

A

En server som integrerar information från flera system i en användarvänlig webbaserad gränssnitt.

24
Q

Vilken typ av produkt är “Product A”, som integrerar SAP och icke-SAP-system?

A

Integration Server

25
Q

Vilken typ av produkt är “Product B”, som erbjuder federerad sökning och identitetsbaserad innehållsleverans?

A

Portal Server

26
Q

Vilken typ av produkt är “Product C”, som stödjer SOA-applikationer och tjänster?

A

Application Server