Author Archive for Jukka

Toinen tentti tarkastettu

Hypermedian ohjelmoinnin kevään 2008 toteutuskerran toinen tentti on tarkastettu. Tulokset löytyvät verkosta PDF-muodossa sekä tiistai-iltapäivästä 4. marraskuuta lähtien hypermedian ilmoitustaululta Sähkötalosta Tietotaloon johtavan käytävän varrelta.

Tarkasta tuloksesi ja raportoi poikkeavuuksista.

Tenttitulokset julkaistu

Hypermedian ohjelmoinnin kevään 2008 toteutuskerran ensimmäisen tentin tulokset on julkaistu. Tulokset löytyvät hypermedian ilmoitustaululta Sähkötalosta Tietotaloon johtavan käytävän varrelta sekä verkosta PDF-muodossa.

Tarkasta tuloksesi ja raportoi mahdollisista virheistä.

Muokkaus 12. kesäkuuta 2008: korjattu kaksi virheellistä opiskelijanumeroa.

Palautetta opintojaksosta

Tavoitteenamme on kehittää Hypermedian ohjelmointia alati eteenpäin. Tästä syystä on tärkeää, että annat palautetta opintojaksosta (tarvitsen TTY:n tunnuksen Kaiku-järjestelmään).

Pikakertaus ja esimerkkitentti

Viimeisellä luennolla luodaan katsaus opintojakson sisältöön ja käydään läpi esimerkkitentti.

Tehtävä: Suunnittele hyvä tenttikysymys ja julkaise se vastaamalla tähän viestiin. Parhaiden ehdotusten esittäjille (1-3 kappaletta) myönnetään yksi (1) suoraan tenttitulokseen lisättävä piste. Tee ehdotus viimeistään huomenna torstaina 8. toukokuuta kello 14.

Hypermediasepän osaamisprofiilista

Hypermedian osaajan osaamisprofiilista voisi löytyä esimerkiksi seuraavia osa-alueita:

Tekniset perusteet

  • ohjelmointitaito
  • olio-ohjelmointi
  • tietovarastot
  • tiedonsiirtoprotokollat

Edistynyt tekninen toteutus

  • ohjelmistoarkkitehtuurit
  • hajautetut järjestelmät
  • REST ja muut tiedonvaihtoprotokollat

Semanttisen Webin ja Web-palveluiden perusteet

  • XML-standardiperhe: XML, XSLT, XQuery
  • Webin metatietokerros: RDF, OWL, SPARQL
  • SOAP, WSDL, …

Tekninen toteutus käytännössä

  • ohjelmointikieliä
  • komponentteja
  • valmiit kirjastot
  • räätälöitävät ratkaisut

Menetelmällinen osaaminen

  • käyttäjäkeskeinen suunnittelu
  • kehitysprojektin elinkaarimallit
  • projektinhallinta
  • suunnittelu- ja mallinnusmenetelmät
  • testaus
  • arviointi

Edistynyt tietojenkäsittely

  • tekoäly
  • tiedonlouhinta
  • hahmontunnistus
  • neurolaskenta

Laadukkaan lopputuloksen reunaehtoja

  • hyödyllisyys!
  • käytettävyys
  • saavutettavuus
  • laiteriippumattomuus
  • tyylikäs Web-grafiikka: CSS & kuvankäsittely (”Web-muotoilu”)

Yleisten sovellusalueiden erityispiirteitä

  • projektinhallintajärjestelmät
  • dokumenttienhallintajärjestelmät
  • asiakkuudenhallintajärjestelmät (Customer Relationship Management)
  • Enterprise Resource Planning (ERP)
  • suosittelijajärjestelmät (recommender systems)
  • asiantuntijajärjestelmät
  • päätöksenteon tukijärjestelmät
  • tietämyksenhallintajärjestelmät
  • yhteisöllinen hypermedia ja muu Web 2.0

Muuta mielenkiintoista

  • mukautuva hypermedia
  • sosiaalipsykologia ja muut ihmis- ja yhteisötieteet
  • yhteisöllinen web
  • informaation visualisointi

Mitä muuta aiheeseen liittyvää tulee mieleen? Vastaa kommentoimalla tätä viestiä.

Ohjelmoitavan hypermedian unelmaprojekti?

