Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik

Koko: px
Aloita esitys sivulta:

Download "Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik"

Transkriptio

1 Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik

2 Motivaatio Arkkitehtuureilla on väliä Aamulehti, pääkirjoitus: Avoin väylämalli myös Suomeen Viron potilastietojärjestelmä pohjautuu Enterprise Service Bus arkkitehtuurimalliin. Viro: 10M Suomi: 1800M Service Bus 2

3 Agenda Arkkitehdin arkipäivä Mikä ihmeen Sandvik? Käytönnön kokemuksia ja havaintoja arkkitehdin työstä teollisuudessa Suunnittelu Dokumentointi Kommunikointi Muutama nyrkkisääntö 3

4 Disclaimer T.s. Vastuu on kuulijalla Esitetyt mielipiteet ja näkemykset ovat esittäjän omia eivätkä vastaa Sandvikin, TTY:n, tai minkään muunkaan instanssin virallisia tai epävirallisia mielipiteitä. Tuskin tulee tentiin. 4

5 5 Mikä Sandvik? Lyhyt intro

6 Heritage Founded 1862 in Sandviken, Sweden Göran Fredrik Göransson redesigned the Bessemer furnace to mass-produce steel A breakthrough and an innovation started the company 150 years ago

7 Sandvik/Tamrock Historia Tampella 1856 Tamperelaista konepajaperinnettä Paineilmaporakoneita 50-luvulta Tampellan Porakoneyksikkö ==> Tamrock (1969) Myllypuroon -70 luvun alussa Tamrock ==> Sandvik (1997) Sandvik Mining ja Sandvik Construction 7

8 8 Tuotteita Sandvik Mining

9 Ohjelmistot Sandvikin laitteissa Esimerkkejä Porauksen ohjaus (painemittauksia ja -ohjauksia, pumppujen ohjausta, jne) Puomin ohjaus (asemamittaus, paikoitus erilaisissa koordinaatistossa, taipuma yms. kompensoinnint) GPS-pohjainen porakruunun paikannus ja paikoitus Graafiset käyttöliitymät operaattorille ja huollolle (mittarit/indikaattorit, porakaaviot, diagnostiikka,...) Tiedonkeruu ja raportointi SICA-platform! Lisäksi erilaisia off-board sovelluksia (etäoperointi, valvonta, porakaavioiden luonti/käsittely, kivianalyysi,...) 9

10 10 SW-arkkitehdin työstä Case Sandvik

11 Arkkitehti? Määritelmä Suunnittelee suurehkon ohjelmiston rakenteen komponenttitasolla Dokumentoi suunnitelman riittävällä tarkkuudella Toivottavasti osallistuu hommaan tämän jälkeenkin jollakin tavalla (koodaus, katselmoinnit, testaussuunnittelu, ) Eli mitä tässä esityksessä ei tarkoiteta arkkitehdistä puhuttaessa: Arkkitehtuurin dokumentoijaa Koodaria joka vastaa osaltaan toteuttamansa komponentin arkkitehtuurista 11

12 Arkkitehdin työ Yleiskatsaus 1)Suunnittelee ohjelmiston rakenteen tietyllä tasolla 2)Dokumentoi suunnitelman riittävällä tarkkuudella 1) 3) 3)Kommunikoi arkkitehtuurin sidosryhmille (kehittäjät, testaus, projektin vetäjät, johto,...) 2) Ja toivottavasti osallistuu hommaan tämän jälkeenkin jollakin tavalla (koodaus, katselmoinnit, testaussuunnittelu, ) 12

13 Järjestelmän suunnittelu Mitä se edellyttää? Yleinen sw-osaaminen Kyky hahmottaa ja hallita monimutkaisia kokonaisuuksia Järjestelmän arkkitehtuurin yhtenäisyys, unifying vision Sovellusalue-osaaminen! 13

14 SW osaaminen Mitä se on Vahva koodaustaito & -kokemus käytetyillä kielillä Arkkitehdin tulee osata koodata! Tärkeää koska: devil is in the details Oliomenetelmät, UML, yleiset patternit (GoF),... Arkkitehdin tulisi nähdä ja pystyä esittämään miten periaatteessa mikä tahansa toiminto järjestelmässä toteutetaan. 14

15 SW osaaminen UML, oliomenetelmät, jne UML on de-facto mallinnus-/kuvausmenetelmä UML käytännön tasolla ( 20% UML:stä riittää 80% tarpeisiin - Ivar Jacobson) Kannattaa huomioida että käytännössä UML-osaamisen taso vaihtelee! Management, wanhat parrat,... Sovellusspesialistit ja järjestelmäsuunnittelijat SysML vielä tuntematon Perus-design patternit (GoF) Vesi KahvinPorot Hyvä työkalupakki suunnitteluun. Myös tehokkaita kommunikaatiovälineenä! ( käyttöliittymätoiminnot toteutetaan Commandpatternia käyttäen ).

