Ohjelmistotuotannon aiheet keväällä 1997
Kevääksi 1997 on tarjolla seuraavat ryhmätyöaiheet:
- Java-Eliot: interaktiivinen algoritmiteatteri
- Biotietokannan toteuttaminen
- 3D-animointi - interaktiivisuutta animaatiotuotantoon
- Raportointitietokannan WWW-käyttöliittymä
- Oliotietokannan soveltuvuus SGML-tiedon
tallettamiseen
- HYTKY/Windows-suunnitteluvälineistön täydennys
- COCONUT-tuotteenhallintaohjelmiston toteutus
- CORBA-välikerros laitoksen informaatiojärjestelmään
- RODAIN-metadatan hallinta
- Liikkuvan työaseman ohjelmistot
- Olioperustainen sovelluskehys
1. Java-Eliot: interaktiivinen algoritmiteatteri
- Tutkimusalue:
- Yleinen linja - algoritmien animointi, tieteellinen visualisointi,
tietokoneavusteinen opetus
-
Asiakas:
- Erkki Sutinen
-
Työn aihepiiri:
- Tietojenkäsittelytieteen laitoksella on muutaman vuoden ajan tutkittu
algoritmien animointia. Aikaisempien erikoistyö- ja
ohjelmistotuotantoryhmien tuloksina ovat syntyneet Eliot-ohjelmiston
versiot, jotka animoivat C-kielisiä algoritmeja OpenLook-
ja Windows-ympäristöissä.
Syksyllä 1996 on toteutettu verkossa toimiva animointikehitin Java-Eliot,
jonka avulla käyttäjä lähettää palvelimelle algoritmin ja saa takaisin
animaation. Java-Eliot on siten algoritmilaboratorio, jolla käyttäjä
voi tutkia algoritminsa toimintaa visuaalisin menetelmin.
-
Työn kuvaus:
- Kevään 1997 ryhmässä kehitetään Java-Eliotia kolmelta kannalta:
(1) Järjestelmään lisätään uusia animoituvia tietotyyppejä,
esim. pino ja puu, ja kehitetään niille havainnollisia esitystapoja.
(2) Animaation vuorovaikutteisuutta kehitetään: käyttäjä voi vaikuttaa
visualisoinnin ulkoasuun, myös kesken animaation.
(3) Rinnakkaisuuden toteutus: samanaikaisesti voidaan animoida yhden
algoritmin eri puolia tai kilpailuttaa eri algoritmeja keskenään.
Työ liittyy Suomi tietoyhteiskunnaksi -hankkeeseen, joka pyrkii luomaan
edellytyksiä tietoverkkojen monipuoliselle opetuskäytölle.
Eliot-hanke toteutetaan yhteistyössä Opettajankoulutuslaitoksen kanssa.
Pitkän aikavälin tavoitteena on luoda välineitä tietokoneen hyväksikäytölle
luovassa ongelmanratkaisussa: työ liittyy laitoksen AAPS-tutkimusprojektiin.
Ryhmän jäsenet oppivat projektin kuluessa Java-ohjelmointikielen.
Lisäksi he saavat kokemusta vuorovaikutteisen oppimateriaalin tuottamisesta
WWW-ympäristöön.
-
Toteutusympäristö:
- Työ tehdään Unix-ympäristössä käyttäen Java-kieltä.
-
Erityisvaatimukset:
- Työhön osallistujien toivotaan osaavan C++- tai Java-kieltä.
2. Biotietokannan toteuttaminen
-
Tutkimusalue:
- Yleinen linja - merkkijonomenetelmät, bioinformatiikka,
äärelliset automaatit
Informaatiojärjestelmät - oliotietokannat, käyttöliittymät, kyselykielet
-
Asiakkaat:
- Gösta Grahne ja Esko Ukkonen
-
Työn aihepiiri:
- Laitoksella on suunniteltu modaalilogiikkaan perustuva kyselykieli,
jonka avulla on mahdollista tehdä merkkijonojen ominaisuuksiin
perustuvia hakuja tietokannoista. Hakujen evaluoinnissa käytetään hyväksi
äärellisiä automaatteja. Kielestä on toteutettu suppea prototyyppi
Postgres95-järjestelmään. Tutkimuksen eräänä motivoijana ovat
molekyylibiologiset sekvenssitietokannat, joissa data kuvataan
pitkinä merkkijonoina nelikirjaimisessa aakkostossa.
Geenitutkimuksen myötä tietokantoihin talletetun datan määrä on
kasvanut räjähdysmäisesti, mutta sen käsittely on vaikeaa
alkeellisten tiedonhallintamenetelmien takia. Uusi kyselykieli
mahdollistaa nykyisiä monipuolisempien hakujen tekemisen.
Lisätietoja tehdystä tutkimuksesta on saatavilla
URL-osoitteesta: http://www.cs.helsinki.fi/~hakli/poster.html.
-
Työn kuvaus:
- Työn tarkoituksena on toteuttaa uutta kyselykieltä käyttävä laajennusosa
oliopohjaisen O2-tietokantajärjestelmän yhteyteen. Ohjelman
käyttöliittymä toteutetaan WWW-ympäristössä. Lisäksi suunnitellaan
biologisen datan esittämiseen sopiva tietokantakaavio ja testataan
järjestelmän toimintaa todellisella biosekvenssidatalla. Työssä
voidaan käyttää hyväksi jo toteutettua prototyyppiä.
-
Toteutusympäristö:
- O2 toimii Unix-ympäristössä. Laajennukset tehdään C-kielellä.
WWW-liittymän tekemiseen käytetään O2Web-ohjelmistoa.
-
Erityisvaatimukset:
- Erityisvaatimuksia ei ole. Työ sisältää useita erilaisia osa-alueita,
joten ryhmään tarvitaan henkilöitä, jotka ovat kiinnostuneita erilaisista
asioista kuten joistakin seuraavista: oliomallinnus, bioinformatiikka,
WWW-liittymät, modaalilogiikka, automaattiteoria, ohjelmointikielten
kääntäjät.
3. 3D-animointi - interaktiivisuutta animaatiotuotantoon
-
Tutkimusalue:
- Yleinen linja - graafinen tietojenkäsittely
Ohjelmistot - olio-ohjelmointi
Informaatiojärjestelmät - käyttöliittymät
-
Asiakkaat:
- Matti Mäkelä ja Harri Laine
-
Työn aihepiiri:
- Laitoksella on erikois- ja ohjelmistotuotantotöinä toteutettu
ohjelmisto vuorovaikutteiseen kolmiulotteiseen animointiin
Windows-ympäristössä. Järjestelmän kehitykseen on osallistunut
neljä aiempaa työryhmää. Touho-animaattorilla suunnitellaan ja katsellaan
animaatiota sekä osallistutaan siihen. Animaation näyttelijät ja
lavasteet tuotetaan Iines- tai Pelle-editorilla tai jollain
ulkopuolisella kappale-editorilla.
-
Työn kuvaus:
- Tässä työssä täydennetään ja kehitetään Touho-animointivälineistöä.
Animaation suunnittelu- ja katseluvälineistöön lisätään
välineistön käyttökelpoisuutta lisääviä piirteitä. Erityisesti
keskitytään parantamaan käyttäjän mahdollisuuksia ohjata
animaation kulkua, määritellä ohjaimia ja kytkeä niihin
toimenpiteitä. Myös tietyt välttämättömät perustoiminnot
kuten törmäyksen tunnistus ja tapahtumien laukaisemat toiminnot
viimeistellään.
Yhtenä kehitystavoitteena on muokata Touhosta interaktiivinen
väline VRML2 (Virtual Reality Modeling Language)
-animaatioiden laadintaan.
Työssä opitaan Windows-ohjelmistokehitystä, oliokeskeistä
ohjelmistokehitystä, C++-ohjelmointia ja grafiikkaohjelmien
tekemistä.
-
Toteutusympäristö:
- Toteutusvälineenä on (Borland) C++.
-
Erityisvaatimukset:
- Perustiedot graafisesta tietojenkäsittelystä ovat toivottavia.
4. Raportointitietokannan WWW-käyttöliittymä (IACS-pilottiprojekti)
-
Tutkimusalue:
- Informaatiojärjestelmät - relaatiotietokannat, käyttöliittymät
-
Asiakkaat:
- Eeva-Liisa Lehto ja Juha Mäkinen (Maa- ja metsätalousministeriö)
-
Työn aihepiiri:
- Maa- ja metsätalousministeriön tietopalvelukeskus (TIKE) suunnittelee uutta
käyttöliittymäarkkitehtuuria Oracle-tietokantoihinsa, ja yhtenä
vaihtoehtona on WWW-pohjainen ratkaisu. Jos tämä vaihtoehto havaitaan
toimivaksi, pitäisi suunnitellun aikataulun mukaan vuonna 1998 keskitetyn
hallinto- ja valvontajärjestelmän (IACS) toimia WWW-pohjaisena tietokantana,
jota päivitetään ja selataan intranetissä HTML-selaimella.
Ennen tuotantokannan siirtämistä WWW-pohjaiseksi on käynnistetty
pilottiprojekti selvittämään muutoksesta aiheutuvia ongelmia ja niiden
ratkaisuja. Projektin tarkoituksena on koota ohjelmistotuotantoryhmä,
joka tekee TIKE:n Oracle-pohjaiseen raportointitietokantaan vastaavan
käyttöliittymän. Raportointitietokantaan on koottu edellisten vuosien
tietoja maataloudesta 14:ään eri tauluun tilastointia varten.
-
Työn kuvaus:
- Kevään 1997 ohjelmistotuotantoryhmä suunnittelee ja toteuttaa HTML-kielellä
käyttöliittymän, jonka avulla raportointitietokannan tietoja voi
selata ja päivittää. Osa tarvittavista ratkaisuista voidaan tehdä
Java-kielellä.
-
Toteutusympäristö:
- Työ tehdään todennäköisesti Maa- ja metsätalousministeriön
tiloissa ja atk-ympäristössä (Kluuvikatu). Toteutusympäristönä on
tällöin Oracle v.7.0 ja sitä tukeva CASE-työväline. Työ voidaan
tehdä myös laitoksen tiloissa, mikäli se on teknisesti mahdollista.
-
Erityisvaatimukset:
- Työssä tarvittavia esitietoja ovat esimerkiksi:
HTML-kielen sujuva osaaminen, Oracle-työvälineiden (CASE) hallinta
ja Java-kielen tuntemus.
5. Oliotietokannan soveltuvuus SGML-tiedon tallettamiseen
-
Tutkimusalue:
- Informaatiojärjestelmät - dokumenttien hallinta, oliotietokannat,
tietämyksen muodostaminen
-
Asiakkaat:
- Heikki Mannila ja Inkeri Verkamo
-
Työn aihepiiri:
- Dokumenttien rakennemäärittelykieli SGML mahdollistaa rakenteisten
dokumenttien koodaamisen sovelluksista riippumattomalla tavalla ja
tukee siten dokumentaation monipuolista hyödyntämistä esimerkiksi
perinteisinä paperijulkaisuina, CD-ROM-versioina ja Web-sivuina.
Erittäin usein on tarve myös tallettaa SGML-dokumentteja
tietokantajärjestelmään, joka hallitsee versiot ja saantioikeudet,
sekä antaa käyttäjän tehdä rakenteisia kyselyjä dokumenttiin.
Sopivin tietokantamalli SGML-tiedon tallettamiseen lienee oliomalli:
SGML-dokumentin hierarkkisuudelle löytyy suora vastine oliomallin
luokista ja olioista. Lisäksi voidaan tietokantamallia käyttää hyväksi
tietämyksen muodostamisessa SGML-dokumentista.
-
Työn kuvaus:
- Työssä tarkastellaan ja toteutetaan tietyn SGML-dokumenttiluokan
siirtämistä oliotietokantajärjestelmään. Työssä tarkastellaan
oliotietokannan soveltuvuutta tähän tarkoitukseen sekä lisäksi
rakenteisten kyselyjen antamista ja niiden suorituksen tehokkuutta
samoin kuin mahdollisesti tietämyksen muodostamista talletetuista
SGML-dokumenteista.
-
Toteutusympäristö:
- Työ tehdään Unix-ympäristössä käyttäen C-, C++- tai Java-kieltä.
Tietokantajärjestelmänä on Monet (http://www.cwi.nl/~monet).
-
Erityisvaatimukset:
- Ryhmään osallistuvilta edellytetään C- (tai C++- tai Java-)
ohjelmointitaitoa. Hyödyllisiä esitietoja sisältyy kurssiin
Oliotietokannat.
6. HYTKY/Windows-suunnitteluvälineistön täydennys
-
Tutkimusalue:
- Informaatiojärjestelmät - systeemityön menetelmät
Ohjelmistot - CASE-työkalut
-
Asiakas:
- Harri Laine
-
Työn aihepiiri:
- HYTKY (Helsingin Yliopiston Tietojärjestelmien KehitysYmpäristö)
-suunnitteluvälineistöä on käytetty laitoksella opetuksessa vuodesta -87
alkaen, tietokoneavusteisen systeemityön välineenä. Välineistöllä on
tyypillisesti laadittu järjestelmän käsitemalli ja generoitu sen
pohjalta relaatiotietokannan kaavio.
Tällä hetkellä välineistöön kuuluu MS-Windows-ympäristössä
toimiva tietovuokaaviotoimitin ja MS-DOS-ympäristössä toimiva
tietosuunnitteluvälineistö, jota ei ole ylläpidetty pariin vuoteen.
Keväällä -96 valmistui ensimmäinen versio olio/käsiteanalyysi-
työkalusta HYTKY/TSW. Ohjelma mahdollistaa kaaviolle useita
esitysmuotoja. Vanhan YYY-tekniikan lisäksi tarjolla ovat mm.
standardi-ER ja oliosuunnittelussa yleinen OMT. Käyttäjä voi
määritellä myös muita tekniikoita, vaikkapa aivan ikiomansa niin
halutessaan. HYTKY/TSW saatetaan käyttöönottokuntoon tämän
syksyn aikana. HYTKY/TSW toimii yhdessä tietovuokaaviotoimittimen
kanssa.
-
Työn kuvaus:
- Kevään 1997 ohjelmistotuotantoryhmässä täydennetään työkalukokoelmaa
lisäämällä toimintoja olemassaoleviin työkaluihin ja laatimalla
uusia työkaluja. Erityisesti keskitytään koodingenerointi- ja
käänteistekniikkapiirteisiin (reverse engineering). Tarkoitus on
tuottaa laadittujen oliokaavioiden perusteella C++- ja
Delphi-Pascal-kielisiä luokkamäärittelyjä sekä relaatiokannan
määritteleviä SQL:n create table -lauseita. Muunnosta on
tarkoitus tutkia myös vastakkaiseen suuntaan; luokka- ja
tietokantakuvauksista oliokaavioiksi.
Työssä opitaan Windows-ohjelmistokehitystä, oliokeskeistä
ohjelmistokehitystä, Delphi-ohjelmointia ja tietokoneavusteisten
ohjelmistotyökalujen toteutusperiaatteita.
-
Toteutusympäristö:
- Ohjelmien toteutusvälineenä on lähinnä Delphi (uudistunut olio-Pascal).
Generoinnit voidaan toki tehdä muillakin välineillä.
7. COCONUT-tuotteenhallintaohjelmiston toteutus
-
Tutkimusalue:
- Ohjelmistot - ohjelmistomenetelmät
Informaatiojärjestelmät - systeemityön menetelmät
-
Asiakkaat:
- Inkeri Verkamo ja Harri Laine
-
Työn aihepiiri:
- Keväällä -96 toiminut ohjelmistotuotantoryhmä on laatinut
määrityksen ja toteutussuunnitelman hajautetun tuotteenhallinnan
välineistölle. Välineistöstä käytetään työnimeä COCONUT
(Configuration Control Utility). Välineistö on tarkoitettu
erityisesti ohjelmistotuotantokurssin versionhallintatarpeisiin.
Sen peruslähtökohtana on mahdollisuus kehittää ohjelmistoa
hallitusti useissa eri ympäristöissä (laitoksella, kotona,
Windowsissa, Linuxissa). Välineistö asennetaan kuhunkin ympäristöön,
jossa se toimii itsenäisesti. Kaikki kehitysympäristöt ovat
samanarvoisia. Välttämätön hallintatieto kulkee mukana tietoja
ympäristöjen välillä siirrettäessä.
-
Työn kuvaus:
- Syksyllä 1996 toimiva ot-ryhmä toteuttaa järjestelmän
ytimen Linux-ympäristöön. Kevään 1997 työryhmän tehtävänä on täydentää
ohjelmistoa ja saattaa se toimimaan myös MS-Windows-ympäristössä.
Täydennykset kohdistuvat ensisijaisesti konfiguraatioiden
(useista komponenteista muodostuvien kokonaisuuksien) käsittelyyn.
Työssä opitaan oliokeskeistä ohjelmistokehitystä,
ikkunaohjelmistojen periaatteita, C++-ohjelmointia sekä
tuotteenhallinnan ja tuoteenhallintaohjelmistojen periaatteita.
-
Toteutusympäristö:
- COCONUT toteutetaan sekä MS-Windows- että Linux-ympäristöihin.
Toteutuskielenä on C++. Moniympäristökäyttöliittymän
toteutukseen käytetään wxWindows-luokkakirjastoa.
8. CORBA-välikerros laitoksen informaatiojärjestelmään
-
Tutkimusalue:
- Informaatiojärjestelmät - tietokannan olioliittymät
Ohjelmistot - hajautetut järjestelmät
-
Asiakkaat:
- Juhani Kuittinen ja Seppo Sippu
-
Työn aihepiiri:
- Yrityksen informaatiojärjestelmä kannattaa usein toteuttaa olioita
käsittelevänä hajautettuna järjestelmänä. CORBA on kehitteillä
oleva globaali välikerros, joka määrittelee tähän tarkoitukseen
soveltuvan avoimen hajautetun olioinfrastruktuurin. Osa CORBAa on
IDL-kieli, jonka avulla asiakas/käyttöliittymä ja palvelin/tietokanta
erotetaan toisistaan.
-
Työn kuvaus:
- Laitoksella on kehitetty Oraclella useiden vuosien ajan laitoksen
opetusta ja hallintoa tukevaa tietokantajärjestelmää. Syksyn 1996
ryhmässä kehitetään Java-kielellä tietokantasovelluksia.
Kevään 1997 työssä määritellään IDL-kielen avulla välikerros
käyttöliittymän ja tietokantajärjestelmän välille sekä kehitetään
muutamia CORBA-tekniikalla toimiva sovelluksia.
-
Toteutusympäristö:
- Informaatiojärjestelmäliittymät määritellään CORBAn IDL-kielellä.
Prototyypit kehitetään Java-ohjelmointikielellä ja Oraclen
PL/SQL-kielellä Linux-koneilla.
-
Erityisvaatimukset:
- Ryhmän jäsenten toivotaan olevan kiinnostuneita hajautetuista
tietokantajärjestelmistä ja niiden ohjelmoinnista.
9. RODAIN-metadatan hallinta
-
Tutkimusalue:
- Informaatiojärjestelmät - oliotietokannat
Ohjelmistot - tosiaikakäyttöjärjestelmät
-
Asiakkaat:
- Kimmo Raatikainen ja Jukka Kiviniemi
-
Työn aihepiiri:
- RODAIN on laitoksella toimiva tutkimusprojekti, jonka tavoitteena on
kehittää teleliikennekäyttöön soveltuva tosiaikainen
tietokantajärjestelmä. Projekti on toiminut vuodesta 1994 lähtien
aluksi Darfin-nimisenä ja sen rahoittajia ovat Nokia Telecommunications,
Solid Information Tecnology, Tekes ja Telecom Finland.
Tietokantajärjestelmän eräs tärkeä osa on tietokannan tietojen rakenteen
kuvaaminen. Rakenne kuvataan tietokantaan talletettuna metadatana, jota
joissain järjestelmissä kutsutaan tietohakemistoksi. Oliotietokannan
metadatan hallinta edellyttää välineitä olioluokkien, niiden välisen
perinnän sekä yksittäisen luokan olioiden attribuuttien ja metodien
kuvaamiseen. Tietokantaan tallennettujen tietojen kuvausta on
pystyttävä muuttamaan esimerkiksi silloin, kun tarvitaan uusi
olioluokka, olioluokkaan lisätään uusia attribuutteja tai jonkin olion
käsittelyyn tarvitaan uusia metodeja. Näiden muutosten hallinta
tapahtuu erillisen metadatan hallintarutiinin kautta.
Metadatan hallinnan ei tarvitse olla tosiaikaista. Mitään ennalta
asetettuja aikarajoja ei metadatan hallinnalle taata. Sen sijaan
tietokannan tietojen hallinta ja transaktioiden suoritus ovat
tosiaikaisia: RODAIN-tietokannan pitää taata tiettyjen transaktioiden
suoritus niille ulkopuolelta asetettuun aikarajaan mennessä.
-
Työn kuvaus:
- Ohjelmistotuotantoryhmän tavoitteena on toteuttaa tosiaikatietokannan
metadatan hallinta osaksi RODAIN-projektiryhmän toteuttamaa prototyyppiä.
Koska prototyyppikannan toteutus tapahtuu vuoden 1997 aikana, on
ryhmän ja projektin välillä hyvin tiivistä vuorovaikutusta. Ryhmä saa
käyttöönsä projektissa laaditun oliomallikuvauksen. Rajapinta metadatan
hallinnan ja tietokannanhallintajärjestelmän muiden osioiden välillä
määritellään ryhmän ja projektin jäsenten yhteistoimin.
-
Toteutusympäristö:
- Työ toteutetaan Linux-ympäristöön käyttäen C- tai C++-ohjelmointikieltä.
-
Erityisvaatimukset:
- C- tai C++-ohjelmointitaito.
10. Liikkuvan työaseman ohjelmistot
(Mahdollisesti 2 ryhmää)
-
Tutkimusalue:
- Ohjelmistot - hajautetut järjestelmät, liikkuva tietoliikenne
-
Asiakkaat:
- Timo Alanko ja Markku Kojo
-
Työn aihepiiri:
- Työ liittyy laitoksella käynnissä olevaan liikkuvien työasemien toimintaa
ja käyttöä tutkivaan ja suunnittelevaan projektiin (MOWGLI). Projektissa
tutkimuksen kohteena on hajautettu ympäristö, jossa kannettava työasema
kytketään GSM-matkapuhelimen tarjoaman datasiirtopalvelun välityksellä
kiinteään tietoliikenneverkkoon. Projektissa keskeisenä työkohteena on
sellaisen toiminnallisuuden kehittäminen, joka ottaa huomioon langattoman
linkin ja liikkuvan työaseman erityispiirteet. Ratkaisu perustuu kahden
perusolion käyttöön: agenttiin, joka sijoittuu liikkuvaan työasemaan, ja
valtuutettuun, joka toimii langattoman verkon ja lankaverkon yhdistävässä
solmukoneessa ja edustaa parhaansa mukaan liikkuvassa asemassa toimivaa
sovelluksen osaa.
Järjestelmän perustoteutus on tehty liikkuvalle Linux-työasemalle,
Linux-yhdyssolmulle ja TCP/IP-tietoliikenneverkolle.
-
Työn kuvaus:
- Keväällä 1997 pyritään käynnistämään kaksi työryhmää. Työryhmien aiheet
liittyvät liikkuviin sovelluksiin, sovellusten toimintaa tukeviin
agentteihin, uusien toimintojen kehittelyyn toteutusalustan osaksi ja
liikkuvan järjestelmän toteutusalustan ohjelmistotyökalujen kehittelyyn.
Lopulliset päätökset konkreettisista aiheista tehdään joulukuussa.
-
Toteutusympäristö:
- Ohjelmointityö tehdään C-kieltä käyttäen. Toteutusalustana on Linux.
-
Erityisvaatimukset:
- Ryhmään osallistuvilta edellytetään hyvää ohjelmointitaitoa sekä toivotaan
kiinnostusta käyttöjärjestelmätason ohjelmistotyöhön ja hajautuksen
problematiikkaan. Hakemukseen on hyvä liittää tietoja "osaamisprofiilista"
(esimerkiksi kokemuksesta C-/C++-kielen käytössä,
Unix-ohjelmointikokemuksesta jne).
11. Olioperustainen sovelluskehys
-
Tutkimusalue:
- Ohjelmistot - ohjelmistojen suunnittelu ja uudelleenkäyttö,
oliomenetelmät, olio-ohjelmointi
-
Asiakkaat:
- Jukka Paakki ja Kai Koskimies (Tampereen yliopisto)
-
Työn aihepiiri:
- Sovelluskehys (application framework) on laajennettavissa oleva
ohjelmiston runko. Sovelluskehyksestä voidaan tuottaa toimiva
ohjelmisto ottamalla perustoiminnot valmiiksi toteutettuina suoraan
sovelluskehyksestä ja integroimalla ohjelmiston erityistoiminnot
mukaan sovelluskehykseen. Ratkaisu mahdollistaa laajamittaisen
ohjelmistojen uudelleenkäytön: samaa sovelluskehystä voidaan käyttää
yhä uudelleen ja uudelleen uusien samankaltaisten ohjelmistojen
tuottamiseen.
Sovelluskehykset ovat viime aikoina nousseet varteenotettavaksi
ohjelmistojen toteutustavaksi oliomenetelmien myötä.
Olio-ohjelmoinnin erityispiirteet, kuten perintä, monimuotoisuus
ja myöhäinen sidonta, tarjoavat tarvittavan välineistön
sovelluskehysten joustavaa laajentamista varten.
(Olioperustaisiin) sovelluskehyksiin liittyvät läheisesti myös
(olioperustaiset) suunnittelumallit (design patterns), jotka tarjoavat
dokumentoituja perusratkaisuja tehtäviin, joita yleiskäyttöiset
sovelluskehykset tyypillisesti suorittavat.
Aihe liittyy laitoksen ja Tampereen yliopiston käynnistymässä
olevaan yhteishankkeeseen, jossa kehitetään välineistöä
sovelluskehysten systemaattiseen tuottamiseen ja hallintaan.
-
Työn kuvaus:
- Ohjelmistotuotannon projektityönä suunnitellaan ja toteutetaan
jokin sopiva olioperustainen sovelluskehys. Sovelluskehyksestä
kehitetään myös vähintään yksi lopullinen ja toimiva ohjelmisto.
Erityistä huomiota kiinnitetään sovelluskehyksen dokumentointiin
mm. suunnittelumallien avulla.
Työssä tutustutaan moderneihin ohjelmistotuotannon oliomenetelmiin
ja harjoitellaan kurinalaista olio-ohjelmointia.
-
Toteutusympäristö:
- Työ toteutetaan Java-kielellä todennäköisesti Linux-ympäristössä.
-
Erityisvaatimukset:
- Perustiedot ohjelmistojen oliomenetelmistä ja olio-ohjelmoinnista.
Java-ohjelmointitaito katsotaan erityisansioksi.