TDT4140 - Programvareutvikling
[TOC]
Intro
Mine notater for TDT4140. De er på norsk, er potensielt fulle av skrivefeil, og sikkert litt faktafeil. Disse er beregnet på personlig bruk, så jeg går ikke inn for noe mer en det jeg forstår og som hjelper meg å huske.
Hvorfor er de her?
Fordi det er digg å skrive Markdown, og her var det enkelt å gjøre de tilgjenglig som pene kompilerte html sider.
Lists
General attributes of software
Maintainablility
Programvare burde skrives så feil kan rettes, og så den kan videreutvikles.
Dependability and security
Om programvaren krasjer skal den ikke kunne ødelegge noe. Brukere skal heller ikke ha mulighet til å ødelegge systemet.
Efficiency
Ikke kast bort system ressurser. Jobb for at systemet er responsivt og kort prosesserings tid.
Accaptability
Systemet skal enkelt kunne forstås og være kompatibelt med systemet de bruker.
Kapittel 1
Software process
- Software specification
- Software design and implementation
- Software validation
- Software evolution
Typer av programvare
- Generisk - eid av utviklingselskap
- Customized - eid av kjøperen
Utfordringer med programvare
Hererogenity
Det skal være fleksibelt nok til å passe sammen med gammel kode/annet språk.
Business and social change
Skal kunne tolerere forandinger i bedriften/bruksadferd.
Security and trust
Brukerne skal kunne stole på programmet.
Etikk
- Konfidensialitet
- Kompetanse
- Opphavsrett
- Missbruk av datamaskin
Kapittel 2
Waterfall
Bruk i store komplekse systemer. Det er dyrt å gjøre endringer når man er ferdig med planleggningsfasen. Enkelt for ledelsen å måle fremdrift. 1. Requirements 2. Software design 3. Implementation and unit testing 4. Integration and system testing 5. Operation and maintenance
Inkrementell utvikling
Små leveranser hyppig. Gjør det lett å gi kunden tilbakemeldinger og få inn endringer. * Billig med endringer. * Lettere å få feedback * Får brukt programvaren fra tidlig stadie.
Utfordringer med inkrementell utvikling: * Prosessen er ikke synlig for ledelse. * Endringer i programvare blir gradvis vanskeligere.
Gjenbruksorientert
COTS (Commercial off-the-shelf systems) * Kravspekk er lik som de andre. * Component analysis * Requirements modification * System design with reuse * Development and integration
Komponenter som kan brukes: * Web-tjenester * Samling med objekter som kan integreres med rammeverk. * Stand alone-software