Ohjelmistoarkkitehtuurit Kevät 2014 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1
Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 8.1.2014 2
Kurssin tavoitteet Arkkitehtuurin roolin ymmärtäminen Arkkitehtuurien kuvaamisen hallitseminen Arkkitehtuurityylien ja suunnittelumallien tunteminen Tuoterunko-ohjelmistojen luonteen ymmärtäminen, valmiudet niiden rakentamiseen ja käyttämiseen Arkkitehtuurien arvioinnin ymmärtäminen ja valmiudet arkkitehtuurin käytännön arviointiin Täydentää yleistä tietämystä ohjelmistokehitysprosessista arkkitehtuurisuunnittelun osalta Kurssin kotisivusto (TTY): http://www.cs.tut.fi/~ohar/ 8.1.2014 3
Kurssia tukeva kirja Koskimies K., Mikkonen T.: Ohjelmistoarkkitehtuurit. Talentum 2005. http://www.cs.tut.fi/~kk/ohjelmistoarkkitehtuuri.pdf Tenttiin tarvittava osaaminen: teoria : luentokalvot, videot (+ kirja) soveltaminen: viikkoharjoitukset Tentti on mahdollista suorittaa ilman kirjaa, jos perehtyy luentomateriaaliin (kalvot) ja käy viikkoharjoituksissa. Toinen mahdollinen kurssin aihealueeseen sopiva itseopiskeluteos: Pattern-Oriented Software Architecture For Dummies 8.1.2014 4
Esitietovaatimukset Ymmärrys ohjelmistokehitysprosessista ja sen vaiheista (TTY: Ohjelmistotuotannon menetelmät) UML:n perusteet Perusosaaminen olio-ohjelmoinnista Kurssin suoritus Pisterajat TTY:llä: Viikkoharjoitukset 0-10, läpipääsyraja 0 pistettä Harjoitustyö 0-15, läpipääsyraja 3 pistettä Vierailuluennot 0-5, läpipääsyraja 2 pistettä Tentti 0-20, läpipääsyraja 9 pistettä Yhteensä 0-50, läpipääsyraja 14 pistettä http://www.cs.tut.fi/~ohar/arvostelu/ 8.1.2014 5
Ensimmäinen tentti Viimeisellä luentokerralla, kaikille yhteinen Tenttiaika keskiviikko 7.5.2014 klo 10-13 (paikka luentosali, TTY:llä TB109) 8.1.2014 6
Viikkoharjoitukset Alkavat ensi viikolla (13.1.-) Ei taukoviikolla (10, 3.3.-7.3.2014), ei arkkitehtuuriarviointejen kanssa samaan aikaan Jakautuu kotitehtäviin ja harjoituksissa tehtäviin ryhmätöihin Kotitehtävät edellisen viikon maanantaina kurssin sivulla TTY:llä käytetään IDLE:ä kotitehtävien palauttamiseen Olennainen osa kurssin suoritusta! Kannattaa tehdä heti alusta alkaen Tukee harjoitustyötä Tärkeintä on keskustelu harjoituksissa! 8.1.2014 7
Harjoitustyö Tehdään 3-5 opiskelijan ryhmissä Kaikki ryhmän osallistujat saavat saman pistemäärän harjoitustyöstä (mahdollisuus pisteiden jakoon epätasaisesti?) Työn aihe: arkkitehtuurin suunnittelu, dokumentointi ja arviointi Arkkitehtuuriin liittyy aina jonkin verran aihealuetietämystä ja tekniikat, joten työhön kuuluu myös perehtymistä uusiin tekniikoihin (esim. viime vuoden työnä Spotify-mukaelma streamaustekniikat, palvelimet, salaustekniikat, käyttäjien autentikoinnit) Vaiheita: Välipalautus (oman ratkaisun esittely) Arkkitehtuurin suunnitteludokumentti Arkkitehtuurin arviointi Arviointidokumentti Päivitetty arkkitehtuuridokumentti Yksityiskohdat tulevat 27.1.-- viikolla kurssin sivuille. 8.1.2014 8
Harjoitustyö, alustava aikataulu Työn esittely 30.1. Ryhmien muodostaminen 15.1. Välipalautus (oman ratkaisun esittely) ~20.2. Arkkitehtuurin suunnitteludokumentti Arkkitehtuurin arviointi ~25.3.-- Arviointidokumentti: viimeistään viikko arviointitilaisuuden jälkeen Päivitetty arkkitehtuuridokumentti: 8.5.2014 8.1.2014 9
Luennot ja luentoaikataulu 8.1. Johdanto, käytännön jutut 9.1. Johdanto jatkuu 15.1. Arkkitehtuurin kuvaus, UML-kaaviojuttuja 16.1. Vierailuluento: Arkkitehdin arkipäivää (Janne Viitala, Sandvik) 22.1. Suunnittelumalleista lyhyesti, Komponenttien vuorovaikutus 23.1. komponentit ja rajapinnat, arkkitehtuurityylit 29.1 Vierailuluento: Arkkitehtuuri käytännössä (Mika Siikarla, Bitwise) 30.1. Harjoitustyön tehtävänanto, jatkoa Ketterä arkkitehtuuri (Veli-Pekka Eloranta) 13.2.2014? Arkkitehtuurien arviointi, ATAM, DCAR-arkkitehtuuriarviointimenetelmä (Veli-Pekka Eloranta) maaliskuun alku Arkkitehtuuritietämys, laatu ja arkkitehtuuri (sisäinen, ulkoinen) (Veli-Pekka Eloranta) huhtikuun puolivälin jälkeen Viestipohjaisten yritystietojärjestelmien arkkitehtuurit Muunneltavuuden hallinta Referenssiarkkitehtuurit, arkkitehtuurit ja eri ympäristöt/toteutuskalut Ekosysteemit (miten vaikuttavat toteutustyöhön tietyssä ekosysteemissä/entä ekosysteemin suunnittelu?) Tuoterunkoarkkitehtuurit, Kehysohjelmistot Ohjelmistojen ylläpitoa ja arkkitehtuurien refaktorointia Vierailuluentotoiveita: monikielijärjestelmät, funktionaalisuus, avoin data, liikkuvat koneet Kertaus, mitä tenttiin 8.1.2014 10
Kirjallisuutta Kurssia tukeva kirja (ei kaikkea kurssin asiaa): Koskimies K., Mikkonen T.: Ohjelmistoarkkitehtuurit. Talentum 2005. Oheiskirjallisuutta: Robert Hanmer - Pattern-Oriented Software Architecture For Dummies Gamma E. et al.: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley 1995. Buschmann et al.: A System of Patterns - Pattern-Oriented Software Architecture. Wiley 1996. Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Clements P., Northrop L.M.: Software Product Lines : Practices and Patterns. Addison-Wesley 2002. Clements P., Kazman R., Klein M.: Evaluating Software Architectures. Addison-Wesley 2002. Clements P. et al.: Documenting Software Architectures. Addison-Wesley 2003. Bosch J.: Design and Use of Software Architectures. Addison-Wesley 2000. Bass L., Clements P., Kazman R.: Software Architecture in Practice. Addison-Wesley 2003. Eloranta et al.: A Pattern Language for Distributed Machine Control Systems. Department of Software Systems, Tampere University of Technology, Report 9/2010. 8.1.2014 11
Kysyttävää?
Jokaisen yliopiston omat jutut/käytännöt
Käytännönjuttuja TTY:llä Henkilökunta: Samuel Lahtinen, Outi Sievi-Korte, Veli-Pekka Eloranta Sähköposti: ohar@cs.tut.fi (EU-projektien rankalaiset ja germaanit, työkaverit, sihteerit, jne. hukuttavat normisähköpostin) Kaikki kurssiin liittyvä sähköposti kyseiseen osoitteeseen (harjoitustyö & oma assari poikkeustilanne) Viikkoharkat: Tiistai 10:15-12:00 TC103 (Outi) Tiistai 14:15-16:00 TC103 (Outi) Torstai 10:15-12:00 TC103 (Veli-Pekka Eloranta) Perjantai 10:15-12:00 TC210 (Veli-Pekka Eloranta) 8.1.2014 14