Flight Progress Strips System for Air Traffic Control Fag:

Størrelse: px
Begynne med side:

Download "Flight Progress Strips System for Air Traffic Control Fag:"

Transkript

1 Designdokument type: Flight Progress Strips System for Air Traffic Control Fag: Gruppe nr: Veiledere: Versjon: 2.0 Dato: Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky Van Ha PDF format sds_v2.pdf Gruppemedlemmer: Navn: Signatur: Dato: Christian Raspotnig Kjell Gunnar Guttormsen Petter Larsen Eva Sandved Therese Røsholdt Side: 100

2 Innholdsfortegnelse 1 Introduksjon Hensikt Endringsoversikt Scope Muligheter for videreutvikling Hva FPSS ikke gjør Definisjoner og forkortelser Definisjoner Forkortelser Referanser Bøker Artikler Annet Oversikt Arkitektonisk Design Struktur og relasjoner Begrunnelse for objekt orientert design Lag arkitektur Subsystem og moduler arkitektur Objektmodeller Overordnet objekt modell Objekt modell med metoder og 115 attributter, første del Objekt modell med metoder og 116 attributter, andre del Statediagram FPSS FPSS moduler Endre status Sekvensdiagram FPSS mottar FPD fra AFTN Sjekk om strip eksisterer Sortere strip Endre dynamisk flightinformasjon Endre stripstatus Opprette stripboard Opprette GUIArrival strip Opprette GUIDeparture strip Opprette GUITransit strip Detaljdesign Beskrivelse av klassen FPSS Beskrivelse av metoden main Beskrivelse av metoden makegui Beskrivelse av metoden recieve Beskrivelse av metoden splitfpd 130 Side: 101

3 3.1.5 Beskrivelse av metoden addstrip Beskrivelse av metoden addstriptopending Beskrivelse av metoden addstriptoholding Beskrivelse av metoden deletestrip Beskrivelse av metoden exitsystem Beskrivelse av klassen StripCreator Beskrivelse av metoden createstrip Beskrivelse av klassen Strip Beskrivelse av metoden doitall Beskrivelse av metoden setcommonparameters Beskrivelse av get metodene i klassen Strip Beskrivelse av set metodene i klassen Strip Beskrivelse av klassen DepartureStrip Beskrivelse av metoden doitall Beskrivelse av klassen TransitStrip Beskrivelse av metoden doitall Beskrivelse av klassen ArrivalStrip Beskrivelse av metoden doitall Beskrivelse av klassen Check Beskrivelse av metoden checkstripexists Beskrivelse av klassen Sort Beskrivelse av metoden sortstrip Beskrivelse av klassen ChangeDynamicInformation Beskrivelse av metoden changedynamicinformation Beskrivelse av klassen ChangeStatus Beskrivelse av metoden changestatusvectors Beskrivelse av metoden maketransponder Beskrivelse av metoden removetransponder Beskrivelse av klassen PrintOut Beskrivelse av metoden printstrip Beskrivelse av klassen Savebase Beskrivelse av metoden savestrip Beskrivelse av metoden savechanges Beskrivelse av metoden savechangedstatus Beskrivelse av klassen GUIStripboard Beskrivelse av metoden setupgui Beskrivelse av metoden makecolumn Beskrivelse av metoden makecolumn Beskrivelse av metoden makecolumn Beskrivelse av metoden makecolumn Beskrivelse av metoden setcolumnwidth Beskrivelse av metoden getcolumnwidth Beskrivelse av klassen FPSSMenuBar Beskrivelse av metoden makemenubar Beskrivelse av metoden makeclosemenu Beskrivelse av metoden actionperformed Beskrivelse av klassen GUIStripHeader Beskrivelse av metoden setupgui 155 Side: 102

4 3.16 Beskrivelse av klassen GUIStripContainer Beskrivelse av metoden setupgui Beskrivelse av metoden addguistrip Beskrivelse av metoden removeguistrip Beskrivelse av metoden showstrips Beskrivelse av metoden setcontainer Beskrivelse av metoden getcontainer Beskrivelse av klassen GUIStripCreator Beskrivelse av metoden createguistrip Beskrivelse av klassen GUIStrip Beskrivelse av metoden doitall Beskrivelse av metoden setupgui Beskrivelse av metoden addborder Beskrivelse av metoden makecolumn Beskrivelse av metoden makecolumn Beskrivelse av metoden makecolumn Beskrivelse av metoden makefirstpart Beskrivelse av metoden makemiddlepart Beskrivelse av metoden makelastpart Beskrivelse av metoden makecolumn Beskrivelse av metoden makefirstareas Beskrivelse av metoden makelastarea Beskrivelse av klassen GUIDepartureStrip Beskrivelse av metoden doitall Beskrivelse av metoden makecolumn Beskrivelse av metoden makemiddlepart Beskrivelse av metoden makelastpart Beskrivelse av metoden makelastarea Beskrivelse av klassen GUITransitStrip Beskrivelse av metoden doitall Beskrivelse av metoden makelastpart Beskrivelse av metoden makelastarea Beskrivelse av klassen GUIArrivalStrip Beskrivelse av metoden doitall Vedlegg Sporingstabell Forward-from, Detalj Design Backward-to, Detalj Design GUI presentasjon Strip presentasjon Backward-to, Detalj Design Backward-to, Detalj Design Backward-to, Detalj Design XML 181 Side: 103

5 1 Introduksjon 1.1 Hensikt Dette er et dokument som tar for seg grov- og detaljdesign. Grov design er et overordnet design på hvordan programvaren skal bygges opp. Detaljdesign gir en detaljert beskrivelse på hvordan programvaren skal bygges opp. Dokumentet avspeiler SRS, det vil si at alle krav i SRS er dekket opp i SDS. Dokumentet inneholder en modell over systemets arkitektur. Arkitekturen er videre delt opp i pakker og moduler, som videre er delt opp i metoder. Metodene er definert ut i fra hva de skal gjøre Endingsoversikt Fra versjon 1.0 til 2.0 Heading Beskrivelse Dato 1.6 Lagt til endringsoversikt Slettet oversikt 2.1 Oversikt over moduler/komponeneter Ordnet nummerering, alt under tidligere punkt 2.2 har fått nummer Punkt i versjon 1. Endret ordlyd i forhold til begrunnelse for objekt orientert design 3 Gjort om beskrivelse til komponentene (klasser og metoder). Sett på punktene: : Hensikten med komponeneten. Skal være litt mer spesifikk i forhold til virkeligheten Function: Være mer spesifikk når det gjelder input og output Subordinate: Hver klasse har ulike metoder. Disse metodene skal listes opp : Beskrive med pseudokode Slettet punkter som har tomt innhold Gikk gjennom klassene og metodene: ChangeDynamicInformation o changedynamicinformation ChangeStatus o changestatusvectors o maketransponder o removetransponder Check o checkstripexists Gikk gjennom klassene og metodene: PrintOut o printstrip o printupdatestrip o printchangedstatus Savebase o savestrip o savechanges o savechangedstatus Side: 104

6 Sort o sortstrip GUIStripHeader o setupgui GUIStripCreator o createguistrip StripCreator o createstrip Strip o setcommonparameters FPSS o Main o makegui o setup o addstrip o deletestrip o splitfpd o exitsystem Lagt til metodene doitall og en samlet getmetode for klassen Strip. Lagt til metodene addstriptoholding og addstriptopending, samt slettet metodene stripexists og sortstrip i klassen FPSS Gikk gjennom klassene og metodene: FPSSMenuBar o makemenubar o makeclosemenu o makehelpmenu GUIStripboard o setupgui o makecolumn1 o makecolumn2 o makecolumn3 o makecolumn4 GUIStripContainer o setupgui o addguistrip o removeguistrip o showstrips Lagt til metoden actionperformed i klassen FPSSMenuBar. Lagt til metodene setcolumnwidth og getcolumnwidth i klassen GUIStripboard. Lagt til metodene setcontainer og getcontainer i GUIStripContainer. Gikk gjennom klassene og metodene: GUIStrip o SetUpCommonGUI o addborder o makelabels o makeareas Side: 105

7 GUIDepartureStrip o doitall o setupremaininggui o makelabels o makeareas GUITransitStrip o doitall o setupremaininggui o makelabels o makeareas GUIArrivalStrip o doitall o setupremaininggui o makelabels o makeareas DepartureStrip o doitall TransitStrip o doitall ArrivalStrip o doitall Endret rekkefølge på beskrivelse av klasser og metoder så disse kommer mer i naturlig rekkefølge. Henvisningene ang Detaljdesignet er derfor referert ved navn istedenfor avsnittnummer i denne endringsoversikten Endringer gjort i klassen FPSS: Erstattet metoden setup med recieve Endringer gjort i klassen PrintOut Slettet metodene printupdatestrip og printchangedstatus da det viser seg at metoden printstrip utfører de nødvendige funksjoner også for oppdateringer og forandringer Endringer gjort i klassen GUIStrip: Erstattet metoden setupcommongui med metoden setupgui Erstattet metodene makelabels og makeareas med metodene makecolumn1, makecolumn2, makecolumn3, makefirstpart, makemiddlepart, makelastpart, makecolumn4, makefirstareas og makelastarea Endringer gjort i klassen GUIDepartureStrip Slettet metoden setupremaininggui, dekkes av metoden setupgui i GUIStrip Erstattet metodene makelabels og makeareas med make Column1, makemiddlepart, makelastpart og makelastarea Endringer gjort i klassen GUITransitStrip Slettet metoden setupremaininggui, dekkes av metoden setupgui i GUIStrip Erstattet metodene makelabels og makeareas med makelastpart og makelastarea Side: 106