16 Sovellusalue (=Domain) osaaminen Mitä se on? Käytännön kokemusta kyseiseltä sovellusalueelta Tyypillisiä ongelmia Tyypillisiä ratkaisuita Tärkeää koska Vaatimukset eivät koskaan kerro kaikkea! Etenkään ei-toiminnalliset. Siksi ne tarvii haistaa. Muutoksiin varautuminen Vaikka vaatimukset kertoisivatkin kaiken, tulee tietää mikä toimii ja mikä ei (ja miksi). 16

17 Sovellusalue osaaminen Miten kartuttaa? Tekemällä oppii! Alakohtaisia pattern-kataloogeja, esim. TTY:n koneenohjauspatternit 17

18 Sovellusalueosaaminen Esimerkki Suunnittele yleiskäyttöinen työkoneen hälytysjärjestelmä Mistä asioista tehdään hälytyksiä? Miten ne esitetään käyttäjälle? API sovellusohjelmoijille? Vasteaikavaatimuksia? Pysyvä talletus? Siirto koneen ulkopuolelle? Miten konfiguroidaan eri kone-, väylä- ja ohjaintyypeille? Tulevaisuuden näkymiä? Mihin varautua? Yleisesti käytetyt/tunnetut ratkaisut? Miten petrata? ==>ja sitten suunnittelu 18

19 Sovellusalueosaaminen Esimerkki Työkoneiden elinkaarihalinta Sarjatuonannon vaatimukset? Huolto? Varaosat? Elektroniikan elinkaari < koneen elinkaari Elektroniikka tyypillisesti paranee ja halpenee koko ajan Vanhentuva elektroniikka puolestaan kallistuu Kuitenkin tarve kustannustehokkuuteen Tällaiset vaatimukset toisinaan nousevat esiin vasta kun laite on saatu valmiiksi 19

20 Järjestelmän suunnittelu Tyypillisiä ongelmia Pieleen mennyt arkkitehtuuri keskeisimpiä syitä projektin epäonnistumiseen. Tyypillisiä ongelmia: Norsunluutorni-arkkitehtuuri Ylisuunnittelu Väärät abstraktiot [N]IH ==> Antipatternit

21 Antipatternit Lyhyt intro viisas oppii toisten virheistä omiensa sijaan Huonoja toteutus- tai toimintamalleja Voivat liittyä sw-rakenteeseen, organisaatioon, projektinhallintaan yms. toimintatapoihin Vrt. Design patternit jotka liittyvät sw-rakenteeseen Vrt. Prosessi joka liittyy toimintatapoihin Antiprosessi? Idea: sovellusaluekohtaisia antipatterneja? Vrt. Sovellusaluekohtaiset design patternit

22 Norsunluutorni-arkkitehtuuri Arkkitehtuurisuunnittelu tehdään huomioimatta detaljeita joita käytännön työssä kuitenkin kohdataan. laatikkokuva == järjestelmä virhe? Tyypillisiä syitä: Liikaa työtä arkkitehdille devil is in the details Domain-osaamisen puutteet Kompetenssin puute 22

23 Overengineering Tarpeettoman monimutkainen rakenne, "excessive future-proofing" Spagettikoodin vastakohta (liikaa rakennetta vs. toiminnallisuus) Esimerkki; speksi sanooo 'tee C++ ohjelma joka tulostaa terve maailma '. Triviaali toteutus: #include <iostream> void main () { std::cout << terve maailma << end; } Vaihtoehto b: Celestial Object Greeter Framework (TM)

24 COGFrameWork +setcelestialobjectfactory (ICOFactory) +setgreetingfactory (ICOFactory) +greetcelestialobject () Common Framework CelestialObject +name (): string -printname (); Greeter +greet (): string -printgreeting (); IGreeterFactory +createcelestialobject (): CelestialObject ICelectialObjectFactory +createcelestialobject (): CelestialObject World HelloSayer MyGreeterFactory MyCelectialObjectFactory Greeter specific <<create>> <<create>> Application

25 #include <iostream> class ICelectialObjectFactory; class IGreeterFactory; class CelestialObject { friend class COGFrameWork; public: virtual const char *name () = 0; private: void printname () { std::cout << name (); } }; class Greeter { friend class COGFrameWork; public: virtual const char *greet () = 0; private: void printgreeting () { std::cout << greet (); } }; class ICelectialObjectFactory { public: virtual CelestialObject *createcelestialobject () = 0; }; class IGreeterFactory { public: virtual Greeter *creategreeter () = 0; }; class COGFrameWork { public: void setcelestialobjectfactory (ICelectialObjectFactory* f) { m_celestielobjectfactory = f; } void setgreeterfactory (IGreeterFactory* f) { m_greeterfactory = f; } void greetcelestialobject () { CelestialObject *o = m_celestielobjectfactory- >createcelestialobject (); Greeter *g = m_greeterfactory->creategreeter (); } g->printgreeting (); std::cout << " "; o->printname (); std::cout << std::endl; private : ICelectialObjectFactory *m_celestielobjectfactory; IGreeterFactory *m_greeterfactory; }; class World : public CelestialObject { public: const char *name () { return "maailma"; } }; class HelloSayer : public Greeter { public: const char *greet () { return "terve"; } }; class MyCelectialObjectFactory : public ICelectialObjectFactory { public: CelestialObject *createcelestialobject () { return new World; } }; class MyGreeterFactory : public IGreeterFactory { public: Greeter *creategreeter () { return new HelloSayer; } }; Lähdekoodi ~150LoC int main () { COGFrameWork *fw = new COGFrameWork; MyCelectialObjectFactory *cof = new MyCelectialObjectFactory; MyGreeterFactory *gf = new MyGreeterFactory; fw->setcelestialobjectfactory (cof); fw->setgreeterfactory (gf); fw->greetcelestialobject (); }

