Alla kuvataan yksi mahdollinen ohjelmointiprojektin aihe. Jos sinulla on oma aihe projektille, on suositeltavaa tehdä projekti siitä. Muussa tapauksessa voi käyttää alla kuvattua aihetta.
Alla oleva määritys on tarkoitettu ohjeelliseksi. Projektin laajuuden voi itse päättää ja esimerkiksi lisäpiirteitä voi lisätä mielensä mukaan.
Tarkoituksena on laatia Java-ohjelma, jonka avulla voidaan tietokoneella ylläpitää listaa tekemättömistä tehtävistä. Ohjelman avulla tulee pystyä tallettamaan kuvauksia tehtävistä sekä muuttamaan ja poistamaan olemassaolevia kuvauksia. Tehtäviä tulee myös pystyä helposti tarkastelemaan, esimerkiksi siten, että kaikista tekemättömistä tehtävistä saadaan tulostettua ruudulle niiden kiireellisyyden perusteella järjestetty lista.
Projekti voidaan tehdä eri laajuuksissa:
- 1. Henkilökohtainen tehtävälista
Java-sovellus, joka ylläpitää tehtävälistaa tekstitiedostossa ja jossa on Swing-käyttöliittymä.
- 2. Jaettu tehtävälista
Java-sovellus, joka ylläpitää tehtävälistaa tietokannassa. Useampi käyttäjä voi selata ja päivittää tehtävälistaa rinnakkain.
- 3. Verkkotehtävälista
Servletti, joka ylläpitää tehtävälistaa tietokannassa. Tehtävälistaa päivitetään WWW-selaimen kautta ja käyttöliittymä kannattaa tehdä html:n avulla.
Tehtävälistaan syötettävistä tehtävistä tulisi esittää ainakin seuraavat ominaisuudet:
Tehtävästä voidaan lisäksi esittää seuraavia ominaisuuksia:
Jos kysymyksessä on jaettu tehtävälista, myös seuraavat ominaisuudet voivat tulla kysymykseen:
Jos ohjelmointiprojektissa toteutetaan Java-sovellus, on sille syytä tehdä käyttöliittymä Swing-käyttöliittymäkirjaston avulla (siis JFrame-komponentista alkaen). Mikäli projektissa tehdään verkkotehtävälista, käyttöliittymä kannattaa tehdä siten, että ohjelma tuottaa html-kielisiä sivuja (Swingiä ei tällöin tarvita). Html:stä tarvitaan ainakin mekanisemja kaavakkeiden määrittämiseen (forms).
Käyttöliittymän tulisi tukea seuraavia toimintoja:
Voit harkita seuraavia laajennuksia tehtävänasetteluun. Huomaa, että jotkin näistä voivat edellyttää merkittävää ponnistusta: