Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Diplomityöseminaari 24.1.2003 Ohjelmistokehysten erikoistamistutoriaalit Fred-ympäristössä Pekka Savolainen

Samankaltaiset esitykset


Esitys aiheesta: "Diplomityöseminaari 24.1.2003 Ohjelmistokehysten erikoistamistutoriaalit Fred-ympäristössä Pekka Savolainen"— Esityksen transkriptio:

1 Diplomityöseminaari 24.1.2003 Ohjelmistokehysten erikoistamistutoriaalit Fred-ympäristössä Pekka Savolainen pekka.savolainen@tut.fi

2 Esityksen sisältö Työn tausta Lyhyesti ohjelmistokehyksistä Mikä Fred on Java Pages Työn tilanne tällä hetkellä

3 Työn tausta Diplomityön tilaaja Ohjelmistotekniikan laitoksen Java Frames –projekti Projekti on kehittänyt Frediksi nimettyä prototyyppiä työkalusta, jolla voidaan antaa arkkitehtuurista tukea ohjelmistokehitykseen Dilpomityön aihe nousi esiin konferenssiesityksen pohjalta Nähtiin, että ohjelmistokehysten käytön opetteleminen on vaikeaa ja haluttiin tutkia miten Fredillä voitaisiin tuoda lisätukea opiskeluun

4 Ohjelmistokehykset pähkinänkuoressa (1/4) Ohjelmistokehyksien ideana on kasvattaa ohjelmakoodin uudelleenkäyttöä keräämällä toistuvaa ohjelmakoodia kehyksen ytimeen. Kehys yksinään ei ole ajettava ohjelma vaan kehys erikoistetaan ajettavaksi ohjelmaksi kirjoittamalla sopiva toteutus kehyksen variaatiopisteisiin Erilaiset sovellukset saadaan aikaan variaatiopisteiden toisistaan poikkeavilla toteutuksilla

5 Ohjelmistokehykset pähkinänkuoressa (2/4) Ero kirjastoihin on näkyy kontrollivuon suunnassa: käyttäjän koodi kutsuu kirjastoa, joka toteuttaa tietyn palvelun. Ohjelmistokehyksessä kehyksen koodi kutsuu tämän lisäksi käyttäjän koodia (ns. Hollywood periaate)

6 Ohjelmistokehykset pähkinänkuoressa (3/4) Ohjelmistokehyksien lupaamat hyödyt Ohjelmakoodin uudelleenkäyttöasteen kasvattaminen (joidenkin tutkimuksien mukaan jopa 60-80% sovelluksen ohjelmakoodista voidaan saada ohjelmistokehyksestä) ohjelmistojen laadun paraneminen toimitusajan lyheneminen tuotteiden ja tuotantoprosessien yhdenmukaistuminen mahdollisuus tuottaa nopeasti prototyyppejä

7 Ohjelmistokehykset pähkinänkuoressa (4/4) Ohjelmistokehyksien varjopuolet ohjelman suoritustehokkuus laskee korkea oppimiskynnys muuttuvat laadulliset vaatimukset vaikeita huomioida (joustavuus vs. uudet vaatimukset) tulevaisuuden tarpeiden huomiointi vaikeaa testaus vaikeutuu kehykset pyrkivät kehittymään monoliiteiksi useiden kehysten yhteiskäyttö vaikeaa kehitysympäristöjen riittämätön tuki Kehyksen dokumentoinnin tuska ja vaikeus

8 Fred (1/3) Tampereen teknillisen yliopiston ja Helsingin yliopiston yhteistyöhankeen tulos työkalu, joka valvoo käytettäväksi valitun arkkitehtuurin noudattamista ohjaa sovelluskehittäjää mukautuvalla dokumentaatiolla ja tehtävälistalla

9 Fred (2/3) Toiminta perustuu mallien (pattern) käsitteeseen Ohjelmistokehyksen suunnittelija tekee mallin, joka määrittelee arkkitehtuurin asettamat vaatimukset kehyksen erikoistavalle ohjelmakoodille Tämä on tarpeen, koska ohjelmointikielet eivät mahdollista kovin tarkkaa erikoistamisrajapinnan kuvaamista (Javan final, abstract,…) Fred mahdollistaa monimutkaisten riippuvuuksien kuvaamisen: jos metodi A ylimääritellään niin myös metodi B tulee ylimääritellä

10 Fred (3/3) Mallit Malli koostuu joukosta rooleja Ohjelmaelementti voi toimia roolissa, jolloin sen on täytettävä roolin vaatimukset Jos ei täytä, generoidaan korjaustehtävä Mallit koostuvat rajoitteet: esim. luokan A tulee periä luokka B kaavaimet (template) ohjelmakoodin oletustoteutuksen generointiin käyttäjää ohjaavan dokumentaation generointiin Fredin näyttämässä ohjeistuksessa käytetään käyttäjän itsensä luomien luokkien nimiä!

11 Java Pages (1/4) Tämän diplomityön aihe Tarkoituksena etsiä vastauksia ohjelmistokehyksien dokumentoinnin ongelmakenttään Lähtökohtana Fred-työkalu

12 Java Pages (2/4)

13 Java Pages (3/4) Kolme pääosaa nauhoitin Frediin integroitu työkalu, joka nauhoittaa erikoistamisprosessin kulun sitä muuttamatta palvelin nauhoitteen verkossa julkaiseva yksinkertainen Java RMI-toteutus selain opiskelijan käyttöliittymä nauhoitteen selaamiseen ei vaadi ylimääräisten ohjelmien asentamista

14 Java Pages (4/4) Nauhoitteen muoto on ohjattu erikoistamistutoriaali Nauhoite luodaan tekemällä haluttu mallitapaukseksi kelpaava ohjelmistokehyksen erikoistaminen Fred- ympäristössä Nauhoitteeseen liittyvät selitykset generoituvat automaattisesti Fredin toimesta

15 Työn nykytilanne Ohjelma toteutettu diplomityö on viimeisten kirjoitusvirheiden korjausta vaille valmis Lisätietoa http://practise.cs.tut.fi/fred


Lataa ppt "Diplomityöseminaari 24.1.2003 Ohjelmistokehysten erikoistamistutoriaalit Fred-ympäristössä Pekka Savolainen"

Samankaltaiset esitykset


Iklan oleh Google