Viimeisen luentoviikon aikana pohditaan ohjelmallista hypermediaa toteuttavan unelmaprojektin koostumusta. Ohjelmallista hypermediaa tuotetaan käytännössä aina projektimuotoisesti, joten projekti käy mainiosti jäsennykseksi opintojakson yhteenvedolle. Mistä tekijöistä unelmaprojekti koostuu?

Projekti alkaa tavoitteiden ja reunaehtojen määrittelyllä. Tavoitteita ja reunaehtoja aiheuttavat:

  • käyttäjätarpeet: loppukäyttäjä, ylläpitäjä, (jatkokehittäjä)
  • tietoturva
  • olemassa olevat järjestelmät
  • tuki sisällöntuotannolle

Myös teknologiavalinnat voivat määritellä reunaehtoja. Parasta kuitenkin olisi jos teknologia olisi mahdollista valita projektille asetettujen tavoitteiden perusteella, joten ihannetapauksessa teknologia ei tuo mukanaan uusia reunaehtoja.

Unelmaprojektin synnyttämää lopputuotetta voidaan kuvata seuraavilla laadun sanoilla:

  • käytettävyys,
  • saavutettavuus,
  • laiteriippumattomuus,
  • standardinmukaisuus (XHTML, CSS, …),
  • yhteensopivuus, siirrettävyys, laajennettavuus, ylläpidettävyys,
  • yksinkertaisuus ja
  • yleinen skaalautuvuus (käyttöliittymä, käyttäjämäärä, ominaisuuksien määrä, jne.).

Vrt. “Build half a product, not a half-ass product” (Jason Fried, 2005).

Projektin kokoonpanolla on keskeinen merkitys projektin onnistumiselle. Unelmaprojektiryhmän kokoonpanoon kuuluvat esimerkiksi seuraavat asiantuntijat:

  • ohjelmoijat,
  • sovellusarkkitehti,
  • sovellusalan asiantuntija,
  • projektipäällikkö/rakennusmestari,
  • yksittäisen asiakkaan edustaja,
  • käytettävyystieteilijä,
  • tekninen tuki,
  • graafikko ja
  • testaaja.

Projektilla on alkamisaika ja päättymisaika, joiden välissä projekti suunnitellaan ja toteutetaan. Projektin aikajana voidaan hyödyntää hallitusti erilaisten vaihejakomallien mukaisesti jäsennettynä. Vaihtoehtoja ovat ainakin

  • vesiputousmallin eri sovellukset tai
  • ketterä ohjelmistokehitys.

Unelmaprojektia ajatellessa mieleen tulee kiireettömyys, joka on suora johdannainen työn kokonaismäärän ja käytettävissä olevan ajan suhteesta. Projektin toteutustyön määrän pienentämisen tukena voidaan hyödyntää seuraavia ratkaisuja:

  • Web-sovelluskehykset,
  • yksittäiset ohjelmistokomponentit tai
  • valmiit räätälöitävät sovellukset, esimerkiksi avoimen lähdekoodin sisällönhallintajärjestelmät.

NIH-ilmiön vältteleminen kaikin keinoin on keskeinen keino työmäärän pienentämisessä.

Ennen toteutustyön aloittamista on tietenkin syytä käyttää aikaa työn suunnittelemiseen. Ainakin seuraavat asiat on syytä lyödä lukkoon ja kirjata ylös suunnitteludokumentaatioon:

  • tietosisältö,
  • yksittäiset toiminnot: kuvaus, sallittu syöte, poikkeukset, tila toiminnon jälkeen, virheilmoitukset,
  • toimintovuot (prosessit),
  • tekninen arkkitehtuuri ja keskeiset rajapinnat.

Räätälöityjen HYTT-mallin mukaisten dokumenttien käyttäminen on soveltuvin osin toki mahdollista myös ketterässä ohjelmistokehityksessä. Vaihtoehtoisesti suunnittelutyössä voidaan soveltaa Verkkopalvelun sisällöntuotannossa esiteltäviä suunnitteludokumentteja. Suunnitteluperustan (design rationale) käsitteeseen tutustuminen on myös suositeltavaa. Ketterissä menetelmissä valtaosa suunnitteludokumentaatiosta kuitataan esimerkiksi käyttötarinoilla (user story) tai tuotteen ominaisuuksien listalla (backlog tai work queue) ja käytössä olevan sovelluskehyksen omalla dokumentaatiolla.

