Göm menyn

729G06 Programmering och logik: Projekt

Allmänt om projektet

Syftet med projektet är att du ska öva dig i att skapa ett program från grunden. Du kan antingen välja ett av de förslag som finns att göra, eller så kan du specificera ditt eget projekt. Läs mer nedan för mer information.

Till projektet måste du skriva upp dig i en ny grupp (eftersom projektet är individuellt). Skriv upp dig på: https://www.ida.liu.se/webreg/729G06-2014/PRA1

Projektgenomförande

  1. Skicka in projektbeskrivning: Börja med att skicka ett dokument som beskriver vad ditt projekt kort med avseende på hur vad programmet ska göra/vad användaren kan be den göra och hur användaren ska/kan interagera med det. Skicka också in ett klassdiagram över de klasser som du tänker använda dig av. Se nedan för detaljer kring projektbeskrivningen. Exempel på projektbeskrivning kan ses här.
  2. På lektionen v20 kommer alla labassar att vara där för att ge kommentarer och svara på frågor om projektbeksrivningen, ta med ditt utkast.
  3. Få klartecken för att påbörja implementation från din handledare (på lektionen eller första labpasset).
  4. Om projektet ändrar riktning eller behöver revideras, bör även projektdokumentationen revideras på lämnas in för godkännande. Skicka med den gamla projektdokumentationen samt ett dokument/klassdiagram som beskriver vad revisionen innebär.
  5. Implementera och dokumentera: Implementera ditt projekt och dokumentera processen. Nedanstående ska ingå i dokumentationen:
    1. Beskrivning av funktionaliteten hos programmet - Vad gör programmet och hur interagerar man med programmet?
    2. Beskrivning av strukturen (kodmässig) hos programmet. Vilka klasser finns, vad är deras syfte och hur interagerar de med varandra.
    3. Beskrivning av arbetsgången. Behövde du ändra din design (strukturera om koden eller modifiera ditt GUI) under projektetets gång? Vilka oväntade problem dök upp och hur löste du dem? Om du skulle gjort något annorlunda, vad skulle det vara?
    För den sista punkten kan det vara bra att föra en "loggbok" där du skriver ned saker under arbetets gång.
  6. Redovisa: Redovisa för din handledare genom att ge en demonstration av hur programmet fungerar. Var beredd på att svara på frågor om hur din kod fungerar. Detta sker det sista labpasset då du också har möjlighet att se dina klasskamraters program. Skicka sedan in koden och rapporten.

Projektförslag

En bok-katalog

Ett möjligt projekt är att göra ett bok-katalogsystem som lagrar information om böcker, t.ex. författare, titel och årtal. Man skulle kunna utvidga detta system till ett system som också klarar av att låna ut böcker till antingen personer eller organisationer. I fallet där man behöver kräva tillbaka boken bör systemet också lagra kontaktinformation för dessa personer eller organisationer.

Ett banksystem

Ett banksystem skulle kunna vara ett system som kassören på en bank använder. Med hjälp av systemet ska kassören kunna få upp information om kunden, och sköta ärenden som t.ex. att ta ut pengar och sätta in pengar. Ett exempel på ett sådant system med en kravspecifikation lämplig för ett projekt kan du läsa om här (projektinstruktioner för en java-kurs för systemvetare).

Ett enkätsystem

Ett enkätsystem kan tänkas användas till följande: givet en textfil som innehåller frågor till en enkät så ställer systemet frågorna till användare. Svaren sparas ner till andra filer. Systemet kan sedan skapa en rapport över enkätsvaren, t.ex. hur många som svarat, snittsvar på olika frågor alternativ sammanställningar av fritextssvar.

Innehåll i projektbeskrivningen

Projektbeskrivningen ska innehålla följande:

  • Ditt namn, personnummer och liu-id.
  • Vilket betyg du siktar på för projektet (G eller VG)
  • Beskrivning av den funktionalitet från ett användningsperspektiv som ska finnas i systemet. Vad ska man kunna göra i systemet och hur gör man det som användare?
  • Beskrivning av implementationen med klassdiagram och beskrivning av hur klasserna interagerar med varandra som text.

Exempel på en projektbeskrivning hittar du här.

Betyg

För G

Nedan följer kraven för betyget GODKÄNT på projektet.

  • Programmet ska fungera enligt godkänd projektbeskrivning.

  • Minst tre klasser ska användas på ett sätt som är anpassat till domänen samt programmets funktion och syfte.

  • Implementationen ska vara applicerad på en domän där fler än 3 instanser av någon av klasserna du skapat används. Dvs inte där det bara finns en instans av varje klass som används.

  • Någon form av användarinteraktion med programmet måste finnas. T.ex. via ett text-gränssnitt eller ett gränssnitt i Tkinter eller dylikt.

  • Användaren ska kunna manipulera objekten på minst två sätt. Exempel på olika sätt att manipulera objekt är:

    • lägga till/ta bort instanser av någon av de egna klasserna
    • lägga till/ta bort data i de egna instanserna
    • ändra i data - ändra existerande värden i objekten
    • slå ihop objekt av samma klass

För VG

Nedan följer kraven för att få betyget VÄL GODKÄND. Samma krav som för betyget GODKÄND, fast med följande tillägg:

  • Ärvning ska användas i implementationen på ett sätt som är anpassat till domänen samt programmets funktion och syfte. Minst två klasser bör som basklass ha någon av dina egna klasser.
  • Gränssnitt i Tkinter ska finnas.

Minst en av nedanstående punkter ska också implementeras

  • Data ska läsas från och sparas till fil.
  • Sökning bland data som finns i programmet
  • Analys/aggregering/rapport om data som finns lagrat i programmet sparat till fil.

Sidansvarig: Annika Silvervarg
Senast uppdaterad: 2014-04-24