Design & implementation Flashcards

1
Q

Förklara begreppet completness kopplat till krav och design/implementation

A

Att man ska täcka in alla krav i designen

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

Förklara begreppet consistency kopplat till krav och design/implementation

A
  • Samma vokabulär behålls från krav till design
  • Konsekvent i hur kommunikation sker i exempelvis felmeddelande
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Förklara vilka metrics man utgår ifrån för Halsteads Complexity Metric och vad denna kan användas för att mäta.

A

Metrics vi räknar är
- n1: antalet unika operatorer, eg. if, for, while etc.**
- n2: antalet unika operander, eg. variabler, konstanter
- N1 - summan av alla förekomster av n1 (har vi två if-satser och en while-loop blir N1 = 3)
- N2 - summan av alla operander (hur många gånger används operanderna)

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

Vad räknas Halsteads Complexity Metrics ut?

A

Mäter storlek på kod som en form av intern komplexitet, men inte enbart antal rader. utan tar hänsyn till vads om finns på raderna.

Baserat på metrics räknar vi ut:

Program vocabulary (hur stort ordförråd behövs för att förstå) = n = n1 + n2
Program length N = N1 + N2

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

Ge exempel på vad som är bra egenskaper för design.

A

(1) Readability - hur lätt det är att förstå design och kod
(2) Maintainability - hur lätt är systemet att modifiera och underhålla
(3) Performance - hur effektiv koden är
(4) Traceability - kan vi koppla ihop krav-design-kod-test, kan man förstå valen som finns i designen? Vilken kod med vilka test?
(5) Correctness - gör koden vad som avses
(6) Completeness - är alla krav uppfyllda?

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

Coincidental cohesion

A

Slumpmässig cohesion, kod gör orelaterad saker. Låg cohesion.

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

Logical cohesion

A

Liknande uppgifter på ytan, eg samlat alla i/o-kommunikationer trots att dessa kan vara väldigt olika.

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

Temporal cohesion

A

Relaterade uppgifter i ett flöde, eg. initieringar oavsett hur relaterade dessa är till varandra

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

Procedural cohesion

A

Aktiviteter i samma kontrollflöde, lätt hänt i event-drivna system. Eg. nu sparar jag en fil, då sparar vi allt relaterat till det på samma ställe

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

Communicational cohesion

A

Sekvenser av aktiviteter kopplat till en specifik typ av data

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

Sequential/Functional cohesion

A

Ett mål, en modul - eg. allt relaterat till modifiera just den här datan

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

Förklara begreppet coupling.

A

Coupling kollar på hur olika delar hänger samman, låg coupling är bra. Hänger det samman för mycket blir den svår att pilla i utan stor påverkan på andra delar. Hög cohesion kan leda till hög coupling för det krävs fler delar som alla göra sin unika grej

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

Förklara begreppet cohesion.

A

Cohesion handlar om hur väl sammanhållet något är i sitt syfte. Hög cohesion är bra, låg cohesion är dåligt - denna filen göra många olika saker.

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

Content coupling

A

Moduler använder varandras interna data, eg. publika instansvariabler

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

Common coupling

A

Moduler använder samma globala variabler

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

Control coupling

A

Skiftar/lämnar över kontroll från en modul till en annan

17
Q

Stamp coupling

A

Skickar hela strukturer/klumpar av data trots att mottagaren kanske inte behöver all data.

18
Q

Data coupling

A

Skickar data enskilt och endast det nödvändigaste. Låg coupling! Undviker eg. kopior av data

19
Q

Förklara hur cohesion och coupling förhåller sig till varandra.

A

Cohesion definierar mängden av relation mellan två element och coupling mängden självständighet mellan två element. De tar ut varandra och står i konflikt till varandra. Vi vill ha låg mängd relation