Ohjelmistoarkkitehtuurit : Harjoitukset

Harjoituksissa tehdään pienryhmissä tehtäviä, jotka jaetaan harjoitustilaisuudessa. Tehtävät perustuvat tällä sivulla etukäteen ilmoitettuun materiaaliin. Harjoituksiin osallistuvien tulee tutustua materiaaleihin ennen harjoitusta, jotta ryhmätyöskentely olisi sujuvaa ja tehtävät ehditään tehdä. Ryhmien tulokset kootaan yliopiston wikiin (työalueen nimi on "ohjelmistoarkkitehtuurit"): http://wiki.helsinki.fi/display/oarkk/Home+of+Ohjelmistoarkkitehtuurit.

  1. Harjoituksen (15. ja 16.9.) materiaali
    1. Ensimmäisen viikon luentojen diat
    2. Dropboxin kasvutarina: How we've Scaled Dropbox (Kevin Modzelewski), Stanfordin yliopiston kollokvion esitelmäsarjasta vuodelta 2012 (youtubessa). Tehtävät liittyvät esityksen 25 ensimmäiseen minuuttiin (voit toki katsoa koko videon). Tee itsellesi muistiinpanoja esityksestä kiinnittäen huomiota erityisesti (1) start-up yrityksen teknisten ratkaisujen (infrastruktuurin) kehittämiseen liittyviin yleisiin haasteisiin ja (2) Dropboxin arkkitehtuurin kehitykseen liittyviin suunnittelupäätöksiin ja niiden perusteisiin. Linkki esitykseen: https://youtu.be/PE4gwstWhmc?list=PLHYzukVtPXKcDqtL5smSPB5A7yU9ofIGb
  2. Harjoituksen (22. ja 23.9.) materiaali. Huom - tehtävät on jo julkaistu wikissä, joten ne voi etukäteen käydä katsomassa!
    1. Luennon 3 ja 4 diat
    2. Alistair Cockburnin kirjoitukset
    3. Eoin Woodsin artikkeli
  3. Harjoituksen (29. ja 30.9.) materiaali
    1. luennon 5 ja 6 diat
    2. Using Advanced JMS Features (luku 45.4) Java EE 7 -tutoriaalista. Tehtävä koskee JMS:n ominaisuuksia, jotka ovat tärkeitä viestinvälityksen korkeaa luotettavuutta tarvitsevissa sovelluksissa (message persistence, transactions). Linkki: https://docs.oracle.com/javaee/7/tutorial/jms-concepts004.htm#BNCFU
  4. Harjoituksen (6. ja 7.10.) Materiaali
    1. Luennon 7 diat
    2. Videot (youtube):

      Design Thinking (jakso 15 kurssilta Complex System Design) https://youtu.be/WrdSkqRypsg

      How it Works: Design Thinking (esittelee IBM:n version Design Thinking -suunnitteluprosessista, IBM Academy) https://youtu.be/pXtN4y3O35M

  5. Harjoituksen (13. ja 14.10.) Materiaali
    1. Luennon 9 ja 10 diat
    2. OSGI -komponenttiarkkitehtuurin kuvaus: https://www.osgi.org/developer/architecture/
  6. Harjoituksen (20. ja 21.10.) materiaali
    1. Luennon 11 Koodimalli -diat
    2. Artikkeli: Brunet, J.; Murphy, G.C.; Serey, D.; Figueiredo, J., "Five Years of Software Architecture Checking: A Case Study of Eclipse," in Software, IEEE , vol.32, no.5, pp.30-36, Sept.-Oct. 2015. (http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6879058)
    3. Taustatietoja Eclipsestä liittyen Brunet et. al. artikkeliin (kannattaa ainakin  vilkaista):
      1. Eclipse architecture: http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Farch.htm
      2. PDE/API Tools restrictions: https://wiki.eclipse.org/PDE/API_Tools/Restrictions