Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuJari Mäki Muutettu yli 9 vuotta sitten
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
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.