Characteristics of a good design
|
|
- Eskild Esben Christoffersen
- 7 år siden
- Visninger:
Transkript
1 Characteristics of a good design (PPT. side 1) Innledning Høykvalitetsdesign bør ha visse karakteristikker for å oppnå kvalitetsprodukter, dvs.: enkelt å forstå enkelt å implementere enkelt å teste enkelt å modifisere riktig oversettelse fra kravspesifikasjonen
2 (PPT. side 2) Vi skal se nærmere på noen forhold som påvirker designkvaliteten (el kvalitetsdesign?) Komponent uavhengighet Unntaksbehandling Feiltoleranse Vi begynner med å se på komponent uavhengighet
3 (PPT. side 3) Komponent uavhengighet I de fleste designtyper streber vi etter størst mulig komponentuavhengighet. Årsaker til dette er blant annet: lettere å vite hvordan en komponent virker hvis den ikke er (intricately: vrien - floket) bundet opp til andre lettere å modifisere en uavhengig komponent uavhengige komponenter hjelper oss til å isolere og rette feil hvis systemfeil spores tilbake gjennom koden
4 (PPT. side 4) For å oppdage og måle graden av komponentuavhengighet i design, har vi tatt for oss to konsepter: Kobling (coupling) Samhørighet (cohesion)
5 (PPT. side 5) Kobling Her er det snakk om koblingen mellom komponenter. Graden av kobling kan deles i flere nivåer: Ukoplet Ingen avhengigheter mellom komponentene Lett kobling Noe avhengighet, men forbindelsen mellom komponentene er svak Høy kobling Dette vi si mange avhengigheter mellom komponentene I praksis vil som regel en total komponentuavhengighet være så å si umulig. Målet er derfor ikke nødvendigvis total uavhengighet, men heller å holde graden av kobling så lav som mulig. Hvorfor lav kobling? Tillater oss å forandre en del av system designet med minst mulig grad av forstyrrelse Lettere å bytte ut komponenter Færre komponenter påvirkes eller må forandres ved forandring/modifikasjon av en annen komponent
6 (PPT. side 6) Koblingen kan måles på en skala av avhengighet som strekker seg fra total uavhengighet til total avhengighet. Content coupling Høy Common coupling Control coupling Stamp coupling Lett Data coupling Uncoupled Lav Typer kobling: Content coupling Den minst ønskelige koblingen. Her modifiserer en komponent en annen. Den modifiserte komponenten blir totalt avhengig av den andre. Common coupling Dette er organisert slik at data er tilgjengelig fra en felles datakilde. Avhengighet eksisterer fortsatt. Det kan være vanskelig å oppdage hvilken komponent som er ansvarlig for å ha gitt en variabel en spesiell verdi. Control coupling Her sender en komponent parametrere for å kontrollere aktiviteten til en annen komponent. Den kontrollerte komponenten kan ikke fungere uten hjelp av den andre. Stamp coupling Her brukes en datastruktur for å sende informasjon fra en komponent til en annen. Det er selve datastrukturen som sendes, og dataverdier, format og organisering må stemme mellom de samarbeidende komponenter. Data coupling Her sendes bare data mellom komponentene. Denne er enklere og gir mindre rom for feil fordi det er lettere å spore data samt å gjøre forandringer. Uncoupled Ingen kobling mellom komponentene. I praksis umulig?
7 (PPT. side 7) Samhørighet (cohesion) Det er slik at mens kobling tar for seg avhengigheten mellom komponenter, så tar samhørigheten for seg den interne måten en komponent er konstruert på. En komponent er samhørende hvis alle elementene i den er rettet mot, og essensielle for, utfører samme gjøremål. Det finnes flere nivåer av samhørighet: Functional (funksjonell) Høy Sequential (sekvensiell) Communicational Procedural Temporal (temporær) Logical (logisk) Coincidental (tilfeldig) Lav Beskrivelse av typene: Coincidental (tilfeldig) Dette er den verste graden, og finnes i en komponent der delene er urelatert til hverandre. Urelaterte funksjoner, prosesser eller data finnes i samme komponent fordi dette tilfeldigvis gjør arbeidet lettere for utvikler. (eks. en komponent som både sjekker en brukers sikkerhetsklassifisering og skriver ut denne ukes lønningsliste) Logical (logisk) Her er flere logisk relaterte funksjoner eller dataelementer plassert i samme komponent. De er ikke funksjonelt relatert til hverandre. (eks. komponent som leser inn alle typer input (fra bånd, disker el. kom. porter) uavhengig av formålet med dataene) Temporal (temporær) Noen ganger brukes en komponent for å initialize et system eller ett sett av variabler. En slik komponent utfører flere funksjoner i sekvens, men funksjonene er kun relatert av involvert timing.?
8 Procedural (rekkefølge) Funksjoner som blir gruppert i en komponent bare for å sikre en bestemt rekkefølgen. (eks. tar imot data dataene sjekkes dataene blir manipulert) Communicational (kommunikasjon) Funksjoner som samles i en komponent fordi de opererer på, eller produserer, det samme datasettet. (eks. har kun en disk- eller tapetilgang: urelaterte data hentes sammen) (Dårlig forklaring) Sequential (sekvensiell) I en slik komponent er output fra en del input til neste del. (Ikke konstruert basert på funksjonell relasjon. Er derfor mulig at komponenten ikke vil constrain tvinge/legge bånd på all prosessering relatert til en funksjon.? Functional (funksjonell) Idealet! Alle funksjoner i komponenten er essensielle for utførelsen av en enkelt funksjon. Komponenten utfører bare funksjonen den er konstruert for å utføre og ingenting annet.
9 (PPT. side 8) Exception handling Når vi driver med design bør vi forsøke å forutse situasjoner som kan føre til problemer med systemet. Dette er ikke lett fordi kravspesifikasjonen, som gjør det klart hva systemet skal gjøre, ikke nødvendigvis forteller hva det ikke skal gjøre. Derfor er det viktig å inkludere exception handling i våres design. Typiske exceptions inkluderer: Klarer ikke å utføre tjeneste Skaffer feil data eller tjeneste Ødelagte data Virkelige eksempler: - harddisken har ikke mer lagringsplass - systemets minne er fult For hver identifisert exception kan vi handle på en av tre måter: Forsøke på nytt Gjenoppretter systemets tilstand slik det var før unntaket inntraff, og forsøker å utføre tjenesten på nytt ved bruk av en annen strategii Rette Gjenoppretter systemet, retter noen aspekter ved det og forsøker igjen å utføre tjenesten ved bruk av samme strategi Rapportere Gjenoppretter systemet, rapporterer problemet og utfører ikke tjenesten. Definisjoner: En exception En uvanlig hendelse som forstyrrer et programs normale flyt Exception handling Prosessen som går ut på å oppdage og handle på exceptions på en konsistent og pålitelig måte Exception vs feil Uttrykket exception brukes istedenfor feil fordi exceptions representerer unormale eller uvanlige forhold som nødvendigvis ikke er feil.
10 (PPT. side 9) DERFOR: For hver tjeneste vi ønsker at vårt system skal utføre må vi identifisere måter det kan feile finne måter å redde det fra feil Her finnes det teknikker som brukes for å hjelpe oss å identifisere disse unntaksforholdene. Dette vil bli gjennomgått i senere presentasjoner. o fault tree analysis (neste kapittel/gruppe) o failure mode analysis (kapittel 9) Det finnes flere teknikker som kan brukes i design for å fange exceptions mens koden kjøres: Checksums og sjekk av tall For å dobbeltsjekke riktigheten til og utregninger Timere
11 (PPT. side 10) Fault Tolerance Systemets evne til å reagere fornuftig på uventede hardware- eller softwarefeil Design skal forsøke å forutse feil og behandle dem på måter som minimaliserer forstyrrelse og maksimerer sikkerhet. Målet er å lage koden så feilfri som mulig ved å legge feilforebygging og feilbehandling inn i designet. En karakteristikk på god design er måten den forhindrer eller tolererer feil. I stedet for å vente på at systemet skal feile og så fikse problemet kan designerne: forutse hva som kan skje og konstruere systemet slik at det reagerer på en akseptabel måte. Det vil si at man inntar en aktiv rolle for å oppdage feil. (Fault correction (Rette feil)) Når feil oppdages må de rettes. Normalt skal feilretting: fikse skadene som feilen førte til forandre produktet slik at feilen fjernes Vår design må inkludere en strategi for behandle feil. To forskjellige strategier er: stoppe systemet når en feil affiserer systemet registrere feilen og systemets status når feilen oppsto, slik at man kan gå tilbake og rette skaden senere Hvor kritisk systemet er avgjørende for valg av strategi. Innenfor områder i luftfart vil for eksempel den første strategien passe svært dårlig. Fault tolerance (Feil toleranse) Mange ganger vil retting av feil bli for dyrt, risikabelt eller upassende. Forsøk har også vist at det praktisk talt er umulig å produsere 100 % feilfri software. Derfor trengs noe for å: hindre at feil i software forårsaker systemkatastrofe maskere softwarefeil hvis mulig Vår design må minimalisere skaden som feilen førte til og så fortsette med liten forstyrrelse for brukerne. Et eksempel kan være et banksystem som svitsjer over til en backup-prosessor, eller lager dobbelt kopi av data og transaksjoner, hvis en prosessor feiler.
12 (PPT. side 11) Det finnes flere strategier for feiltoleranse. Eksempler kan være: Strategier som avhenger av evnen til å forutse hvor feil vil oppstå og når de vil kunne inntreffe. Designerne må være i stand gjette hva som kan gå galt. Strategier som isolerer områder hvor det er sannsynlig at feil kan inntreffe. Neste gruppe vil se på teknikker som skal hjelpe til å lage designet feiltolerant uten å tilføye risiko.
13 (PPT. side 12) Webside Takk for oss J
STE6221 Sanntidssystemer Løsningsforslag
HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,
DetaljerGJENNOMGANG UKESOPPGAVER 9 TESTING
GJENNOMGANG UKESOPPGAVER 9 TESTING INF1050 V16 KRISTIN BRÆNDEN 1 A) Testing viser feil som du oppdager under kjøring av testen. Forklar hvorfor testing ikke kan vise at det ikke er flere gjenstående feil.
DetaljerSystemutviklingen er ferdig når et system er operativt. Med operativt menes når systemet blir brukt av brukerne på et faktisk arbeidssted.
Presentasjon nummer 5 The changing system and the nature of maintenance Silde 1 Gruppen introduseres Slide 2 The changing system and the nature of maintenance The Changing system Systemutviklingen er ferdig
DetaljerGrunnleggende testteori
1 Grunnleggende testteori Industri - og software produkt Industriprodukt: Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes, og justeres så
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)
DetaljerKompleksitetsanalyse Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder
Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder Innhold 1 1 1.1 Hva er en algoritme?............................... 1 1.2
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerTDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python
TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et
DetaljerGrunnleggende testteori
1 Grunnleggende testteori Error-Fault-Failure 2 Error : når en programmerer koder feil eller utelater kode (evt. miljøpåvirkning) årsaken til en fault Fault (defect eller bug): feil i kode kan lede til
DetaljerSIE 4005, 8/10 (3. Forelesn.)
SIE 4005, 8/10 (3. Forelesn.) Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath Tredje forelesning:
DetaljerGJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG
GJENNOMGANG UKESOPPGAVER 2 PROSESSMODELLER OG SMIDIG PROGRAMVAREUTVIKLIG INF1050 V16 HVA ER EN SYSTEMUTVIKLINGSPROSESS? De aktivitetene som utføres for å utvikle et IT-system Eksempler på aktiviteter:
DetaljerKTN1 - Design av forbindelsesorientert protokoll
KTN1 - Design av forbindelsesorientert protokoll Beskrivelse av A1 A1 skal tilby en pålitelig, forbindelsesorientert tjeneste over en upålitelig, forbindelsesløs tjeneste A2. Det er flere ting A1 må implementere
DetaljerInnholdsfortegnelse. 1. Testing Feiltesting av koden Funksjonstesting: Kilder.10
1 Innholdsfortegnelse 1. Testing... 3 1.1 Feiltesting av koden... 3 1.2 Funksjonstesting:... 7 2. Kilder.10 2 1. Testing Testing av et system er nødvendig for å finne ut om systemet fungere slik det skal
DetaljerHash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand
Hash-funksjoner Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Tidligere har vi sett hvordan
DetaljerForelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner
Forelesning 14 og induksjon Dag Normann - 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt om ekvivalensrelasjoner og partielle ordninger. Vi snakket videre om funksjoner.
DetaljerA. På tapen ligger det spor med informasjon lagret som en bølgeform. Et spor per linje med video(fig1)
Formålet med denne rapporten er å utrede om det finnes en mulighet for å modernisere arkivering av analoge tapeformater til en digital råkopi av tapen. Dette er lett å forveksle med digitalisering av bildet
DetaljerDagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache
Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som
Detaljeroppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO
oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6. Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak (exceptions) Utgave 3: Kap. 6 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære bruk av inn- og ut-operasjoner
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt
DetaljerNB: Det er mulig å tegne figurer for hånd på egne ark. Disse må merkes godt og leveres til eksamensvaktene.
To av tre oppgaver skal besvares Oppgavene vektes likt NB: Det er mulig å tegne figurer for hånd på egne ark. Disse må merkes godt og leveres til eksamensvaktene. Oppgave 1 Resilience Engineering er et
DetaljerRepetisjon. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 15: Rekursjon og induksjon. Roger Antonsen
MAT1030 Diskret Matematikk Forelesning 15: og induksjon Roger Antonsen Institutt for informatikk, Universitetet i Oslo Repetisjon 11. mars 2009 (Sist oppdatert: 2009-03-10 20:38) MAT1030 Diskret Matematikk
DetaljerMengder, relasjoner og funksjoner
MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030
DetaljerSteg 1: Lag en figur som bytter drakt
Enarmet banditt Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Gudbrand Tandberg og Anne-Marit Gravem Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Matematikk, Programmering
Detaljer! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
DetaljerKapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process
INF 329 Web-teknologier Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process Navn: Bjørnar Pettersen bjornarp.ii.uib.no Daniel Lundekvam daniell.ii.uib.no Presentasjonsdato:
DetaljerEvaluering av IT-systemer Introduksjon. Monica Kristiansen
Evaluering av IT-systemer Introduksjon Monica Kristiansen 1 Bruk av programvare i kritiske systemer En spennende verden! 2 Avanserte løfteraketter (Ariane 5) 3 Avanserte flyegenskaper 4 Avanserte flyegenskaper
DetaljerOppsummering fra sist
1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2015
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:
DetaljerOversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models
Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
DetaljerMed løkke: Læringsmål og pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5. Mål.
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Utgave 2: Kap. 5 Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære om begrepet løkker
Detaljer- analyse og implementasjon
- analyse og implementasjon Hvem er vi? Vi heter Anders S Finnerud Dennis JMJ Lundh studerer til bachelorgraden i ingeniørfag for data ved Høgskolen i Oslo. Oppgaven Lage et lett system som kan utføre
DetaljerINTELLIGENT SERVICE FOR EN ENKLERE HVERDAG KONE 24/7 CONNECTED SERVICES
INTELLIGENT SERVICE FOR EN ENKLERE HVERDAG KONE 24/7 CONNECTED SERVICES KONE har i samarbeid med IBM gjort heiser smartere. Ved å koble heiser til skyen kan vi samle inn store mengder data ved hjelp av
DetaljerKravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,
Kravspesifikasjon Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 12.01.2013 Public 2013 Aker Solutions Page 1 of 7 Table of Contents Forord... 3 Om bakgrunnen... 3 Presentasjon...
DetaljerPython: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Intro til funksjoner TDT4110 IT Grunnkurs Professor Guttorm Sindre Snart referansegruppemøte Viktig mulighet for å gi tilbakemelding på emnet Pensumbøker Forelesninger Øvingsforelesninger Veiledning
DetaljerOppgave: BOW Bowling. Regler for Bowling. norwegian. BOI 2015, dag 1. Tilgjengelig minne: 256 MB. 30.04.2015
Oppgave: BOW Bowling norwegian BOI 0, dag. Tilgjengelig minne: 6 MB. 30.04.0 Byteasar er glad i både bowling og statistikk. Han har skrevet ned resultatene sine fra noen av gangene han har spilt bowling.
DetaljerEvaluering av It-systemer i et forvaltningsperspektiv. Drift, vedlikehold og videreutvikling av IT-systemet
Evaluering av It-systemer i et forvaltningsperspektiv Drift, vedlikehold og videreutvikling av IT-systemet Bakgrunnen IT-systemer har ofte lenger levetid enn forventet er ofte forretningskritiske utvikler
DetaljerOppsummering. Thomas Lohne Aanes Thomas Amble
Oppsummering Thomas Lohne Aanes Thomas Amble 14.11.04 Kapittel 2: Data Modell Mål: Data som skal brukes av applikasjonen blir spesifisert på en formell og likevel intuitiv måte. Resultat: Vi får et konseptuelt
DetaljerKonfigurasjonsstyring. INF1050: Gjennomgang, uke 11
Konfigurasjonsstyring INF1050: Gjennomgang, uke 11 Kompetansemål Konfigurasjonsstyring Hva og hvorfor? I en smidig sammenheng Endringshåndtering Versjonhåndtering Systembygging Release -håndtering Del
DetaljerPRESENTASJON NORDIG OKTOBER Alle skal kunne teste alt - overalt
PRESENTASJON NORDIG OKTOBER 2017 Alle skal kunne teste alt - overalt Det eksistensielle - Arkivverkets oppgaver Vår oppgave er - - - å dokumentere samtid for ettertid - i den tro at det er nyttig for ettertiden
DetaljerOppgaver til kodegenerering etc. INF-5110, 16. mai, 2014
Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor
DetaljerVerden. Steg 1: Vinduet. Introduksjon
Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller
DetaljerIEC 61508. Hovedprinsipper og veiledning
IEC 61508 Hovedprinsipper og veiledning Stein Hauge SINTEF Tlf: 75 17 33 70 / 930 18 395 haustein@online.no / stein.hauge@sintef.no 1 Bare måtte bruke IEC 61508 1 2 3 4 5 6 7 8 9 1010 1 1212 1313 1414
DetaljerConcurrency. Lars Vidar Magnusson. September 20, Lars Vidar Magnusson () Forelesning i Operativsystemer September 20, / 17
Concurrency Lars Vidar Magnusson September 20, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 20.09.2011 September 20, 2011 1 / 17 Oversikt Concurrency 1 Concurrency Beskrivelse Prinsipper
DetaljerDefinisjon av prosess
Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre
DetaljerØVINGER 2017 Løsninger til oppgaver. Øving 1
ØVINGER 017 Løsninger til oppgaver Øving 1.1. Frekvenstabell For å lage en frekvenstabell må vi telle antall observasjoner av hvert antall henvendelser. Siden antall henvendelser på en gitt dag alltid
DetaljerEnarmet banditt Nybegynner Scratch Lærerveiledning
Enarmet banditt Nybegynner Scratch Lærerveiledning Introduksjon Dette er et spill med tre figurer som endrer utseende. Din oppgave er å stoppe figurene én etter én, slik at alle tre blir like. Steg 1:
DetaljerHva er det? Steg 1: Få flere ting til å vise seg på tavlen. Sjekkliste. Test prosjektet. Introduksjon
Hva er det? Introduksjon Et bilde av en tilfeldig ting vises på tavlen. Men bildet er forvrengt, slik at du må gjette hva det er ved å klikke på et av alternativene som vises under. Desto raskere du gjetter
DetaljerTDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:
DetaljerINF3140 Modeller for parallellitet INF3140/4140: Programanalyse
INF3140/4140: Programanalyse Uke 4, side 1. Hvordan sjekke egenskaper ved programmer? Testing eller debugging øker tilliten til programmet ved prøving, men gir ingen garanti for korrekthet Operasjonell
DetaljerOppgaver til kodegenerering etc. INF-5110, 12. mai, 2015
Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)
DetaljerKapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20
Kapittel 7 & 8 p.1/20 Kapittel 7 & 8 Kravspesifikasjoner & Data design Thomas Tjøstheim og Thomas Edvinsen 20 September 2004 Kapittel 7 & 8 p.2/20 Introduksjon Kravspesifikasjoner består av to underdeler:
DetaljerTestrapport. Aker Surveillance. Gruppe 26. Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo, 24.5.2013. Public 2013 Aker Solutions Page 1 of 5
Testrapport Aker Surveillance Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus Oslo, 24.5.2013 Public 2013 Aker Solutions Page 1 of 5 Innledning I denne rapporten vil vi skrive om testingen som
DetaljerGrunnleggende testteori. Etter Hans Schaefer
Grunnleggende testteori Etter Hans Schaefer Industri- og softwareprodukt Industriprodukt Fysisk produkt Testes under produksjon og til slutt om produktet oppfyller kravene Tilpasses, endres, redesignes,
DetaljerKompleksitet og Beregnbarhet
Kompleksitet og Beregnbarhet 16. September, 2019 Institutt for Informatikk 1 Dagens plan Avgjørelsesproblemer. P EXPTIME NP Reduksjoner NP-kompletthet Uavgjørbarhet UNDECIDABLE DECIDABLE PSPACE NPC NP
DetaljerInnhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1
Innhold Virtuelt minne Paging i mer detalj Felles rammeverk for hukommelseshierarki 02.04.200 Hukommelseshierarki-2 Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet
DetaljerForelesning 11. Relasjoner. Dag Normann februar Oppsummering. Relasjoner. Relasjoner. Relasjoner
Forelesning 11 Dag Normann - 18. februar 2008 Oppsummering Vi har gjort oss ferdige med innføringen av Boolesk mengdelære. Bruk av Venn-diagrammer er et av læringsmålene i dette emnet. Vi så kort på digital
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Tilstand og verditilordning Erik Velldal Universitetet i Oslo 26. februar 2015 Forrige gang 2 I dag Vi blar om til kapittel 3 i SICP.
DetaljerIT Service Management
IT Service Management Forelesning uke 3 Innhold Repetisjon fra forrige uke. Service Operation: Incident Management Repitisjon Service Operation: Finne rette balansen Event Management: Få oversikt over
DetaljerHvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt:
Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: inchar INC inint INI Tegnet eller tallverdien kommer i I registeret. outchar OUTC outint (n) OUTI n outline OLIN I Flink maskinen
DetaljerStyring av feil. Hva vet vi om feil og forhold som gir feil? Hvilke forhold fremmer feil? Hva kjennetegner barrierer vi har mot feil?
Styring av feil Hva vet vi om feil og forhold som gir feil? Hvilke forhold fremmer feil? Hva kjennetegner barrierer vi har mot feil? Tiltak mot feil STYRING AV FEIL Feil Det er menneskelig å feile. Det
DetaljerFILMDRAMATURGI Forelesning 9. november, Medieparken Gjesteforeleser: Eric R. Magnusson 1. årskull DMPro
FILMDRAMATURGI Forelesning 9. november, Medieparken Gjesteforeleser: Eric R. Magnusson 1. årskull DMPro INNHOLD Filmproduksjon Klassisk design Aristoteles Historien Karakterer Object of desire Undertekst
DetaljerKompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon
Kompleksitet IN2010 - algoritmer og datastrukturer Plenumstime / repetisjon Dagens agenda Kompleksitet - hva er det? Avgjørelsesproblemer Kompleksitetsklassene P og NP Reduksjoner - å redusere et problem
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe
DetaljerTeknisk dokumentasjon for Ludosphaera
Teknisk dokumentasjon for Ludosphaera Av Gameguru ved Nikolas Ebbesberg, Silje Helene Lund, Vanessa Storøy Merine, Erik Nystad og Maria Løvland Johansson IN1060 - Vår 2019 Institutt for Informatikk Matematisk-Naturfaglige
DetaljerVerden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide
Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen
DetaljerTestrapport Prosjekt nr. 2011-22 Det Norske Veritas
Prosjekt nr. 2011 22 Testrapport Hovedprosjektets tittel Implementering av plugin og utvikling av wizard for Det Norske Veritas Prosjektdeltakere Magnus Strand Nekstad s156159 Jørgen Rønbeck s135779 Dato
DetaljerHasardidentifikasjon. Hvordan finne ut hva som kan gå GALT FØR det går galt.
Hasardidentifikasjon Hvordan finne ut hva som kan gå GALT FØR det går galt. 1 Hasard (trussel, uønsket hendelse) 2 Hendelse/situasjon som potensielt kan medføre skade på mennesker eller miljø. Bilkollisjon,
DetaljerObligatorisk oppgave 1 INF1050 Foranalyse og kravhåndtering. av Andreas Johansen Alexander Storheill Martin Dørum Nygaard Tobias Langø Aasmoe
Obligatorisk oppgave 1 INF1050 Foranalyse og kravhåndtering av Andreas Johansen Alexander Storheill Martin Dørum Nygaard Tobias Langø Aasmoe Oppgave 1: Bakgrunn for systemet a) Fordeler ved å integrere
DetaljerINF2810: Funksjonell Programmering. Mengder og lokal tilstand
INF2810: Funksjonell Programmering Mengder og lokal tilstand Stephan Oepen & Erik Velldal Universitetet i Oslo Kvinnedagen, 2013 Forrige gang 2 Dagens dont 3 Del 1 Litt mer om hierarkisk data. Representasjon
DetaljerTDT4110 IT Grunnkurs Høst 2014
TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Navn: Linje: Brukernavn (blokkbokstaver): Oppgavesettet
DetaljerMarine Propulsion Control Systems 9000 Series Processor Feilsøking
Marine Propulsion Control Systems 9000 Series Processor Feilsøking System Components Sections B1-2 & B3 Processor(er) Kontroll Spak(er) Push-Pull kabler Elektriske kabler og kontakter Spenning De sju spørsmålene
DetaljerUML-Unified Modeling Language
UML-Unified Modeling Language Use case realisering Designmodellering 21.01.2004 Kirsten Ribu Use Case diagram Klassediagram Oppførselsdiagrammer: Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell Programmering Tilstand og verditilordning Stephan Oepen Universitetet i Oslo 2. mars 2017 Forrige gang 2 I dag 3 Vi blar om til kapittel 3 i SICP. Tilstand og verditilordning. Destruktive
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python
DetaljerLæringsmål og pensum. Inn- og utoperasjoner 21/10/16
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python
DetaljerINF2810: Funksjonell Programmering. Tilstand og verditilordning
INF2810: Funksjonell Programmering Tilstand og verditilordning Erik Velldal Universitetet i Oslo 1. mars 2018 Forrige gang 2 Kode som trær 3 Ved evaluering oversettes kildekoden i et språk først til et
DetaljerDiskret matematikk tirsdag 13. oktober 2015
Eksempler på praktisk bruk av modulo-regning. Tverrsum Tverrsummen til et heltall er summen av tallets sifre. a = 7358. Tverrsummen til a er lik 7 + 3 + 5 + 8 = 23. Setning. La sum(a) stå for tverrsummen
DetaljerSIE 4005, 9/10 (4. Forelesn.)
SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4
DetaljerMål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene
DetaljerModulo-regning. hvis a og b ikke er kongruente modulo m.
Modulo-regning Definisjon: La m være et positivt heltall (dvs. m> 0). Vi sier at to hele tall a og b er kongruente modulo m hvis m går opp i (a b). Dette betegnes med a b (mod m) Vi skriver a b (mod m)
DetaljerTa kontakt i pausen. Viktig at vi kommer i gang med dette arbeidet!
1 Kunnskap for en bedre verden TDT4105 Informasjonsteknologi, grunnkurs Mer om funksjoner. Logiske betingelser og betinget programutførelse (valg). Amanuensis Terje Rydland Kontor: ITV-021 i IT-bygget
DetaljerSteg 1: JafseFisk følger musepekeren
JafseFisk Introduksjon Vi skal nå lage et JafseFisk-spill! Målet i spillet er å hjelpe JafseFisk med å spise alle byttedyrene som svømmer rundt i havet. Steg 1: JafseFisk følger musepekeren Først skal
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) Kapittel 5: Relasjoner MAT1030 Diskret
DetaljerOppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering
Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om
DetaljerTell sekunder. Steg 0: Hva er forskjellig fra før? Introduksjon. I denne oppgaven skal vi lage vårt eget spill!
Tell sekunder Erfaren Elm Introduksjon I denne oppgaven skal vi lage vårt eget spill! Vi lært mye allerede! Her er en oppsummering: Verktøy til Elm-utvikling: Bruke Try Elm til å lage programmer Bruke
DetaljerHashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller
Hashing INF2220 - Algoritmer og datastrukturer HØSTEN 200 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning : Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.2) Kollisjonshåndtering
DetaljerKapittel 5: Relasjoner
MAT1030 Diskret Matematikk Forelesning 11: Relasjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 5: Relasjoner 25. februar 2009 (Sist oppdatert: 2009-03-03 11:37) MAT1030 Diskret
DetaljerLæringsmål og pensum. https://www.youtube.com/watch? v=nkiu9yen5nc
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python Professor Alf Inge Wang 2 https://www.youtube.com/watch? v=nkiu9yen5nc 3 Læringsmål og pensum Mål Lære om
DetaljerPong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon
Pong Introduksjon Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår
DetaljerSteg 2: La løvinnen og papegøyen bevege seg
Ørkenløp Introduksjon Dette er et spill for to, der en papegøye og en løvinne kjemper om å komme først gjennom ørkenen. Hver spiller må trykke en tast så fort og ofte som mulig for å flytte figuren sin,
DetaljerEKSAMEN I FAG SIF8040 - MMI OG GRAFIKK Lørdag 16. august 2003 Tid: kl. 0900-1400
Side 1 av 6 NORGES TEKNISK-NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR DATATEKNIKK OG INFORMASJONSVITENSKAP Faglig kontakt under eksamen: Dag Svanæs, Tlf: 73 59 18 42 EKSAMEN I FAG SIF8040 - MMI OG GRAFIKK
DetaljerOppsummering av digitalteknikkdelen
Oppsummering av digitalteknikkdelen! Følgende hovedtemaer er gjennomgått! Boolsk Algebra! von Neuman-arkitektur! Oppbygging av CPU! Pipelining! Cache! Virtuelt minne! Interne busser 09.05. INF 1070 1 Boolsk
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?
1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten
DetaljerForelesning ISA-nivået Kap 5.1
TDT4160 Datamaskiner Grunnkurs Forelesning 10.11 ISA-nivået Kap 5.1 Dagens tema Instruksjonssettarkitektur (5.1) Hva er ISA? Bakoverkompatibilitet Hva omfatter ISA? Minnemodeller Registre Instruksjoner
DetaljerIN uke 1. Komme i gang med programmering
IN1000 - uke 1 Komme i gang med programmering Plan for forelesingen Hva er programmering? Skrive og kjøre våre første program Variabler Feilmeldinger Innlesing fra tastatur Beslutninger (if) Plan for forelesingen
Detaljer