8 Endringer gjort i klassen GUIArrivalStrip Slettet metoden setupremaininggui, dekkes av metoden setupgui i GUIStrip Slettet metodene makelabels og makeareas, dekkes av defaultimplementasjon i GUIStrip Endringer gjort i klassen FPSSMenuBar: Slettet metoden makehelpmenu. Dette fordi gruppen har kommet fram til at minst mulig av stripboardet bør dekkes til da det er viktig at FLL har full oversikt over dette til enhver tid. Hjelp til å bruke FPSS bør i stedet gis i skriftlig form, som brukermanual og oppslag ved arbeidsstasjonen Slettes. Har ikke lengre moduler å spore til Blitt Sletter krav F Lagt inn krav F-36. Oppdatert sporing til F Slettes. Har ikke lengre moduler å spore til Blitt Vedlegg 1. Tegning med GUI uten strip slettes. Skrevet en liten forklaring ang hvike strip som kan ligge under hvilken header Side: 107

9 1.2 Scope FPSS som utvikles skal være en del av hovedsystemet for ATC. FPSS skal lagre strips for generell backup, skrive ut strips for å sikre en kritisk backup-løsning, og presentere strips på skjerm. Disse skal kunne manipuleres på skjerm i henhold til flygekontrolltjenesten. Strips skal inneholde alle relevante data for flygekontolltjenesten for hver enkelt flight. FPSS skal brukes i kontrolltårn som et hjelpemiddel for den FLL som flighten har kontakt med under avgang, landing og eventuelt underveis. Fordelene med dette produktet er at det er enkelt å implementere, samtidig som det ivaretar en sikker og effektiv trafikkavvikling. FPSS vil gi en større mobilitet enn dagens system med tanke på fysisk plassering av arbeidsposisjonen, da FPSS kan kjøres på en PC, eventuelt bærbar PC. Dette gjør det mulig å sette opp og konfigurere PC en hvor som helst på arbeidsstedet som har tilkoblingsmuligheter til nettverk som har kontakt med AFTN. Det vil være enkelt å bytte ut HW-komponenter da FPSS benytter seg av standardutstyr. Gjennom å lagre klareringer og informasjon som gis til flighter, og presentere disse på strips på en forståelig måte, kan FLL lett og raskt skaffe seg oversikt over hvordan han har klarert og informert flighter. Det at all informasjon vises digitalt istedenfor å bli skrevet for hånd på papirstrips minsker risikoen for å misforstå på grunn av uleslig håndskrift. En annen fordel ved digital visning er at uvesentlig informasjon på strips, for eksempel tidligere gitte høydeforandringer, kan fjernes underveis. I motsetning til et stripbord har et digitalt system muligheten til å automatisk logge tidspunkt for forskjellige endringer gitt av FLL. Dette vil gjøre det lettere å avklare eventuelle spørsmål om nødsituasjoner når dette er aktuelt, for eksempel som et hjelpemiddel for Havarikommisjonen ved flyulykker og nesten-ulykker. Dette fordi alle forandringer, med tidspunktet for når forandringen skjedde, blir lagret i en generell backup. Hvis FPSS faller ut har man en kritisk backup, som til enhver tid inneholder en papirutgave av lufttrafikken Muligheter for videreutvikling FPSS skal tilrettelegges for framtidig videreutvikling, og skal benytte seg av teknologi som støtter presentasjon av data på mange ulike måter. Man kan legge til funksjonalitet for å lage en lydfil. Lydfilen kan inneholde ting som blir meddelt FLL eller en flight. Man kan legge til funksjonalitet hvor man oversender klareringer og informasjon til flighter digitalt som tekst, samtidig som det blir formidlet via radio. Det vil være mulig å lage funksjonalitet som automatisk markerer situasjoner som kan bli eller er kritiske direkte på skjerm. Dette kan for eksempel være to flighter som er på kollisjonskurs. FPSS vil i opplæringsøyemed av FLL-aspiranter være effektivt, da man i større grad kan se nøyaktig når klareringer og informasjon blir gitt og skrevet ned. Man kan kombinere FPSS med spesialutstyr som Touchscreen og Pen-Pad Ved å koble arbeidsposisjoner i nettverk vil man kunne legge til funksjonalitet som gjør det mulig å flytte strips fra en arbeidsposisjon til en annen. Side: 108

10 1.2.2 Hva FPSS ikke gjør FPSS tar ikke imot ATFN-change melding, AFTN-delay melding, AFTN-cancel melding og Metar. Vi forutsetter at FPD inneholder korrekt informasjon og vil derfor ikke validere dataene. Hver strip inneholder dynamisk og statisk flightinformasjon. Vi skal ikke kunne forandre den statiske flightinformasjonen. FPSS tar ikke for seg exceptions som blant annet feil ved skriving til printer og lagringsmedium. Vi lager ikke et brukergrensesnitt opp mot databasen som inneholder generell backup. 1.3 Definisjoner og forkortelser Definisjoner Se punkt Forkortelser Se punkt Referanser Bøker: - Software Engineering, Ian Sommerville, Software Engineering, Theory and practice, Shari Lawrence Pfleeger, Practical Object-oirented Development with UML and Java, Richard C. Lee og William M. Tepfenhart, Object-Oriented Design, Peter Coad /Edward Yourdon, Yourdon Press/Prentice Hall, Patterns in Java vol 1, Mark Grand, Wiley, Artikler: - Design Patterns, elements of reusable object-oriented SW, Erich Gamma,, Transition To Object-Oriented Software Development, Mohamed E. Fayad, Wei- Tek Tsai, Milton L. Fulghum, Design Document ICS 52. Krishna Raman - Factory Patterns: Factory Method and Abstract Factory, Bob Tarr, Introduction to Design Patterns, Andre: - DigiStrips (video over digital stips, utviklet i samarbeid med Sentre D etudes De La Navigation Aerienne) Side: 109

11 1.5 Oversikt Punkt 2 tar for seg arkitektonisk design. Vi gir først en oversikt over systemets moduler. Hver modul er beskrevet ut i fra input, output, funksjonalitet og hvilke ressurser som brukes. Deretter har vi gitt en begrunnelse for hvorfor vi har valgt objekt orientert design. Vi deler inn systemet i moduler og subsystem for å vise arkitekturen til systemet. Objektmodellen viser systemets klasser, objekter, metoder og attributter. En overordnet objektmodell viser kardinaliteten mellom de ulike klassene. Andre modeller vi har valgt for å beskrive systemet er: - statediagram viser hvordan hva som må utføres for at tilstanden skal forandres - sekvensdiagram viser hvordan meldinger blir sendt mellom de forskjellige modulene/objektene Punkt 3 tar for seg detaljdesign. Her beskrives hver komponent ut i fra disse momentene:, type, hensikt, funksjon, subordinasjon, avhengighet, grensesnitt, ressurser, prosessering og data. Punkt 4 inneholder vedlegg: - sporingstabellene, forward-from og backward-to. - skjermbilde Side: 110

12 2 Arkitektonisk Design 2.1 Struktur og relasjoner Begrunnelse for objekt orientert design I utviklingen av FPSS planlegger vi å bruke objekt orientert design. Dette fordi FPSS vil bli et system som stadig vil bli utsatt for forandringer og et objekt orientert design legger forholdene til rette for dette. Objektorientering Virkeligheten består av objekter Objekter består av attributter (data) og metoder (operasjoner) Objektene håndterer seg selv Objektene kommuniserer vha meldinger / funksjoner Objekt orienterte systemer er lettere å vedlikeholde på grunn av at objektene er uavhengige. De kan bli forstått og modifisert som stand-alone entiteter. Dersom man forandrer implementasjonen av et objekt eller legger til tilleggstjenester trenger ikke dette å forandre andre systemobjekter. Objekter er potensielt gjenbrukbare komponenter fordi tilstand og operasjoner er innkapslet uavhengig av andre objekter. Design kan bli utviklet ved bruk av objekter som har blitt laget i tidligere design. Dette reduserer design-, programmerings- og valideringskostnadene. Det kan også føre til at man benytter standard objekter (som forbedre design forståelsen) og det reduserer risikoen involvert i software utviklingen Lag arkitektur <<subsystem>> innsamling innsamlingslaget. Objektene er opptatt av å motta data fra ekstern kilde <<subsystem>> prosessering prosesseringslaget. Objektene er opptatt med å prosessere samlede data <<subsystem>> Backup Backuplaget. Ojektene er opptatt med å lagre generell og kritisk data <<subsystem>> Vise / endre data Vise-datalaget. Objektene er opptatt med å presentere og endre dataene Side: 111

