Spørsmål til Eksamen Flashcards
Hva er smidig utvikling?
Tverrfaglige team, product backlog og sprinter med time boxer.
Hva er suksesskriteriene for å utvikle programvare?
Lever til deadline, hold budsjettet, møt kundens forventninger og vedlikehold et velfungerende team
Hva slags risikotyper har man i sammenheng med utvikling av programvare?
Teknologi, Mennesker, Organisatorisk, Verktøy, Krav og Estimering
Hvordan oppnå effektive team?
En god blanding mennesker, organisere teamet slik at alle kan bidra på sitt beste, en god teamfølelse og kommunikasjon
Hva er kjerneideen i smidig utvikling?
Iterering gjennom product backlog
Hvordan gjøres Systemspesifikasjon i Scrum?
User stories
Som [ROLLE] ønsker jeg [FUNKSJON] for å oppnå [NYTTEVERDI]
Hva er de viktige prinsippene i LEAN?
JIT, Tilfredsstille kunden, Flyt, Visualisering, Unngå Waste og Støtte opp om endringer
Hva er JIT?
Ikke lag noe før det er etterspurt
Ikke ta endelige avgjørelser for tidlig
Unngå Waste
Hva er Waste?
Alt som krever ressurser men som ikke gir verdi for kunden
Hva er de viktigste årsakene til Waste?
Kompleksitet, Skalere opp i stedet for flyt og Teknisk gjeld
Hva er Teknisk gjeld?
“Shortcuts” som tas i utvikling og vedlikehold for å oppnå kortsiktige fordeler. Men som i det lange løp l føre til økte kostnader på vedlikehold og videreutvikling
Hva er hensikten med domenemodellen UML?
Forstå objektene og få en oversikt over terminologi
Hva er generalisering i UML?
Generalisering i UML er en måte å dele inn spesifikke og generelle attributter på gjenstander for å håndtere kompleksitet. Det gjøres når det er felles egenskaper i ulike klasser, for eksempel Person og Student
Hva er generalisering i Objektorienterte Språk?
Generalisering i objektorienterte språk er implementert ved arv (inheritance)
Hva er kjennetegn på god design?
Gjør det den skal
Lett å forstå
Enkel og elegant
Gjenbrukbar og Utvidbar
Hva er Ekspertprinsippet?
La det objektet som har kunnskapen (dataene) også behandle den
Hva er Skaperprinsippet?
Legg ansvar for å opprette et nytt objekt i klassen som må vite om det nye objektet
Hva er Kontrollobjektprinsippet?
To typer basert på størrelsen av systemet, handler om hvilken klasse som har ansvar for å behandle en systemhendelse/melding
Hva er kohesjon?
Kohesjon er et mål på hva slags og hvor fokusert ansvar et objekt har. Et objekt som har moderat ansvar innenfor et begrenset funksjonelt område har høy kohesjon.
Hva er kobling?
Kobling er et mål på hvor sterkt et objekt er knyttet il andre objekter. Et objekt med høy kobling er avhengig av mange andre objekter, noe som kan gjøre endring vanskelig
Hvilke typer angrep kan prosjektoppgaven være sårbar for?
DDoS angrep og hvis man legger til en bruker database; SQL injections
Hva er de vanligste sikkerhetskontrollene?
Input filtrering, Kryptering, Logging, Autentisering, Tilgangskontroll og Backup
Hva er versjonshåndtering?
Et verktøy som lar oss samarbeide med andre på ett eller flere prosjekter, håndtere og overvåke endringer
Hva er Git?
Et versjonshåndteringssystem (VCS) for å håndtere og administrere endringer av filer og eventuelt koordinere når flere samarbeider
Hva er et distribuert versjonshåndteringssystem?
Brukerne speiler hele repoet istedet for å stadig hente ut det nyeste filene (i.e. sentralisert). Med andre ord har alle brukere har en kopi av repoet. Feks. Git
Hva inngår i den fundamentale testprosessen?
Planlegge, Analysere og Designe, Implementere og Eksekvere, Evaluere og Test Closure activities