Suunnitteludokumentti
|
|
- Jorma Honkanen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Suunnitteludokumentti ilpo-ryhmä Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 Kurssi Ohjelmistotuotantoprojekti 6 ov) Projektiryhm Arttu Eloranta Risto Kuusterä Antti Pulkkinen Tommi Rajala Tuomo Saarinen Jari Suominen Ohjaaja Topias Marttila Asiakas Anni Rytkönen Vastuuhenkil Juha Taina Tekniset asiantuntijat Juhani Haavisto Harri Laine Turjo Tuohiniemi Kotisivu Versiohistoria Versio Päiväys Tehdyt muutokset Ensimmäinen versio Technical review:ssä käsiteltävä lopullinen versio Osittain korjattu versio Jäädytettäväksi tarjottava versio
3 Sis lt i 1 Johdanto Taustaa Yleisarkkitehtuuri Järjestelmän tekninen kuvaus Termit ja määritelmät Arkkitehtuurin kuvaus Sisäiset rajapinnat Kurssi.properties-tiedosto Yleinen.properties-tiedosto HTML-kirjoittaja Keskeneräisten ryhmittelyiden käsittelijä Ulkoiset rajapinnat Desmond Ilmo Opiskelijanumerotulostin Luokkarakenne Model Control View IO ja DB K ytt liittym 10 Liitteet 1 Sekvenssikaaviot 2 Kurssi.properties-tiedosto 3 Yleinen.properties-tiedosto 4 Javadoc
4 1 Johdanto 1 Joillain kursseilla, kuten Ohjelmistotuotantoprojekti, Tieteellinen kirjoittaminen ja Opettajatuutorointi, opiskelijat jaetaan pienryhmiin ilmoittautumisten yhteydessä annettujen taustatietojen ja ryhmätoiveiden mukaan. Tavoitteena ryhmäjaossa on toisaalta muodostaa mahdollisimman tarkoituksenmukaisia, tasakokoisia ja/tai täysiä ryhmiä, ja toisaalta täyttää opiskelijoiden esittämiä toiveita niin paljon kuin mahdollista. Tarkoituksenmukaisuus voi tarkoittaa kurssista riippuen erilaisia asioita. Esimerkiksi tieteellisen kirjoittamisen kurssilla samaan ryhmään kuuluvien opiskelijoiden erikoistumisalueiden tulisi olla yhteneviä. Toisaalta ohjelmistontuotantoprojektissa samaan ryhmään on valittava eri tavoin suuntautuneita henkilöitä. Tällä hetkellä vastuuhenkilö tekee tämän jaottelun käsin paperilla. Tarkoitus on tuottaa ohjelmisto, joka helpottaa jaottelijan tehtävää. Suunnitteludokumentti esittää tulevan ohjelmiston, jota ollaan tuottamassa ryhmiinjaottelijan avuksi. Siinä kuvataan ohjelmiston rakennetta ja suunnittelun pohjaksi aiottua luokkarakennetta. 1.1 Taustaa Kursseilla Ohjelmistotuotantoprojekti, Tieteellinen kirjoittaminen ja Opettajatuutorointi on keskenään erilaiset sisällölliset ja hallinnolliset vaatimukset. Esimerkiksi Ohjelmistontuotantoprojektissa ryhmän koon on oltava 4-6 opiskelijaa. Kurssilla on pakolliset esitietovaatimukset, ja joissain aiheissa saattaa olla lisävaatimuksiakin suoritetuista esitietokursseista. Opettajatuutorointiin ilmoittautuvat opiskelijat ovat eri vaiheissa opinnoissaan ja suorittavat niitä eri tahtiin. Osa opiskelijoista tietää, mihin haluaa suuntautua ja suuntautumiset vaihtelevat. Ryhmät pyritään muodostamaan siten, että opiskelu olisi opiskelijoille mielekästä. Ilpo on Helsingin yliopiston tietojenkäsittelytieteen laitoksella toteutettava projekti. Projekti toteutetaan osana opintojaksoa Ohjelmistotuotantoprojekti. Projektin tarkoitus on tuottaa sovellus, joka auttaa opintojaksojen Opettajatuutorointi, Tieteellinen kirjoittaminen ja Ohjelmistotuotantoprojekti vastuuhenkilöitä ryhmäjakojen teossa. Kaikki projektin aikana tuotettava materiaali tulee saataville ryhmän kotisivuilla: Yleisarkkitehtuuri Ohjelmisto on jaoteltu viiteen osaan. Nämä osat ovat Model, View, Control, IO ja DB. Syy jaotteluun on ohjelmiston helpompi käsiteltävyys varsinkin päivitystilanteissa. Samaa jaottelua käytetään tässä dokumentissa, jotta lukijalle tulisi selkeämpi kuva tuotettavasta ohjelmistosta. Model vastaa kaikkia ydinosasia, joilla muodostetaan mm. Opiskelija-oliot ja Kurssi-oliot. Model:n luokilla on vastuullaan kaikki looginen toiminnallisuus. View:n luokilla luodaan käyttäjälle tarjottava käyttöliittymä. Control:n luokat huolehtivat käyttöliittymän toiminnallisuudesta. Haluttaessa käyttää ohjelmaa, Control:n käsittelevät käyttäjän syötteet. DB:n luokat hoitavat ohjelmiston tietokantayhteydet. Sen osasilla parsitaan tietokannoista tuleva tieto ja huolehditaan yhteyksien luomisesta ja sulkemisesta.
5 IO:n luokat käsittelevät kaikki tulostuspyynnöt. Johtuen ilmo-järjestelmän huonosta rakenteesta, järjestelmän toteuttaminen on monimutkaista. Järjestelmän toteutusta on kuvattu liitteinä olevina sekvenssikaavioina liite 1) Järjestelmän tekninen kuvaus Ohjelma toimii Java-sovelluksena graafisella käyttöliittymällä terästettynä. Laitevaatimuksena on, että sovellus toimii tavallisessa TKTL:n pöytäkoneessa ks. termit). Tämä tarkoittaa implisiittisesti sitä, että järjestelmää voidaan käyttää ainoastaan TKTL:n sisäverkosta käsin. Käyttöjärjestelmistä sen verran, että ohjelma toimii ainakin Linuxissa. Windowsissa ohjelma ei välttämättä tule toimimaan. Java-versiona käytetään JDK 5.0:aa eli J2SE SDK 1.5.0) ja Desmond-tietokantaan ollaan yhteydessä JDBC-rajapinnan kautta. Työn alla olevat ryhmittelyt tallennetaan levylle sarjallistuvina olioina ja valmiit ryhmittelyt Ilmo-tietokantaan jo olemassa olevan PL/SQL-skriptin avulla. 1.4 Termit ja määritelmät Bodbacka: TKTL:n tietokantapalvelin. Desmond Aiempien ohjelmistotuotantoprojektien tuottama opintojensuunnittelujärjestelmä. Desmondin www-selaimessa toimivalla käyttöliittymällä opiskelijat voivat suunnitella opintojaan lukukausittain. Desmondissa on myös muita toimintoja, jotka auttavat esimerkiksi tuutoroinnissa, mutta ne ovat projektin kannalta epärelevantteja. desm_: Etuliite, jota käytetään viitattaessa Desmond-järjestelmän tietokantatauluihin. Ilmo Kurssi-ilmoittautumisjärjestelmä opiskelijoille. Järjestelmä on tarkoitettutietojenkäsittelytieteen laitoksen kursseille ilmoittautumiseen. Ilmolla ilmoittaudutaan myös matematiikan kursseille, mutta sillä ei ole tämän projektin kannalta juuri mitään merkitystä. Ilpo: Sovelluksen toteuttavan ohjelmistotuotantoprojektiryhmän ja lopullisen järjestelmän nimi. JAR Java Archive file format): JAR:n avulla voidaan pakata useita tiedostoja yhteen JAR-tiedostoon. Tyypillisesti JAR-tiedostosisältää luokkatiedostoja sekä sovelluksiin ja sovelmiin liittyviä lisäresursseja. JDBC Sun Microsystemsin JDBC-teknologia on Java-kielelle toteutettu sovellusrajapinta API, ApplicationProgramming Interface) joka tarjoaa liityntämahdollisuuden useiden eri valmistajien relaatiotietokantoihin ja mm. laskentataulukoihin spreadsheets). J rjestyskriteeri: Järjestyskriteerit ovat Ilmo-lomakkeen yksittäisiä vastauksia: esimerkiksi suuntautumislinja, kieli, esitiedot, opiskelijan tila. Kontti: ATK-osaston tietokantapalvelin.
6 Kurki: Laitoksen henkilökunnan käyttöön tarkoitettu kurssikirjanpitojärjestelmä johon merkitään mm. opiskelijoiden tekemät laskuharjoitukset. Käyttää samaa tietokantaa kuin Ilmo. Kurssi: Kurssi on opintojakson ilmentymä. Kurssi määritellään erikseen kyseessä olevalle periodille, lukukaudelle ja -vuodelle. Kurssi.properties: Kurssi.properties-tiedosto sisältää yhden kurssin asetustiedostot. Tiedostossa on tiedot, joiden avulla kurssi voidaan yksilöidä ja tiedot, joiden avulla ilpo pystyy parsimaan opiskelijoiden vastaukset luettavaan muotoon. K ytt j : Ilpolla ryhmittelyä suorittava henkilö. Lukitus: Yhden opiskelijan kiinnittäminen pysyvästi tiettyyn ryhmään siten, että opiskelija ei näy enää muissa ryhmissä. Oodi Opiskelun ja opetuksen tuen tietojärjestelmä. Oodista löytyvät muun muassa opiskelijoiden opintosuoritukset. Opintojakso: Opintojakso määrittelee opetettavalle aihepiirille nimen ja laajuuden sekä muut yleisetluentokerrasta riippumattomat tiedot. Opiskelija: Kurssille ilmoittautunut henkilö, jota sijoitetaan ilpolla ryhmiin. PL/SQL Procedural Language/SQL): PL/SQL on laajennus SQL-kyselykieleen. Se lisää perus-sql:ään proseduraalistenohjelmointikielten rakenteita, jolloin tuloksena on perus- SQL:ää ilmaisuvoimaisempi rakenteellinen kieli. Ryhmittely Ryhmiin jako): Opiskelijoiden jakaminen ryhmiin. Ryhm : Kokonaisuus mihin ilpolla siirretään opiskelijoita. Ryhmässä on opiskelijoita ja henkilökunnan jäseniä. Ryhm lukitus: Ryhmän lukitseminen siten, että kaikki ryhmässä olevat opiskelijat eivät enää näy muissa ryhmissä. Sarjallistuva olio: Ohjelmointikielen olio, jonka tila voidaan konvertoida tavuvirraksi ja toisinpäin). Käytännössä tämä tarkoittaa, että koko olio voidaan esimerkiksi tallentaa kiintolevylle myöhempää käyttöä varten. Sarjallistuvia olioita on ainakin Java-ohjelmointikielessä. Sis inen tietorakenne: Oliorakenne, joka on pelkästään ilpon sisäisessä käytössä ja mihin on tallennettu tietoja. Tavallinen TKTL:n p yt kone: Käyttöjärjestelmänä Linux graafisella ikkunointiympäristöllä, näyttö 1280x1024 resoluutiolla sekä vähintään 1.5 GHz suoritin ja vähintään 512Mt keskusmuistia. TKTL: Helsingin yliopiston Tietojenkäsittelytieteen laitos. Tulosryhm : Järjestyskriteerin mukaisesti tehty järjestely jakaa opiskelijat tulosryhmiin. Yleinen.properties: Yleinen.properties-tiedosto sisältää ohjelman tarvitsemat yleiset asetustiedot. Näitä ovat tietokantapalvelimen osoite ja portti sekä tietokannan nimi. 3
7 2 Arkkitehtuurin kuvaus 4 Tässä luvussa kuvataan sisäisten rajapintojen ja ulkoisten rajapintojen arkkitehtuuria. Ulkoiset järjestelmät ovat meistä riippumattomia, olemassa olevia ohjelmistoja, kuten Desmond ja Ilmo. Niihin päästään käsiksi rajapintojen kautta. Sisäiset rakenteet ovat niitä, jotka luomme ja joilla mm. otetaan rajapintayhteydet ulkoisiin järjestelmiin. Arkkitehtuurin kuvaukseen kuuluu myös kuvaus Opiskelijanumerotulostimesta, jolla päivitetään tietoja Desmondiin. Kaikista kohdista on laajemmin tietoa aliluvuissa. 2.1 Sisäiset rajapinnat Sisäiset rajapinnat liittyvät tässä yhteydessä ohjelmiston asetuksiin ja kurssi-ilmottautumisten parsimiseen. Tässä käsitellyt Kurssi.properties-tiedosto ja Yleinen.properties-tiedosto ovat vahvasti yhteydessä ulkoisiin rajapintoihin. Niiden tarkempi rakenne kuvataan aliluvuissa Kurssi.properties-tiedosto Kurssi.properties-tiedosto liite 2) sisältää ohjelman tarvitsemat kurssikohtaiset tiedot. Näitä tietoja ovat: kurssin nimi, kurssikoodi, kurssin järjestysnumero, lukukausi ja lukuvuosi. Tämän lisäksi kurssi.properties-tiedostossa kerrotaan Ilpolle, miten ohjelma parsii yhteen kurssille ilmoittaumisen yhteydessä kysytyt kysymykset ja kurssille ilmoittautuneet opiskelijat. Ilpon parsiessa Ilmosta haetut kysymykset luettavaan muotoon, lukee se kurssi.properties-tiedostosta ohjeet, miten sen tulisi parsia mikäkin kysymys. Kurssi.properties-tiedosto pitää myös sisällään joukon muuttujia, joilla määritellään ryhmäjaon HTML-tulosteeseen liittyvät tekstit. Näitä ovat esimerkiksi tiedot ryhmien ensimmäisistä kokoontumisajoista ja ohjeet ylivuotoryhmäläisille, sekä kaikki sivulla esiintyvät otsikot. kurssi.properties-tiedoston sisältö on seuraavanlainen: Kurssin perustiedot koodi esim. koodi = ): Kertoo kurssin kurssikoodinumeron kurssij rjestysnumero esim. kurssijarjestysnumero = 1): Kertoo kurssin järjestysnumeron, eli jos sama kurssi luennoidaan useampaan kertaan saman lukukauden aikana, niin tämän numeron avulla erotetaan kurssit toisistaan. lukukausi esim. lukukausi = k): Kertoo käydäänkö kurssi syksyllä s), keväällä k) vai kesällä v). lukuvuosi esim. lukuvuosi = 2005): Kertoo lukuvuoden, jolloin kurssi käydään. Parsimisessa tarvittavat tiedot Jotta opiskelijoiden vastaukset saataisiin parsittua oikein, täytyy kurssin vastuuhenkilön määrittää kurssi.properties-tiedostoon, että millä tavalla kysymykset parsitaan.seuraavat parsimisessa tarvittavat tiedot kirjoitetaan muotoon: kysy-
8 mys.numero.optio = arvo. kannassa esim. kysymys.1.kannassa = 3): Kertoo Ilpolle, mikä on Ilpon kysymyksen numero 1 numero Ilmon tietokannassa. preferenssi esim. kysymys.2.preferenssi = 1): Kertoo Ilpolle, että mikä järjestysnumero annetaan vastauksen osalle. Tätä optiota tarvitaan ilmoittautumisen yhteydessä kysytyissä kysymyksissä, joissa annetaan vastaus avoimeen tekstikenttään ja vastaus pitäisi jakaa useampaan osaan. Esimerkiksi jos opiskelijalta kysytään kiinnostuksen kohteita annetusta listasta ja pyydetään vastaamaan pelkästään pilkuilla erotetuilla numeroilla, niin preferenssi-option avulla saadaan vastauksen kiinnostuksen kohteet eriteltyä omiksi riveikseen. Lisäksi preferenssi-optiota käyttämällä määritellään myös, että kuinka monta vaihtoehtoa opiskelijan vastauksesta huomioidaan. csv esim. kysymys.2.tyyppi = csv): Kertoo Ilpolle, että vastauksen tyyppi on pilkuilla erotettu arvo =csv, comma separated values). Tätä optiota tarvitaan kertomaan Ilpolle, että miten se parsii tekstikenttä-tyyppisiä vastauksia. Ilpossa erotellaan vain pelkistä numeroista koostuvia vastauksia. vv esim. kysymys.2.p1.vv.3 = Käyttöliittymät): Kertoo Ilpolle kysymyksen vastausvaihtoehtonumeroa vastaavan tekstin. Tätä tietoa tarvitaan joissain tekstikenttä-tyylisissä kysymyksissä. html.otsikko esim. html.otsikko = Kevään 2005 ohjelmistotuotantoprojektien alustava ryhmäjako): Kertoo HTML-parsijalle, mikä on ryhmienjaon lopputuloksena tehtävän html-sivun otsikko. html.ingressi esim. html.ingressi = Seuraavassa on päivätty lista kevään 2005 ohjelmistotuotantoprojekteista.): Kertoo HTML-parsijalle, mikä on sivun sisältöä kuvaava teksti. html.kokoontumisajat esim. html.kokoontumisajat = ). Projektit päättyvät viimeistään viikolla ).): Kertoo HTML-parsijalle kokoontumisajat-tekstin. html.jonotusotsikko esim. html.jonotusotsikko = Jonotuslista): Kertoo HTML-parsijalle jonotusotsikko-tekstin. html.jonotusohjeet esim. html.jonotusohjeet = Seuraavat henkilöt ovat jonossa: Mantatarms Suominen, Risto-Ville Kuusinen, Matias Torppila.): Kertoo HTML-parsijalle jonotusohjeet-tekstin. html.spostiosoite esim. html.spostiosoite = ohtu@cs.helsinki.fi): Kertoo HTML-parsijalle sähköpostiosoite-tekstin Yleinen.properties-tiedosto Yleinen.properties-tiedosto sisältää ohjelman tarvitsemat yleiset asetustiedot.yleisiä tietoja ovat tietokantapalvelimen osoite ja portti sekä tietokannan nimi.
9 6 tk.osoite: Tietokantapalvelimen osoite tk.portti: Tietokantapalvelimen portti tk.nimi: Tietokannan nimi Liitteenä liite 3) esimerkki yleinen.properties-tiedostosta HTML-kirjoittaja HTML-kirjoittaja tulostaa Ilmo-ryhmiin liitetyn ryhmittelyn HTML-sivun osana. Tulostiedosto vastaa osoitteessa olevaa sivua, kuitenkin siten, että se pitää sisällään ainoastaan header loppuu- ja trailer alkaa-kommenttien välisen alueen. Tiedosto kirjoitetaan käyttäjän valitsemaan paikkaan ja siinä esiintyvät tekstivakiot määritellään kurssi.properties-tiedostossa. HTMLKirjoitin on yhden metodin kirjastoluokka, joka saa parametrinaan kurssi-olion ja kohdetiedostonnimen. Kirjoituksessa käytetään apuna Tiedostokirjoittaja-luokan metodeja Keskener isten ryhmittelyiden k sittelij Keskeneräisten ryhmien käsittelijällä on kaksi toimintoa: nykyisen ryhmäjaon tallettaminen halutulla nimellä levylle ja valitun ryhmäjaon lataaminen levyltä. Osajärjestelmän toiminta perustuu olioiden sarjallistuvuuteen: kun sarjallistuva kurssi-olio kirjoitetaan levylle myös kaikki oliot joihin se viittaa kirjoitetaan talteen. Ryhmittelyn latauksen yhteydessä ohjelma palautetaan talletettuun tilaan. 2.2 Ulkoiset rajapinnat Ulkoisia rajapintoja ovat Desmond ja Ilmo. Molemmat järjestelmät ovat suunniteltu omiin käyttötarkoituksiinsa, joten niiden hyödyntäminen Ilpo-projektissa on hieman kankeaa. Desmondin tietokannan tietoja ei voida päivittää mitenkään Ilposta-käsin. Tämän takia Ilpon tulee pystyä tuottamaan lista niiden opiskelijoiden opiskelijanumeroista, joiden tiedot halutaan päivittää Desmondiin. Tekstimuotoisen tiedoston tulee sisältää yksi opiskelijanumero riviä kohti. Tämän tiedoston avulla Desmondin ylläpitäjä tai vastaava henkilö) päivittää Desmondin tiedot ajantasaiseksi. Desmondin palvelun käyttämisestä on kerrottu tarkemmin seuraavassa aliluvussa. Ilmotietokannan rakenne ei ole, ainakaan Ilpon näkökulmasta, kovin järkevästi toteutettu. Esimerkiksi opiskelijoiden toiveet kurssijaon suhteen ovat pilkulla erotettuna yhdessä tekstimuotoisessa kentässä. Muun muassa tämän johdosta Ilpo joutuu parsimaan tietoa tarpeettomasti. Ilmosta on kerrottu tarkemmin luvun toisessa alikappaleessa Desmond Yhteys Desmondiin hoidetaan projektiryhmälle toimitetun Desmond.jar-paketin avulla. Paketti tarvitsee toimiakseen luokkapolun määrittelyn. Esimerkiksi:
10 java-classpath Desmond.jar:/opt/jdbc/classes12_01.zip:. Ohjelma Ohjelman kääntäminen tapahtuu vastaavasti, parametrit pitää huomioida Ant-tiedostossa. Puuttuvien esitietojen tarkistamiseksi paketista kutsutaan Esitiedot luokan staattista tarkistaesitiedot-metodia. Metodille annetaan ensimmäisenä parametrina tarkastettavien o- piskelijoiden käyttäjätunnukset sisältävä olio, jonka tulee toteuttaa Collection-rajapinta. LinkedList-olio sopii tähän tarkoitukseen hyvin. Toisena parametrina annetaan profiloitavan kurssin kurssikoodi, esim Metodi palauttaa opiskelijoilta puuttuvat esitiedot Collection-oliona. Palautettu olio sisältää joukon Collection-olioita. Nämä oliot taas sisältävät opiskelijan String-muotoisen käyttäjätunnuksen sekä Collection-olion, joka sisältää puuttuvat kurssit os2.ljk.esitietokurssit-olioina. EsitietoKurssit-oliot sisältävät kaksi metodia: annakurssikoodi) ja annataso). Molemmat näistä palauttavat Stringmuotoisen arvon ja annataso-metodi palauttaa arvonaan joko pakollinen, hallittavatai suositeltu. Kuvassa 1 on selvennetty tarkistaesitiedot-metodin palauttaman Collection-olion rakennetta. Huom! Jos käyttäjätunnus-olio on olemassa, niin silloin myös sen sisarsolmueli Collection on olemassa. Jos sitä ei ole olemassa niin sisarsolmuakaan ei ole olemassa. Tämä pätee myös toisin päin. 7 Kuva 1: tarkistaesitiedot-metodin paluuarvon rakenne Ilmo Ilpo-ryhmän käyttöön on luotu kaksi teoriassa identtistä Oracle-testikantaa, toinen Konttiin ja toinen Bodbackaan. Ryhmä päätti käyttää projektin tuotoksena syntyvässä ohjelmassa ainoastaan Kontti-yhteyttä. Javan JDBC:n avulla toteutettava tietokantayhteys tarvitsee toimiakseen polkumäärittelyn, joka viittaa Oraclen JDBC-tietokanta-ajuriin. Tämä onnistuu esimerkiksi komennolla: java -classpath /opt/oracle-client /jdbc/lib/ojdbc14.jar:. Ohjelma Huomaa myös Desmond.jar-paketin vaatimukset polkumäärittelyjen suhteen. Tietokannan nimi, osoite ja portti määritellään yleinen.properties-tiedostossa. Tästä enemmän arkkitehtuurin kuvaus-luvussa. Valmiiksi ryhmitellyt ryhmät tallennetaan Ilmo-tietokantaan. Tallentaminen tapahtuu joko PL/SQL-skriptin avulla tai sitten suoraan SQL-lauseilla. Ryhmä ei ole saanut riittävästi tietoa tästä asiasta lukuisista pyynnöistä huolimatta.
11 8 2.3 Opiskelijanumerotulostin Opiskelijanumerotulostimella kirjoitetaan tiedostoon niiden opiskelijoiden opiskelijanumerot, joiden tiedot halutaan päivitettävän Desmond-järjestelmään. Käytännössä tämä sisältää profiloitavalle kurssille ilmoittautuneet opiskelijat. Tiedosto sisältää yhden opiskelijanumeron riviä kohti. Luokan ilmentymä saa kirjoitusmetodilleen parametrina Collectionrajapinnan toteuttavan olion, joka sisältää Opiskelija-olioita. Kirjoituksessa käytetään apuna Tiedostokirjoittaja-luokan metodeja. 3 Luokkarakenne Tässä luvussa kuvataan ohjelmiston luokkarakenne. Luokat on jaoteltu pakkauksiin ja pakkauksia on luotu viisi kappaletta. Luokkaryhmät, joita pakkaukset pitävät sisällään ovat nimeltään Model, Control, View, IO ja DB. Kaikki ryhmät käsitellään seuraavissa aliluvuissa. Tarkempi kuvaus jokaisesta pakkauksesta löytyy API-kirjastosta, joka on liitteenä Javadoc muodossa liite 4). 3.1 Model Model-luokat sijaitsevat fi.helsinki.cs.ilpo -pakkauksessa. Kyseessä on järjestelmän sisäiseen tietorakenteeseen liittyvät luokat, joissa on myös kaikki niihin liittyvä looginen toiminnallisuus. Kurssi ja Opiskelija luokat ovat ne millä pääsääntöisesti operoidaan. Niillä muodostetaan Kurssi-, Ilporyhmä- ja Opiskelija-olioita. Opiskelija-olioita sijoitellaan Ilporyhmä-olioihin. Muut luokat ovat avusteisia näille luokille. Ne liittyvät kursseihin, opiskelijoihin ja ryhmiin kuuluvien tietojen käsittelyyn. Sisäinen tietorakenne on kuvattu kuvassa Control Control-luokat sijaitsevat fi.helsinki.cs.ilpo.control -pakkauksessa. Kyseessä on käyttäjän syötteiden proseissoinnin hoitavat luokat. Suunnitteluvaiheessa eri Control-luokkia ei ole yksityiskohtaisesti suunniteltu, mutta niiden yleinen teoreettinen KontrolliPalikka-luokka kuvaa teoriassa kaikkia mahdollisia control-luokkia. 3.3 View View-luokat sijaitsevat fi.helsinki.cs.ilpo.view -pakkauksessa. Kyseessä on graafisen käyttöliittymän komponentit sisältävät luokat. View-luokat muodostuvat lopullisessa toteutuksessa kahdenlaisista luokista: valmiista Swing-komponenteista perittävistä luokista sekä puhtaasti grafiikalla tehtävistä luokista. Varsinkaan kaikkia Swing-ratkaisuun liittyviä luokkia ei ole vielä tarkasti suunniteltu.
12 4> 0 ) 0 ; > B C B B!!!!!!!!!! C 0 C B G B B C : B C C B G C C 5 + ; > :!! B C C B C 4+. ; 0 9 C C!! C C B!!! C! 5 + ; > + B!!!! 6!!! B 5 + ; >! B C!!!!!! B + C C B ) 3 > = 4 7. /, - + )/ - / : % 0 ; 0 < /. /, - + ) : 8 +. ; 0 ; 0 9 : 0 5 ) F E D! ; ; ; 4? : : : % : > 0? < ; ; ; 4 4> 0? < A : Kuva 2: Luokkarakenne eli järjestelmän ydin
13 IO ja DB Tiedostoja käsittelevät luokat ovat omassa pakkauksessaan fi.helsinki.cs.ilpo.io). Pakkauksessa on luokat tulostiedostojen opiskelijanumerolista ja valmis ryhmittely) kirjoitusta varten sekä työvälineet, joilla keskeneräisiä ryhmäjakoja voidaan tallettaa ja ladata. Tietokantayhteys, kantaan tehtävät kyselyt sekä kyselyjen käsittely sijatsevat fi.helsinki.cs.ilpo.db -pakkauksen luokissa. Paketteihin liittyvät luokat esitellään kuvassa 3. 4 K ytt liittym Ilpon käyttöliittymän suunnitelma löytyy määrittelydokumentin liitteestä. Tähän ei oteta tarkemmin kantaa tässä dokumentissa. Tässä dokumentissa käsitellään vain käyttöliittymän toteutusta. Käyttöliittymän fyysinen rakenne koostuu kolmesta osasta: vasemmalla ylhäällä olevasta sort-solusta, vasemmalla alhaalla olevasta detail-solusta ja oikealla olevasta ryhmäsolusta. Sort-solu koostuu kahdesta tab-lehdestä: opiskelijoiden sort-solusta ja henkilökunnan sort-solusta. Opiskelijoiden sort-solu sisältää kurssille ilmoittautuneita opiskelijoita esittäviä palloja, ja tämä toteutetaan kokonaan grafiikalla. Henkilökunnan sortsolu sisältää listan kurssille ilmoitetuista henkilökuntalaisista, ja tämä toteutetaan swingkomponenteilla. Detail-solussa on joko tarkkaa tietoa yhdestä valitusta opiskelijasta tai vähemmän tarkkaa tietoa useasta valitusta opiskelijasta. Nämä toteutetaan swing-komponenteilla. Ryhmäsolu toteutetaan kokonaan grafiikalla. Se sisältää ryhmiä sekä niissä olevia opiskelijoita kuvaavia palloja ja henkilökuntalaisia kuvaavia komponentteja. Varsinkaan grafiikalla toteutettavia osia ei ole tarkasti suunniteltu, koska kenelläkään ryhmäläisellä ei ole vankkaa kokemusta tai tietoa, kuinka se pitäisi tarkalleen ottaen tehdä. Swing-komponenteilla toteutettavien osien suunnitelmat taas ovat vajaita, koska swingin rakenne pakottaa käyttämään todella monia sisäkkäisiä luokkia kuten JScrollPane, joka mahdollistaa näytön skrollauksen). Näitä ylimääräisiä luokkia ei ole suunnitelmiin mitenkään sisällytetty. Käyttöliittymäsuunnittelun pohjalla on ryhmämme oma tulkina modelview-control MVC) -ratkaisusta. MVC on suunnittelumalli, jonka idea on jakaa järjestelmän toiminnallisuus kolmeen osaan: model-osassa on järjestelmän looginen toiminnallisuus sekä tietosisältö), view-osassa on käyttäjälle esitettävä osa eli graafisen käyttöliittymän komponentit, kuten napit ja muut napiskuukkelit) ja control-osassa on käyttäjän syötteiden prosessointi. Ilpo on jaettu pakkauksiin siten, että fi.helsinki.cs.ilpo -pakkauksessa on model-luokat, fi.helsinki.cs.ilpo.view -pakkauksessa on view-luokat ja fi.helsinki.cs.ilpo.control -pakkauksessa on control-luokat. Käyttöliittymän luokkien välisiä yhteyksiä tarkastellaan kuvissa 4, 5 sekä 6. Kaikki model-luokat on kuvattu täydellisesti. View-luokat on kuvattu niin tarkasti, kuin suunnittelun kannalta on ollut järkevää, eli jokaista Swing-komponenttien perintää ja muita suoraan Swingiin liittyviä ominaisuuksia ei ole dokumentoitu. Yhtäkään yksittäistä control-luokkaa ei ole käytännössä lainkaan suunniteltu, mutta yleisesti kaikkien control-luokkien toiminta on sen sijaan suunniteltu. KontrolliPalikka -luokka kuvaa
14 ; 1 0! ) < < I J! J 5 1 J % I I < %!!! = : <, 5,, ) =, =,! 5 5 = 5 = = = 5 ) = > > ), ) >, ) > ) ) A, 3 1 H B 2 1 0/. - B B ) %! > > > )? 5 5 ),, 4! 3 > > 5 ) 8 ; 1 7 ; : ) % >, 2 8! )!?, 3 ) C? ) =? = ), > = 3 %,, ) ) > D8: E E GF! % % % %! ), +, + Kuva 3: Tietokantaan ja tiedostoihin liittyvät luokat
15 kaikkia teoriassa mahdollisia kontrolli-luokkia. 12
16 , 1 =! U!7 6 =! 6 U B % 9! % W 6 V V!! U U V V B % 9 V V!7!7 U 9 C 7! 9 ; U 6 V V 9 9 U U 4 4 V A % 7 U U :! :! = +< 5 ; :! 86 9 :! 86 9 ; :! ! ; :! 86 9 > 5 ; + ) 6 + 9? ; + ) < 7 7!? = ) + 7 = + ) + 7 = 4 9 C B % +< 5 6! 6 >5 +< 5 6! 6 A6 5 +< 5 C 5! 6 5 D +< 5 A 9 5! 6 5 D +< 5 C C C B % = 4 F ; +E A D C % BA 6 7 D ; C B % = 4 F ; +E A D 7 = 4 F C % BA = +E 97 5; C B % :! = +< 5 A = +< C % BA ! C % BA ! 6 % C % BA6 C 5 G 6 6 9! 6 I ++5 I BA6!! ; 5! H 6 + C B % < 6! A < 6! C B % ) J A 5! 7 8 % + C % BA6 ;7% K C B % < 6! ;7% K 7 < A 7 < 6! ;7% K L 7 6 L BA % 7 6 L + C B % 7 6 % ; L 6 % ; L D S R Q -, P 0 /, M :! 6 9 :! 6 9 > 5 ; + ) C 5! 6 5 D = 4 F ; +E A 9 9 5! 6 5 D = 4 F C C C % BA C % BA % 0 / 0 P O. 0 /. + ) %! 0 / N -. R T Kuva 4: Käyttöliittymän sisäiset rakenteet
17 % % % % % % 14!!! Kuva 5: Käyttöliittymän graafisiin komponentteihin liittyvät luokat
18 = < P P N O = N = N N O N O N O ;? > < C H E D > G F E DC C B C = B C = FH B! % % + ) 1 9: / / -., + ) 1 9: M0 2 / L K0 JI Kuva 6: Henkilökunnan kiinnittämiseen ilporyhmiin tarvittavat luokat
19 Liite 1. Sekvenssikaaviot 1
20 2
21 3
22 4
23 5
24 Liite 2. Kurssi.properties-tiedosto 1 Esimerkki kurssi.properties-tiedostosta. Luettavuuden parantamiseksi osa asetuksista on jaettu usealle riville, todellisuudessa näin ei toimita. koodi = kurssijarjestysnumero = 1 lukukausi = kevat lukuvuosi = 2005 kysymys.1.kannassa = 1 kysymys.2.kannassa = 3 kysymys.3.kannassa = 6 kysymys.3.preferenssi = 1 kysymys.3.tyyppi = csv kysymys.3.vv.1 = algoritmit, tietorakenteet kysymys.3.vv.2 = laskennan teoria kysymys.3.vv.3 = hahmontunnistus kysymys.3.vv.4 = tietokonegrafiikka kysymys.3.vv.5 = teko ly kysymys.3.vv.6 = koneoppiminen kysymys.3.vv.7 = data-analyysin laskennalliset menetelm t kysymys.3.vv.8 = ohjelmointi, ohjelmointikielet, olio-ohjelmointi kysymys.3.vv.9 = ohjelmiston rakenne arkkitehtuuri) kysymys.3.vv.10 = ohjelmiston laatu, ohjelmiston mittaaminen kysymys.3.vv.11 = ohjelmiston kehitysprosessi, ohjelmistotuotanto kysymys.3.vv.12 = testaus kysymys.3.vv.13 = tietoliikenne kysymys.3.vv.14 = mobiilij rjestelm t kysymys.3.vv.15 = k ytt j rjestelm t kysymys.3.vv.16 = tietokoneen rakenne kysymys.3.vv.17 = hajautetut sovellusalustat ja sovellukset kysymys.3.vv.18 = s hk isen liiketoiminnan tukij rjestelm t kysymys.3.vv.19 = lykk sti sis lt k sittelev t web-palvelut kysymys.3.vv.20 = dokumenttien k sittelymenetelm t mm. XML) kysymys.3.vv.21 = tiedonhakumenetelm t kysymys.3.vv.22 = tiedon louhinta kysymys.3.vv.23 = bioinformatiikka kysymys.3.vv.24 = kieliteknologia kysymys.3.vv.25 = tietokannat kysymys.3.vv.26 = k ytt liittym t kysymys.3.vv.27 = opettajalinja, aihepiirist toivotaan tarkennusta lis tiedoissa kysymys.3.vv.28 = muu, aihepiiri tarkennettava lis tiedoissa esimerkiksi sovelletun tietojenk sittelyn osalta sovellusala) kysymys.4.kannassa = 6 kysymys.4.preferenssi = 2
25 kysymys.4.tyyppi = csv kysymys.4.vv.1 = algoritmit, tietorakenteet kysymys.4.vv.2 = laskennan teoria kysymys.4.vv.3 = hahmontunnistus kysymys.4.vv.4 = tietokonegrafiikka kysymys.4.vv.5 = teko ly kysymys.4.vv.6 = koneoppiminen kysymys.4.vv.7 = data-analyysin laskennalliset menetelm t kysymys.4.vv.8 = ohjelmointi, ohjelmointikielet, olio-ohjelmointi kysymys.4.vv.9 = ohjelmiston rakenne arkkitehtuuri) kysymys.4.vv.10 = ohjelmiston laatu, ohjelmiston mittaaminen kysymys.4.vv.11 = ohjelmiston kehitysprosessi, ohjelmistotuotanto kysymys.4.vv.12 = testaus kysymys.4.vv.13 = tietoliikenne kysymys.4.vv.14 = mobiilij rjestelm t kysymys.4.vv.15 = k ytt j rjestelm t kysymys.4.vv.16 = tietokoneen rakenne kysymys.4.vv.17 = hajautetut sovellusalustat ja sovellukset kysymys.4.vv.18 = s hk isen liiketoiminnan tukij rjestelm t kysymys.4.vv.19 = lykk sti sis lt k sittelev t web-palvelut kysymys.4.vv.20 = dokumenttien k sittelymenetelm t mm. XML) kysymys.4.vv.21 = tiedonhakumenetelm t kysymys.4.vv.22 = tiedon louhinta kysymys.4.vv.23 = bioinformatiikka kysymys.4.vv.24 = kieliteknologia kysymys.4.vv.25 = tietokannat kysymys.4.vv.26 = k ytt liittym t kysymys.4.vv.27 = opettajalinja, aihepiirist toivotaan tarkennusta lis tiedoissa kysymys.4.vv.28 = muu, aihepiiri tarkennettava lis tiedoissa esimerkiksi sovelletun tietojenk sittelyn osalta sovellusala) 2 kysymys.5.kannassa = 6 kysymys.5.preferenssi = 3 kysymys.5.tyyppi = csv kysymys.5.vv.1 = algoritmit, tietorakenteet kysymys.5.vv.2 = laskennan teoria kysymys.5.vv.3 = hahmontunnistus kysymys.5.vv.4 = tietokonegrafiikka kysymys.5.vv.5 = teko ly kysymys.5.vv.6 = koneoppiminen kysymys.5.vv.7 = data-analyysin laskennalliset menetelm t kysymys.5.vv.8 = ohjelmointi, ohjelmointikielet, olio-ohjelmointi kysymys.5.vv.9 = ohjelmiston rakenne arkkitehtuuri) kysymys.5.vv.10 = ohjelmiston laatu, ohjelmiston mittaaminen kysymys.5.vv.11 = ohjelmiston kehitysprosessi, ohjelmistotuotanto kysymys.5.vv.12 = testaus
26 3 kysymys.5.vv.13 = tietoliikenne kysymys.5.vv.14 = mobiilij rjestelm t kysymys.5.vv.15 = k ytt j rjestelm t kysymys.5.vv.16 = tietokoneen rakenne kysymys.5.vv.17 = hajautetut sovellusalustat ja sovellukset kysymys.5.vv.18 = s hk isen liiketoiminnan tukij rjestelm t kysymys.5.vv.19 = lykk sti sis lt k sittelev t web-palvelut kysymys.5.vv.20 = dokumenttien k sittelymenetelm t mm. XML) kysymys.5.vv.21 = tiedonhakumenetelm t kysymys.5.vv.22 = tiedon louhinta kysymys.5.vv.23 = bioinformatiikka kysymys.5.vv.24 = kieliteknologia kysymys.5.vv.25 = tietokannat kysymys.5.vv.26 = k ytt liittym t kysymys.5.vv.27 = opettajalinja, aihepiirist toivotaan tarkennusta lis tiedoissa kysymys.5.vv.28 = muu, aihepiiri tarkennettava lis tiedoissa esimerkiksi sovelletun tietojenk sittelyn osalta sovellusala) kysymys.6.kannassa = 6 kysymys.6.preferenssi = 4 kysymys.6.tyyppi = csv kysymys.6.vv.1 = algoritmit, tietorakenteet kysymys.6.vv.2 = laskennan teoria kysymys.6.vv.3 = hahmontunnistus kysymys.6.vv.4 = tietokonegrafiikka kysymys.6.vv.5 = teko ly kysymys.6.vv.6 = koneoppiminen kysymys.6.vv.7 = data-analyysin laskennalliset menetelm t kysymys.6.vv.8 = ohjelmointi, ohjelmointikielet, olio-ohjelmointi kysymys.6.vv.9 = ohjelmiston rakenne arkkitehtuuri) kysymys.6.vv.10 = ohjelmiston laatu, ohjelmiston mittaaminen kysymys.6.vv.11 = ohjelmiston kehitysprosessi, ohjelmistotuotanto kysymys.6.vv.12 = testaus kysymys.6.vv.13 = tietoliikenne kysymys.6.vv.14 = mobiilij rjestelm t kysymys.6.vv.15 = k ytt j rjestelm t kysymys.6.vv.16 = tietokoneen rakenne kysymys.6.vv.17 = hajautetut sovellusalustat ja sovellukset kysymys.6.vv.18 = s hk isen liiketoiminnan tukij rjestelm t kysymys.6.vv.19 = lykk sti sis lt k sittelev t web-palvelut kysymys.6.vv.20 = dokumenttien k sittelymenetelm t mm. XML) kysymys.6.vv.21 = tiedonhakumenetelm t kysymys.6.vv.22 = tiedon louhinta kysymys.6.vv.23 = bioinformatiikka kysymys.6.vv.24 = kieliteknologia kysymys.6.vv.25 = tietokannat
27 4 kysymys.6.vv.26 = k ytt liittym t kysymys.6.vv.27 = opettajalinja, aihepiirist toivotaan tarkennusta lis tiedoissa kysymys.6.vv.28 = muu, aihepiiri tarkennettava lis tiedoissa esimerkiksi sovelletun tietojenk sittelyn osalta sovellusala) kysymys.7.kannassa = 6 kysymys.7.preferenssi = 5 kysymys.7.tyyppi = csv kysymys.7.vv.1 = algoritmit, tietorakenteet kysymys.7.vv.2 = laskennan teoria kysymys.7.vv.3 = hahmontunnistus kysymys.7.vv.4 = tietokonegrafiikka kysymys.7.vv.5 = teko ly kysymys.7.vv.6 = koneoppiminen kysymys.7.vv.7 = data-analyysin laskennalliset menetelm t kysymys.7.vv.8 = ohjelmointi, ohjelmointikielet, olio-ohjelmointi kysymys.7.vv.9 = ohjelmiston rakenne arkkitehtuuri) kysymys.7.vv.10 = ohjelmiston laatu, ohjelmiston mittaaminen kysymys.7.vv.11 = ohjelmiston kehitysprosessi, ohjelmistotuotanto kysymys.7.vv.12 = testaus kysymys.7.vv.13 = tietoliikenne kysymys.7.vv.14 = mobiilij rjestelm t kysymys.7.vv.15 = k ytt j rjestelm t kysymys.7.vv.16 = tietokoneen rakenne kysymys.7.vv.17 = hajautetut sovellusalustat ja sovellukset kysymys.7.vv.18 = s hk isen liiketoiminnan tukij rjestelm t kysymys.7.vv.19 = lykk sti sis lt k sittelev t web-palvelut kysymys.7.vv.20 = dokumenttien k sittelymenetelm t mm. XML) kysymys.7.vv.21 = tiedonhakumenetelm t kysymys.7.vv.22 = tiedon louhinta kysymys.7.vv.23 = bioinformatiikka kysymys.7.vv.24 = kieliteknologia kysymys.7.vv.25 = tietokannat kysymys.7.vv.26 = k ytt liittym t kysymys.7.vv.27 = opettajalinja, aihepiirist toivotaan tarkennusta lis tiedoissa kysymys.7.vv.28 = muu, aihepiiri tarkennettava lis tiedoissa esimerkiksi sovelletun tietojenk sittelyn osalta sovellusala) kysymys.8.kannassa = 2 kysymys.9.kannassa = 7 kysymys.10.kannassa = 15 html.otsikko = Kev n 2005 ohjelmistotuotantoprojektien alustava ryhm jako html.ingressi = Seuraavassa on p iv tty lista
28 5 kev n 2005 ohjelmistotuotantoprojekteista. html.kokoontumisajat = Ryhm t aloittavat kokoontumisensa viikolla ). Projektit p ttyv t viimeist n viikolla ). html.jonotusotsikko = Jonotuslista html.jonotusohjeet = Jonotuslistalle on sijoitettu opiskelijat, joilla on ryhm jakoa laadittaessa ollut puutteita kurssin esitietovaatimusten suhteen. Opiskelijoita voidaan sijoittaa listalta ryhmiin, mik li he saavat puuttuvat suoritukset valmiiksi ennen ryhmien toiminnan alkamista. Jos l yd t nimesi listalta ja mielest si esitietovaatimukset ovat kohdaltasi kunnossa, ota mahdollisimman pian yhteytt osoitteeseen <a href=mailto:ohtu@cs.helsinki.fi>ohtu@cs.helsinki.fi</a> html.spostiosoite = ohtu@cs.helsinki.fi
29 Liite 3. Yleinen.properties-tiedosto 1 Esimerkki yleinen.properties-tiedostosta tk.osoite = kontti.helsinki.fi tk.portti = 1522 tk.nimi = tkta
30 Contents 1 Pakkaus fi.helsinki.cs.ilpo Luokka Henkilokuntalainen Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka IlmoRyhma Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Ilpo Kuvaus Metodien yhteenveto Metodit Luokka IlpoRyhma Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Kurssi Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Kysymys Kuvaus Konstruktorien yhteenveto Metodien yhteenveto
31 Sisältö Konstruktorit Metodit Luokka Opintojakso Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Opiskelija Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Sivuaine Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka SuoritettuOpintojakso Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka SuoritettuSivuainekurssi Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka UupuvaOpintojakso Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Vapaakysymys Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Vapaavastaus Kuvaus
32 Sisältö Konstruktorien yhteenveto Konstruktorit Luokka Vastausvaihtoehto Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Pakkaus fi.helsinki.cs.ilpo.control Luokka IlmoRyhmaListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka IlpoRyhmaListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka NakymaRyhmaHKListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka NakymaRyhmaListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka OpiskelijaListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka PalloListener Kuvaus Kaikki tunnetut alirajapinnat Kaikki luokat, joiden tiedetään toteuttavan rajapinnan Luokka KontrolliPalikka Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka KontrolliYlenkatsoUupuva Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit
33 Sisältö 4 3 Pakkaus fi.helsinki.cs.ilpo.view Luokka AutentikointiIkkuna Kuvaus Kenttien yhteenveto Konstruktorien yhteenveto Metodien yhteenveto Kentät Konstruktorit Metodit Luokka HenkilotietoSolu Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka HKBoxi Kuvaus Kaikki tunnetut aliluokat Konstruktorien yhteenveto Konstruktorit Luokka HKSortSolu Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka IsoHKBoxi Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka KopioituvaPallo Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka NakymaRyhma Kuvaus Kaikki tunnetut aliluokat Konstruktorien yhteenveto Konstruktorit Luokka NakymaUusiRyhma Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka NakymaVanhaRyhma Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka OpiskelijaListassaJComponent
34 Sisältö Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka OpiskelijaSortSolu Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Pallo Kuvaus Kaikki tunnetut aliluokat Konstruktorien yhteenveto Konstruktorit Luokka PieniHKBoxi Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka PoistaOpiskelijaButton Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka PoistaRyhmaButton Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka PoistaRyhmastaButton Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka RyhmaSolu Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka RyhmatietoSolu Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka SiirtyvaPallo Kuvaus Konstruktorien yhteenveto Konstruktorit
35 Sisältö Luokka SortSolu Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka TietoSolu Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka TulosRyhmaNakyma Kuvaus Konstruktorien yhteenveto Konstruktorit Luokka YlenkatsoJButton Kuvaus Konstruktorien yhteenveto Konstruktorit Pakkaus fi.helsinki.cs.ilpo.db Luokka Parseri Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Tietokantakyselija Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka Tietokantayhteys Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Pakkaus fi.helsinki.cs.ilpo.io Luokka HTMLKirjoitin Kuvaus Metodien yhteenveto Metodit Luokka KeskeneraistenRyhmienKasittelija Kuvaus
36 Sisältö Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit Luokka OpiskelijanumeroTulostin Kuvaus Metodien yhteenveto Metodit Luokka Tiedostokirjoittaja Kuvaus Konstruktorien yhteenveto Metodien yhteenveto Konstruktorit Metodit
37 Chapter 1 Pakkaus fi.helsinki.cs.ilpo Pakkaus Sisältö Sivu Luokat Henkilokuntalainen Henkilökunnan jäsen, joka liittyy ilpon tuottamiin lopullisiin ryhmiin. IlmoRyhma IlmoRyhmat ovat peräisin Kurjesta. Ilpo Class Ilpo IlpoRyhma Ilpon sisäisen ryhmäjaon ryhmät. Kurssi Järjestelmän kannalta keskeinen tietorakenne, johon liittyy kaikki yhden kurssin ryhmittelyn kannalta olennainen tieto. Kysymys Ilmon monivalintakysymys ilpossa. Opintojakso TKTL:n kurssi, jonka opiskelija on saattanut suorittaa. Opiskelija Edustaa yhtä kurssille ilmoittautunutta opiskelijaa. Sivuaine Opiskelijan yhden sivuaine-aineen suoritusten majapaikka. SuoritettuOpintojakso Yhdistää opiskelijan ja tämän suorittaman tktl:n opintojakson toisiinsa. SuoritettuSivuainekurssi Opiskelijan suorittama sivuainekurssi. UupuvaOpintojakso Kurssin esitietoihin kuuluva opintojakso, jota opiskelija ei ole suorittanut. Vapaakysymys Ilmoittatumisen yhteydessä kysytty kysymys, johon on voitu vastata vapaamuotoisesti. 8
Määrittelydokumentti. ilpo-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Määrittelydokumentti ilpo-ryhmä Helsinki 17.2.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Arttu Eloranta
Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2
TIETOJENKÄSITTELYTIETEEN LAITOS Ohjelmistotuotantoprojekti 04.09.2006 Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2 Ylläpitodokumentti 1.0 Hemminki Samuli Herranen Mikko Hinkkanen Tero Mäkelä Ari
Määrittelydokumentti. ilpo-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Määrittelydokumentti ilpo-ryhmä Helsinki 7.3.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhm Arttu Eloranta
Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari
Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.
Tietojenkäsittelytiede Tutkintovaatimukset Perustutkinnot LUONNONTIETEIDEN KANDIDAATIN TUTKINTO (VÄHINTÄÄN 120 OV) 1. Tietojenkäsittelytieteen cum laude approbatur -oppimäärä (vähintään 55 ov) ja kypsyysnäyte
Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset
Opettajatuutorointi-kurssin syksyn 26 kyselyjen tulokset Opinnot keväällä ja syksyllä 26 Pirjo Moen, 2.1.26 Yleistä Kyselyyn vastasi 2.9.26 mennessä 121 opiskelijaa vanhan tutkintojärjestelmän mukaan etenevistä
Käyttöohje. ilpo-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje ilpo-ryhmä Helsinki 6.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260-4 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Arttu Eloranta Risto
opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.
25.1.2010 Palaverin kysymyksien selvittelymuistio Mitä ominaisuuksia halutaan? Sopivat ajat sprinttien jälkeisiin demoihin/palavereihin. - mitkä ajat sopivat? Pekka : pe 12-16 Tommi : pe 8-16 Onko ohjelmointikielen
Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2
TIETOJENKÄSITTELYTIETEEN LAITOS Ohjelmistotuotantoprojekti 04.09.2006 Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2 Suunnitteludokumentti 2.0 Hemminki Samuli Herranen Mikko Hinkkanen Tero Mäkelä Ari
Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
Valppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen
Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio
Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Matematiikan oppifoorumi Projektisuunnitelma
Matematiikan oppifoorumi Projektisuunnitelma Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Asiakas Mikko Mäkelä Ohjelmistotuotantoprojekti 29.10.1999
Projektisuunnitelma Ilmoitusten profiloija ilpo ryhmä
Projektisuunnitelma Ilmoitusten profiloija ilpo ryhmä Helsinki 17.2.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260-4 Ohjelmistotuotantoprojekti (6ov)
Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Projektisuunnitelma KotKot Helsinki 22.9.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen
Ylläpitodokumentti Mooan
Ylläpitodokumentti Mooan Helsinki 16.08.06 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op/6ov) Projektiryhmä Heikki Aitakangas
Kuva: Ilpo Okkonen
OodiHOPS OHJAAJAN OHJE 14.2.2017 Kuva: Ilpo Okkonen OodiHOPS Oulun yliopistossa Oulun yliopiston koulutusneuvosto on päättänyt, että OodiHOPS-toiminto otetaan käyttöön vähintään aloittavilla opiskelijoilla
1. Uuden Ilmon käytön eroavaisuudet vanhasta Ilmosta lyhyesti
Sisällysluettelo 1. Uuden Ilmon käytön eroavaisuudet vanhasta Ilmosta lyhyesti... 2 Huomattavaa kurssin tietojen täyttämisessä!... 2 2. Kurssikuvauksen ja muiden opiskelijoille näkyvien kurssitietojen
FuturaPlan. Järjestelmävaatimukset
FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0
Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen
Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja
ELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä
Rekursiolause Laskennan teorian opintopiiri Sebastian Björkqvist 23. helmikuuta 2014 Tiivistelmä Työssä käydään läpi itsereplikoituvien ohjelmien toimintaa sekä esitetään ja todistetaan rekursiolause,
4. Luokan testaus ja käyttö olion kautta 4.1
4. Luokan testaus ja käyttö olion kautta 4.1 Olion luominen luokasta Java-kielessä olio määritellään joko luokan edustajaksi tai taulukoksi. Olio on joukko keskusmuistissa olevia tietoja. Oliota käsitellään
Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli
Lohtu-projekti. Testaussuunnitelma
Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät
DL SOFTWARE Uumajankatu 2 Umeågatan FIN-65350 VAASA/VASA FINLAND +358-(0)207 701 701 Fax +358-(0)207 701 711 http://www.dlsoftware.
15.11.2007 1 (10) HELPDESKIN KÄYTTÖ JA OHJELMIEN PÄIVITYS INTERNETISSÄ DL Helpdesk Online Asiakastukemme avuksi on rakennettu Helpdesk, joka löytyy osoitteesta helpdesk.dlsoftware.com Jokainen ylläpitoasiakas
Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)
HAAGA-HELIA ICT1TA006: Ohjelmointi 1 /5 Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC) (Lähteet: Oracle java jdbc Tutorial, Arvo Lipitsäinen: Tietokannan käsittely JDBC:n
Johdatus rakenteisiin dokumentteihin
-RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista
Sukupuu -ohjelma. Ossi Väre (013759021) Joni Virtanen (013760641)
Sukupuu -ohjelma Ossi Väre (013759021) Joni Virtanen (013760641) 7.11.2011 1 Johdanto Toteutimme C -kielellä sukupuuohjelman, johon käyttäjä voi lisätä ja poistaa henkilöitä ja määrittää henkilöiden välisiä
Action Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
ILMOITTAUTUMINEN OPINNOILLE
1 (8) ILMOITTAUTUMINEN OPINNOILLE Opintojen toteutuksille tulee ilmoittautua SoleOPSissa niiden ilmoittautumisaikana joko HOPSilta tai toteutussuunnitelmalta. Ilmoittautumisajat - syksyn opinnoille 15.4.
ILMOITTAUTUMINEN OPINNOILLE
1 (5) ILMOITTAUTUMINEN OPINNOILLE Opintojen toteutuksille tulee ilmoittautua SoleOPSissa niiden ilmoittautumisaikana joko HOPSilta tai toteutussuunnitelmalta. Ilmoittautumisajat - syksyn opinnoille 15.4.
Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3
Uutisjärjestelmä Vaatimusmäärittely Versio 1.3 Sisällys 1 Muutoshistoria... 4 2 Viitteet... 4 3 Sanasto... 4 3.1 Lyhenteet... 4 3.2 Määritelmät... 4 4 Johdanto...5 4.1 Järjestelmän yleiskuvaus... 5 4.2
Suunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus
582203 Tietokantasovellus (4 op) - Web-sovellukset ja niiden toteutus Sisältö Mikä on web-sovellus? Selaimen rooli web-sovelluksessa Palvelimen rooli web-sovelluksessa Aineistopyynnöt Tiedon välittäminen
Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.
TIETOKANTA MERIKOTKIEN SEURANTAAN Käyttöohje Versiohistoria: Versio Päivämäärä Kuvaus Tekijä 1.0 11.12.2007 Ensimmäinen luonnos Janne Piippo 2.0 13.12.2007 Virallinen verio Janne Piippo HELSINGIN YLIOPISTO
Proffa ilmoittautumisen profiloija
Proffa ilmoittautumisen profiloija Määrittelydokumentti Leila Juusola Ilari Moilanen Jyrki Salonen Olli Sinerma Hanna Sirola Helsinki 16.2.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.
Matematiikan oppifoorumi Ylläpito-ohje Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen Ohjaaja Jukka Eskola Ohjelmistotuotantoprojekti 17.12.1999 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen
Convergence of messaging
Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO
Opinto-oppaan tekeminen
1 Opinto-oppaan tekeminen Näiden ohjeiden avulla hahmottuu kuinka opinto-oppaita voidaan luoda WebOodin OpasOodissa. Ohje on suunnattu käyttäjille, joilla on WebOodiin OpasVastuuhenkilö-oikeudet. WebOodin
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Opintojakso TT00AA11 Ohjelmoinnin jatko (Java) Tavoite Opiskelija ymmärtää olio-ohjelmoinnin problematiikan. Opiskelija osaa määritellä ja käyttää itse
OpasOodi. Ilmari Hyvönen Opiskelijarekisteri
OpasOodi Ilmari Hyvönen 19.10.2004 Opiskelijarekisteri OpasOodi Taustaa: Oodissa on tiedot opintojaksoista ja myös opetuksesta, mikäli järjestelmää on käytetty ilmoittautumiseen Idea: Oodi-tietojärjestelmä
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria
Sivu: 1 / 10 Testausdokumentti Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto Versiohistoria Versio Päivitykset 0.4 Lisätty mod_form.php -tiedostoon liittyvät testit 0.5 Lisätty johdanto 1.0 Dokumentti
EXAM Kypsyysnäytteen toteuttaminen ja arvioiminen
EXAM Kypsyysnäytteen toteuttaminen ja arvioiminen Tarkista onko asennettu Korkeakoulu voi itse päättää, asennetaanko heidän EXAM-järjestelmään kypsyysnäyte-toiminto vai ei. Osassa kouluja kypsyysnäytteet
Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri
Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Kurssin hallinta -työväline
Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,
Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.
Arkkitehtuurikuvaus Käytössä olevat java-luokat: Kansio: /WEB_INF/classes/ - käännetyt luokat Kansio: /WEB_INF/src/ - lähdekoodi custom_pojos: Kurssi.java Java-luokka, jonka sisältö vastaa tietokannassa
Luokka- ja oliokaaviot
Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka
T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi Andrey Rusanovich
Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1
Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista
Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
HumakPro-uudistuksia ja -parannuksia / kevät 2013:
HumakPro-uudistuksia ja -parannuksia / kevät 2013: Pikavalikon hallinnointi koskien HALLINTO-osion toimintoja: Henkilöstöllä on mahdollisuus luoda itselleen valikko josta pääsee navigoimaan suoraan tiettyyn
Ohjelmiston toteutussuunnitelma
Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,
Testidatan generointi
Testidatan generointi Anu Ahonen Kevät 2008 Tämä työ on tehty Creative Commons -lisenssin alla Työn tarkasti 9.4.2008 Jouni Huotari (JAMK/IT) 1 SISÄLTÖ 1 TYÖN LÄHTÖKOHDAT JA TOTEUTUS...2 2 TESTIDATAN GENEROINTI
Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
Asiakkaan lisätietokentät
1 (5) Asiakkaan lisätietokentät Asiakkaan lisätietokentillä voidaan määritellä lisätietoja asiakaskohtaisesti. Lisätietokenttiä käytetään kahdella eri tavalla: 1) Verkkokaupan lisätietona, kun halutaan
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2
Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Kypsyysnäytteen laatiminen ja arvioiminen Examissa
Kypsyysnäytteen laatiminen ja arvioiminen Examissa Sähköisen tentin järjestelmän EXAMin käyttöön suositellaan Firefox selainta. Järjestelmän www-osoite opettajille ja opiskelijoille on https://exam.utu.fi
Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
Käyttöohje. MAITO metadatan hallintatyökalu. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje MAITO metadatan hallintatyökalu Helsinki 14.12.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä
Tietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
Tärkeää huomioitavaa:
Siirtymäohjeistus tietotekniikan kandivaiheen opiskelijoille 2005 tutkintorakenteesta 2013 Teknistieteellisen kandidaattiohjelman tietotekniikan pääaineeseen Tärkeää huomioitavaa: Yli 7 vuotta vanhoilla
Käyttöohje. AssariXP. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje AssariXP Helsinki 9.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisällys 1 Johdanto...1 2 Asennusohje...1 3 Käyttöohje...1 3.1 3.2 3.3 3.4 3.4.1 3.4.2
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman
Tietojenkäsittelytieteen tutkintovaatimukset
Tietojenkäsittelytieteen tutkintovaatimukset Näiden tutkintovaatimusten mukaan opiskelevat lukuvuonna 2006 2007 opintonsa aloittaneet opiskelijat sekä uuteen tutkintojärjestelmään lukuvuoden 2005 2006
Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2
TIETOJENKÄSITTELYTIETEEN LAITOS Ohjelmistotuotantoprojekti 04.09.2006 Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2 Käyttöohje 2.0 Hemminki Samuli Herranen Mikko Hinkkanen Tero Mäkelä Ari Piuva Tero
Ohjelmistojen mallintaminen kertausta Harri Laine 1
kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit
Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
Käyttöohje. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje KotKot Helsinki 14.12.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Tuomas Puikkonen Matti
Ohjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
Sovellusarkkitehtuurit
HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit
Osio 4: Tietovirrat. Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely
Properties- eli ominaisuustiedostot Logger: lokitietojen käsittely 1 Ominaisuudet Kun tutkimme työasemapohjaisia sovelluksiamme, tarvitaan joskus tietoa: mikä on käyttöjärjestelmä mikä on käytössä oleva
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle
SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3
AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan
WebOodin opinto-opas ja ilmoittautuminen
WebOodin opinto-opas ja ilmoittautuminen ALOITUS... 1 WEBOODIN OPINTO-OPPAAN LÖYTÄMINEN... 1 WEBOODIN OPINTO-OPAS... 2 Opetus-välilehti... 3 Tentit-välilehti... 3 Tutkintorakenteet-välilehti... 4 Opintojaksot-välilehti...
Android ohjelmointi. Mobiiliohjelmointi 2-3T5245
Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille
opiskelijan ohje - kirjautuminen
opiskelijan ohje - kirjautuminen estudio on Edupolin kehittämä e-oppimisympäristö koulutusryhmän verkkoalustana perinteisen luokkaopetuksen tukena. etäopiskelussa ja -opetuksessa kotoa tai työpaikalta.
Opintokohteiden muokkaus
1 Opintokohteiden muokkaus Näiden ohjeiden avulla hahmottuu kuinka opintokohteita voidaan muokata Opinto-oppaassa. Ohje on suunnattu käyttäjille, joilla on WebOodiin OpasMuokkaaja-oikeudet. WebOodin käyttölupia
Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri
Ylläpitodokumentti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 14.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus
Opintosuunnitelma Janne Paalijärvi Koulutusohjelma ja vuosikurssi: T II Opiskelijanumero: 57375S Sähköpostiosoite: jpaalija cc hut fi Opinto-opas: 2003-2004 Kirjastonkäyttöharjoitus suoritettu: 27.09.2004
Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen
EXAM Kypsyysnäytteen laatiminen ja arviointi
EXAM Kypsyysnäytteen laatiminen ja arviointi Tarkista onko asennettu Korkeakoulu voi itse päättää, asennetaanko heidän EXAM-järjestelmään kypsyysnäyte vai ei. Opettajan ohje kypsyysnäytteen toteuttamiseen
Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy
Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua
Taulukot. Jukka Harju, Jukka Juslin 2006 1
Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti
Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2
TIETOJENKÄSITTELYTIETEEN LAITOS Ohjelmistotuotantoprojekti 18.07.2006 Ilmoittautumisten profiloija (jatkoprojekti) Ilpo2 Määrittelydokumentti 2.2 Hemminki Samuli Herranen Mikko Hinkkanen Tero Mäkelä Ari
Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella
kn 5.2.2009 Kandidaatintyöprosessi Sähköenergiatekniikan laitoksella Tiedoksi kandidaatintöiden ohjaajille: Valmistautuminen kandityön tekemiseen, esitietovaatimukset: Kandidaatintyö voidaan aloittaa tyypillisesti