Granskad: Datum: Signatur: Godkänd : Datum: Signatur:
|
|
- Anders Sundberg
- för 6 år sedan
- Visningar:
Transkript
1 DESIGNSPECIFIKATION Rev 8 1(13) DESIGNSPECIFIKATION MultiPC v1.0 Ansvarig: Håkan Lindegren Granskad: Datum: Signatur: Godkänd : Datum: Signatur:
2 DESIGNSPECIFIKATION Rev 8 2(13) Innehållsförteckning 1 ALLMÄNT REFERENSER TERMINOLOGI RELATION TILL ANDRA DOKUMENT SUBSYSTEMINDELNING SUBSYSTEM WEBBPLATS Stödgraf Krävda gränssnitt Erbjudet gränssnitt Funktion Övrigt MULTIPC GUI Stödgraf Krävda gränssnitt Erbjudet gränssnitt Funktion Övrigt MULTIPC LOGIK Stödgraf Krävda gränssnitt Erbjudet gränssnitt Funktion Övrigt MULTIPC HJÄLP Stödgraf Krävda gränssnitt Erbjudet gränssnitt Funktion Övrigt PROBLEM ÖVRIGT...13
3 DESIGNSPECIFIKATION Rev 8 3(13) 1 ALLMÄNT Det här dokumentet ska beskriva hur MultiPC v1.0 ska konstrueras. Dokumentet specificerar en hierarkisk indelning i subsystem. För subsystemen visas sedan beroendediagram, klassdiagram, arkitekturdiagram m.m. 2 REFERENSER [DETDOK] Lindegren, Håkan: MultiPC v1.0: Detaljkrav. [ANVDOK] Lindegren, Håkan: MultiPC v1.0: Användarkrav. 3 TERMINOLOGI Fasadklass En fasadklass läggs ovanpå en struktur av klasser för att dölja den underliggande strukturen. Det enda det externa systemet ser av stödsystemet är fasadklassen. Singleton Ett designmönster som kan tas till då ett system endast ska ha en instans av en klass. Ett alternativ vore att ha en enda global instans av klassen. 4 RELATION TILL ANDRA DOKUMENT Det här dokumentet bör granskas mot detaljkravspecifikationen. Dokumentet ska fungera som indata till implementationen. Dokumentet ska granskas och rättas till i samband med verifiering som följer på implementationen. 5 SUBSYSTEMINDELNING Webbplats MultiPC GUI MultiPC Logik Installationsfil MultiPC Hjälp Webbplats ska utgöra en webbplats med information om produkten MultiPC. Från webbplatsen ska det gå att ladda ner en installationsfil med ett PC-program för multiplikationsträning. PC-programmet delas in i två subsystem, ett för GUI:t och ett för logiken. Det ska utvecklas en windows hjälpfil för PC-programmet.
4 DESIGNSPECIFIKATION Rev 8 4(13) 6 SUBSYSTEM 6.1 Webbplats Stödgraf Grafen visar beroenden mellan filer på webbplatsen. Där inget filltillägg anges gäller att det ska vara.html Krävda gränssnitt På webbplatsen: stöd för ASP v2.0. Hos användaren: Webbläsare med stöd för ramar Erbjudet gränssnitt Filen index.html ger entré till webbplatsen Funktion Subsystemet ska tillhandahålla MultiPC webbplats Övrigt Gränssnitt mot det nerladdningsbara PC-programmet utgörs av filen mulsetup.zip. 6.2 MultiPC GUI Stödgraf
5 DESIGNSPECIFIKATION Rev 8 5(13) Arkitektur GUI:t ska accessa logiken via den enda klassen multipc_logic_c. GUI-klasser och beroenden Klasserna i GUI:t kommer att genereras av utvecklingsverktyget. Ttraining_frm Klass som ska hantera visning av träningsfönstret där en elev kan öva på tal. Träningsfönstret kommer att vara huvudfönster i programmet. Tnames_frm Klass som ska hantera visning av fönstret där en elev kan skriva in sitt namn. Tresult_frm Klass som ska hantera visning av facit då en elev har gjort klart ett prov. Tstatistics_frm Klass som ska hantera visning av statistik för en viss provtyp. Tdetailed_frm Klass som ska hantera visning av detaljstatistik för ett visst tal. Tmsg_frm Klass som ska hantera visning av felmeddelanden. Ttestmode_frm Klass som ska hantera visning av resultatet av en körning i testmod Krävda gränssnitt En PC med Windows Fönsterkomponenter i utvecklingsverktyget. multipc_logic_c utvecklad och klar enligt nedan. mulhelp.hlp utvecklad och klar enligt nedan.
6 DESIGNSPECIFIKATION Rev 8 6(13) Erbjudet gränssnitt En programfil multipc.exe via vilket PC-programmet kan startas Funktion Subsystemet ska tillhandahålla PC-programmet MultiPC Övrigt EXE-filen ska inte splittras i två delar. Logiken ska länkas ihop med GUI:t. multipc.exe ska tillsammans med mulhelp.hlp utgöra indata för installationen. Installationen ska tillsammans med en readme-fil packas ihop i filen mulsetup.zip. 6.3 MultiPC logik Stödgraf problem_s En struct som ska hålla reda på två stycken heltal. Heltalen ska representera ett multiplikationsproblem, t.ex answered_problem_s En struct som är en problem_s med ett heltal för avgivet svar och ett heltal för den tid det tog att avge svaret. answers_log_c Klass som ska hålla ordning på tio stycken answered_problem_s. Ska hantera data för facitfönstret. details_answer_s Struct som ska hålla reda på detaljer om ett enda problem för detaljstatistiken. I praktiken en problem_s och
7 DESIGNSPECIFIKATION Rev 8 7(13) en vektor med alla elevens svar, dock högst 30 stycken. Att det ska vara högst 30 stycken ges av detaljkraven för MultiPC. detailed_answers_log_c Klass som ska hantera detaljstatistik för samtliga 100 multiplikationstal som är möjliga. statistics_problem_s En struct som är en problem_s förstärkt med två heltal för antalet försök och antalet rätt. statistics_log_c Klass som ska hantera statistik för samtliga 100 multiplikationstal som är möjliga. problem_generator_c Klass som ska slumpa fram nya multiplikationstal. Den får aldrig slumpa samma två tal i rad, det ges av kravställningen för MultiPC. multidb_c Klass som ska fungera som gränssnitt mot filhantering av elevnamn. Eftersom den troligen ska byggas ut till ett generellt databasgränssnitt i framtida utgåvor får den namnet multidb_c. multipc_logic_c Ska ge GUI-klasserna ett snällt gränssnitt via vilket de kan manipulera logiken Krävda gränssnitt En C++ kompilator Erbjudet gränssnitt En fasadklass multipc_logic_c med följande gränssnitt: Konstanter för felhantering vid läsning och skrivning av elevnamn typedef enum { DB_OK, DB_CORRUPT, WRITE_FAILED, DB_FULL } db_status_t; class multipc_logic_c { public: Ska returnera en unik instans av multipc_logic_c Parametrar: INGA Retur: Pekare till unik instans Felhantering: INGEN static multipc_logic_c *get_instance(); Returnerar status för elev DB För anrop INNAN get_first_pupil/get_next_pupil Parametrar: INGA
8 DESIGNSPECIFIKATION Rev 8 8(13) Retur: Status hos elev DB: DB_OK eller DB_CORRUPT Felhantering: Via statusvärdet Om status är DB_CORRUPT kommer ny och tom elevfil att skapas. Anroparen kan sedan fortsätta. Jämför med detaljkraven under db_status_t get_db_status(); För att loopa över och läsa in elevnamn Parametrar: first_name: för lagring av elevs förnamn, minst 40 tecken last_name: för lagring av elevs efternamnnamn, minst 40 tecken item_found: sätts till 1 om elev fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare en elev item_found = 0 ==> Ingen elev, övriga param oförändrade Felhantering: INGEN void get_first_pupil( char first_name[], char last_name[], void get_next_pupil( char first_name[], char last_name[], Sätter aktuell elev Parametrar: first_name: elevens förnamn, max 40 tecken last_name: elevens efternamn, max 40 tecken Retur: INGEN Felhantering: INGEN void set_pupil( char first_name[], char last_name[] ); Ger tillbaka namn på aktuell elev Parametrar: first_name: elevens förnamn, minst 40 tecken last_name: elevens efternamn, minst 40 tecken Retur: Namndata i first_name och last_name Felhantering: INGEN void get_pupil( char first_name[], char last_name[] ); För lagring av nytt elevnamn Sätter också aktuell elev, d.v.s. anropar set_pupil Parametrar: first_name: elevens förnamn, max 40 tecken
9 DESIGNSPECIFIKATION Rev 8 9(13) last_name: elevens efternamn, max 40 tecken db_status: sätts till DB_OK om det gick bra Retur: db_status = DB_OK ==> skrivning gick bra db_status = WRITE_FAILED ==> skrivning misslyckades, elev EJ lagrad db_status = DB_FULL ==> redan fullt i elev-db elev EJ lagrad Felhantering: Via db_status void store_name( char first_name[], char last_name[], db_status_t &db_status ); För inställning av tabell Parametrar: table: heltal inom [1.. 10] Retur: INGEN Felhantering: INGEN void set_table( int table ); Returnerar inställd tabell Parametrar: INGA Retur: Vald tabell, ett heltal inom [1.. 10] Felhantering: INGEN int get_table(); Ska ge nästa framslumpade problem Parametrar: problem: operand_a/_b får värden Retur: operand_a inom [1.. 10], operand_b = aktuell tabell Felhantering: INGEN void get_next_problem( answered_problem_s &problem ); Rensar den interna svarsloggen För anrop innan ett prov startar Parametrar: INGA Retur: INGEN Felhantering: INGEN void clear_answers(); För lagring av ett besvarat tal Parametrar: answer: svarsdata som ska lagras
10 DESIGNSPECIFIKATION Rev 8 10(13) Retur: INGEN Felhantering: INGEN void store_answer( answered_problem_s &answer ); För att loopa över de givna svaren i ett prov Parametrar: answer: får svarsdata för ett svar correct_answer: får korrekt svar [ ] item_found: sätts till 1 om svar fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare ett svar item_found = 0 ==> Inget svar, övriga param oförändrade Felhantering: INGEN void get_first_answer( answered_problem_s &answer, int &correct_answer, void get_next_answer( answered_problem_s &answer, int &correct_answer, För att loopa över statistiken i vald tabell Parametrar: answer_statistics: får statistik om ett tal item_found: sätts till 1 om svar fanns, 0 annars Retur: item_found = 1 indikerar att det fanns ytterligare statistik item_found = 0 ==> Ingen statistik, övriga param oförändrade Felhantering: INGEN void get_first_stats( statistics_problem_s &answer_statistics, void get_next_stats( statistics_problem_s &answer_statistics, För att ställa in aktuellt tal för detaljstatistiken Ska kombineras med set_table() Parametrar: operand_a: värdet av första operanden Retur: INGEN Felhantering: INGEN void set_details_number( int number ); Returnerar inställt details_number Parametrar: INGA Retur: Inställd detaljoperand, ett heltal inom [1.. 10]
11 DESIGNSPECIFIKATION Rev 8 11(13) Felhantering: INGEN int get_details_number(); För att loopa över detaljstatistik för vald tabell och valt detaljnummer Parametrar: answer_details: data får svar som avgivits correct_answer: får korrekt svar item_found: sätts till 1 om svar fanns, annars 0 Retur: item_found = 1 indikerar att det fanns ytterligare svar item_found = 0 ==> Inget svar, övriga param oförändrade Felhantering: INGEN void get_first_detail( int &answer, void get_next_detail( int &answer, Funktion Subsystemet ska tillhandahålla ett lätthanterligt skal ovanpå MultiPC logikklasser Övrigt Inga för utvecklingsverktyget specifika datatyper ska utnyttjas av multipc_logic_c eller dess stödklasser. multipc_logic_c fungerar som en fasadklass och den uppfyller designmönstret Singleton. 6.4 MultiPC hjälp Stödgraf MultiPC GUI mulhelp.hlp GUI-klasserna i PC-programmet kommer att aktivera hjälpfilen via anropet: Application->HelpJump( HelpID ) där HelpID är en sträng För att det ska fungera krävs att PC-programmet utnyttjar de ID-strängar som definieras nedan Krävda gränssnitt WinHelp i MS-Windows.
12 DESIGNSPECIFIKATION Rev 8 12(13) Erbjudet gränssnitt En hjälpfil mulhelp.hlp med ID-strängar enligt följande: INTRODUCTION STARTWIN TRAINING RESULTS STATISTICS DETAILS HINTS ERROR_MESSAGES Ovanstående ID-strängar ska utnyttjas för rubrikerna i hjälpen, se [DETDOK]. Det ska dessutom finnas ID-strängar som ger separata ingångar till hjälpen från samtliga felmeddelandefönster som dyker upp. Här gäller: NONAME_FOUND för meddelandet att inga namn hittades Funktion Subsystemet ska tillhandahålla en hjälpfil för MultiPC PC-program Övrigt Nya felmeddelanden som definieras ska i hjälpen ges engelska, beskrivande namn. Den här sektionen ska fyllas på i samband med att ändringsloggen töms. 7 PROBLEM 1. Samtliga felmeddelanden är inte definierade Det ska finnas utgångar till hjälpsystemet från samtliga felmeddelanden som dyker upp. De är ännu inte identifierade. Lösning Följ namnkonventionen under MultiPC hjälp ovan. För in i Ändringsloggen så att det inte glöms bort. 2. Många parametrar Vissa av funktionerna i mul_logic_c kräver flera parametrar. Vore det inte bättre att synliggöra de strukter som finns internt under mul_logic_c? Lösning Det kan vara en god idé. Ignorera nu. Dokumentera som återstående problem. 3. Inklippta diagram, inklippt kodgränssnitt UML-graferna har klippts in via ett ritverktyg. Det gör det svårt att ändra i det här dokumentet. Om kodgränssnitt ändras måste man ändra även här i dokumentet. Lösning Ignorera nu. Kanske bättre att lägga diagram och kodgränssnitt som bilagor? Dokumentera som återstående problem.
13 DESIGNSPECIFIKATION Rev 8 13(13) 4. Var finns Javaapplet? Enligt detaljkraven 40 och 45 ska det utvecklas en Javaapplet. Den borde vara med här. Lösning TBD Komplettera det här dokumentet snarast. 5. Generering av namn Enligt detaljkraven 200 ska det utvecklas testverktyg för att generera namn. Det borde vara med här. Lösning TBD Red ut. Är testverktyget så trivialt att det går bra ändå? 8 ÖVRIGT Avsiktligt lämnad tom.
BILAGA G till Programvaruprojekt FÖRBÄTTRAT GRÄNSSNITT multipc_logic_c Rev 2.
FÖRBÄTTRAT GRÄNSSNITT 1(6) BILAGA G till Programvaruprojekt FÖRBÄTTRAT GRÄNSSNITT multipc_logic_c Rev 2. Här visas ett gränssnitt som är bättre än det i bilaga F. Det innehåller däremot en del kvarvarande
Läs merBILAGA F till Programvaruprojekt BRISTFÄLLIGT GRÄNSSNITT. multipc_logic_c Rev 1.
BRISTFÄLLIGT GRÄNSSNITT 1(6) BILAGA F till Programvaruprojekt BRISTFÄLLIGT GRÄNSSNITT. multipc_logic_c Rev 1. Gränssnittet öppnar för att anropas på fel sätt. Jämför med delkapitlet om gränssnittstest
Läs merBILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0
ANVÄNDARKRAV MultiPC v1.0 Rev 8 1(10) BILAGA A till Programvaruprojekt ANVÄNDARKRAV MultiPC v1.0 Att utgå ifrån. Beskriver krav på MultiPC-systemet på ett sådant sätt att de ska kunna diskuteras med användaren.
Läs merBILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning
ÅTERSTÅENDE PROBLEM MultiPC v1.0 Rev 7 1(7) BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0 Här listas problem som kan behöva hanteras i kommande inkrement. De prioriteras alltså ner
Läs merINKREMENTELL UTVECKLING AV STABIL PROGRAMVARA
Examensarbete 10 poäng C-nivå INKREMENTELL UTVECKLING AV STABIL PROGRAMVARA Reg.kod: Oru-Te- EXD083-D104/03 Mattias Nordgren och Michael Johansson Dataingenjörsprogrammet 120 p Örebro vårterminen 2003
Läs merBILAGA B till Programvaruprojekt DETALJKRAV MultiPC v1.0
DETALJKRAV MultiPC v1.0 Rev 8 1(17) BILAGA B till Programvaruprojekt DETALJKRAV MultiPC v1.0 Detaljkrav för MultiPC-systemet. Utgångspunkten har varit bilaga A, användarkrav. I bilaga C finns en testplan
Läs merBILAGA D till Programvaruprojekt KONFIGDOKUMENT MultiPC v1.0
KONFIGDOKUMENT MultiPC v1.0 Rev 8 1(11) BILAGA D till Programvaruprojekt KONFIGDOKUMENT MultiPC v1.0 Arbetet med konfigdokumentet ska påbörjas tidigt. Det ska definiera vad som ska finnas i utvecklings-
Läs merTPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER
TPFD Beskrivning Rev 4 1(10) TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER Anv.krav Terminologi Detaljkrav Konfigdok Hantera Utgåvor Projektplan Testplan Test-o-felrättning Ändringslogg Återst.
Läs merLÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20
LÖSNINGSFÖRSLAG TILL Tentamen i objektorienterad programmering i C++ I 2001-01-20 Betygsgränser: 3 16 poäng 4 23 poäng 5 30 poäng Maxpoäng: 36 poäng Hjälpmedel: inga Lycka till Per Ekeroot Uppgift 1 Kortfrågor
Läs merFöreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2015-01-08 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merJava: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Läs merLycka till! TENTAMEN: Objektorienterade applikationer. Läs detta! 1 (6) Tentamen
1 (6) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv din tentamenskod på varje blad (så att
Läs merBILAGA C till Programvaruprojekt TESTPLAN MultiPC v1.0
TESTPLAN MultiPC v1.0 Rev 8 1(18) BILAGA C till Programvaruprojekt TESTPLAN MultiPC v1.0 Tesplanen definierar testfall för samtliga krav i bilaga B, detaljkraven. Orsaken till att det förekommer självklara
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs merObjektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering 2 Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början
Läs merObjektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Läs merVärmedistribution i plåt
Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.
Läs merObjektorientering: Lagring, räckvidd och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Objektorientering: Lagring, räckvidd och livstid Tre sorters variabler, två sorters metoder Räckvidd och livstid 2 Variabler (lokala och medlemsvariabler)
Läs merDet här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
Läs merObjektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med flera
Läs merIntroduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merInlämningsuppgift 1, Digsim
Inlämningsuppgift 1, Digsim Specifikation Skriv ett program som utför addition av heltal (positiva eller negativa) i binär form med hjälp av digitala grindar, som programmet ska simulera. Programmet ska
Läs merTentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och penna. Behandla
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs merDUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (11) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt namn och personnummer på varje blad
Läs merJohan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen
Tentamen för teknisk kemi, 10p, moment 1 29 november 1999 Skrivtid 9-15 Hjälpmedel: av följande böcker. - U. Bilting och J. Skansholm: Vägen till C - A. Kelley & I. Pohl: A Book on C Maxpoäng: Gräns för
Läs merLaboration 3 GUI-programmering
Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merTentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Läs merSkriv i mån av plats dina lösningar direkt i tentamen. Skriv ditt kodnummer längst upp på varje blad.
5(16) Tentamen på kurserna Programmeringsteknik med C och Matlab Programmering i C Tid: 2/11-11, kl. 9-13 Lärare: Jonny Pettersson Totalt: 60 poäng Betyg 3: 30 poäng Betyg 4: 39 poäng Betyg 5: 48 poäng
Läs merChapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Läs merTentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Läs merInstallation av Microsoft Office 2012-09-12 Version 2.1
Installation av Microsoft Office 2012-09-12 Version 2.1 INNEHÅLLSFÖRTECKNING Installation av Microsoft Office... 2 Information INFÖR INSTALLATION... 2 Installation av Microsoft Office... 3 Komma igång...
Läs merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merArbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
Läs merSCB :-0. Uno Holmer, Chalmers, höger 2 Ex. Induktiv definition av lista. // Basfall
Rekursiva funktioner Föreläsning 10 (Weiss kap. 7) Induktion och rekursion Rekursiva funktioner och processer Weiss 7.1-3 (7.4, 7.5.3 utgår) Fibonaccital (7.3.4) Exempel: Balansering av mobil (kod se lab
Läs merLabora&on 2 Funk&oner, if och loop övningar/uppgi:er
Labora&on 2 Funk&oner, if och loop övningar/uppgi:er 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna labora&on finns
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merTentamen *:58/ID100V Programmering i C Exempel 3
DSV Tentamen *:58/ID100V Sid 1(5) Tentamen *:58/ID100V Programmering i C Exempel 3 Denna tentamen består av fyra uppgifter som tillsammans kan de ge maximalt 22 poäng. För godkänt resultat krävs minst
Läs merIntroduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs merBaraTrav Grunderna Version 1.3
BaraTrav Grunderna Version 1.3 BaraTrav är ett PC-program som används för att skapa spelfiler till ATG:s streckspel För att använda programmet behövs en prenumeration som tecknas på hemsidan https://baratrav.se
Läs merPROGRAMMERING-Java TENTAMINA
PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För
Läs merFöreläsning 3: Abstrakta datastrukturer, kö, stack, lista
Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs merUppgift 1 ( Betyg 3 uppgift )
Uppgift 1 ( Betyg 3 uppgift ) I filerna queue_handling.ads och queue_handling.adb finns en datastruktur som motsvarar en kö. Det finns fyra operationer som kan utföras på en kö. 1) Enqueue som stoppar
Läs merLänkning av Prolog under C
Länkning av Prolog under C Kent Boortz Swedish Institute of Computer Science Box 1263, S-164 28 Kista, Sweden 1 september 1991 T91:14 Sammanfattning SICStus länkmoduler ger möjlighet att blanda Prolog-
Läs merObjektorientering: Lagring och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop
Läs merÖvning från förra gången: readword
(9 september 2010 T4.1 ) Övning från förra gången: readword /** readword.c * * int readword(char w[], int n) { * * Läser tecken tills en bokstav påträffas. * Läser och lagrar sedan högst n-1 bokstäver
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel
732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public
Läs merUppgift 1 ( Betyg 3 uppgift )
Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 + / \ + + + + \ / + Exempel 3: Mata in storlek
Läs mer1 Klasser och objektorientering Vad är objektorientering?
1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det
Läs merProgrammering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Läs merL04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I
L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merLösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Tentamen i Programmering C, Fri, Kväll, 041211.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 19.00. Denna tenta kommer att vara färdigrättad Ti 14/12 och kan då hämtas på mitt tjänsterum,
Läs merDet här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen.
Det här dokumentet går kortfattat igenom registrerings- och ansökningsprocessen. 1. Webbläsare Följande versioner av webbläsare stöds: Netscape från version 7.x Firefox från version 1.x Internet Explorer
Läs merSimulering med ModelSim En kort introduktion
Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2017 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D Linköpings universitet SE-581 83
Läs merTentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen Programmeringsteknik för BME, C, D, E, F, I, N & Pi EDA011 / EDA016 / EDA017 2016 01 13, 08:00 13:00 Anvisningar: Preliminärt ger uppgifterna
Läs merProgrammering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT 2013 1 / 26
Programmering i C++ EDA623 Mer om klasser EDA623 (Föreläsning 6) HT 2013 1 / 26 Mer om klasser Innehåll Konstanta objekt Statiska medlemmar Pekaren this Vänner (friends) Överlagring av operatorer EDA623
Läs merkl Tentaupplägg
Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer
Läs merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Läs merTUTORIAL: SAMLING & KONSOLL
TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även
Läs merBaraTrav Grunderna Version 2.1
BaraTrav Grunderna Version 2.1 BaraTrav är ett PC-program som används för att skapa spelfiler till ATG:s streckspel För att använda programmet behövs en prenumeration som tecknas på hemsidan https://baratrav.se
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merTENTAMEN. Objektorienterade applikationer CHALMERS. 2018/2019, lp 3 DAT055. Uno Holmer
informationsteknik TENTAMEN KURSNAMN Objektorienterade applikationer PROGRAM: DAI 2 (TIDAL-2) 2018/2019, lp 3 KURSBETECKNING EXAMINATOR DAT055 Uno Holmer TID FÖR TENTAMEN Torsdagen den 21/3 2019 14.00-18.00
Läs merMetodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer
Föreläsning 4 Metodanrop switch-slingor Rekursiva metoder Repetition av de första föreläsningarna Inför seminariet Nästa föreläsning Metodanrop - primitiva typer Vid metodanrop kopieras värdet av en variabel
Läs merDAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Läs merLaboration 3, uppgift En klass för en räknare
Laboration 3, uppgift 1 3.1 En klass för en räknare Ursprungligen skriven av Erland Holmström. Magnus Myreen har uppdaterat vissa delar. Hösten 2014 Anvisningar: Programmet skall utformas enligt de principer
Läs merINTRODUKTION TILL JDBC
INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,
Läs mer4.4 Swing ett interaktivt grafiskt gränssnitt
4.4 Swing ett interaktivt grafiskt gränssnitt Våra javaprogram har hittills bara haft utdata, inga indata. Det var utdata som skrevs ut från programmet till bildskärmen antingen med metoden showmessagedialog()
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merTentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2016 01 13, 08:00 13:00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna 6
Läs merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merAdministrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering
Programmeringsteknik för I1 Övning 2 Administrativt Övningsgrupp 2 (Sal E32/D32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kontrollera att ni har fått Lab2 inrapporterad
Läs merSymboliska konstanter const
(5 oktober 2010 T11.1 ) Symboliska konstanter const Tre sätt som en preprocessormacro med const-deklaration med enum-deklaration (endast heltalskonstanter) Exempel: #define SIZE 100 const int ANSWER =
Läs merPROGRAMMERING-JAVA TENTAMINA
PROGRAMMERING-JAVA TENTAMINA Nicolina Månsson 2010-08-16 (Kontaktperson Nicolina Månsson, tel. 0768-530640) Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift
Läs merSpråket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 7 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Konstanter och readonly Statiska klasser Standardklassen Math Parameteröverföring Referensen
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs mer729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
Läs merSKOLKORT. Användarmanual. Sida 1 av 17
SKOLKORT Användarmanual Sida 1 av 17 Innehållsförteckning Innehållsförteckning...2 Inledning...3 Hur man använder manualen... 3 Systemkrav... 3 Att komma igång med Boomerang...4 Logga in och ut... 4 Arbeta
Läs merDN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion
Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser
Läs merTentamen ges för: Tentamensdatum: Tid:
Programmering E 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen TE081B El2 Tentamensdatum: 2012-04-13 Tid: 900 1300 Hjälpmedel: Kursbok Kelley, Pohl: A Book on C, Fourth Edition Tillåtet
Läs merTDDC74 Lab 04 Muterbara strukturer, omgivningar
TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden
Läs merUppgift 1 ( Betyg 3 uppgift )
Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \
Läs merPlanering Programmering grundkurs HI1024 HT TIDAA
Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning
Läs merEclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.
Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod
Läs merAxalon Process Navigator SP Användarhandledning
Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP 2013, senast reviderad: den 11 juni 2014 Innehåll Innehåll... 2 Om denna användarhandledning... 3 Syfte... 3 Vem är denna handledning
Läs merGissa det hemliga talet
Laborationsanvisning Gissa det hemliga talet Steg 2, laborationsuppgift 1 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i
Läs mer