26 Overengineering Seurauksia Monimutkaisuus kasvattaa monimutkaisuutta, esim COGW: Puuttuu virhetarkistuksia ja pitää suunnitella miten virhetilanteet hallitaan Muistinhallinnassa bugeja Koodimäärä == Konfigurointimäärä > kovakoodauksen määrä jonka se korvaa (esim. 'muuta ohjelma tulostamaan lisäksi terve Mars ') 26

27 Virheelliset abstraktiot Suunnitteluongelmana Muutospyyntö: 'muuta ohjelma tulostamaan terve Belgia ' ==> taivaankappale nimeltä Belgia! T.s. Valittu väärä abstraktio, mikä haittaa uudelleenkäyttöä ja ylläpitoa. Tyyppillinen seuraus puutteellisesta domain-osaamisesta. 27

28 [Not] Invented Here Suunnitteluongelmana IH: Käytetään ratkaisua johon on tykästytty tyyppillisesti itse kehitettyä. Käyttö riippumatta siitä soveltuuko se tehtävään ensinkään NIH: Ei käytetä toimivaa valmista ratkaisua vaikka se teknis-taloudellisesti olisi perusteltua, koska oma toteutus on jotenkin maagisesti parempi. Korjataan toimiva valmis ratkaisu rikkinäiseksi

29 Muita yleisiä antipatterneita Organisaatioon/toimintaan liittyviä: Analysis Paralyzis (ei domain osaamista) Design by Committee ( unifying vision...) GodClass SW-suunnitteluun liittyviä: God class Fat interface Kirjallisuutta on, kannattaa tutustua.

30 Arkkitehtuurin dokumennista

31 Arkkitehtuurin dokumentointi Tarpeita ja haasteita Tarvittava taso riippuu täysin sidosryhmistä! Esim: Pieni kokenut teami samassa projektihuoneessa ==> kevyt Offshoring ==> raskas ja yksityiskohtainen dokumentaatio, tarkka seuranta! Pitkä elinkaari edellyttää parempaa dokumentaatiota. 31

32 Arkkitehtuurin dokumentointi Mitä dokumentoidaan? Pelkät UML-kaavit kertovat miten, tarviiko dokumentoida myös miksi? Jos tätä ei dokumentoida, kasvaa riski siihen että jatkossa tehdään tavoitteiden kanssa ristiriitaisia ratkaisuita. ==> unifying vision menetätään Yksi lähestymistapa on dokumentoida nimenomaan arkkitehtuuripäätökset ja niiden perustelut. 32

33 Arkkitehtuurin dokumentointi Mallipohjaisuus vai ei? Mallipohjainen: Luodaan UML-malli järjestelmästä vaatii CASE työkalun Myös suunnittelutyökalu, ei pelkkä dokumentaatio Tyypillisesti koodin generointi, round-trip engineering Nojaa vahvasti työkaluihin hyvässä ja pahassa (millaista koodia työkalu generoi, toimiiko round-trip, jne) Havainnollistaminen: Pelkkä kuva mikä tahansa piirto-ohjema UML-symboleilla toimii Joustava Ongelma: kuvan ja todellisuuden vastaavuus; ristiriitaisuudet 33

34 Arkkitehtuurin dokumentointi Design Patternit Tehokkaita ovat tehokkaita kommunikaatiovälineitä, kannattaa hyödyntää. Välittävät rakenteen lisäksi tietoa myös arkkitehtuurin tavoitteista, koska patternit (toivottavasti) valitaan niiden perusteella: käyttöliittymätoiminnot toteutetaan Command-patternia käyttäen ==> undo/redo, hajautus kenties mielessä Mona Lisa Ajoalustan GUI-toiminnot piilotetaan Bridge:n taakse ==> portattavuus vissiin tärkeää 34

35 Arkkitehtuurin dokumentointi Sandvik malli Ei mallinnusta, ei API dokumentaatiota arkkitehtuuridokumentaatiossa Kuvataan konsepteja - t.s. järjestelmän osatoimintoja. Rakenne komponenttien tasolla (komponentit, riippuvuudet, interaktiot) Selitetään miten ja miksi järjestelmä toimii tältä osin Toiminta käyttäjän näkökulmasta (sis. Kuvaruutumalleja, toimintakuvauksia) Komponettien tehtävät ja vastuut (vrt. API) Myös hylättyjä ratkaisuita ja perusteluita Tavoite luoda komponenti tekijälle ymmärrys siitä mitä pitää tehdä, sekä komponentin käyttäjille ymmärrys miten, miksi ja milloin sitä käytetään. Kuvaus läpi järjestelmän (koneenohjaimet, väylät, service-taso, GUI, liitynnät ulkomaailmaan), vrt. viipaleet (aspects). Esim. hälytykset, parametrit, varaosien asennus, lukitukset,... 35