13 2.1.3 Subsystem og modularkitektur FPSS <<subsystem>> innsamling <<subsystem>> prosessering <<subsystem>> Backup <<subsystem>> Vise / endre data Side: 112

14 <<subsystem>> innsamling <<subsystem>> prosessering Mottar data <<subsystem>> konvertering Sortere Sjekke data <<subsystem>> Backup <<subsystem>> Vise/endre data Fremvisning Utskrift Arkivere <<subsystem>> All endring <<subsystem>> konvertering Konvertere til XML Lage strip Side: 113

15 2.1.4 Objektmodeller Overordnet objekt modell Side: 114

16 Objekt modell med attributter og metoder, første del Side: 115

17 Objekt modell med attributter og metoder, andre del Side: 116

18 2.1.5 Statediagram FPSS Side: 117

19 FPSS moduler Side: 118

20 Endre status Side: 119

21 2.1.6 Sekvensdiagram Sekvensene dokumenterer interaksjoner som utføres mellom objekter FPSS mottar FPD fra AFTN Side: 120

22 Sjekk om strip eksisterer Sortere strip Side: 121

23 Endre dynamisk flightinformasjon Side: 122

24 Endre stripstatus Side: 123

25 Opprette Stripboard Side: 124

26 Opprette GUIArrival strip Side: 125

27 Opprette GUIDeparture strip Side: 126

28 Opprette GUITransit strip Side: 127

29 3 Detaljdesign 3.1 Beskrivelse av klassen FPSS Subordinate Dependencies FPSS Klasse Starter programmet, lager GUI, tar imot FDP, sjekker om strip eksisterer fra før, oppretter strips, sorterer strips og legger til og fjerner strips fra stripboard Inneholder metodene main, makegui, recieve, stripexsists, splitfpd, addstrip, addstripstopending, addstripstoholding, deletestrip, sortstrip, og exitsystem FPSS er relatert til GUIStripBoard, ChangeDynamicInformation, ChangeStatus, Check, Sort, PrintOut, Savebase, Strip og StripCreator Instansieres av metoden main Beskrivelse av metoden main main Starter opp programmet FPSS Kaller opp konstruktøren i FPSS Beskrivelse av metoden makegui makegui Opprette et GUI. FLL trenger et GUI å jobbe mot. Kalles opp av konstuktøren til FPSS Instansierer et GUIStripboardobjekt Setter en WindowListener på GUIet Kaller showmetode for GUIet GUIStripboard: guisb Side: 128

30 3.1.3 Beskrivelse av metoden recieve Function recieve FPSS må kunne motta data fra AFTN Mottar en AFTN Flight Plan melding Kalles opp når FPSS mottar en AFTN Flight Plan melding Kaller opp splitfpd Tar imot en AFTN Flight Plan melding Sjekker om meldingen er mottatt tidligere, er den det lages ikke noen strips. Er meldingen ikke mottatt tidligere kalles metoden splitfpd String: strfpd Side: 129

31 3.1.4 Beskrivelse av metoden splitfpd Function splitfpd Funksjon FPD må splittes opp i sine enkelte elemeter. Dette for å kunne lage en strip Mottar strfpd som inneholder hele FPDen Returnerer vectorfpd Kalles opp av recieve Skiller de 6 linjene i strfpd fra hverandre med stringtokenizer og legger dem i en array Deler opp linjene videre med stringtokenizer og substrings Tidspunkter blir gjort om til GregorianCalender-objekter, for å få ETA plusses EET på ATD Legger GregorianCalender-objektene og de aktuelle substringene i vectorfpd i samme rekkefølge som de forekommer i AFTN-meldingen Returnerer vectorfpd String: strfpd, inneholder en AFTN-melding StringTokenizer: tokens, skiller linjene i strfpd String array: lines, representerer hver enkelt linje i strfpd Vector: vectorfpd, til å legge elementer for å lage en strip i StringTokenizer: line1, deler opp linje 1 StringTokenizer: line2, deler opp linje 2 Integer: hours1, timeantallet i ETD Integer: minutes1, minuttantallet i ETD GregorianCalendar: cal1, representerer ETD StringTokenizer: line4, deler opp linje 4 String: firstpart, representerer første del av linje 4 String: secondpart, representerer siste del av linje 4 Integer: hours2, timeantallet i EET Integer: minutes2, minuttantallet i EET GregorianCalendar: cal2, representerer ETA Side: 130

32 3.1.5 Beskrivelse av metoden addstrip Function addstrip Hver strip skal være et objekt og for å få tak i objektene må de legges i den rette vectoren Mottar en vector, fpd. Innholdet i vectoren brukes til å lage en eller to strips Kalles opp av recieve Instansierer en vector, newstrips. Kaller metoden createstrip i klassen stripcreator med mottatt vector som argument. createstrip returnerer en vector med strip-objekter som legges i vectoren newstrips. Går gjennom alle strips i newstrips og sjekker status for disse Hvis status er pending: sendes strip til metoden addstriptopending Hvis status er holding: sendes strip til metoden addstriptoholding Vector: fpd Vector: newstrips Enumeration: e Strip: newstrip Beskrivelse av metoden addstriptopending Function addstriptopending Transitstrip skal legges i en vector, få et GUI og legges rett i pendingcontaineren på stripboardet Mottar stripobjekt som skal legges i en vector Kalles opp av metoden addstrip Kaller opp addguistrip i klassen GUIStripContainer Mottar et stripobjekt. Legger stripobjektet i vectoren pendingstripsvector Sender stripobjektet til metoden addguistrip i klassen GUIStripContainer Strip: striptoadd Vector: pendingstripsvector GUIStripContainer: pendingcontainer Side: 131

33 3.1.7 Beskrivelse av metoden addstriptoholding Function addstriptoholding Departure- og arrivalstrip skal etter de er sorterte legges i en liste Mottar stripobjekt som skal legges i en vector Kalles opp av metoden addstrip Mottar et stripobjekt. Legger stripobjektet i vectoren holdingstripsvector Strip: striptoadd Vector: holdingstripsvector Beskrivelse av metoden deletestrip Function deletestrip Sletter en strip i handoffstripsvector Mottar stripobjektet som skal slettes Kalles opp fra en metode som hele tiden sjekker strips i handoffcontaineren Mottar strip som skal slettes Finner strip som skal slettes i handoffstripsvector Sletter strip fra en handoffstripsvector Strip: striptodelete Vector: handoffstripsvector Side: 132

34 3.1.9 Beskrivelse av metoden exitsystem exitsystem Å lukke FPSS på en forsvarlig måte Kalles opp av WindowListener i makegui Sjekker om containerne på stripbordet er tomme - Er alle containerne tomme lukkes FPSS - Er alle containerne tomme bortsett fra handoffcontainer, blir FLL spurt om han likevel vil avslutte. Svarer FLL ja lukkes FPSS, svarer han nei beholdes FPSS åpent - Er det strips igjen i noen andre containere enn handoffcontainer vil FPSS ikke lukkes, og FLL vil få beskjed om dette 3.2 Beskrivelse av klassen StripCreator Subordinates Dependencies StripCreator Klasse Sørger for at Strip som blir laget er av den riktige typen (DepartureStrip, TransitStrip eller ArrivalStrip) Inneholder metoden createstrip StripCreator er relatert til FPSS, Strip, DepartureStrip, TransitStrip og ArrivalStrip Mottar data fra FPSS og sender det videre til Strip Side: 133

35 3.2.1 Beskrivelse av metoden createstrip createstrip Funksjon Function Lager strip av den riktige typen ut i fra mottatt FPD Mottar en fpd vector som inneholder mottatt data Sjekker hvilken strip/strips som skal lages, lager den/dem og legger den/dem i en vector. Returnerer vectoren Mottar data fra FPSS Mottar en vector, fpd Lager en ny vector som skal inneholde den/de ny stripene Henter frem element 3 (ADEP) og 8 (ADES) i fpd vectoren Legger disse elementene inn i stringer, adep og ades Sjekker om disse strengene er like stringen i workstation Hvis begge strengene er lik innholdet i workstation lages både en departure- og arrival strip - Setter stripclass til lik classd - Instansierer strip - Kaller metoden doitall i klassen strip med vectoren fpd som argument - Legger det nye stripobjektet inn i den nye vectoren - Setter stripclass til lik classa - Instansierer strip - Kaller metoden doitall i klassen strip med vectoren fpd som argument - Legger det nye stripobjektet inn i den nye vectoren Hvis kun ades er lik inneholdet i strengen workstation lages kun en departurestrip - Setter stripclass til lik classa - Instansierer strip - Kaller metoden doitall i klassen strip med vectoren fpd som argument - Legger det nye stripobjektet inn i den nye vectoren Hvis kun adep er lik inneholdet i strengen workstation lages kun en departurestrip - Setter stripclass til lik classd - Instansierer strip - Kaller metoden doitall i klassen strip med vectoren fpd som argument - Legger det nye stripobjektet inn i den nye vectoren Hvis ikke inneholdet i ades eller adep er like innholdet i workstation så lages det en transitstrip - Setter stripclass til lik classt - Instansiere strip - Kaller metoden doitall i klassen strip med vectoren fpd som argument - Legger det nye stripobjektet inn i den nye vectoren Returnerer vectoren Vector: fpd, strips String: aped, ades, workstation Class: classt, classd, classa, stripclass Strip: strip1, strip2 Side: 134

