Child pages
  • Ohjelmistoarkkitehtuurit
Skip to end of metadata
Go to start of metadata

Kurssikirjana toimii Software Architectures for Dummies. Muu tärkeä ja hyödyllinen kirjallisuus esitellään aloitusluennolla. Kirja on saatavilla eKirjana Dawsonerasta ja lisäksi sitä on kirjastossa 10 kpl. eKirjaa voi lukea online, tai ladata se. Lataamisen yhteydessä lukuaikaa on kolme päivää.

Kurssikuvauksen ja aikataulun löydät weboodista. Kurssin tiedotteet löytyvät kurssin blogista joka kannattaa ottaa seurantaan. Kannattaa tehdä niin että kurssin wikin pääsivulla sisäänkirjautuneena (tämä sivu) painaa Watch-nappia (silmän kuva) jolloin saa sähköpostiin ilmoitukset wikin päivityksistä.

Kurssin luennot ja harjoitustehtävät ovat täällä wikissä. Luentotehtävät suoritetaan Moodlessa  jossa myös keskustelualue kurssin tarpeisiin, ja mahdollisesti jatkossa palautettavien tehtävien kansiot. Kurssin työtilaan voi itse rekisteröityä koodilla ohar2019 tammikuun loppuun saakka.

 

Arvostelussa pääosassa on harjoitustyö. Lisäpisteitä saa luentotehtävien palautuksesta (vain luennoille osallistuville) ja harjoitusten esitehtävien tekemisestä ja harjoituksiin osallistumisesta. Pisteytys tapahtuu seuraavalla periaatteella:

  • Harjoitustyöstä saa max 40 pistettä.
    • Tarkempi harjoitustyön arviointikriteeristö julkaistaan harjoitustyön esittelyn yhteydessä.
  • Luentotehtävista saa max 10 pistettä, yksi per hyväksytty luentotehtäväpalautus.
    • Näitä ei ole pakko tehdä mutta tekeminen a) auttaa mahdollisesti paremman arvosanan saamisessa ja b) asioiden pähkäily jatkuvasti kurssin edetessä edistää oppimista..
  • Harjoitustehtävistä (ennakkotehtävät ja harjoitustehtävät) ja harjoituksissa läsnäolosta saa max 10 pistettä.
    • Tehtävät siis pitää olla tehtynä ja harjoituksissa pitää olla läsnä pisteen saamiseen. Harjoituksissa ei ole pakollista läsnäoloa, mutta a) saatavat pisteet auttavat mahdollisesti paremman arvosanan saamisessa ja b) koska harjoituksissa keskitytään paljon harjoitustyöhön, läsnäolo tuottaa todennäköisesti paremman harjoitustyön ja siten paremman arvosanan.

Näin ollen pisteskaala on 0-60, 30 pisteellä pääsee läpi. Tarkempi pistemäärä > arvosana -taulukko julkaistaan harjoitustyön esittelyn yhteydessä.

Kurssin harjoitustyöstä vuonna 2019 tämän verran alustavaa tietoa:

  • Harjoitustyössä tutustutaan olemassa olevan järjestelmän lähdekoodiin arkkitehtuurin näkökulmasta.
  • Järjestelmä on koodattu C++:lla
  • Koodia pitää ymmärtää rakenteellisella ja käyttäytymisen tasolla, mutta yksityskohtia ei ole pakko ymmärtää, eikä uutta koodia tarvitse tuottaa
  • Ymmärtämisen ja arkkitehtuurin kuvaamisen jälkeen harjoitustyö sisältää arkkitehtuurin uudelleensuunnittelua ja sen kuvaamista UML:llä. Koodin tuottaminen ja muokkaaminen on sallittua mutta optionaalista.
  • Alla lueteltujen työkalujen ja kirjastojen asentaminen ja käyttöönotto ei ole pakollista, mutta auttaa ymmärtämään koodia ja sen käyttäytymistä. Mikäli haluatte kääntää ja kokeilla järjestelmän toimintaa, nämä on asennettava. Näistä erikseen ohjeet harjoitustyön dokumentaatiossa, joka julkaistaan myöhemmin.

Jos siis haluatte itse kääntää ja suorittaa sovelluksia, tarvitsette

  • git -versionhallintatyökalun
  • CMake -työkalun
  • Qt -kehitysympäristön työkaluineen
  • C++14:sta tukevan kääntäjän (GCC, clang (esim. macOS:n Xcode) tai joku muu kääntäjä (MS Visual C++).

Lisäksi tarvitaan seuraavat ulkopuoliset kirjastot

  • STL -kirjaston (Standard Template Library; sisältyy yleensä C++ -kääntäjiin eikä sitä tarvitse erikseen asennella)
  • boost -kirjaston (versio 1.68.0 tai uudempi) lähdekoodit asennettuna kehityskoneelle ja vähintään boost_system -kirjaston käännettynä c++14:lla.
  • nlohmann::json -kirjaston asennettuna kehityskoneelle
  • g3logger -kirjaston asennettuja ja käännettynä kehityskoneelle
  • Qt:n kirjastot, jotka nekin asentuvat Qt -työkalujen mukana.

Luennot, harjoitukset ja harjoitustyö: Antti Juustila

 

 

Blog stream

Create a blog post to share news and announcements with your team and company.

 

Alasivut:

 

  • No labels