36 36 Arkkitehtuurin kommunikointi

37 Arkkitehtuurin kommunikointi Mitä ja miten? Kuten dokumentaatiossa, taso riippuu täysin ihmisistä ja organisaatiosta Kokenut teami projektihuoneessa, tai yhden hengen projekti vs Offshore alihankkija projekti Keinoja: Dokumenttien läpikäynti, koulutus, osallistuminen tekemiseen, katselmoinnit, Jälleen: Design Patternit 37

38 Kommunikaatio-ongelmat Sidosryhmille ei välity käsitystä siitä mitä ollaan tekemässä. Tyypillisiä syitä: Kehno dokumentaatio/koulutus/esitystapa Ei seurantaa (esim. katselmointeja tai arkkitehdin osallistumista toteutukseen) Sidosryhmien fyysinen välimatka (off-site, off-shore) Kompetenssi (esim. maallikot) Aiempi kokemus (=oletukset) Asenne, kulttuurierot Usein vaikea arvioida miten onnistuttu kommunikoimaan.?? 38

39 39 Nyrkkisääntöjä

40 Nyrkkisääntöjä Käytännön tilanteisiin Uudelleenkäytettävän koodin tekeminen on 3 kertaa kalliimpaa kuin kertakäyttöisen Jos koodista tarvii uudelleenkäytössä muuttaa >20%, niin on halvempi kirjoittaa se tyhjästä uudelleen SW-teamien tuottavuudessa voi olla 26x eroja Tuntihinnassa voi olla 3x eroja (offshoring) Homma on 80% valmis 80% ajasta HUOM: nyrkkisääntö on vain nyrkkisääntö 40

41 41

42 Heading Subtitle text 42

Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik

Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik Motivaatio Arkkitehtuureilla on väliä Aamulehti, pääkirjoitus: Avoin väylämalli myös Suomeen Viron potilastietojärjestelmä pohjautuu Enterprise

Lisätiedot

Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik

Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik Arkkitehdin arkipäivää Sandvikilla Janne Viitala Sandvik Motivaatio Arkkitehtuureilla on väliä Aamulehti, pääkirjoitus (2013): Avoin väylämalli myös Suomeen Viron potilastietojärjestelmä pohjautuu Enterprise

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden

Lisätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy Esityksen sisältö Mermit yrityksenä Perustiedot Toimintamalli Mermit työpaikkana ohjelmistoinsinöörille Esimerkkiprojekti

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu

Lisätiedot

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tiera on vuonna 2010 perustettu yli 200:n kuntatoimijan omistama

Lisätiedot

Avoimen ohjelmistotuotteen hallinta julkisella sektorilla. Jukka Kääriäinen VTT Oy , Oskari-verkostopäivä

Avoimen ohjelmistotuotteen hallinta julkisella sektorilla. Jukka Kääriäinen VTT Oy , Oskari-verkostopäivä Avoimen ohjelmistotuotteen hallinta julkisella sektorilla Jukka Kääriäinen (jukka.kaariainen@vtt.fi) VTT Oy 19.5.2015, Oskari-verkostopäivä Esityksen sisältö Mitä on tuotteenhallinta? Mikä on avoimen tuotteenhallintamalli?

Lisätiedot

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Johdantoluento. Ohjelmien ylläpito

Johdantoluento. Ohjelmien ylläpito Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito

Lisätiedot

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

TIE Ohjelmistojen suunnittelu

TIE Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 8: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viimeiset viikkoharkat tarjolla, aiheena kansainvälistäminen/lokalisointi Viikkoharkkoja

Lisätiedot

Kääntäjän virheilmoituksia

Kääntäjän virheilmoituksia OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:

Lisätiedot

S11-09 Control System for an. Autonomous Household Robot Platform

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

Eclipse ja JUnit-ohjelmoijatestit

Eclipse ja JUnit-ohjelmoijatestit Eclipse ja JUnit-ohjelmoijatestit Tarkoitus on tutustua Eclipsen käyttöön vähän lähemmin ja varsinkin JUnit-ohjelmoijatesteihin (ohjelmoijatesti on vanhalta nimeltä yksikkötesti). Ohjelmoijatestit ovat

Lisätiedot

Keskitetyn integraatiotoiminnon hyödyt

Keskitetyn integraatiotoiminnon hyödyt Keskitetyn integraatiotoiminnon hyödyt Janne Kangasluoma / Chief Enterprise Architect, Ilmarinen Teemu O. Virtanen / Director, Information Logistics, Digia 2013 IBM Corporation HUOLEHDIMME NOIN 900 000

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela 22.4.2015 Jukka.kaariainen@vtt.

Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela 22.4.2015 Jukka.kaariainen@vtt. Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela 22.4.2015 Jukka.kaariainen@vtt.fi Avoimen tuotteenhallinta Esityksen sisältö Mitä on tuotteenhallinta?

Lisätiedot

JulkICTLab Eteneminen 2015. 4.3.2015 Mikael Vakkari, VM

