Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/
Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 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/kurssit/ohj-3200/ 3
Kurssia tukeva kirja Koskimies K., Mikkonen T.: Ohjelmistoarkkitehtuurit. Talentum 2005. Linkki kirjaan kurssin kotisivuilla. Tenttiin tarvittava osaaminen: - teoria : luentokalvot, videot (+ kirja) - soveltaminen: viikkoharjoitukset Tentti on mahdollista suorittaa ilman kirjaa, jos perehtyy luentomateriaaliin (kalvot) ja käy viikkoharjoituksissa. 4
Esitietovaatimukset Ymmärrys ohjelmistokehitysprosessista ja sen vaiheista (TTY: Ohjelmistotuotannon menetelmät) UML:n perusteet Perusosaaminen olio-ohjelmoinnista Kurssin suoritus Aktiivinen osallistuminen viikkoharjoituksiin (0-10p) Hyväksytty harjoitustyö (0-15p) Osallistuminen vierailuluentoihin (1-5p) Lopputentti (0-30p, min 15p) Tentin läpipääsy riittää kokonaisarvosanaan 1 Viitosen alaraja 50 pistettä Tentti Harjoitukset Harjoitustyö Vierailuluennot 5
Viikkoharjoitukset alkaa ensi viikolla (3) ei taukoviikolla (10) 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! 6
Harjoitustyö Tehdään 3-4 opiskelijan ryhmissä Kaikki ryhmän osallistujat saavat saman pistemäärän harjoitustyöstä Työn aihe: arkkitehtuurin suunnittelu, dokumentointi ja arviointi Työ selostetaan luennolla ke 30.1. (viikko 5) Välipalautus (oman ratkaisun esittely) Arkkitehtuurin suunnitteludokumentti Arviointidokumentti Päivitetty arkkitehtuuridokumentti Harjoitustyön suoritus Yksityiskohdat tulevat viimeistään viikolla 5 kurssin sivuille. 7
Kurssin sisältö (alustava) Vko Päivä Luento Harjoitukset Harjoitustyö 2 Johdanto, kurssin asiat 10.1.2013 Vierailu1 3 16.1.2013 Arkkitehtuurin kuvaus 1: Määritelmät 17.1.2013 Komponentit ja rajapinnat 4 23.1.2013 Suunnittelumallit 2: UML / MagicDraw (TC217) 24.1.2013 Komponenttien vuorovaikutus (GoF) Ht-ryhmät 5 30.1.2013 HT-tehtävänanto 3: Komponentit 31.1.2013 Vierailu2 6 6.2.2013 Suunnittelumallit, viestipohjaiset järjestelmät 4: Dokumentointi 7.2.2013 Arkkitehtuurityylit 7 13.2.2013 Muunneltavuus 5: Suunnittelumallit ja tyylit 14.2.2013 Ketterä arkkitehtuuri 8 20.2.2013 Arkkitehtuurin arviointi 6: Arkkitehtuurin suunnittelu 21.2.2013 Arkkitehtuurin arviointi, DCAR 9 27.2.2013 Tuoterunkoarkkitehtuurit 7: ATAM Välipalautus 28.2.2013 Kehysohjelmistot 11 13.3.2013 Vierailu3 8: DCAR 12 20.3.2013 Vierailu4 9: Harjoitustyön ohjaus 13 27.3.2013 Ei luentoa (koneenohjauspäivät) 10: Platformit Arvioinnit 14 3.4.2013 Pääsiäinen Arvioinnit 15 10.4.2013 Vierailu5 11: Tietokoneharkat (bonus) Arvioinnit 16 17.4.2013 Arkkitehtuuritietämys ja Kertausluento 17 24.4.2013 Tentti 18 1.5.2013 19 8.5.2013 Palautus 8
Kirjallisuutta Kurssia tukeva kirja: Koskimies K., Mikkonen T.: Ohjelmistoarkkitehtuurit. Talentum 2005. Oheiskirjallisuutta: 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. 9
Kysyttävää? 10
Tauko 15 minuuttia 11