36 3.3 Beskrivelse av klassen Strip Subordinates Dependencies Strip Abstrakt klasse Lager komponentene som er felles for alle dens subklasser Inneholder metodene doitall, setcommonparameters, get, getstatus, getfromstatus, getcallsign, getaircraft, getwaketurbulencecatergory, getadep, getetd, gettas, getplannedflightlevel, getflightroute, getades, geteta, getremarks, getheading, getheadings, getaltitude, getaltitudes, setstatus, setfromstatus, setetd, settas, setplannedflightlevel, setflightroute, seteta, setremarks, setheading, setoldheadings, setaltitude, setoldaltitudes Har subklasser DepartureStrip, TransitStrip, ArrivalStrip Strip er relatert til FPSS og StripCreator Mottar flightplanvector fra subklassen String: type, status, fromstatus, callsign, aircraft, waketurbulencecategory, adep, tas, plannedflightlevel, flightroute, ades, remarks, heading, altitude Vector: oldheadings, oldaltitudes GregorianCalendar: etd, eta Beskrivelse av metoden doitall Function doitall Abstrakt prosedyre Å tvinge alle subklassene til å inneholde en implementasjon av metoden Mottar fpd vector Vector: inneholder flight plan data Side: 135

37 3.3.2 Beskrivelse av metoden setcommonparameters Function setcommonparameters Å sette verdier på variabler som subklassene har felles og hvor verdiene er de samme for alle subklassene Mottar fpd vector Mottar fpd vector fra en av subklassene Trekker ut verdiene i hvert element i fpd vectoren callsign skal inneholde element 0 aricraft skal inneholde element 1 waketurbulencecategory skal inneholde element 2 adep skal inneholde element 3 etd skal inneholde element 4 tas skal inneholde element 5 plannedflightlevel skal inneholde element 6 flightroute skal inneholde element 7 ades skal inneholde element 8 eta skal inneholde element 9 remarks skal inneholde element 10 String: callsign, aircraft, waketurbulencecategory, adep, tas, plannedflightlevel, flightroute, ades, remarks GregorianCalendar: etd, eta Side: 136

38 3.3.3 Beskrivelse av get metodene i klassen Strip Function get, getstatus, getfromstatus, getcallsign, getaircraft, getwaketurbulencecatergory, getadep, getetd, gettas, getplannedflightlevel, getflightroute, getades, geteta, getremarks, getheading, getoldheadings, getaltitude og getoldaltitudes Funksjon Når verdiene er satt må de kunne hentes frem av andre metoder Returnere de verdiene som er satt i Strip-objektet Returnere de verdiene som er satt i Strip-objektet Status FromStatus Callsign Aircraft WakeTurbulenceCategory Adep Etd Tas PlannedFlightLevel FlightRoute Ades Eta Remarks Heading OldHeadings Altitude OldAltitudes String: callsign, aricraft, waketurbulencecategory, adep, tas, altitude, flightroute, ades, remarks, heading, altitude Vector: oldheadings, oldaltitudes GregorianCalendar: etd, eta Side: 137

39 3.3.4 Beskrivelse av set metodene i klassen Strip Function setstatus, setfromstatus, setetd, settas, setaltitude, setflightroute, seteta, setremarks, setheading, setoldheadings, setaltitude, setoldaltitudes For å kunne sette verdier på variabler når FLL gjør endringer i dynamiske flightinformasjon eller status i strips Setter variablene til de verdier metodene får som input Setter variablene til de verdier metodene får som input Status FromStatus Etd Tas FlightRoute Eta Remarks Heading OldHeadings Altitude OldAltitudes String: status, fromstatus, tas, flightroute, remarks, heading, altitude Vector: oldheadings, oldaltitudes GregorianCalendar: etd, eta 3.4 Beskrivelse av klassen DepartureStrip Subordinates Dependencies DepartureStrip Subklasse av Strip Lager et DepartureStrip-objekt Inneholder metodene doitall DepartureStrip er relatert til Strip og StripCreator Mottar flightplanvector fra StripCreator Side: 138

40 3.4.1 Beskrivelse av metoden doitall doitall Å sette verdier på variabler i DepartureStrip Mottar data fra StripCreator Kaller opp metoden setcommonparameters i superklassen Strip Setter verdier på variabler som er unike for DepartureStrip Vector: flightplanvector 3.5 Beskrivelse av klassen TransitStrip Subordinates Dependencies TransitStrip Subklasse av Strip Lager et TransitStrip -objekt Inneholder metodene doitall TransitStrip er relatert til Strip og StripCreator Mottar flightplanvector fra StripCreator Beskrivelse av metoden doitall doitall Å sette verdier på variabler i TransitStrip Mottar data fra StripCreator Kaller opp metoden setcommonparameters i superklassen Strip Setter verdier på variabler som er unike for TransitStrip Vector: flightplanvector Side: 139

41 3.6 Beskrivelse av klasse ArrivalStrip Subordinates Dependencies ArrivalStrip Subklasse Lager et ArrivalStrip -objekt Inneholder metodene doitall ArrivalStrip er relatert til Strip og StripCreator Mottar flightplanvector fra StripCreator Beskrivelse av metode doitall doitall Å sette verdier på variabler i ArrivalStrip Mottar data fra StripCreator Kaller opp metoden setcommonparameters i superklassen Strip Setter verdier på variabler som er unike for ArrivalStrip Vector: flightplanvector 3.7 Beskrivelse av klassen Check Subordinates Dependencies Check Klasse Når FPSS mottar data fra AFTN sjekker Check om mottatt data finnes i systemet fra før. Skal kun ha unike FDPer i FPSS Inneholder metoden checkstripexists Check brukes av klassen FPSS for å sjekke om mottatt FPD er unik. Check har metode som returnerer true eller false avhengig om mottatt FPD finnes eller ikke Får data fra klassen FPSS og leverer prosessert data til samme klasse Side: 140

42 3.7.1 Beskrivelse av metoden checkstripexists Function Dependencies checkstripexists Funksjon Sjekker om mottatt data finnes i FPPS Metoden tar i mot callsign, adep, etd, vector med stripsvectorer fra FPSS. Når metoden har sjekket om dataene finnes i noen av stripsvectorene returnerer den en boolsk verdi, true eller false checkstripexists er avhengig av FPSS Mottar data fra FPSS og leverer boolsk verdi tilbake Mottar callsign, adep og etd og fpdvector. Trekker ut hvert element i vectoren Trekker ut feltene for callsign, adep og etd i elementet Sjekker om input er lik innholdet i callsign, adep og etd Hvis lik retuneres true, hvis ikke returneres false String: callsign String: adep GregorianCalendar: etd Vector: stripsvectors 3.8 Beskrivelse av klassen Sort Subordinates Dependencies Sort Klasse Sort sorterer departure- og arrivalstrip. Vite hvilken strip som skal sendes til skjerm. Inneholder metoden sortstrip Sort brukes av klassen FPSS for å legge inn departure- og arrivalstrips på riktig plass i en vector. Får data fra klassen FPSS og leverer prosessert data til samme klasse Side: 141

43 3.8.1 Beskrivelse av metoden sortstrip Function Dependencies sortstrip Funksjon Sorterer departure- og arrivalstrip på ETD og ETA. Når departure- eller arrivalstrip har mindre enn 30 minutter før de blir aktive sendes de til skjerm. Metoden tar i mot et stripobjekt (som skal sorteres inn i en vector) og en vector (som strip skal legges inn i) Når metoden har lagt strip inn på riktig plass i vectoren blir vectoren returnert sortstrip er avhengig av FPSS Mottar data fra og returnerer data til FPSS. Mottar stripobjekt og invector ETD eller ETA (avhengig av om stripen er departure eller arrivalstrip) trekkes ut fra stripobjektet ved bruk av getmetodene Dette sammeliknes mot ETD eller ETA til stripene i vectoren (også trukket ut ved hjelp av getmetodene) Mottatt stripobjekt legges inn i vectoren mellom to stripobjekter, det ene med høyere ETD eller ETA og det andre med lavere ETD eller ETA Returnerer outvector Vector: invector Vector: outvector Strip: striptosort, strip som skal legges på riktig plass i vector 3.9 Beskrivelse av klassen ChangeDynamicInformation Subordinates Dependencies ChangeDynamicInformation Klasse ChangeDynamicInformation sørger for at endringer FLL gjør i dynamisk flightinformasjon oppdateres i stripobjektet. FFL skal kunne gjøre endringer på strip. Inneholder metoden changedynamicinformation ChangeDynamicInformation er avhengig av klassen FPSS Får data fra klassen FPSS og leverer prosessert data til samme klasse. Side: 142