JulkICTLab Eteneminen 2015. 4.3.2015 Mikael Vakkari, VM JulkICTLab Eteneminen 2015 4.3.2015 Mikael Vakkari, VM JulkICTLab lyhyesti Kokoaa yhteen julkisen hallinnon eri projektien kehittämistoimintaa Edistää palveluiden kehittämistä ja referenssitoteutusten

Lisätiedot

Chiller Service Next - palvelut: Urakointi Huolto ja varaosat Vuositarkastukset ja kartoitukset Etävalvonta ja energiaoptimointi

Chiller Service Next - palvelut: Urakointi Huolto ja varaosat Vuositarkastukset ja kartoitukset Etävalvonta ja energiaoptimointi Chiller Service Next - palvelut: Urakointi Huolto ja varaosat Vuositarkastukset ja kartoitukset Etävalvonta ja energiaoptimointi HelpDesk - laitevalmistajan ammattitaidolla Jäähdytysalalla yy ominaista

Lisätiedot

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Tuote Ohjelmisto Ulkoiset tekijät Sisäiset tekijät 2 Hissin ohjausjärjestelmä ohjelmistotuotteena

Lisätiedot

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009 PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI 28.9.2009 POHDINTAA Mitä asioita projektissa seurataan? Kuka vastaa ohjauksesta? Millä tavoin projektia seurataan ja ohjataan? Mitä asioita ohjaukseen kuuluu?

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

Lisätiedot

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi Luku 8 Rakennusvaihe Moduulisuunnittelu Detailed Design Programming Ohjelmointi Teknisen Complete suunnittelun Technical viimeistely Design Suunnittelukatselmuksen Design Perform suorittaminen Review Yhteisen

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy Käytännön haasteita ja ratkaisuja integraation toteutuksessa Jukka Jääheimo Teknologiajohtaja Solita Oy 13.03.2008 Sisältö 2 Alustus Integraation haasteet Integraatioarkkitehtuuri Hyvän integraatioarkkitehtuurin

Lisätiedot

Merlin Systems Oy. Kommunikaatiokartoitus päätöksenteon pohjaksi. Riku Pyrrö, Merlin Systems Oy 8.11.2007

Merlin Systems Oy. Kommunikaatiokartoitus päätöksenteon pohjaksi. Riku Pyrrö, Merlin Systems Oy 8.11.2007 Merlin Systems Oy Kommunikaatiokartoitus päätöksenteon pohjaksi Riku Pyrrö, Merlin Systems Oy 8.11.2007 Merlinin palvelujen toimittaminen ja Asiakasratkaisuyksikön tehtäväkenttä Merlin Asiakasratkaisut

Lisätiedot

JulkICT Lab Stakeholder -työpaja Työpajan yhteenveto

JulkICT Lab Stakeholder -työpaja Työpajan yhteenveto JulkICT Lab Stakeholder -työpaja Työpajan yhteenveto Perjantai 23.5.2014 klo 9.00-12.00 CSC, Keilaniemi 14, Espoo 0 JulkICT Lab Sisällys 1 Alku 2 Prosessi 3 Roolit ja resurssit 4 Loppu 5 Sidosryhmät 6

Lisätiedot

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa

Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Avoimen lähdekoodin ohjelmistot julkisessa hallinnossa Ohjelmistotuotteen hallinta ja hallinnointi 22.4.2015 Mikael Vakkari, neuvotteleva virkamies. VM Strategisten linjausten perusteemat Avoimuus Hallinto,

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut

Lisätiedot

Järjestelmän alasajon suunnittelu. Kullström Satu

Järjestelmän alasajon suunnittelu. Kullström Satu Järjestelmän alasajon suunnittelu Kullström Satu 13.3.2016 Sisältö Yleistä alasajon suunnittelusta Case Fennia 2 Elinkaaren loppu Wikipediassa Ohjelma ei kuole koskaan. Ohjelma voi tulla tarpeettomaksi

Lisätiedot

Kaupunkimallit ja Mallintava kaavoitus. Vianova Systems Finland Oy Jarkko Sireeni 9.2.2011

Kaupunkimallit ja Mallintava kaavoitus. Vianova Systems Finland Oy Jarkko Sireeni 9.2.2011 Kaupunkimallit ja Mallintava kaavoitus Vianova Systems Finland Oy Jarkko Sireeni 9.2.2011 Kaupunkimalli? Mallintamisen eri skaalat Kaavoitus ja aluerakentaminen Infra ja kunnallistekniikka Talonrakennus

Lisätiedot

JUnit ja EasyMock (TilaustenKäsittely)

JUnit ja EasyMock (TilaustenKäsittely) OHJELMISTOJEN TESTAUS JA HALLINTA Syksy 2015 / Auvo Häkkinen JUnit ja EasyMock (TilaustenKäsittely) Tehtävässä tarvittava koodi löytyy osoitteella http://users.metropolia.fi/~hakka/oth/mockesimerkki.zip

Lisätiedot

Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA

Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA PROJEKTITOIMINNAN ONGELMIA Kaikkea mahdollista nimitetään projekteiksi Projekti annetaan henkilöille muiden töiden ohella Ei osata käyttää