Laadunvarmistusprosessin automatisointi helpottaa jo julkaistun tuotteen ylläpitoa, esimerkiksi

Projektiryhmän työskentelyn tueksi tarvitaan joukko erilaisia sovellusohjelmia kehitystyön rutiinien automatisointiin, yhteisten resurssien hallinnoimiseen, kommunikoimiseen ja tiedon jakamiseen. Unelmaprojektin käytössä on ainakin osa seuraavista välineistä:

Esimerkiksi 37signals on rakentanut joukon sovelluksia sovelluskehitysprojektien tueksi.

Hyvä nyrkkisääntö välineiden valinnassa on se, että välineen käytön myötä säästyvän ajan on oltava välineen tehokkaan käytön oppimiseen kuluvaan aikaan verrattuna merkittävästi suurempi.

Unelmaprojektin välineistö ja kokoonpano on yksinkertainen, mutta antaa tekijöille riittävät eväät laadukkaaseen lopputulokseen pääsemiseen suoraviivaisimmalla mahdollisella tavalla.

Eväitä unelmaan löytyy (pienistä hypetyksen elkeistä huolimatta) esimerkiksi Jason Friedin esitelmästä How to make big things happen with small teams (PDF-muodossa).

Mitä elementtejä unelmaprojektista vielä puuttuu? Kerro mielipiteesi kommentoimalla tätä viestiä.

Harjoitustöiden esitteleminen

Viimeiset harjoitukset käytetään kevään aikana toteutettujen ominaisuuksien esittelemiseen. Lisätietoa 11. harjoituksen tehtävänannossa.

Hypermedialaboratorio hakee tutkimusapulaista

Hypermedialaboratorio hakee tutkimusapulaista kesäksi 2008:

Hypermedialaboratorio hakee yhteisöllisistä verkkopalveluista ja opetuksen kehittämisestä kiinnostunutta tutkimusapulaista. Etsimme monitieteiseen tutkijatiimiimme tutkimusapulaista, joka hallitsee perustiedot ohjelmallisen Web-hypermedian toteuttamisesta (suositusten mukainen HTML ja CSS), Web-ohjelmoinnista (PHP-ohjelmointi yleensä ja WordPress-blogimoottorin räätälöinti erikseen) ja rakenteisista dokumenteista (erityisesti XML ja RSS). Lisäksi toivomme, että tuntisit nykyaikaiset yhteisölliset palvelut kuten blogit ja wikit. Muu soveltuva osaaminen katsotaan hakijalle eduksi.

Työn kesto: 15. toukokuuta - 29. elokuuta 2008

Viimeinen hakupäivä: perjantai 9. toukokuuta 2008

Työ alkaa: 15. toukokuuta tai sopimuksen mukaan

Vapaamuotoiset hakemukset ja tarkempia tietoja työstä:

TTY/Hypermedialaboratorio

Kirsi Silius

erikoistutkija

Sähköposti: kirsi.silius@tut.fi

Puh. 040-8354619

Huone: Tietotalo/TD311

Koodiklinikka: Webin ohjelmointirajapinnat

Koodiklinikalla käydään läpi Webin ohjelmointirajapintojen soveltamiseen liittyviä käytäntöjä. Tarkemmassa tarkastelussa on Google Maps API, josta käydään läpi yksityiskohtainen esimerkki. Lisäksi tehdään yleiskatsaus erilaisiin rajapintavaihtoehtoihin. Hypermedian ohjelmoinnin del.icio.us-tililtä löytyy lisää Webin ohjelmointirajapintoihin liittyviä linkkejä.

Teknologian valinta Web-kehitykseen?

Hypermedian ohjelmoinnin kevään 2008 toteutuskerta lähenee loppuaan ja “todellinen elämä” käytännön haasteinen on taas askeleen lähempänä opintojakson suorittajia.

Eräs keskeisistä Web-kehitysprosessin haasteista on teknologian valitseminen. Konsultti Sean Kelly käsittelee teknologian valintaa videoartikkelissaan Better Web App Development.

Minkälaisia ajatuksia Seanin esitys sinussa herättää? Kerro mielipiteesi kommentoimalla tätä viestiä. Kerro myös mikä oli oma valintasi opintojakson harjoitustyön toteutusteknologiaksi.