44 3.9.1 Beskrivelse av metoden changedynamicinformation Function Dependencies changedynamicinformation Funksjon Når FLL har endret dynamisk flightinformasjon endrer skal stripobjektet oppdateres Mottar stripobjektet(stripen som skal endres), changevector (en vector som inneholder alle endringene i dynamisk flightinformasjon), invector (vectoren som inneholder stripen som skal endres). Når stripen er oppdatert returnerer metoden invector(vector med oppdatert stripobjekt) changedynamicinformation er avhengig av FPSS Mottar data fra og returnerer data til FPSS. Mottar stripobjekt, vectorer changevector og invector Søker gjennom invector og finner stripobjektet som svarer til input Endret informasjon hentes fra changevector Ved hjelp av setmetodene i stripobjektet opprettes det et oppdatert stripobjekt med endret dynamisk flightinformasjon. Det gamle stripobjektet fjernes fra invector Det nye oppdaterte stripobjektet settes inn i invector Vector (med strings) : changevector Vector (med stripobjekter): invector Strip: striptochange 3.10 Beskrivelse av klassen ChangeStatus Subordinates Dependencies ChangeStatus Klasse Når FLL flytter strips på skjerm skal strips flyttes til aktuell vector. Dersom stripen flyttes fra pendinglisten, dvs. aktiveres, skal den tildeles en unik transponderkode. Inneholder metodene changestatusvectors, maketransponder og removetransponder ChangeStatus er avhengig av klassen FPSS. FPSS bruker ChangeStatus for å flytte strips mellom vectorer, samt for å generere transponderkode Får data fra klassen FPSS og leverer prosessert data til samme klasse Side: 143

45 Beskrivelse av metoden changestatusvectors Function Dependencies changestatusvectors FLL skal kunne endre status på strip. Strips blir da flytte fra en vector til en annen Mottar fromvector(vectoren som stripen skal flyttes fra), tovector(vectoren som stripen skal flyttes til), og strip som er stripobjektet som skal flyttes. Etter at stripen er flyttet til annen vector returnerer metoden de oppdaterte vectorene fromvector og tovector, samt stripobjektet (med evt. nygenerert transponderkode) changestatusvectors er avhengig av FPSS Mottar data fra og returnerer data til FPSS Mottar vectorer, fromvector, tovector og stripobjekt Finner stripobjekt i fromvector Striobjektet fjernes fra fromvector Stripobjektet legges i tovector Dersom fromvector er pendingstripsvector - kalles metoden maketransponder for å få generert transponderkode. - legger stripobjekt med transponderkode i tovector Dersom tovector er pendingstripvector - kalles metoden removetransponder. - tranponderkoden fjernes fra transpondervectoren Vector: fromvector, tovector Strip: striptochange Side: 144

46 Beskrivelse av metoden maketransponder Function Dependencies maketransponder Funksjon Genererer unike transponderkoder og legger disse i en vector. Hver flight skal ha en unik transponderkode. Metoden tar i mot transpondervector(vectoren som inneholder alle transponderkodene som på dette tidspunkt brukes i FPSS). Når unik transponderkode er generert returnerer metoden en unik transponderkode Kalles fra metoden changestatusvectors i klassen ChangeStatus Mottar og returnerer data til metoden changestatusvectors Mottar en transpondervector. Generere en transponderkode i intervallet 1 til og med 7777 Sjekker om koden er 7500, 7600 og 7700 Hvis ja - generes en ny transponderkode Sammenligner den genererte transponderkoden mot koder i transpondervectorer Finnes den fra før - genereres en ny transponderkode Finnes den ikke - legges transponderkoden i vectoren Returnere den unike transponderkoden Vector: transpondervector Integer: transpondercode Side: 145

47 Beskrivelse av metoden removetransponder Function Dependencies removetransponder Fjerner transponderkode fra transpondervectoren. Gjør koden tilgjengelig igjen Metoden tar i mot transponderkoden som skal fjernes og transpondervectoren som koden ligger i. Kalles fra metoden changestatusvectors i klassen ChangeStatus Mottar data fra metoden changestatusvectors Mootar transponderkoden og vectoren den ligger i Transponderkoden fjernes fra transponderkodevectoren Transponderkodevectoren er da oppdatert og transponderkoden kan da brukes igjen Vector: transpondervector Integer: transpondercode 3.11 Beskrivelse av klassen PrintOut Subordinates Dependencies Resources PrintOut Klasse PrintOut sender data til skriver. Utskriften skal fungere som backup hvis FPSS faller ut Inneholder metoden printstrip PrintOut er avhengig av FPSS Mottar data fra klassen FPSS Matriseskriver Side: 146

48 Beskrivelse av metoden printstrip Function Dependencies Resources printstrip printstrip sørger for å få skrevet ut en strip på papir. Utskriften skal fungere som backup hvis FPSS faller ut Metoden mottar et stripobjekt printstrip er avhengig av FPSS Mottar stripobjekter fra FPSS Matriseskriver Metoden mottar automatisk et stripobjekt når strip er konvertert Stripobjektet sendes til printerkø Strip: striptoprint 3.12 Beskrivelse av klassen Savebase Subordinates Dependencies Resources Savebase Klassen Savebase sender data til database. Ved behov skal data om de ulike flightene kunne hentes frem igjen Inneholder metodene savestrip, savechanges og savechangedstatus Savebase er avhengig av FPSS Mottar data fra FPSS basetilgang Side: 147

49 Beskrivelse av metoden savestrip Function Dependencies Resources savestrip savestrip sender stripobjekt til database. Ved behov skal data om de ulike flightene kunne hentes frem igjen Metoden mottar et stripobjekt savedstrip er avhengig av FPSS Mottar stripobjekter fra FPSS basetilgang Metoden mottar automatisk et stripobjekt når strip er konvertert Stripobjektet sendes til databasen Strip: striptosave Beskrivelse av metoden savechanges Function Dependencies Resources savechanges savechanges oppdaterer en strip i databasen. Ved behov skal data om de ulike flightene kunne hentes frem igjen Metoden mottar et ChangeDynamicInformation-objekt savechanges er avhengig av FPSS Får ChangeDynamicInformation-objekt fra FPSS basetilgang Metoden mottar automatisk et ChangeDynamicInformation-objekt når FLL har gjort endringer på strip Forandringene som er gjort på strip sendes til databasen ChangeDynamicInformation: inneholder stripinformasjon og endret dynamisk flightinformasjon Side: 148

50 Beskrivelse av metoden savechangedstatus Function Dependencies Resources savechangedstatus SaveChangedStatus oppdaterer en strip i databasen. Ved behov skal data om de ulike flightene kunne hentes frem igjen Metoden mottar et ChangeStatus-objekt fra FPSS savechangedstatus er avhengig av FPSS Mottar et ChangeStatus-objekt fra FPSS basetilgang Metoden mottar automatisk et ChangeStatus-objekt når FLL har endret status på strip Forandringen i status sendes til databasen ChangeStatus: inneholder stripinformasjon 3.13 Beskrivelse av klassen GUIStripboard Subordinates Dependencies Resources GUIStripboard Klasse Henter inn komponenter fra andre klasser og lager et komplett GUI som FLL jobber mot Inneholder metodene setupgui, makecolumn1, makecolumn2, makecolumn3, setcolumnwidth og getcolumnwidth GUIStripboard er avhengig av klassen FPSS, og er relatert til klassene FPSSMenuBar, GUIStripHeader og GUIStripContainer Får data fra klassen FPSS GUIStripboard extends JFrame Side: 149