Lisätiedot

Refecor Oy. Jyrki Portin. Sensoriverkot Massamarkkinoille Suunnittelun ja valmistuksen haasteita

Refecor Oy. Jyrki Portin. Sensoriverkot Massamarkkinoille Suunnittelun ja valmistuksen haasteita Refecor Oy Jyrki Portin Sensoriverkot Massamarkkinoille Suunnittelun ja valmistuksen haasteita Esittelyni 11 vuotta suunnittelukokemusta RF, antennit ja radioteknologiat Systeemisuunnittelu Elektroniikka,

Lisätiedot

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

Lisätiedot

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia

Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia Testauksen suunnittelu ja dokumentointi ketterässä testauksessa Tutkimustuloksia Nina Perta, Senior quality consultant Knowit Oy Elina Varteva, QA Specialist Knowit Oy Copyright Knowit Oy 2014 Nina Perta

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

Hajautettu Ohjelmistokehitys

Hajautettu Ohjelmistokehitys Hajautettu Ohjelmistokehitys Maria Paasivaara Hajautuksen muotoja Yrityksen sisäinen hajautus Maan sisällä Maiden välillä, esim. offshore Yritysten välinen hajautus Alihankinta Lisenssointi Partnershipit

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Yleistä asiaa Muistakaa harkkatyöilmoittautuminen 23 ryhmää (mm. lihansyöjäkirahvi), vajaita ryhmiäkin on 44 henkeä vielä

Lisätiedot

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti 2.12.2011

AVOIMEN TUOTTEEN HALLINTAMALLIT. Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö. Yhteentoimivuutta avoimesti 2.12.2011 AVOIMEN TUOTTEEN HALLINTAMALLIT Kunnassa toteutettujen tietojärjestelmien uudelleenkäyttö Yhteentoimivuutta avoimesti 2.12.2011 Erikoistutkija, MSc. Tapio Matinmikko, Teknologian tutkimuskeskus VTT 2 Esittäjästä

Lisätiedot

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010. 3.

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010. 3. Takki Nyt se sopii, tai sitten ei Jussi Vänskä Espotel Oy vierailuluentosarja OTM kurssi 2010 3. luento: tuote Lisää ot sik k o osoit t am alla Jussi Vänskä OTM kevät 2010 Tuote Mitä tuote voi olla? Tuote

Lisätiedot

KUNTATEKNIIKKA 2014 ELINKAARILASKENNASTA OMAISUUDEN HALLINTAAN. Juha Äijö, Ramboll, 11.2013

KUNTATEKNIIKKA 2014 ELINKAARILASKENNASTA OMAISUUDEN HALLINTAAN. Juha Äijö, Ramboll, 11.2013 KUNTATEKNIIKKA 2014 ELINKAARILASKENNASTA OMAISUUDEN HALLINTAAN Juha Äijö, Ramboll, 11.2013 ELINKAARILASKENNASTA OMAISUUDEN HALLINTAAN ELI MITEN NÄHDÄÄN METSÄ PUILTA TAVOITE 10 20 30 40 50 60 70 80 90 Toleranssi

Lisätiedot

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti Järjestelmäprojekti 1 projektisuunnitelma ICT4TN007-2 SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU 11.10 käyttöjärjestelmässä -projekti Versio 0.1 Tekijät Keijo Nykänen Tarkastanut Hyväksynyt HAAGA-HELIA

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 6: suunnittelua Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Protosessioita tällä viikolla Ohjelmassa tänään Ohjelmistojen suunnittelujuttuja

Lisätiedot

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen

SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen SOA & Ajax Sanahelinää vai toimivaa käytäntöä sähköisessä asioinnissa? Fenix hankejohtaja Harri Juuti Projektipäällikkö Teemu Karvonen Agenda Fenix-hankkeen esittely Arkkitehtuuri lyhyesti Kuntalaistili

Lisätiedot

Kokemuksia ISO 26000 -standardin käytöstä. PK-yrityksen kokoista yhteiskuntavastuuta. SFS-seminaari

Kokemuksia ISO 26000 -standardin käytöstä. PK-yrityksen kokoista yhteiskuntavastuuta. SFS-seminaari Kokemuksia ISO 26000 -standardin käytöstä PK-yrityksen kokoista yhteiskuntavastuuta SFS-seminaari Susanna Vahtila 15.5.2013 SFS:n kokouskeskus, Helsinki ISO 26000 käyttöönoton laajuus? Countries that have

Lisätiedot

12. Kehysarkkitehtuurit

12. Kehysarkkitehtuurit 12. Kehysarkkitehtuurit Johdanto Kehystyypit Kehysten osittaminen Kehykset ja suunnittelumallit Kehysten etuja ja ongelmia Yhteenvetoa Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Johdanto

Lisätiedot

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi

Lisätiedot

Reilun Pelin työkalupakki: Työkäytäntöjen kehittäminen

