Ohjelmistotekniikka: Luento 7 Jouni Lappalainen

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistotekniikka: Luento 7 Jouni Lappalainen"

Transkriptio

1 Ohjelmistotekniikka: Luento 7 Jouni Lappalainen Luku 12: Mallipohjainen (pattern-based) suunnittelu suunnittelumallit malliperustainen suunnittelu arkkitehtuurimallit käyttöliittymän suunnittelumallit kehykset Luku 13: Web-sovelluksen suunnittelu laatutekijät suunnittelun tavoitteet käyttöliittymän suunnittelu, graafinen suunnittelu sisällön suunnittelu, arkkitehtuurin suunnittelu ja navigoinnin suunnittelu hypermedia suunnittelumallit ja OOHD menetelmä 1

2 Soveltuvat lait ja pohdiskelun aiheita 1. Suunnittelumallien käyttö johtaa nopeampaan ja parempaan ylläpitoon / hyp_no 4, Gamma

3 Pohdiskelun aiheita Fowler esittelee oheisessa artikkelissa XP-menetelmän tuomia muutoksia suunnitteluprosessiin. Miten esim. YAGNI periaate sopii XP-menetelmään? Miten refaktorointi ja YAGNI sopivat yhteen? Miten suunnittelumalleja (design pattern) tulisi käyttää XP-menetelmän mukaisessa kehittämisessä? Mitä ohjeita Fowler antaa UML kuvausten käyttämiselle XP-menetelmän yhteydessä? Fowler M., Is Design Dead? (http://martinfowler.com/articles/ designdead.html)

4 Pohdiskelun aiheita Hahmottele (voit piirrellä paperille kynällä) UWE navigointikaaviolla (esitelty luennoilla, materiaalia löytyy WebOodin käytön jokin toiminta, esimerkiksi listaus suorituksista. Kuvaa kaikki vaiheet TOL:n pääsivulta lähtien. Olet suunnittelemassa nettikauppa.com nimistä tietotekniikka/viihde-elektroniikkakauppaa webiin. Mieti miten toteutat Olsinan ja Fitzpatrickin laatutekijät sovellukseesi.

5 Suunnittelumallin käsite Cristopher Alexander et al.: A Pattern Language, 1977 Cristopher Alexander: The Timeless Way of Building, 1979 Alkujaan talonrakennuksen arkkitehtuuristen ratkaisujen tueksi. esim. millainen kattoratkaisu varjostaa vähiten talon pohjoispuolen pihaa Määritellään: Jokainen malli määrittelee ongelman, joka esiintyy uudelleen ja uudelleen ympäristössämme ja sitten ydinratkaisun siihen, niin että sitä voidaan voidaan soveltaa miljoonia kertoja tekemättä kuitenkaan koskaan samaa ratkaisua kahdesti.» Alexander 1977 Erityisen hyödyllinen käsite myös ohjelmistotuotannossa 5

6 Suunnittelumallin ominaisuudet Ohjelmistoja koskevat suunnittelumallit julkaistiin jo 1980 luvulla, mutta 1985 julkaistu Design patterns (Gamma et al. 1985) kirja esitteli GoF (Gang of Four) suunnittelumallit Tehokas suunnittelumalli / Coplien 2005 ratkaisee ongelman toimii käytännössä ratkaisu ei ole ilmeinen vaan esitetään epäsuorasti kuvaa järjestelmän syvemmän rakenteen toimii ihmiskomponenttina mallin avulla parannetaan ratkaisun esteettisyyttä ja käytettävyyttä 6

7 Suunnittelumalli (design pattern) Yleinen ratkaisu toistuvasti esiintyvään arkkitehtuuriin/ suunnitteluun liittyvään kontekstisidonnaiseen ongelmaan. Yleinen: ei ole sidottu mihinkään tiettyyn kieleen tai ympäristöön. Kuvataan (puoli)formaalina dokumenttina. Toistuva: ratkaisu yleiseen ongelmaan. Arkkitehtuuri-/suunnittelutaso: voidaan soveltaa arkkitehtuuritasolta yksityiskohtaiseen suunnitteluun. Kontekstisidonnaisuus: konteksti määrittää vaatimuksia. 7

8 Suunnittelumallien hyödyt Tekevät suunnittelutietouden eksplisiittiseksi ja kaikkien saavutettavaksi. Voidaan hyödyntää järjestelmien dokumentoinnissa. Tuovat ohjelmointikieliä paremmin esiin korkeamman tason rakenteita. Voidaan hyödyntää arkkitehtuurin rakennuspalikoina. Luo yhteisen kielen suunnittelijoille. 8

9 Suunnittelumallin kuvaus Nimi: tarkoituksena kuvata sekä ongelma, että sen ratkaisu, sen tulisi olla havainnollinen muodostuu osaksi suunnittelusanastoa. Ongelma: kuvataan tilanne, johon suunnittelumallia sovelletaan Ratkaisu: kuvaa suunnittelumalliin liittyvät elementit, niiden keskinäiset suhteet, vastuut ja yhteistyön kuvataan abstrakti ratkaisu, jota on helpompi soveltaa Seuraukset: suunnittelumallin soveltamisen tulokset (hyödyt) ja mahdolliset kompromissit (haitat) 9

10 Suunnittelumallit (design patterns) Malli esitellään nimen, ongelman, ratkaisun ja seurauksien avulla, mutta voidaan käyttää myös seuraavaa tarkempaa muotoa Name Intent Mitä tekee? Also-known-as Tunnettu myös nimellä Motivation Skenaarioesitys, miten malli ratkaisee ongelman Applicability Milloin mallia voidaan soveltaa? Structure Graafinen esitys mallin luokkarakenteesta Participants Luokkien osallistuminen malliin ja luokkien vastuut Collaborations Miten osallistujat tekevät yhteistyötä? Consequences Miten malli tukee tavoitteiden saavuttamista? Mitä tuloksia saadaan mallin käytöllä? Implementation Mistä vaaroista, ohjeista tai tekniikoista pitäisi tietää mallin käytössä? Sample code Koodiesimerkit kertovat, miten mallin voi toteuttaa Java, C++ kielillä Known uses Esimerkkejä mallin käytöstä in the real life Related patterns Mitkä mallit ovat sidoksissa tähän malliin? 10

11 GoF suunnittelumallien luokittelu Luontimallit: Luontimallit abstrahoivat olioiden luomisprosessia, minkä avulla järjestelmät voidaan suunnitella riippumattomiksi siitä, miten niiden oliot luodaan. Rakennemallit: Rakennemallit huolehtivat olioiden välisistä suhteista ja siitä miten nämä muodostavat isompia kokonaisuuksia. Rakennemalleja käytetään myös suurten ohjelmistojen tehokkuuden ja muistin käytön optimointiin. Käyttäytymismallit: Käyttäytymismallit huolehtivat algoritmeista ja olioiden välisistä vastuuketjuista. Olioiden ja luokkien määrittelyn lisäksi käyttäytymismallit ottavat kantaa niiden väliseen kommunikaatioon. 11

12 GoF suunnittelumallien luokittelu Luontimallit: Tehdasmetodi (Factory Method), Abstrakti tehdas (Abstract Factory), Rakentaja (Builder), Prototyyppi (Prototype), Ainokainen (Singeleton) Rakennemallit: Sovitin (Adapter), Silta (Bridge), Kooste (Composite), Kuorruttaja (Decorator), Julkisivu (Facade), Hiutale (Flyweight), Sijainen/Edustaja (Proxy) Käyttäytymismallit: Tulkki (Interpreter). Operaatiorunko (Template Method), Vastuuketju (Chain of Responsibility), Komento (Command), Iteraattori (Iterator), Välittäjä (Mediator), Muistio (Memento), Tarkkailija (Observer), Tila (State), Strategia (Strategy), Vierailija (Visitor) 12

13 Miten edetään suunnittelumallien käyttöön Shalloway & Trott (2005) esittävät vaiheita 1. pyri ymmärtämään konteksti (big picture), johon ohjelmisto sijoittuu 2. etsi suunnittelumalleja, jotka soveltuvat tälle abstraktiotasolle 3. aloita ohjelmiston rungon suunnittelu, jossa suunnittelumallit ovat mukana 4. mene suunnittelussa tarkemmalle tasolle ja etsi sopivia suunnittelumalleja alemmalla abstraktiotasolla 5. toista askelia 1 4, kunnes suunnittelu on valmis 6. tarkenna suunnitelmaa sovittamalla suunnittelumallit rakennettavaan ohjelmistoon 13

14 Malliperustainen suunnittelu Arkkitehtuurimallit (architectural patterns) kuvataan ohjelmiston perusrakenne ja määritellään koko järjestelmän kattavia ominaisuuksia esimerkkinä Model-View-Controller (MVC) malli Idiomit / koodausmallit kuvaa tunnetun tavan, miten jokin tehtävä suoritetaan valitulla kielellä Mallikieli (pattern language) tunnetaan useita suunnittelumalleja sovellusalueella ja se miten ne toimivat yhdessä sovellusalueen ongelmien ratkaisuissa Antisuunnittelumalli (antipattern) tavoitteena on tunnistaa annetun kuvauksen perusteella jokin ohjelmiston, projektin tai prosessin rakenteessa oleva perustavanlaatuinen ongelma antisuunnittelumalli esittää korjausehdotuksen tai tavan vähentää ongelman kriittisyyttä 14

15 Rakennemallit: Composite (Kooste) mallin yleinen muoto Client Component * anoperation() is polymorphically redefined anoperation() addcomponent() removecomponent() getchild() 1 Leaf anoperation() OtherLeaf anoperation() for all c in componentcollection c.anoperation() Composite componentcollection anoperation() addcomponent() removecomponent() getchild() Collection of Component object identifiers (Bennett et al., 2010)" 15

16 Käyttäytymismallit: Observer (Tarkkailija) Tarkkailija-suunnittelumallissa ajatellaan, että maailma koostuu kahdenlaisista olioista: subjekteista, joita tarkkaillaan, ja tarkkailijoista, jotka tarkkailevat. Kullakin subjektilla voi olla mielivaltaisen monta tarkkailijaa, joiden laatua subjekti ei tunne. Aina, kun subjektin tila muuttuu, se ilmoittaa tästä muutoksesta kaikille tarkkailijoilleen. tarkkailijat reagoivat tähän kukin omalla tavallaan Kun tarkkailija haluaa alkaa tarkkailla tiettyä subjektia, se ilmoittautuu tälle. (Raisamo 2007)" 16

17 Observer (Tarkkailija) suunnittelumalli (Raisamo 2007)" 17

18 Observer (Tarkkailija) suunnittelumalli Esimerkkinä käyttöliittymäarkkitehtuuri: Subjektina on itse sovellus tai sen osa ja tarkkailijana tämän näkymä näytöllä. Kun sovelluksen tila muuttuu, kaikille sen näkymille ilmoitetaan muutoksesta. Elementtien ei tarvitse tuntea toisiaan, vaikka ne riippuvatkin toisistaan. Sovelluksen ei tarvitse tuntea näyttöjen tarkempaa laatua eikä toteutustapaa ainoastaan tarkkailijarajapinta (operaatio), jolla muutoksesta ilmoitetaan. (Raisamo 2007)" 18

19 Observer (Tarkkailija) suunnittelumalli Tämä suunnittelumalli sopii sellaisiin tilanteisiin, joissa toisistaan riippuvat oliot halutaan toteuttaa mahdollisimman riippumattomasti. vaikka subjektin on tunnettava tarkkailijoiden ilmoitusoperaatio (rajapinta), subjekti ei tule riippuvaiseksi tietystä tarkkailijaluokasta. Tarkkailijarajapinta voidaan määritellä kutakin subjektiluokkaa kohden erikseen. Kaikki tarkkailijarajapinnan toteuttavat luokat voivat toimia kyseisen subjektin tarkkailijoina. (Raisamo 2007)" 19

20 Observer (Tarkkailija) suunnittelumallin sekvenssikaavio (Raisamo 2007)" 20

21 Esimerkki: Useita näkymiä, automaattinen päivitys 21

22 Käyttöliittymän suunnittelumallit Käyttöliittymän suunnittelumallit voidaan luokitella malleiksi, jotka tukevat esim. koko käyttöliittymän rakentamista TopLevelNavigation pattern sivun suunnittelua CardStack pattern kyselylomakkeiden käyttö Fill-in-the-Blanks taulukoita SortableTable navigointia EditInPlace» 22

23 Suunnittelumallien vaikutukset ohjelmiston laatuun Khom & Gueheneuc (2008) tutkivat suunnittelumallien, erityisesti mallien Abstract Factory, Composite ja Flyweight, vaikutusta kolmeen laatutekijään, uudelleenkäytettävyyteen, ymmärrettävyyteen ja laajennettavuuteen. Tutkimuksen perusteella ei voida sanoa, että suunnittelumallien käyttö aina parantaa laatua, ainakaan näillä laatutekijöillä mitattuna. Tutkimus perustui kyselyyn, jonka tuloksena saatiin vastaukset 20 kokeneelta ohjelmistosuunnittelijalta. Khom & Gueheneuc, An Empirical Study of Design Patterns and Software Quality,

24 Vaikutus laajennettavuuteen Khom & Gueheneuc, An Empirical Study of Design Patterns and Software Quality,

25 Vaikutus uudelleenkäytettävyyteen Khom & Gueheneuc, An Empirical Study of Design Patterns and Software Quality,

26 Vaikutus ymmärrettävyyteen Khom & Gueheneuc, An Empirical Study of Design Patterns and Software Quality,

27 Kehykset (ohjelmistokehys -> sovelluskehys, komponenttikehys) Ohjelmistokehys on kiinteästi toisiinsa liittyvien luokkien ja/tai rajapintojen kokoelma, joka toteuttaa tietyn ohjelmistoperheen perusarkkitehtuurin Ohjelmistokehystä erikoistamalla saadaan sovellus tai komponentti Tällöin käytetään kehyksestä termiä sovelluskehys tai komponenttikehys Sovelluskehys on ohjelmisto, joka sisältää tietyn tyyppisten sovellusten perusratkaisut esim. graafisten käyttöliittymien toteutusta tukeva luokkakirjasto (Microsoftin MFC ja Sunin AWT & Swing) Komponenttikehyksen esimerkkinä Visual Component Framework GUI pohjaisten C++ sovellusten rakentamiseen Windows, (Mac & Linux on tulossa) alustoilla 27

28 Alustakehitysprosessi (domain engineering) Vaatimusmäärittely Sovellusalueen käsitemalli Muunneltavuusvaatimukset Alustan suunnittelu Tuoterunkoarkkitehtuuri Alustan toteutus Yhteiset vaatimukset Toteutusympäristö Alusta Tuotekehitysprosessi (application engineering) Tuote Tuotekohtainen koodi Vaatimusmäärittely Tuotevaatimukset Tuotteen toteutus Kehystekniikat tarjoavat perustan muunneltavuudelle

29 Luku 13: Web-sovelluksen suunnittelu Web sovellusten luokittelu ja ominaispiirteet RUP ja XP Web sovelluksen kehittämisessä laatutekijät graafinen suunnittelu, sisällön suunnittelu, arkkitehtuurin suunnittelu ja navigoinnin suunnittelu hypermedia suunnittelumallit ja UWE kuvausmenetelmä 29

30 Web-sovelluksen suunnitteluaktiviteetit Käyttöliittymän suunnittelu Graafinen suunnittelu Sisällön suunnittelu Navigoinnin suunnittelu Arkkitehtuurisuunnittelu Komponenttisuunnittelu 30

31 Web-sovellusten luokittelu / Murugesan & Ginige 2005 Toiminnallisuus Tiedottavat Interaktiiviset Transaktiopohjaiset Töiden järjestelyyn suuntautuneet Yhteistyötä tukevat Yhteisöt, markkinapaikat Esimerkkejä Online sanomalehdet, online kirjat, tuoteluettelot, uutiskirjeet Ilmoittautumislomakkeet, räätälöity tiedon esittäminen, pelit Verkkokauppa, verkkopankki, verkossa tapahtuva matkan varaus Verkossa tapahtuva suunnittelu ja aikataulutus, tilan valvonta, toimittajaketjun hallinta Hajautetut kirjoitusjärjestelmät, yhteissuunnittelua tukevat työkalut Keskusteluryhmät, verkkomarkkinat, sähköiset kauppapaikat

32 Web sovelluksen ominaispiirteet Verkosta riippuvuus (verkkointensiivisyys) sovellus elää verkossa ja palvelee hyvin hajanaisen asiakaskunnan tarpeita Samanaikaisuus suuret käyttäjämäärät käyttävät sovellusta samaan aikaan, käyttötavat voivat poiketa paljonkin Ennustamaton kuormitus käyttäjämäärät voivat vaihdella huomattavasti eri päivinä Suorituskyky vasteajan täytyy olla kohtuullinen, jotta käyttäjä on tyytyväinen 32

33 Web sovelluksen ominaispiirteet Palveluaste (availability) vaikka 100 % palveluastetta ei saavuteta, suositun sovelluksen käyttäjät vaativat 24/7/365 palvelua Tietoa käyttäjälle sovelluksen ensisijainen tarkoitus on hypermedian keinoin tarjota tietoa eri esitysmuodoissa Sisällön tärkeys sisällön laatu ja esitystapa tärkeimmät sovelluksen laatutekijät Jatkuva evoluuutio Web sovellukset kehittyvät jatkuvasti, eivät suunnitelluin julkaisuin, kuten perinteiset 33

34 Web sovelluksen ominaispiirteet Välittömyys (kehittämisnopeus) Web sovellusten kehittämisaika muutamia päiviä/viikkoja Varmuus sovelluksen käytön oltava turvallista käyttäjän kannalta Esteettisyys teknisen suunnittelun lisäksi tarvitaan myös ulkonäön suunnittelua 34

35 RUP & XP Web sovelluksen kehittämisessä julkaisu ohjelmiston uusi osa Hyväksymistesti Asiakas käyttää & arvioi Jatkuva integrointi Koodaus Komponenttitesti TDD Koodin yhteisomistus Pienet julkaisut toimitus rakentaminen refaktorointi kommunikointi Asiakkaan läsnäolo mallintaminen Liiketoiminta-analyysi - sovelluksen konteksti - sidosryhmien tunnistus - integrointi muihin järjestelmiin Vaatimusten keräys suunnittelu Projektisuunnitelma Metafora Suunnittelupeli Analyysimalli - sisältö - interaktio - toiminta - konfiguraatio Suunnittelumalli - sisältö - arkkitehtuuri - navigointi - käyttöliittymä - komponentit

36 Web sovelluksen rakentaminen - parhaat käytänteet Käytä aikaa liiketoimintatarpeiden ja tuotetarpeiden ymmärtämiseen, vaikka yksityiskohdat voivat vielä muuttua Kuvaa käyttäjien vuorovaikutus skenaarioilla Tee projektisuunnitelma, vaikka kevytkin Käytä aikaa suunnitteluun, mitä aiot rakentaa Katselmoi mallit niiden yhdenmukaisuuden ja laadun kannalta Käytä sellaisia työkaluja ja teknologiaa, jotka mahdollistavat mahdollisimman laajan uudelleenkäytön Tee riittävän laajat testisuunnitelmat ja testit ja suorita ne ennen julkaisua 36

37 Huonot käytänteet We have a great idea, so let s begin building the WebApp - now ja miten pitäisi tehdä: Käytä muutamia tunteja/päiviä kuvataksesi sovelluksen liiketoimintaa, ja varmista että rahoittajat ja käyttäjät hyväksyvät sen Stuff will change constantly, so there s no point in trying to understand WebApp requirements (never write anything down) ja miten pitäisi tehdä: Vaikka vaatimukset muuttuvat, tiedon keruu sanallisesti on kevyt vaihtoehto ja vähentää turhia muutoksia 37

38 Huonot käytänteet Developers whose dominant experience has been in traditional software development can develop WebApps immediately. No new training is required. ja miten pitäisi tehdä: Web sovellukset vaativat erityisosaamista, johon tarvitaan harjoittelua Be bureaucratic ja miten pitäisi tehdä: Suosi ketteriä prosesseja, jotka hyödyntävät tiimin valmiuksia. Jos metriikkatietoa tarvitaan, toteuta se niin kevyesti kun mahdollista Testing? Why bother? ja miten pitäisi tehdä: Jos loppukäyttäjät joutuvat testaajiksi, he helposti luopuvat sovelluksen käytöstä 38

39 Web-sovellusten vaatimukset ja keinot niiden täyttämiseksi / Murugesan & Ginige 2005 yhtenäinen ulkomuoto ja toimintatapa tiedon yhdenmukaisuus läpi järjestelmän tiedon helppo päivitys ja ylläpito uusien Web sivujen helppo lisäys keskitetty hallinto mekanismit laadun ja tiedon relevanttisuuden valvontaan hakukoneita suosiva rakenne sivujen luonti mallisivujen (template & style) avulla talletetaan tieto vain yhteen paikkaan, josta se haetaan tarvittaessa tiedon muutokset tehdään taustalla olevaan tietovarastoon navigointilinkkien dynaaminen generointi monitasoinen käyttäjien hallinta, joka tarjoaa erityispalveluja tietosisällöstä ja varastosta vastaaville metadatan käyttö Web-sivuille; Webrobottien käyttö keskeisen tiedon keruuseen ja laadun valvontaan meta-tagien käyttö ja hakukoneille rekisteröinti

40 Laatutekijöiden yhteys ei-toiminnallisiin vaatimuksiin Ei-toiminnalliset vaatimukset Tuotevaatimukset Yrityskohtaiset vaatimukset Ulkopuoliset vaatimukset Käytettävyyteen liittyvät Toiminnallisuuteen liittyvät Luotettavuuteen liittyvät Tehokkuuteen liittyvät Ylläpidettävyyteen liittyvät Siirrettävyyteen liittyvät ymmärrettävyys toimivuus analysoitavuus muutettavuus opittavuus viehättävyys vakaus testattavuus

41 Web-sovellusten laatu Kun Web-sovellukset ovat tulleet jokapäiväiseen elämään, niiltä vaaditaan luotettavuutta, suorituskykyä ja turvallisuutta Web-sovellusten laatu arvioidaan (Murugesan & Ginige 2005) skaalautuvuudella luotettavuudella palveluasteella ylläpidettävyydellä käytettävyydellä turvallisuudella (Dustin, Rashka & McDiarmid 2002) toiminnallisuudella turvallisuudella & yksityisyydellä suorituskyvyllä & skaalautuvuudella yhteensopivuudella käytettävyydellä

42 Olsina et al Käytettävyys Sivuston ymmärrettävyys On-line palaute ja opastus Käyttöliittymän laatu Erityispiirteet Toiminnallisuus Hakujen tehokkuus Navigointi- ja selausominaisuudet Sovellusalueen erityisominaisuudet Web-sovelluksen laatu Luotettavuus Linkkien virheetön käsittely Virheistä toipuminen Käyttäjän antaman tiedon validointi Tehokkuus Vasteaika Sivun luonti Grafiikan lataus Ylläpidettävyys Korjauksen helppous Sovitettavuus Laajennettavuus (vain siirrettävyys laatuominaisuus puuttuu ISO/IEC 9126 malliin verrattuna) 42

43 näkyvyys jäljitettävyys haettavuus saatavuus kuinka hyvin sivu löytyy latautumisnopeus sivulle pääsyn helppous ymmärrettävyys luettavuus kuuluvuus käsitettävyys oikea & ajanmukainen uskottavuus viehättävyys erilaistaminen eheys paikkansapitävyys navigoitavuus vuorovaikutteisuus miellyttävyys spesialiteetti identiteetti oikeellisuus käypäisyys käyttäjän onnistuminen pyrkimys paras alallaan tarjotun tuotteen esilletulo Verkkosivujen lisälaatutekijät / Fitzpatrick 2000

44 Graafinen (esteettinen) suunnittelu Layoutin suunnittelun ohjeita älä pelkää tyhjää tilaa korosta sisältöä, siksi käyttäjä on sivulla (80% sisältöä, 20% muuta) järjestä sivun elementit ylä-vasemmalta ala-oikealle, käyttäjät lukevat sivua kuten kirjaa ryhmittele navigointi, sisältö ja toiminta sivulla, ihmiset etsivät malleja älä laajenna esitystäsi vierityspalkeilla, tarvittaessa vähennä asiaa tai käytä useampia sivuja suunnittele layout resoluution ja selaimen ikkunakoon mukaan, käytä esitettäville asioille prosenttiarvoja kiinteän koon sijaan 44

45 Arkkitehtuurin suunnittelu Sisällön arkkitehtuuri miten sisältöä kuvaavat oliot (tai olioiden kokoelma, kuten Web sivu) on rakennettu esitystä ja navigointia varten? lineaarinen rakenne: peräkkäinen, mutta voi sisältää myös vaihtoehtoisia polkuja (kysytään ensin tietoja) ritilä/ristikko (grid): jos sisällöstä voidaan tunnistaa ristikko-/ matriisirakenne (esim. kauppapaikka) hierarkia: yleisin, linkitys puumaisesti ja saman tason välillä verkko: linkitys lähes kaikkien komponenttien välillä Sovelluksen arkkitehtuuri miten tuetaan vuorovaikutusta, navigointia ja sisällön esitystä esim. MVC suunnittelumallia voi käyttää Web-sovelluksen rakentamisessa käyttöliittymän, toiminnan ja tiedon erotteluun 45

46 Navigoinnin suunnittelu Jokainen käyttäjä käyttää sovellusta eri tavalla > navigoinnille erilaisia tarpeita Käyttäjän vuorovaikutus sovelluksen kanssa toteutetaan navigointiyksiköillä (navigation semantic unit, NSU) NSU tehdään jokaiselle käyttötapaukselle NSU kertoo, miten toimija etenee (ways of navigation) NSU koostuu solmuista (navigation node, NN) ja niiden välisistä linkeistä linkki 12 NN 2 linkki 24 NN 1 NN 4 linkki 13 NN 3 linkki 34 46

47 Yhteinen käsitteellinen malli, joka kuvaa sovelluksen logiikan NN 1 linkki 12 NN 2 linkki 24 NN 4 linkki 13 NN 3 linkki 34 NN 2 linkki 24 NN 1 linkki 13 linkki 14 NN 3 linkki 34 NN 4 Web-sovellukset, jotka on toteutettu yhteisen mallin eri näkyminä linkki 23 NN 3 NN 4 linkki 34 Käyttöliittymäoliot esittävät navigointisolmut eri esityslaitteilla Kolmitasoinen suunnitteluarkkitehtuuri / Jacyntho, Schwabe, Rossi 2002

48 NSU:n luonti Käyttötapaus: Valitse SafeHome järjestelmän komponentit Web sovellus suosittelee tuotteen komponentteja (kuten ohjauspaneelit, anturit, kamerat) ja muita tarvikkeita (kuten ohjausohjelmisto) jokaiseen huoneeseen tai tilaan. Jos pyydän vaihtoehtoisia ratkaisuja, Web-sovellus tuottaa ne. Voin myös katsella komponenttien ja niiden koosteen hintatietoja. Web-sovellus tuottaa valitsemilleni komponenteille kokonaislaskun. <<navigointilinkki>> kysy vaihtoehto <<navigointilinkki>> valitse huone Huone <<navigointilinkki>> katso KokonaisLaskua <<navigointilinkki>> suosittele komponentit <<navigointilinkki>> <<navigointilinkki>> paluu huoneeseen hanki TuoteKomponentti TuoteKomponentti <<navigointilinkki>> näytä TuoteKomponentti <<navigointilinkki>> näytä kuvaus KokonaisLasku KompKuvaus <<navigointilinkki>> hanki TuoteKomponentti MarkkinointiKuvaus Kaavio TekninenKuvaus Valokuva Video 48

49 Käsitteellinen kaavio (osa) SafeHomeAssured.com kysytään suositeltavaa komponenttia TuoteKomponentti asiakas valitsee komponentin Huone huonenimi koko ikkunat ovet osanumero osanimi osatyyppi kuvaus hinta luouusiosa() annakuvaus() annateknmäär() Anturi Kamera Säädintaulu Ohjelmisto KokonaisLasku tunniste materiaalilista osienmäärä kokonaishinta lisääalkio() tuhoaalkio() editoialkio() nimi() laskehinta() asiakas jatkaa komponenttien valintaa Tilaus tilausnro asiakasinfo KokonaisLasku lähetysinfo laskutusinfo asiakas pyytää toimituksen OsaLasku määrä osanro osanimi osatyyppi hinta lisäälistaan() tuhoalistasta() 49

50 Hypermedia-suunnittelumallit Web-sovelluksiin räätälöityjä Arkkitehtuurimallit sisällön ja sovelluksen arkkitehtuurin sunnitteluun (esim. Java Blueprints, java.sun.com/blueprints) Komponentin rakentamismallit suositeltuja menetelmiä, miten kooste rakennetaan Navigointimallit avustavat NSU:n ja koko navigointivuon suunnittelussa Esitysmallit avustavat esim. sovelluksen käytettävyyden parantamisessa Käyttäytymis/käyttöliittymämallit kuinka parhaiten esitetään käyttäjälle esim. tietyn toiminnan seuraukset, linkin määränpää,... 50

51 HDM 1995 RMM EORM 1996 OOHDM WebML UWE 2002 WUML 2003 OOH WebSA WebRE NDT HDM = Hypermedia Design Model RMM = Relation Management Method EORM = Enhanced Object Relationship Methodology OOHDM = Object-Oriented Hypermedia Design Method UWE = UML-Based Web Engineering WebML = Web Modeling Language NDT = Navigational Development Techniques WebSA = Web Software Architecure WebRE = Metamodel for Web Requirements = navigointiluokat käytössä Web metodologiat / Escalona & Aragon, IEEE Transactions on SE, 2008

52 UWE = UML-Based Web Engineering

53 navigationclass Hypertekstisolmu, jossa käyttäjä käy selailun aikana navigationlink Hyperlinkki, jonka avulla päästään lähtösolmusta kohdesolmuun 53

54 index Käytetään navigointilinkeille, jos assosiaatiossa kertautuminen > 1 menu Käytetään navigointiluokille, jos lähteviä assosiaatioita > 1 query Käytetään navigointiluokan olion valintaan 54

55 {ishome} Sovelluksen alkusolmu (ei tulevia linkkejä) {islandmark} Solmuun voidaan tulla mistä tahansa solmusta (kaikissa muissa solmuissa on linkki tänne) 55

56

57

58

59 59

60 Soveltuvat lait ja pohdiskelun aiheita 1. Suunnittelumallien käyttö johtaa nopeampaan ja parempaan ylläpitoon / hyp_no 4, Gamma 1995 Jos ylläpito on sidoksissa esim. tekijöihin laajennettavuus ja ymmärrettävyys, sivujen 23 ja 25 tulokset eivät vahvista hypoteesia. 60

61 Pohdiskelun aiheita Fowler esittelee oheisessa artikkelissa XP-menetelmän tuomia muutoksia suunnitteluprosessiin. Miten esim. YAGNI periaate sopii XP-menetelmään? Miten refaktorointi ja YAGNI sopivat yhteen? Miten suunnittelumalleja (design pattern) tulisi käyttää XP-menetelmän mukaisessa kehittämisessä? Mitä ohjeita Fowler antaa UML kuvausten käyttämiselle XP-menetelmän yhteydessä? Fowler M., Is Design Dead? (http://martinfowler.com/articles/ designdead.html)

62 Pohdiskelun aiheita Hahmottele (voit piirrellä paperille kynällä) UWE navigointikaaviolla (esitelty luennoilla, materiaalia löytyy WebOodin käytön jokin toiminta, esimerkiksi listaus suorituksista. Kuvaa kaikki vaiheet TOL:n pääsivulta lähtien. Olet suunnittelemassa nettikauppa.com nimistä tietotekniikka/viihde-elektroniikkakauppaa webiin. Mieti miten toteutat Olsinan ja Fitzpatrickin laatutekijät sovellukseesi.

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/ 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit ja UML Mallikielet Suunnittelumallit

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

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

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

Hirviö. Design Patterns

Hirviö. Design Patterns Hirviö SEPA-päiväkirja Design Patterns Anssi Kalliolahti Liia Sarjakoski 15. maaliskuuta 2005 1 Sisältö 1 Johdanto 3 2 Menetelmän käytäntöön soveltaminen 3 3 Kokemuksia ja muutoksia 3 3.1 PP..........................................

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

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

Ohjelmistotuotanto. Luento 9 23.4.2012

Ohjelmistotuotanto. Luento 9 23.4.2012 Ohjelmistotuotanto Luento 9 23.4.2012 Lisää suunnittelumalleja Olion rikastaminen dekoraattorilla Joskus eteen tulee tarve lisätä olioon jotain ekstraominaisuuksia, pitäen kuitenkin olio sellaisena että

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Seuraavaksi tarjolla: Otekn-asiaa vähän pintaa syvemmältä Virtuaalifunktiot ja erikoistaminen, olioiden kopiointi ja elinaika

Lisätiedot

Ohjelmistokehykset ohjelmistorunkoja uudelleenkäyttö olioperustaisista ohjelmistorunko

Ohjelmistokehykset ohjelmistorunkoja uudelleenkäyttö olioperustaisista ohjelmistorunko Ohjelmistokehykset Määritelmä & tavoitteet, taustaa & peruskäsitteitä, kehykset vs. suunnittelumallit, erikoistamisrajapinnat & kontrollinkulku, kehystyypit, kehysten rakenne ja evoluutio, esimerkki: JHotDraw,

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

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

Sunnittelumallit Harjoitustehtävät syksy 2015 / Simo Silander

Sunnittelumallit Harjoitustehtävät syksy 2015 / Simo Silander Sunnittelumallit Harjoitustehtävät syksy 2015 / Simo Silander Ohjelmointitehtävät koodataan pääsääntöisesti Javalla. Netistä löytyviä vapaasti käytettäviä ratkaisuja voi esittää, kunhan ne osaa selittää.

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

ITK130 Ohjelmistojen luonne

ITK130 Ohjelmistojen luonne ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys

Lisätiedot

Ohjelmistoarkkitehtuuri

Ohjelmistoarkkitehtuuri Ohjelmistoarkkitehtuurien ylläpito Arkkitehtuurityylejä ja laatuvaatimuksia Arkkitehtuurin uudistaminen Arkkitehtuurin uudistamisen malleja Arkkitehtuurin arviointi TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuuri

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

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat

Mitä käytettävyys on? Käytettävyys verkko-opetuksessa. Miksi käytettävyys on tärkeää? Mitä käytettävyys on? Nielsen: käytettävyysheuristiikat Mitä käytettävyys on? Käytettävyys verkko-opetuksessa 21.8.2002 Jussi Mantere Learnability (opittavuus) Efficiency (tehokkuus) Memorability (muistettavuus) Errors prevented (virheiden tekeminen estetty)

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

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

Lisätiedot

Suunnittelumallien käyttö ohjelmistosuunnittelussa

Suunnittelumallien käyttö ohjelmistosuunnittelussa Suunnittelumallien käyttö ohjelmistosuunnittelussa Mika Rantakeisu Rovaniemen ammattikorkeakoulu Avoin ammattikorkeakoulu mika.rantakeisu@edu.ramk.fi Tiivistelmä Tämä on selvitys suunnittelumallien käytöstä

Lisätiedot

www.solita.fi solita@solita.fi

www.solita.fi solita@solita.fi www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen

Lisätiedot

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen

Lisätiedot

HELIA 1 (17) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu 2.11.2000

HELIA 1 (17) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu 2.11.2000 HELIA 1 (17) Luento 6 Tyyliopas... 2 Käytön tuki... 2 Suunnittelun ja toteutuksen tuki... 3 Ohjeiden hierarkia... 4 Viralliset standardit... 4 Käytännön standardit... 4 Yrityskohtaiset standardit... 4

Lisätiedot

Ketterä vaatimustenhallinta

Ketterä vaatimustenhallinta Ketterä vaatimustenhallinta ja miksi se on useimmiten hyvä asia K A R I A L HO C E O I M P R OV EIT OY Sisältö ImproveIt Oy Perinteinen vaatimushallinta Ketterä vaatimustenhallinta Monenlaista softakehitystä

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

Tapahtuipa Testaajalle...

Tapahtuipa Testaajalle... Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman

Lisätiedot

sfrm software for requirements management

sfrm software for requirements management sfrm software for requirements management Jorma Sajaniemi Joensuun yliopisto, Tietojenkäsittelytieteen laitos Jorma.Sajaniemi@Joensuu.Fi 8.4.2002 Yleistä sfrm on vaatimusmäärittelyn (VM) laadintaan ja

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,

Lisätiedot

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita. Arkkitehtuuriin vaikuttavat ympäristötekijät Jo kehittämisen alkuvaiheessa on tarpeellista hahmotella arkkitehtuurin perusratkaisu. Lähtökohdat

Lisätiedot

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9. Käytettävyyslaatumallin rakentaminen web-sivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.2005 Kirjoittajan ABC-kortti

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

3. Käsiteanalyysi ja käsitekaavio

3. Käsiteanalyysi ja käsitekaavio 3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

Viestinvälitysarkkitehtuurit

Viestinvälitysarkkitehtuurit Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti hajautettuja Komponenttien palveluja ei tiedetä tarkasti etukäteen Komponentteja ja

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Syksy 2008 Ohjelmistoarkkitehtuurit Syksy 2008 Kai Koskimies 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto, Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto, Vaasan yliopisto, Tampereen teknillinen

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Arkkitehtuuri- ja suunnittelumalli

T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Arkkitehtuuri- ja suunnittelumalli T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Arkkitehtuuri- ja suunnittelumalli Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi

Lisätiedot

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015 Testausautomaation mahdollisuudet käyttöliittymän testauksessa Anssi Pekkarinen 5.11.2015 Agenda Kustannustehokkaan testausautomaation tekemiseen vaikuttavat tekijät Käyttöliittymätestauksen haasteet Uudet

Lisätiedot

Kansallinen digitaalinen kirjasto Käyttöliittymä Finna. 12.12.2012 Aki Lassila / Kehittämispäällikkö / Kirjastoverkkopalvelut

Kansallinen digitaalinen kirjasto Käyttöliittymä Finna. 12.12.2012 Aki Lassila / Kehittämispäällikkö / Kirjastoverkkopalvelut Kansallinen digitaalinen kirjasto Käyttöliittymä Finna 12.12.2012 Aki Lassila / Kehittämispäällikkö / Kirjastoverkkopalvelut Finna tehostaa ja mahdollistaa Finnan kehittämisen myötä KDK:sta tulee: Tiedon

Lisätiedot

ohjelman arkkitehtuurista.

ohjelman arkkitehtuurista. 1 Legacy-järjestelmällä tarkoitetaan (mahdollisesti) vanhaa, olemassa olevaa ja käyttökelpoista ohjelmistoa, joka on toteutettu käyttäen vanhoja menetelmiä ja/tai ohjelmointikieliä, joiden tuntemus yrityksessä

Lisätiedot

Lomalista-sovelluksen määrittely

Lomalista-sovelluksen määrittely Thomas Gustafsson, Henrik Heikkilä Lomalista-sovelluksen määrittely Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikka Dokumentti 14.10.2013 Tiivistelmä Tekijä(t) Otsikko Sivumäärä Aika Thomas

Lisätiedot

Suunnittelumallien käyttö ja web-navimallit

Suunnittelumallien käyttö ja web-navimallit Käyttöliittymät II Luento 7 Suunnittelumallien käyttö ja web-navimallit Harjoitus 1: Asuntohaku-sovellus Harjoitus 2: Groups and Items Esimerkkejä muista kälisuunnittelumalleista Web-navigoinnin suunnittelumallit

Lisätiedot

Studio ART Oy. Yritysesittely. Studio ART Oy. Kasöörintie 14 90420 Oulu p. 040-5799073 www.studioart.fi

Studio ART Oy. Yritysesittely. Studio ART Oy. Kasöörintie 14 90420 Oulu p. 040-5799073 www.studioart.fi Studio ART Oy Yritysesittely Studio ART Oy Kasöörintie 14 90420 Oulu p. 040-5799073 www.studioart.fi Pekka Klemetti Managing Director pekka.klemetti@studioart.fi Studio ART Oy Toimiala ICT Avainsana Tuotekehitys,

Lisätiedot

Kurssin hallinta -työväline

Kurssin hallinta -työväline Kurssin hallinta -työväline Kurssin hallinta -työvälineellä muokataan kursseja A&Ooppimisympäristöalustalla Kurssi koostuu - ohjelmasta (linkit työkaluihin& muihin resursseihin), - materiaaleista, - keskusteluryhmästä,

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

9. Muunneltavuuden hallinta

9. Muunneltavuuden hallinta 9. Muunneltavuuden hallinta Muunneltavuuden hallinta (Variability management): Tekniikat ja työtavat, jotka auttavat kuvaamaan, toteuttamaan ja hyödyntämään tuoterungon mahdollistamaa ohjelmistotuotteiden

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten

Lisätiedot

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta 7. Koneenohjausjärjestelmien suunnittelumallit OhAr 5.10. 2010 Veli-Pekka Eloranta Sulautettujen järjestelmien mallikieli Sulake-projekti, 2008-2009 Arkkitehtuuriarviointeja (ATAM) teollisuuskumppanien

Lisätiedot

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen

Lisätiedot

Ohjelmistojen mallintaminen. Matti Luukkainen

Ohjelmistojen mallintaminen. Matti Luukkainen Ohjelmistojen mallintaminen Matti Luukkainen Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään,

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

Standardi IEC Ohjelmisto

Standardi IEC Ohjelmisto Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Miksi tarvitsemme verkkokirjoittamisen taitoa?

Miksi tarvitsemme verkkokirjoittamisen taitoa? Verkkokirjoittaminen Luento Miksi tarvitsemme verkkokirjoittamisen taitoa? Mitä on verkkokirjoittaminen? Ennen: internet-sivujen tekeminen Nyt: blogit, wikit, sähköpostit Sosiaalisen median aikakautena

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

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA Tarjouspyyntö Liite 5.3: Järjestelmän ylläpidettävyden arviointi 1 / 5 VERSIOHISTORIA Päivä Versio Kuvaus Tekijä 22.4.15 3.01 Poistettu kotihoito

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu HAAGA HELIA/IltaTiko ICT2TD005: Ohjelmisto suunnittelutaito 1 VisualStudio Pikaopas, osa 1: WEB sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web sivujen suunnittelu ja toteutusominaisuuksia.

Lisätiedot

Kertaus: yleistys-erikoistus ja perintä

Kertaus: yleistys-erikoistus ja perintä Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan

Lisätiedot

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland

Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Suorituskyvyn varmistaminen sovelluskehityksen eri vaiheissa Paavo Häkkinen, Presales Teamleader Compuware Finland Epäonnistuminen ei ole vaikeaa Approximately 40% of mission-critical mainframe projects

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus

Lisätiedot

Opintopolun esteettömyyshaasteet

Opintopolun esteettömyyshaasteet Opintopolun esteettömyyshaasteet Saavutettava tieto- ja viestintäympäristö suosituksen julkaisuseminaari 31.3.2014 Verkkopäätoimittaja Satu Meriluoto, OPH Palvelun visio Kaikki tieto koulutuksesta kaiken

Lisätiedot

MIIKKA VUORINEN, SANTERI TUOMINEN, TONI KAUPPINEN MAT-81100 Verkkopalvelun laadukkuus ja arviointi

MIIKKA VUORINEN, SANTERI TUOMINEN, TONI KAUPPINEN MAT-81100 Verkkopalvelun laadukkuus ja arviointi AMPPARIT.COM VERKKOPALVELUN ARVIOINTISUUNNITELMA RYHMÄ VUTUKA MIIKKA VUORINEN, SANTERI TUOMINEN, TONI KAUPPINEN MAT-81100 Verkkopalvelun laadukkuus ja arviointi II SISÄLLYS 1 Arvioitava verkkopalvelu 3

Lisätiedot

Veto-visualisointityökalu

Veto-visualisointityökalu Ohjelmoinnin suunnittelumallit (design patterns) käyttöliittymissä Vanhin ja keskeisin lähde Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns. Addison-Wesley, USA, 1994. Ajatus ohjelmoinnin

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

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen. Luento 2, pe 5.11. Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan

Lisätiedot

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen Tietojärjestelmä tuotantoympäristössä Tausta ja tavoitteet Tausta Kurssilla on opiskeltu suunnittelemaan ja toteuttamaan tietokanta, joka on pieni perustuu selkeisiin vaatimuksiin on (yleensä) yhden samanaikaisen

Lisätiedot

Microsoft Visual Studio 2005

Microsoft Visual Studio 2005 Microsoft Visual Studio 2005 on integroitu kehitysympäristö (Integrated Development Environment) eli (IDE). Kehitysympäristöön kuuluvat seuraavat keskeiset sovelluskehitysvälineet: Ohjelmointikielet C#.NET

Lisätiedot

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k

Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa k 1 Web-palvelu voidaan ajatella jaettavaksi kahteen erilliseen kokonaisuuteen: itse palvelun toiminnallisuuden toteuttava osa ja osa, joka mahdollistaa ko. toiminnallisuuden hyödyntämisen Web-palveluna.

Lisätiedot

KERROSARKKITEHTUURIN SUUNNITTELUMALLIT. Kuisma Lehtonen. 15.8.2006 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma

KERROSARKKITEHTUURIN SUUNNITTELUMALLIT. Kuisma Lehtonen. 15.8.2006 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma KERROSARKKITEHTUURIN SUUNNITTELUMALLIT Kuisma Lehtonen 15.8.2006 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Suunnittelumallit ovat yleisiä ratkaisuja tiettyihin oliopohjaisiin

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

Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit

Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit Samuel Lahtinen http://www.cs.tut.fi/~ohar/ Ohjelmistoarkkitehtuurit 2016 1 Yleistä Visio ja UML 2.x: http://www.softwarestencils.com/uml/ Komponenteista

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (6) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla: a) käytettävyys b) käyttäjäkeskeinen suunnittelu c) luonnollinen kieli

Lisätiedot

Semanttisen webin käyttöliittymäratkaisut. Tiedonhallinta semanttisessa webissä Osma Suominen

Semanttisen webin käyttöliittymäratkaisut. Tiedonhallinta semanttisessa webissä Osma Suominen Semanttisen webin käyttöliittymäratkaisut Tiedonhallinta semanttisessa webissä Osma Suominen 21.11.2005 Käyttäjän näkökulma semanttinen web ei yleisty, ennen kuin sille on kysyntää ja käyttöä semanttisen

Lisätiedot

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä Ohjelmistoarkkitehtuurit Kevät 2016 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 13.1.2016 1 Tervetuloa Tampereen teknillinen yliopisto, Oulun yliopisto, Turun yliopisto 13.1.2016 2 Tiedonvälitys

Lisätiedot

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistoprojektien hallinta Vaihejakomallit Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli

Lisätiedot

Tekninen suunnitelma - StatbeatMOBILE

Tekninen suunnitelma - StatbeatMOBILE Tekninen suunnitelma - StatbeatMOBILE Versio Päivämäärä Henkilö Kuvaus 1.0 13.12.2013 Pöyry Alustava rakenne ja sisältö 1.1 22.12.2013 Pöyry Lisätty tekstiä ilmoituksiin, turvallisuuteen ja sisäiseen API:in

Lisätiedot

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3

ADE Oy Hämeen valtatie 144 20540 TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus: 1626957-3 Tuotekonfigurointi ADE Oy lyhyesti Asiakkaiden tarpeisiin suunnattua innovatiivista ja toimivaa ohjelmisto- ja 3d animaatiopalvelua. Ade Oy on toteuttanut vuodesta 2000 alkaen haastavaa interaktiivista

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

206 Verkkosivun tuottaminen finaalitehtävät

206 Verkkosivun tuottaminen finaalitehtävät TAITAJA2013 Finaalitehtävä 1 (6) 206 Verkkosivun tuottaminen finaalitehtävät YLEISTÄ -lajin finaalitehtävissä kilpailijat päivittävät ennakkoon julkaistuna finaalitehtävänä olleen Ekoripe tmi luontoyrittäjän

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Kotisivu. Hakutoiminnon on oltava hyvin esillä lähes kaikilla kotisivuilla. Hakutoiminto on hyvä sijoittaa heti kotisivun yläosaan.

Kotisivu. Hakutoiminnon on oltava hyvin esillä lähes kaikilla kotisivuilla. Hakutoiminto on hyvä sijoittaa heti kotisivun yläosaan. Kotisivu Kotisivu on sivuston pääsivu Ensi kertaa sivustolle saapuvan käyttäjän pitäisi pystyä päättelemään sivuston tarkoitus kotisivun nähtyään. Usein lähtökohtana sivuston hierarkinen pääjaottelu, mutta

Lisätiedot

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu

VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu HAAGA-HELIA ammattikorkeakoulu ict2td005 Ohjelmiston suunnittelutaito Sivu 1 / 5 VisualStudio Pikaopas, osa 1: WEB-sivujen suunnittelu Tämä pikaopas opastaa käyttämään VisualStudion web-sivujen suunnitteluominaisuuksia.

Lisätiedot