51 Beskrivelse av metoden setupgui setupgui Setter opp layout og kaller andre metoder som adder ulike deler til layouten Kalles opp av konstruktøren til GUIStripboard Kaller opp metoden makecolumn1 Kaller opp metoden makecolumn2 Kaller opp metoden makecolumn3 Kaller opp metoden makecolumn4 Får container Setter layout Kaller opp metoden makecolumn1 Kaller opp metoden makecolumn2 Kaller opp metoden makecolumn3 Kaller opp metoden makecolumn4 Container: c Beskrivelse av metoden makecolumn1 makecolumn1 Lager første kolonne på stripboardet Kalles opp av setupgui Lager GUIStripHeader objekt med rett navn og farge (TAXI, hblue) Setter dette øverst i kolonnen Lager GUIStripContainer objekt av rett type, bredde og høyde (taxi, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Lager GUIStripHeader objekt med rett navn og farge (DEPARTURE, hblue) Setter dette nedenfor det første GUIStripcontainer-objektet Lager GUIStripContainer objekt av rett type, bredde og høyde (departure, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Container: c Integer: x, y GUIStripHeaders: taxiheader, departureheader GUIStripContainer: taxicontainer, departurecontainer Side: 150

52 Beskrivelse av metoden makecolumn2 makecolumn2 Lager andre kolonne på stripboardet Kalles opp av setupgui Lager GUIStripHeader objekt med rett navn og farge (AIRBORNE, hivory) Setter dette øverst i kolonnen Lager GUIStripContainer objekt av rett type, bredde og høyde (airborne, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Container: c Integer: x, y GUIStripHeaders: airborneheader GUIStripContainer: aribornecontainer Beskrivelse av metoden makecolumn3 makecolumn3 Lager andre kolonne på stripboardet Kalles opp av setupgui Lager GUIStripHeader objekt med rett navn og farge (INBOUND, hyellow) Setter dette øverst i kolonnen Lager GUIStripContainer objekt av rett type, bredde og høyde (inbound, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Lager GUIStripHeader objekt med rett navn og farge (ARRIVAL, hyellow) Setter dette nedenfor GUIStripcontainer-objektet Lager GUIStripContainer objekt av rett type, bredde og høyde (arrival, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Container: c Integer: x, y GUIStripHeaders: inboundheader, arrivalheader GUIStripContainer: inboundcontainer, arrivalcontainer Side: 151

53 Beskrivelse av metoden makecolumn4 makecolumn4 Lager fjerde kolonne på stripboardet Kalles opp av setupgui Lager GUIStripHeader objekt med rett navn og farge (PENDING, hivory) Setter dette øverst i kolonnen Legger header til container Lager GUIStripContainer objekt av rett type, bredde og høyde (pending, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Lager GUIStripHeader objekt med rett navn og farge (HANDOFF, hivory) Setter dette nedenfor GUIStripcontainer-objektet Lager GUIStripContainer objekt av rett type, bredde og høyde (handoff, columnwidth, sbheight ) Legger GUIStripContainer i et ScrollPane og setter dette nedenfor GUIStripHeader-objektet Container: c Integer: x, y GUIStripHeaders: pendingheader, handoffheader GUIStripContainer: pendingcontainer, handoffcontainer Beskrivelse av metoden setcolumnwidth Function setcolumnwidth Setter bredden på kolonnene Mottar bredden på kolonnene Mottar bredden på kolonnene Setter variable lik mottat argument Integer: columnwidth Side: 152

54 Beskrivelse av metoden getcolumnwidth getcolumnwidth Funksjon Returnere bredden på kolonnene Returnere bredden på kolonnene Integer: columnwidth 3.14 Beskrivelse av klassen FPSSMenuBar Subordinates Dependencies Resources FPSSMenuBar Klasse FPSSMenuBar lager en closemeny. FLL skal kunne lukke programmet Inneholder metodene makeclosemenu og actionperformed FPSSMenuBar er relatert til GUIStripboard Blir instansiert fra GUIStripboard FPSSMenuBar extends JMenuBar Beskrivelse av metoden makemenubar makemenubar Funksjon Kalle metodene makemenubar og makeclosemenu for å lage innholdt i MenuBaren Kalles opp fra konstruktøren Kaller opp metoden makeclosemenu Side: 153

55 Beskrivelse av metoden makeclosemenu makeclosemenu Lager closemeny. FLL skal kunne avslutte FPSS Kalles opp fra makemenubar Setter navn på menyen Lager hurtigtast for menyen Lager JMenuItem under closemenyen Lager icon for JMenuItemet Legger til actionlistner til JMenuItem Legger JMenuItem til menyen JMenu: closemenu JMenuItem: close Beskrivelse av metoden actionperformed Function actionperformed Å lukke FPSS på en forsvarlig måte Mottar event fra JmenuItem close Kalles opp når FLL velger JmenuItem close Sjekker om containerne på stripbordet er tomme - Er alle containerne tomme lukkes FPSS - Er alle containerne tomme bortsett fra handoffcontainer, blir FLL spurt om han likevel vil avslutte. Svarer FLL ja lukkes FPSS, svarer han nei beholdes FPSS åpent - Er det strips igjen i noen andre containere enn handoffcontainer vil FPSS ikke lukkes, og FLL vil få beskjed om dette ActionEvent: e Side: 154

56 3.15 Beskrivelse av klassen GUIStripHeader Subordinates Dependencies Resources GUIStripHeader Klasse Setter farge og navn på header og border rundt header Inneholder metoden setupgui GUIStripHeader er relatert til GUIStripboard Mottar navn og farge fra GUIStripboard GUIStripHeader extends JPanel Beskrivelse av metoden setupgui setupgui De ulike headerne og border skal ha ulike farger. Metoden setter opp layout Kalles opp av konstruktøren til GUIStripHeader Setter layout Setter bakgrunnsfargen som er definert i konstruktør Lager ramme ut i fra edgecolor Lager label med navn som er definert i konstruktør Setter font på label String: headername Color: headercolor Color: edgecolor Border: egde Jlabel: headerlabel Side: 155

57 3.16 Beskrivelse av klassen GUIStripContainer Subordinates Dependencies Resources GUIStripContainer Klasse Lager en container som skal inneholde GUIStrips som skal vises på skjerm Inneholder metodene setupgui, addguistrip, showstrips, setcontainer, getcontainer GUIStripContainer er relatert til GUIStripboard, GUIStripCreator, GUIStrip og ChangeStatus Mottar containertype, bredde på containeren som skal lages, samt høyden på stripboardet fra FPSS GUIStripContainer extends JPanel Beskrivelse av metoden setupgui setupgui Setter opp layout til container Kalles opp av konstruktøren til GUIStripContainer Setter layout Beskrivelse av metoden addguistrip Function addguistrip Legger til strip i container Mottar stripogjektet som skal legges til container Kaller opp showstrips med guistripvector som argument Oppretter nytt GUIStrip-objekt med rette argumenter (strip som skal legges til, containerwidth, stripboardheight) Legger det til i vector Kaller opp showstrips med vector som argument GUIStrip: newguistrip Vector: guistripvector Integer: containerwidth, stripboardheight Side: 156

58 Beskrivelse av metoden removeguistrip Function removeguistrip Sletter strip i container Mottar stripobjektet som skal slettes fra containeren Kaller opp showstrips Mottar strip som skal slettes Går igjennom vector til GUIStrip-objektet som skal slettes blir funnet Sletter GUIStrip-objektet Kaller opp showstrips GUIStrips: sletteguistrip Vector: guistripvector Beskrivelse av metoden showstrips Function showstrips Viser strips i container på skjerm Mottar vector som inneholder strips Kalles opp av addguistrip og removeguistrip Mottar vector som inneholder strips Henter ut høyde til første GUIStrip i vectoren Henter ut bredde til første GUIStrip i vectoren Går gjennom alle GUIStrips i vectoren Setter bounds på hver GUIStrip Legger hver GUIStrip i containeren Øker størrelsen på containeren så den kan inneholde et ubegrenset antall strips Kaller opp setpreferredsize med bredde og høyde på containeren som argument Revealiderer så containeren kan vise fram det nye innholdet Vector: guistripv Integer: x, stripheight, stripwidth, panelheight Enumeration: e GUIStrips: strip1 Container Side: 157

Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002. Gruppe nr:

Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002. Gruppe nr: SRS, versjon 3.0. Gruppe 1 Flight Progress Strip System for Air Traffic Control Versjon: 3.0 Software Requirements Specification Dato: 21.11.2002 Fag: Software Engineering Filformat: Gruppe nr: 1 Filnavn:

Detaljer

Flight Progress Strips System for Air Traffic Control Fag:

Flight Progress Strips System for Air Traffic Control Fag: Verifikasjon og validerings plan: Flight Progress Strips System for Air Traffic Control Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 21.11.2002 Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky

Detaljer

Software Prototype Document Dato: 12.12.2002 Fag:

Software Prototype Document Dato: 12.12.2002 Fag: 6.2 SPD Flight Progress Strips System for Air Traffic Control Versjon: 1.0 Software Prototype Document Dato: 12.12.2002 Fag: Gruppe nr: Veiledere: Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Side: 1 Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Dato: 22.11.2002 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

Flight Progress Strips System for Air Trafic Control Fag:

Flight Progress Strips System for Air Trafic Control Fag: Kravdokument type: Flight Progress Strips System for Air Trafic Control Fag: Gruppe nr: Veiledere: Versjon: 2.0 Dato: 06.11.2002 Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky Van Ha PDF

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon:. Dato: 4.1.22 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 0.0 Dato: 01.11.2002 Software Engineering Filformat: 1 Filnavn:

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 1. Dato: 27.9.22 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 1.09.00 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 0.0 Dato: 25.10.2002 Software Engineering Filformat: 1 Filnavn:

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon:. Dato: 18.1.22 Software Engineering Filformat: 1 Filnavn: Børre

Detaljer

Flight Progress Strips System for Air Trafic Control Fag:

Flight Progress Strips System for Air Trafic Control Fag: Kravdokument type: Flight Progress Strips System for Air Trafic Control Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 18.10.2002 Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky Van Ha PDF

Detaljer

Dato: Versjon: Designdokument type: Kontrollsystem for invertert pendel Fag: Bestiller: 1.0 Gruppe nr: 2 Filnavn: Systemering2 Filformat:

Dato: Versjon: Designdokument type: Kontrollsystem for invertert pendel Fag: Bestiller: 1.0 Gruppe nr: 2 Filnavn: Systemering2 Filformat: Designdokument type: Kontrollsystem for invertert pendel Fag: Systemering2 Filformat: Versjon: 1.0 Gruppe nr: 2 Filnavn: Dato: 19.03.2002 Bestiller: Rune Winther Word 2000 GlobalDesign1.doc Gruppemedlemmer:

Detaljer

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag:

Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Software Project Progress Report Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Versjon: 1.0 Dato: 20.09.2002 Software Engineering Filformat: 1 Filnavn:

Detaljer

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus

Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus // class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2016 Innleveringsoppgave 8 SUDOKU Versjon 29. mars. Denne versjonen gjelder oppgave 8. Resten er tatt med bare for å gi en pekepinn om arbeidet videre. Det kommer andre krav til del 10 og 11 når

Detaljer

Flight Progress Strip System for Air Traffic Control. Fag:

Flight Progress Strip System for Air Traffic Control. Fag: Dokument type: Flight Progress Strip System for Air Traffic Control. Fag: Gruppe nr: Veiledere: Dato: 01.10.2002 Software Engineering Filformat: 1 Filnavn: Børre Ludvigsen/Ky Van Ha PDF format mplan.pdf

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Abstrakte klasser og grensesnitt, redefinering av metoder Java-programmering Arv og bruk av abstrakte klasser Eclipse Undersøke instanser i Eclipse 1 Dagens

Detaljer

IN1010 V18, Obligatorisk oppgave 5

IN1010 V18, Obligatorisk oppgave 5 IN1010 V18, Obligatorisk oppgave 5 Innleveringsfrist: Tirsdag 17.04. kl 10:00 Versjon 1.3 (12.04.2018) Sist modifisert av Silje Merethe Dahl. Innledning I denne oppgaven skal du bruke rekursjon til å lage

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2016 Innleveringsoppgave 10 SUDOKU Versjon 14. april. Denne versjonen gjelder oppgave 10. Resten er tatt med bare for å se sammenhengen. Det kan komme andre/flere krav til del 11 når denne publiseres.

Detaljer

Repitisjonskurs. Arv, Subklasser og Grensesnitt

Repitisjonskurs. Arv, Subklasser og Grensesnitt Repitisjonskurs Arv, Subklasser og Grensesnitt Subklasser Klasser i OO-programmering representerer typer av objekter som deler et sett med egenskaper. En subklasse har egenskapene til en klasse + ett sett

Detaljer

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven:

Sudokubrettet Et sudokubrett består av n n ruter. Vi bruker følgende begreper i oppgaven: INF1010 2015 Obligatorisk oppgave 9, 10 og 11 SUDOKU Versjon 26. mars. Ved behov for presiseringer i del 10 og 11, kan det komme ny versjon 16. april, men ingen endringer i selve oppgaven. Denne obligatoriske

Detaljer

IN1000 Obligatorisk innlevering 7

IN1000 Obligatorisk innlevering 7 IN1000 Obligatorisk innlevering 7 Frist for innlevering: 23.10. kl 12:00 Introduksjon I denne innleveringen skal du lage et program som simulerer cellers liv og død. Dette skal du gjøre ved hjelp av en

Detaljer

Grafisk Brukergrensesnitt

Grafisk Brukergrensesnitt Grafisk Brukergrensesnitt Repetisjonskurs Hva må kunnes? JFrame JPanel JComponents Layouts Listeners jframe Representerer et vindu JComponents legges på vinduet Har en tittel og størrelse Komponenter struktureres

Detaljer

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs BOKMÅL Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTINUASJONSEKSAMEN

Detaljer

Obligatorisk oppgave 4: Lege/Resept

Obligatorisk oppgave 4: Lege/Resept Obligatorisk oppgave 4: Lege/Resept INF1010 Frist: mandag 27. mars 2017 kl. 12:00 Versjon 1.0 (111c894 ) Innhold 1 Innledning 1 1.1 Begreper................................ 2 2 Pasienter 2 3 Leger og lister

Detaljer

Obligatorisk oppgave 5: Labyrint

Obligatorisk oppgave 5: Labyrint Obligatorisk oppgave 5: Labyrint INF1010 Frist: mandag 24. april 2017 kl. 12:00 Versjon 1.0 (1709ba6 ) Innhold 1 Innledning 2 2 Notasjon og terminologi 3 2.1 Formelle definisjoner.........................

Detaljer

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14. IN1000-INF1001-2018 Informasjon Eksamen i IN1000 og IN1001 høsten 2018 Tid 30. november kl. 14.30 (4 timer) Faglærere vil besøke lokalet ca kl 15-16. Oppgavene Oppgave 1a-f er kortsvarsoppgaver som rettes

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 4.mai 2011 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D Campus: LC191D Videregående

Detaljer

Post-it spørsmål fra timen (Arv og subklasser)

Post-it spørsmål fra timen (Arv og subklasser) Post-it spørsmål fra timen 30.01 (Arv og subklasser) Tegning Spørsmål: Skjønte ikke tegningene Hater tegningene. Lær meg å tegne. Mvh frustrert elev. Spørsmål: Datastruktur-tegning, og hvor mye detaljer

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer

Kravdokument type: Kontrollsystem for invertert pendel Fag: Dato: Versjon: 1.0 Gruppe nr: Bestiller: Rune Winther. Systemering2 Filformat:

Kravdokument type: Kontrollsystem for invertert pendel Fag: Dato: Versjon: 1.0 Gruppe nr: Bestiller: Rune Winther. Systemering2 Filformat: dokument type: Kontrollsystem for invertert pendel Fag: Systemering2 Filformat: Versjon: 1.0 Gruppe nr: 2 Filnavn: Dato: 20.02.2002 Bestiller: Rune Winther Word 2000 dokument1.doc Gruppemedlemmer: Navn:

Detaljer

IN1010 V19, Obligatorisk oppgave 2

IN1010 V19, Obligatorisk oppgave 2 IN1010 V19, Obligatorisk oppgave 2 Innleveringsfrist: Tirsdag 26.02 kl 23.59 Introduksjon I de obligatoriske oppgavene fremover skal du lage et system som holder styr på leger, pasienter, resepter og legemidler.

Detaljer

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; } Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen. Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

INF1000 Prøveeksamen Oppgave 7 og 9

INF1000 Prøveeksamen Oppgave 7 og 9 INF1000 Prøveeksamen Oppgave 7 og 9 Høst 2015 Siri Moe Jensen 7a) Skriv en klasse Gave med to variabler som forteller hva som er i gaven, og hvor mye den har kostet. Klassen skal ha en konstruktør med

Detaljer

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.

Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007. Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

INF Innleveringsoppgave 6

INF Innleveringsoppgave 6 INF1010 - Innleveringsoppgave 6 Frist: Onsdag 16. mars, 10:00 Maks 6 poeng Om obligatorisk oppgave 4, 6 og 7 i INF1010, våren 2016: "Leger og resepter" Du skal jobbe med en problemstilling omkring leger

Detaljer

29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka

29.02.2012. GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser. En oversikt over kapittel 19 i boka GUI-programmering, del 3 Vinduslyttere Dialogvinduer GUI-komponenten JTable Egne datamodellklasser LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php Høgskolen

Detaljer

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

Arv. Book book1 = new Book(); book1. title = Sofies verden class Book { String title; } class Dictiona ry extends Book { Arv Arv (eng: inheritance) er en mekanisme for å bygge videre på eksisterende klasser og regnes ofte som varemerket til objektorientert programmering. Når arv brukes riktig, kan den gjøre koden ryddigere

Detaljer

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

GJENNOMGANG UKESOPPGAVER 9 TESTING

GJENNOMGANG 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.

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4110 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

TDT4100 Objektorientert programmering

TDT4100 Objektorientert programmering Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson

Detaljer

Gjennomgang av eksamen H99

Gjennomgang av eksamen H99 Gjennomgang av eksamen H99 Administrasjon av kurser, studenter og påmeldinger Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for Informatikk Universitetet i Oslo Oppgave 1 (15 %) (Besvares

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering

Detaljer

Innlevering 2b i INF2810, vår 2017

Innlevering 2b i INF2810, vår 2017 Innlevering 2b i INF2810, vår 2017 Dette er del to av den andre obligatoriske oppgaven i INF2810. Man kan oppnå 10 poeng for oppgavene i 2b, og man må ha minst 12 poeng tilsammen for 2a + 2b for å få godkjent.

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE. Antall sider (Inkl forsiden): 8. Alle trykte og håndskrevne I EKSAMENSOPPGA VE Side av 8 AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: PROGRAMMERING Grupper: laa, 1AB, lac, lia Eksamensoppgaven av: Tillatte hjelpemidler: best~r Antall sider (Inkl forsiden):

Detaljer

Argumenter fra kommandolinjen

Argumenter fra kommandolinjen Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene

Detaljer

IN1010 våren januar. Objektorientering i Java

IN1010 våren januar. Objektorientering i Java IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som

Detaljer

SPPR Software Project Progress Report Uke 38-39

SPPR Software Project Progress Report Uke 38-39 SPPR Software Project Progress Report Uke 38-39 Heiskontrollsystem Gruppe 7 Gunhild Kristiansen, Arne Enger Hansen, Cecilie Vådahl, Kristian Vågen, Magnus Asbjørnsen, Martin Stenmark Høgskolen i Østfold

Detaljer

versjon 1.1 Brukermanual

versjon 1.1 Brukermanual Side 1 05.11.2004 versjon 1.1 Brukermanual Side 2 05.11.2004 Beskrivelse av IKT-verktøy for strukturering og organisering av referanser til store mengder informasjon. GrandView er et program for strukturering

Detaljer

SPPR Software Project Progress Report Uke 44-45-46

SPPR Software Project Progress Report Uke 44-45-46 SPPR Software Project Progress Report Uke 44-45-46 Heiskontrollsystem Gruppe 7 Gunhild Kristiansen, Arne Enger Hansen, Cecilie Vådahl, Kristian Vågen, Magnus Asbjørnsen, Martin Stenmark Høgskolen i Østfold

Detaljer

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon

Mål med kurset. Java i INF 2400. Dagens tema. GUI med Swing. Dokumentasjon Mål med kurset Java i INF 2400 Introduksjon til signalbehandling Lyd som anvendelse Få programmeringserfaring Dagens tema Utplukk av Java (GUI, kode-konvensjon, polymorfisme, classpath, javadoc) Java og

Detaljer

Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case. Terje Rydland - IDI/NTNU. Lære å lage større og sammensatte programmer

Må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

Detaljer

Manual MicroBuild.no Engineering 24082012

Manual MicroBuild.no Engineering 24082012 24082012 Innholdsfortegnelse: 1. Registrering som bruker 2. Opprette prosjekt og åpne prosjekt 3. Legge til brukere i et prosjekt 4. Brukerinnstillinger 5. Designe skjermbilde - Fjerne og legge til strukturer

Detaljer

EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING

EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING Høgskolen i Telemark EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 5609 OBJEKTORIENTERT PROGRAMMERING 02.12.2013 Tid: Målform: Sidetall: Hjelpemidler: Merknader: 9-13 for eksamen i 6102 (7.5 studiepoeng)

Detaljer

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP

Flere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP Flere design mønstre 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13. BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN

Detaljer

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00

EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00 Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG

Detaljer

Del 3: Evaluere uttrykk

Del 3: Evaluere uttrykk Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når

Detaljer

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 101 - Grunnkurs i objektorientert programmering Eksamensdag : Tirsdag 4. juni 2002 Tid for eksamen : 09.00-15.00 Oppgavesettet

Detaljer

Læringsmål for forelesningen

Læringsmål for forelesningen Læringsmål for forelesningen Objektorientering Regler for oppførsel Java-programmering JUnit-testing Eclipse Opprette JUnit-test og kjøre den 1 Pensum Testing dekkes ikke av Liang! Er en viktig del av

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister

Array&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java

Detaljer

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>

Gruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0> Gruppenavn Prosjektnavn Beskrivelse av design For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning

Detaljer

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49 Innhold Forord...5 1 Det første programmet...15 1.1 Å kommunisere med en datamaskin 16 1.2 Programmeringsspråk 17 1.3 Et program som skriver på skjermen 18 1.4 Kompilering og kjøring 19 1.5 Kommentarer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

Løsnings forslag i java In115, Våren 1996

Løsnings forslag i java In115, Våren 1996 Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 4. juni 2015 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 6 sider. Vedlegg:

Detaljer

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; } Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =

Detaljer

Introduksjon til objektorientert programmering

Introduksjon til objektorientert programmering Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes

Detaljer

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk

Innhold uke 7. Objektorientert programmering i Python: Introduksjon. Lite tilbakeblikk: Programflyt og skop. Lite tilbakeblikk: Funksjoner er uttrykk Innhold uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2017 uke 7 Siri Moe Jensen Lite tilbakeblikk: Prosedyrer og funksjoner Objektorientert programmering Introduksjon: Hvorfor,

Detaljer

Use Case-modellering. INF1050: Gjennomgang, uke 04

Use Case-modellering. INF1050: Gjennomgang, uke 04 Use Case-modellering INF1050: Gjennomgang, uke 04 Kompetansemål Modellering av krav Kunne modellere ulike typer krav UML-diagrammer Innføring i grunnleggende UML-modellering Bruksmønster (use case) Sekvensdiagram

Detaljer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer

SymWriter: R6 Innstillinger, preferanser og verktøylinjer SymWriter: R6 Innstillinger, preferanser og verktøylinjer Innhold R6.1 Startinnstillinger og utseende...3 R6.2 Tekst og bilder...................................................4 R6.3 Tale og staving...5

Detaljer

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP

Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Hva gjøres i design? 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å

Detaljer

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kirsten Ribu beskriver kravene til systemet,

Detaljer

SPPR Software Project Progress Report Uke 42-43

SPPR Software Project Progress Report Uke 42-43 SPPR Software Project Progress Report Uke 42-43 Heiskontrollsystem Gruppe 7 Gunhild Kristiansen, Arne Enger Hansen, Cecilie Vådahl, Kristian Vågen, Magnus Asbjørnsen, Martin Stenmark Høgskolen i Østfold

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

Eksamen. Objektorientert Programmering IGR 1372

Eksamen. Objektorientert Programmering IGR 1372 + JVNROHQL1DUYLN $YGHOLQJIRU7HNQRORJL Eksamen i Objektorientert Programmering IGR 1372 7LG'HVHPEHU± 7LOODWWHKMHOSHPLGOHU 6NULYHVDNHU2UGE NHU -DYD6RIWZDUH6ROXWLRQV)RXQGDWLRQVRI3URJUDP 'HVLJQVNUHYHWDY/HZLV

Detaljer

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12.

Læringsmål og pensum. En større case. Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 1 TDT4110 Informasjonsteknologi grunnkurs: Programmering: En større case Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Kapitlene 1-9 og 12. 3 Sette

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.

Detaljer

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003

INF1000 HashMap. Marit Nybakken marnybak@ifi.uio.no 2. november 2003 INF1000 HashMap Marit Nybakken marnybak@ifi.uio.no 2. november 2003 Dette dokumentet skal tas med en klype salt og forfatteren sier fra seg alt ansvar. Dere bør ikke bruke definisjonene i dette dokumentet

Detaljer

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering

Etter uke 6 skal du. Introduksjon til objektorientert programmering. Hva skjedde ~1967? INF1001. Grunnkurs i objektorientert programmering Etter uke 6 skal du Kjenne til motivasjonen for objektorientert programmering Introduksjon til objektorientert programmering INF1001 Høst 2016 Forstå hva en klasse er, og forskjellen på klasse og objekt

Detaljer

WinMed3. Release Notes Allmenn Våren 2013. Release Notes Allmenn Våren 2013 Versjon 3.93.1059 Side 1

WinMed3. Release Notes Allmenn Våren 2013. Release Notes Allmenn Våren 2013 Versjon 3.93.1059 Side 1 WinMed3 Release Notes Allmenn Våren 2013 Release Notes Allmenn Våren 2013 Versjon 3.93.1059 Side 1 Innholdsfortegnelse Om dokumentet... 3 E-resept... 4 eportal... 5 Forbedret registrering og innlogging...

Detaljer

Vårt system kan kjøres ved å skrive. STUD1 konto fredo 37 (holdeplass)

Vårt system kan kjøres ved å skrive. STUD1 konto fredo 37 (holdeplass) 1 Vårt system kan kjøres ved å skrive STUD1 konto fredo 37 (holdeplass) Holdeplass er frivillig. Dersom man kun sender linjenr finner systemet den nærmeste holdeplassen. Systemet returnerer de 3 neste

Detaljer

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE

EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE / EKSAMENSOPPGÅVE Eksamen i: Inf-1049, Introduksjon til beregningsorientert programmering Dato: 14. desember 2018 Klokkeslett: 09.00 13.00 Sted

Detaljer

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"

programeksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet TGA Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"

Detaljer

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0>

Gruppenavn. Beskrivelse av arkitektur For Navn på systemet. Versjon <1.0> Gruppenavn Beskrivelse av arkitektur For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning 4 1.1

Detaljer

Brukermanual for TrackGrabber

Brukermanual for TrackGrabber Brukermanual for TrackGrabber System for automatisk håndtering av GPS-filer anvendt under søk og redningsoppdrag 1 Installasjon Programmet krever at Java 8 er installert på maskinen. Du kan laste ned Java

Detaljer

Leveranse 2. September 27, 2002

Leveranse 2. September 27, 2002 Leveranse 2 gruppe 42 Nils-Kristian Liborg (brukergrensesnitt), Bente Brevig (beskrivelser, aktørbeskrivelser, diagram, kvalitetssikring), Tom Olav Bruaas (beskrivelser), Eirik Lied (beskrivelser, diagram,

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - Kandidatnr: AITeL Eksamensdato: 2.desember 2009 Varighet: 0900-1300 Emnekode: Emnenavn: Klasse(r): LO191D / LC191D LO191D Videregående programmering

Detaljer

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Programmering i C++ Løsningsforslag Eksamen høsten 2005 Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det

Detaljer

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre

Oppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal

Detaljer