Reilun Pelin työkalupakki: Työkäytäntöjen kehittäminen Reilun Pelin työkalupakki: Työkäytäntöjen kehittäminen Tavoite Oppia menetelmä, jonka avulla työyhteisöt voivat yhdessä kehittää työkäytäntöjään. Milloin työkäytäntöjä kannattaa kehittää? Työkäytäntöjä

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Työpaja B - Kuinka kokonaisarkkitehtuurin laadunhallinta voidaan integroida osaksi korkeakoulun laatujärjestelmää?

Työpaja B - Kuinka kokonaisarkkitehtuurin laadunhallinta voidaan integroida osaksi korkeakoulun laatujärjestelmää? Työpaja B - Kuinka kokonaisarkkitehtuurin laadunhallinta voidaan integroida osaksi korkeakoulun laatujärjestelmää? Työpisteessä pohdittiin, mitä on kokonaisarkkitehtuurin laadunhallinta ja miten se voidaan

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE Jukka Huhta Nikke Myöhänen Ville Tenhunen 5.11.2014 AGENDA MITÄ? MIKSI? ARKKITEHTUURI KAHLAUS INDEKSIT INTEGRAATIOT KÄYTTÖLIITYMÄT RAUDAT KÄYTTÖ NYT JA JATKOSSA

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Software product lines

Software product lines Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product

Lisätiedot

Koulutuksen nimi Koulutuksen kuvaus Tavoite Esitiedot Alkaa Päättyy Viim.ilm.päivä

Koulutuksen nimi Koulutuksen kuvaus Tavoite Esitiedot Alkaa Päättyy Viim.ilm.päivä Tulevat ITIL Service Design (jatkokoulutus) paikka Jyväskylän yliopisto, Agora (Mattilanniemi 2) agb301 tausta ja tavoitteet ITIL on globaalisti hyödynnetty, ITalan parhaista käytännöistä

Lisätiedot

TeliaSonera Identity and Access Management

TeliaSonera Identity and Access Management TeliaSonera Identity and Access Management 22.10.2009 EMC Forum Juha Arjoranta 1 TeliaSonera Identity and Access Management Alustus käyttövaltuushallintaan IAM kokonaisratkaisun elementit Nykytilaa ja

Lisätiedot

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015

Fiksumpi käyttöliittymä kuntaan. Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015 Fiksumpi käyttöliittymä kuntaan Miten kuntien tietojärjestelmät saadaan palvelemaan kuntalaisia? LapIT-päivät 2015 Otso Kivekäs 20.8.2015 Otso Kivekäs+ Codento Kehittämispäällikkö, kunta-alan projektit

Lisätiedot

13 Operaattoreiden ylimäärittelyjä

13 Operaattoreiden ylimäärittelyjä 248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.

Lisätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

Ammattimainen käyttäjä laiteturvallisuuden varmistajana - Käyttäjän edustajan puheenvuoro 28.10.2014. Petri Pommelin kehittämispäällikkö

Ammattimainen käyttäjä laiteturvallisuuden varmistajana - Käyttäjän edustajan puheenvuoro 28.10.2014. Petri Pommelin kehittämispäällikkö Ammattimainen käyttäjä laiteturvallisuuden varmistajana - Käyttäjän edustajan puheenvuoro 28.10.2014 Petri Pommelin kehittämispäällikkö Potilasturvallisuus on IN Potilasturvallisuusstrategian päivitys?

Lisätiedot

Digitaaliset työvälineet päämies-alihankkija -yhteistyössä Case: Sandvik Breakers - Nomet

Digitaaliset työvälineet päämies-alihankkija -yhteistyössä Case: Sandvik Breakers - Nomet Digitaaliset työvälineet päämies-alihankkija -yhteistyössä Case: Sandvik Breakers - Nomet LADEC:n Kohti teollista internetiä -tilaisuus 3.3.2015 Harri Lakkala Harri Lakkala DI, yhteisöllisen bisneskehityksen

Lisätiedot

ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa

ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa ABB Drives and Controls, 26.05.2015 Koneenrakentajan ja laitetoimittajan yhteistoiminta toiminnallisen turvallisuuden varmistamisessa Sisältö 1. Koneenrakentajan haasteita koneiden turvallistamisessa 2.

Lisätiedot

INTEGROIDUT PROJEKTITOTEUTUKSET. IPT-strategiapäivä , Lauri Merikallio, Vison Alliance Partners Oy

INTEGROIDUT PROJEKTITOTEUTUKSET. IPT-strategiapäivä , Lauri Merikallio, Vison Alliance Partners Oy INTEGROIDUT PROJEKTITOTEUTUKSET IPT-strategiapäivä 16.1.2014, Lauri Merikallio, Vison Alliance Partners Oy Arkipäivän pohdintaa epävarmuuksia ja riskejä sisältävien hankkeiden johtamisessa Kuka/ketkä hinnoittelevat

Lisätiedot

AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA

AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA DIMENTEQ OY SALORANKATU 5-7 24240 SALO FINLAND WWW.DIMENTEQ.FI AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA SKOL ja FLIC, 29.10.2015 Teemu Virtanen, Dimenteq Oy DIMENTEQ OY Tietotekniikan palveluyritys,

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Tietokannat II -kurssin harjoitustyö

Tietokannat II -kurssin harjoitustyö Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava

Lisätiedot

toiminnan suunnittelu, johtaminen ja kehittäminen

toiminnan suunnittelu, johtaminen ja kehittäminen Jyväskylä 12.3.2008 Keskustelua vapaaehtoistoiminnasta ja yleishyödyllisyydestä YTT Juha Heikkala Yhdistyksen / järjestön toiminnan suunnittelu, johtaminen ja kehittäminen STRATEGINEN SUUNNITTELU Strategia:

Lisätiedot

Liiketoimintajärjestelmien integrointi

Liiketoimintajärjestelmien integrointi Liiketoimintajärjestelmien integrointi Vierailuluento 2.3.2015 Esa Heikkinen Mystes Oy Agenda Liiketoimintajärjestelmien integrointi EAI: Enterprise Application Integration EAS: Enterprise Application

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Avoin lähdekoodi (Open Source) liiketoiminnassa

Avoin lähdekoodi (Open Source) liiketoiminnassa Avoin lähdekoodi (Open Source) liiketoiminnassa Mikko Amper 12.11.2013 Mitä aloittavan BioICT-yrityksen tulisi tietää IPR:istä, niiden hallinnasta ja patentoinnista? Tässä esityksessä ilmaistut mielipiteet

Lisätiedot

BIM Suunnittelun ja rakentamisen uusiutuvat toimintatavat Teppo Rauhala

BIM Suunnittelun ja rakentamisen uusiutuvat toimintatavat Teppo Rauhala BIM Suunnittelun ja rakentamisen uusiutuvat toimintatavat Teppo Rauhala Proxion 19.10.2015 Proxion BIM historiikkia Kehitystyö lähtenyt rakentamisen tarpeista Työkoneautomaatio alkoi yleistymään 2000 luvulla

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

Lisätiedot

Sudenkuoppia, yllätyksiä, pään vaivaa

Sudenkuoppia, yllätyksiä, pään vaivaa Aika Rahoitus Sudenkuoppia, yllätyksiä, pään vaivaa Odotukset: Tilaaja(t), toteuttaja(t) Osaaminen: Liikaa tietoa/liian vähän tietoa Sopimusasiat (tekijänoikeus, tilauksen toimitussopimus, yhteistyösopimus)

Lisätiedot

Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa

Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa Pienin askelin snadein stepein -väline oman työn kehittämiseen arjessa jatkuvan parantamisen toimintatapa Virpi Mattila ..Työssä tarvitaan monenlaista osaamista.. AMMATILLINEN OSAAMINEN -ammatilliset tiedot

Lisätiedot

xxxxxx0209afi Schneider KNX Kiinteistöautomaation ja ohjausjärjestelmien vakioratkaisut

xxxxxx0209afi Schneider KNX Kiinteistöautomaation ja ohjausjärjestelmien vakioratkaisut xxxxxx0209afi Schneider KNX Kiinteistöautomaation ja ohjausjärjestelmien vakioratkaisut Vakioratkaisut kiinteistöjen toimintojen ohjaukseen Tehokas energianhallinta Schneider KNX -vakioratkaisujen energiatehokkuuden

Lisätiedot

Paketoidut toiminnanohjausratkaisut projektiorganisaatioille. Jan Malmström Mepco Oy

Paketoidut toiminnanohjausratkaisut projektiorganisaatioille. Jan Malmström Mepco Oy Paketoidut toiminnanohjausratkaisut projektiorganisaatioille Jan Malmström Mepco Oy Projektiorganisaatioiden haasteita Investoinnin myyminen johdolle ja johdon sitoutuminen Organisaation totuttujen toimintamallien

Lisätiedot

AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA

AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA AUTOMAATIOTEKNIIKAN KOULUTUSOHJELMA Suomen teollisuuden kilpailukyky perustuu yhä enemmän tietotaitoon. Automaation avulla osaaminen voidaan hyödyntää tehostuvana tuotantona. Automaatiotekniikan koulutusohjelman

Lisätiedot

Projektinhallinnan periaatteita ja hyviä käytänteitä - case Leonardo da Vinci

Projektinhallinnan periaatteita ja hyviä käytänteitä - case Leonardo da Vinci Projektinhallinnan periaatteita ja hyviä käytänteitä - case Leonardo da Vinci Esityksen sisältö: Hankkeen johtaminen ja partneriyhteistyö Seuranta ja raportointi Levitys ja hankkeen vaikuttavuus Hankkeen

Lisätiedot

Järjestelmäintegraatio

Järjestelmäintegraatio VESA AHOLA Järjestelmäintegraatio 14.3.2013 Agenda 1. Minä 2. Integraatio? 3. Esimerkkijärjestelmä 4. Integraatioprojektit Minä Ikä 32 vuotta Kotoisin Parolasta, asun Hämeenlinnassa TTY:llä 2001-2010 Pääaine

Lisätiedot

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,

Lisätiedot

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011 LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011 TEHTÄVÄ Määrittele laatu Mitä riskien hallintaan kuuluu? Jouni Huotari & Esa Salmikangas 2 LAATU JA LAADUNVARMISTUS

Lisätiedot