TIE Ohjelmistojen suunnittelu
|
|
- Hanna Kahma
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 TIE Ohjelmistojen suunnittelu Luento 6: suunnittelua Samuel Lahtinen TIE Samuel Lahtinen 1
2 Ajankohtaista Harjoitustyö Protosessioita tällä viikolla
3 Ohjelmassa tänään Ohjelmistojen suunnittelujuttuja Hitunen UML-asioita
4 Ohjelmistojen suunnittelusta Mitkä asiat vaikuttavat ohjelmistojen suunnitteluun? Tekijät, osaaminen Toteutusympäristö Valittu ekosysteemi Avoimen lähdekoodin käyttö/avoimen lähdekoodin tuottaminen Työkalut, Kieli/paradigma Aikataulut, kulttuuri, taustat, koulutus, henkilökohtaiset mieltymykset jne.
5 Korkean tason suunnittelu Mikälainen korkeamman tason rakenne ohjelmalle tulee? Tehdäänkö jonkun olemassaolevan ympäristön päälle, käyttöjärjestelmät jne. Laitteistoläheisyys yms. minkälaisia abstraktioita käytetään? Tulevatko valmiina vai pitääkö toteuttaa MVC/jne., kerroksittainen rakenne, viestien lähettelyä jne. valinta ohjaa varsinaista ohjelman jatkosuunnittelua Usein suunnittelu tehdään useassa vaiheessa, korkean tason rakenne ja siihen liittyvät päätökset ja varsinainen toteutusläheisempi suunnittelu, rajapintojen suunnittelu, lopulta toteuttaminen Eri vaiheet tuottavat eri tason kuvauksia järjestelmästä ja eri tason dokumentaatiota
6 Yleistä suunnittelusta Dokumentoi myös miksi joku tekniikka, lähestymistapa jne. on valittu! Miksi käytetään vaikkapa tiettyä versiota, tiettyä tietokantaa, jossain on jonkinlainen tarkkailijaratkaisu jne.
7 Oliosuunnittelu Oliosuunnittelu, olio-pohjainen lähestymistapa Olio-ohjelmointi ja olio-jotain sanoina poissa muodista, eivät tihku tällä hetkellä erotiikkaa sun muuta Ei kuitenkaan kuollut ja kuopattu, vaan osa hyvää ohjelmistojen toteutuksen perustaa Hyvä väline abstraktioiden toteuttamisessa
8 Oliosuunnittelu Tavoitteena löytää oliot ja niiden vastuualueet, mitä joku olio tekee, tarjoaa muille olioille, mitä yhteyksiä sillä on muualle? Suunnitteluvaiheessa tarkat tietotyypit jne. eivät ole olennaisia
9 Mallintaminen olioilla TIE Samuel Lahtinen
10 Oliosuunnittelun vaiheita 1. Tunnistetaan/löydetään järjestelmän komponentit Substantiivien etsiminen (tarjoaa lähtökohdan) Määrittelystä Järjestelmän aihepiiristä 2. Määrittellään komponenttien vastuut (~verbit abstraktissa spesifikaatiossa) 3. Määritellään komponenttien väliset riippuvuudet, vastuiden kautta (mitä tarvitaan, että voidaan tarjota vastuiden mukainen toiminta) 4. Määritellään komponenttien todelliset rajapinnat toteutus, testaus
11 Luokkakaavioista Dependency/riippuvuus: heikoin suhde (esim. A käyttää B:tä jossakin jäsenfunktiossaan) Kooste(aggregation): Esimerkiksi joukkue koostuu pelaajista (tietty minimi- ja maksimimäärä, pelaaja voi vaihtaa joukkueesta toiseen. Muodoste (composition): rakennus-kerros, jäsenoliot (esim. henkilö ja syntymäaika) Koosteet, muodosteet, assosiaatiot voivat olla yksisuuntaisia tai kaksisuuntaisia.
12 Assosiaatiot ja nuolet 12
13 Lukumääräsuhteet Assosiaatiolla, koosteilla, muodostumisilla lukumääräsuhteet Kiinteä lukumääräsuhde kertoo vakiona pysyvästä suhteesta (esim. shakkilaudan ruudut, pelaajien määrä shakissa) Vaihtelevat lukumääräsuhteet, vaihteluväli esim. joukkueella pitää olla pelaajaa. Pelaaja voi olla joko ilman joukkuetta tai kuulua yhteen joukkueeseen. Assosiaatioilla voi olla nimi Assosiaation päähän voi liittyä roolinimi
14 Mitä vikaa esimerkkikuvassa? TIE Samuel Lahtinen
15 tapahtumasekvenssikaaviot TIE Samuel Lahtinen
16 Esimerkki: Tehtävänänne on suunnitella alla kuvattu seikkailupeli käyttäen oliosuunnittelun jaloja periaatteita. Alla firmanne pomon yksityiskohtainen kuvaus pelin rakenteesta: Peli ois niinku seikkailupeli, jossa näkyis yläviistosta ku dynaaminen duo Batman ja Robin menee Kotham-sitissä. Ne niinku menis siellä kaupungissa taloihin joissa olisi sitten erilaisia huoneita ja käytäviä. Pelissä vois valita ohjaako Robinia vai Pätmäniä. Niillä sankareilla vois olla kaikkee siistiä lepakkokamaa: ajoneuvoja kuten lepakkoauto ja varusteita kuten lepakkokalsarit ja lepakkobumerangi. Sitten ois tietysti pahiksia kuten Jokeri, Hjallis ja niitten kätyrit. Pahiksillakin vois olla aseita. Aseilla voi joko kumauttaa tai tai sit tehdä pitkän matkan hyökkäyksiä. Otuksilla ja sankareilla olis näkökenttä, jonka sisällä ne reagois asioihin/jonka sisällä olevat jutut näkyis ruudulla. Batman ja Robin, Dynaaminen duo Pahiksia
17 Varsinainen tehtävä Kepap-keisari Pelin tavoitteena on rakentaa menestyvä pikaruokaimperiumi, joka nousee kaupungin kauneimmaksi ja komeimmaksi pitsa-kebab-ravintolaksi. Peliä voi pelata joko yksinpelinä, tekoälypelaajaa vastaan kisaten tai toista ihmispelaajaa vastaan. Pelimaailmana toimii kaupunkisimulaatio. Virtuaalisen kaupungin erilaisia rakennuksia ja paikkoja kansoittavat autenttisesti käyttäytyvät virtuaali-ihmiset. Kebab-ravintolat kisaavat hinnan ja tunnettavuuden avulla asiakkaista. Tunnettavuusarvo koskee koko ravintolaketjua, eli saman pelaajan kaikkia ravintoloita. Tätä voi kasvataa erilaisten markkinointitempausten avulla. Pelaaja voi ostaa uusia ravintoloita, hankkia raaka-aineita ravintolan tuottoksiin, palkata työntekijöitä, kiertää veroja, mainostaa eri tavoin yms. Erilaisia ruutuja: ravintolat, puistot, kaupat, asuinrakennukset jne. Niissä erilaista toiminnallisuutta sen mukaan onko asukas ruudussa, poistumassa siitä tai tulossa ruutuun. (Esimerkki: Asukkaat: erilaisia asukkaita, jotka tekevät pyrkivät tekemään eri asioita. (duunareita, bilettäjiä, verotarkastajia, terveystarkastajia, koodareita jne.) Esim. duunari, pyrkii tekemään käymään viikot töissä, lounaalla parhaassa työpaikan läheltä löytyvässä ruokapaikassa ja viikonloppuna anniskeluravintolassa ja sen jälkeen kebabilla. Suunnittele pelin korkean tason rakenne ja mieti, miten toteuttaisit erilaisten ruutujen, asukkaiden jne. toiminnan.
18 Ohjeistus Hae ensin järjestelmän oliot Mieti tämän jälkeen olioille vastuualueita Karsi pois olioista ne, joille ei tule varsinaista toiminnallisuutta, jätä ne abstraktioiksi (ovat myös hyödyllisiä) Tarviiko kyseinen oli jotain muita olioita toiminnoissan/vastuissaan? Jos tarvii, dokumentoi vaaditut yhteydet & miksi. Jos tarvittavaa palvelua ei ole, lisää sellainen tai luo tarvittaessa uusia olioitakin. Konkretisointi
19 Yhteenveto Opittiin keinoja suunnittelun alkuvaiheeseen TIE Samuel Lahtinen 19
TIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 5: suunnittelua Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Protosessioita tämän viikon lopulla, ensi viikolla & sitä seuraavalla Jotain
LisätiedotTIE-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ätiedotYhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas
LisätiedotMuutamia 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ätiedotJohdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet
..999 DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili asiakas 0..0 Omistaja->..3
LisätiedotJohdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili 0..0 Omistaja->..3 asiakas
LisätiedotUudelleenkä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ätiedotSUBSTANTIIVIT 1/6. juttu. joukkue. vaali. kaupunki. syy. alku. kokous. asukas. tapaus. kysymys. lapsi. kauppa. pankki. miljoona. keskiviikko.
SUBSTANTIIVIT 1/6 juttu joukkue vaali kaupunki syy alku kokous asukas tapaus kysymys lapsi kauppa pankki miljoona keskiviikko käsi loppu pelaaja voitto pääministeri päivä tutkimus äiti kirja SUBSTANTIIVIT
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotUML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN
UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN SISÄLLYS 3. Luokkakaavio UML -mallinnuskielessä 3.1 Luokkakaavion luokan rakenteet 3.2 Luokan kuvauksesta C++ ohjelmakoodiksi 3.3 Luokkakaavion luokkien yhteystyypit
LisätiedotOhjelmistojen mallintaminen luokkamallin lisäpiirteitä
582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
Lisätiedot3. 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ätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 0: Kurssin esittely TIE-20200 Samuel Lahtinen 1 Mitäs tänään on tarjolla? Käytännön juttuja: Mistä tietoa löytyy Kurssin henkilökunta Kurssin rakenne Käytännönjärjestelyt
LisätiedotLiite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
Lisätiedot19/20: Ikkuna olio-ohjelmoinnin maailmaan
Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
LisätiedotAnalyysi, 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ätiedotAnalyysi, 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ätiedotTIE 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ätiedotOhjelmistojen mallintaminen, kertausta
582104 Ohjelmistojen mallintaminen, kertausta 1 Kertausluennon asiat Kysymyksiä? Kurssin keskeisin asiasisältö Koetehtävät tehtävätyypit esimerkkitehtäviä ja -ratkaisuja ja vielä kysymyksiä? 2 Kysymyksiä
LisätiedotSuunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
LisätiedotOhjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia
Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia Tehtävä 1 Tehtävässä 1 mallinnettiin Monopolipeliä. Alla olevassa esimerkissä peliin liittyy aina 2 noppaa, peliä pelataan pelilaudalla,
Lisätiedot13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
LisätiedotOHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki
OHJ-2710 Peliohjelmointi Syksy 2012 Timo Kellomäki timo.kellomaki@tut.fi Käytännön juttuja Kurssihenkilökunta koostuu Timo Kellomäestä Luennot torstaisin salissa TB223 klo 12-14 2. viikko harkkatyöinfo,
LisätiedotVisual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotPelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!
Pelivaihtoehtoja Yksinkertaisin vaihtoehto: lfapetia voi pelata monella eri tavalla. Yksinkertaisimmassa vaihtoehdossa käytetään ainoastaan kirjainlaattoja. Pelilaudan miinusruudut ovat tavallisia ruutuja,
LisätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 0: Kurssin esittely TIE-20200 Samuel Lahtinen 1 Mitäs tänään on tarjolla? Käytännön juttuja: Mistä tietoa löytyy Kurssin henkilökunta Kurssin rakenne Käytännönjärjestelyt
LisätiedotOhjelmistoarkkitehtuurit 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ätiedotProPilkki 2. yhteistyössä tapahtumassa Virtuaalinen pilkkiviikko 19.03.2012 25.03.2012. järjestäjänä Suomen Vapaa-ajankalastajien Keskusjärjestö ry
ProPilkki 2 yhteistyössä tapahtumassa Virtuaalinen pilkkiviikko 19.03.2012 25.03.2012 järjestäjänä Suomen Vapaa-ajankalastajien Keskusjärjestö ry 1) Asennus 2) Pelin käynnistys 3) Pelaaminen 4) Verkkopelin
LisätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotTIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut
TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymistä, viimeksi unohtui Työohje julkaistu! Elinaikajuttujen loppurutistusta, viipaloitumisasiaa Prototyypeistä
LisätiedotKahoot - kyselytyökalu
Kahoot - kyselytyökalu Kahoot on pelimäinen työkalu kyselyiden, keskusteluiden ja tiedon kartoitukseen. Se on täysin ilmainen ja sitä voivat käyttää niin opettajat kuin opiskelijatkin. Kyselyitä on tarkoitus
LisätiedotTIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut
TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymisjutuista, ilmoittautumiskäytäntöä, Popista Työohjeen esivilkaisu Viime viikolla, erikoistamista, dynaamista
LisätiedotYlläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
LisätiedotOhjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
LisätiedotTIE-20200 Ohjelmistojen suunnittelu. Luento 8..9: moniperintä
TIE-20200 Ohjelmistojen suunnittelu Luento 8..9: moniperintä 1 Ajankohtaista Harjoitustyön suunnittelusessiot pidetty, työt jatkuvat, välivaiheen esittely seuraavana Viimeinen viikkoharjoituskerta, palataan
LisätiedotTenttikysymykset. + 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ätiedotHelia 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ätiedotOsoitin ja viittaus C++:ssa
Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja
LisätiedotTämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
LisätiedotOhjelmistotuotanto 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ätiedotEeNet käyttäjähallinta ohjeet
EeNet käyttäjähallinta ohjeet Käyttäjähallinnassa lisätään EeNettiin joukkueita, käyttäjiä ja testipaikkoja. Käyttäjähallinnan toiminnot ovat: 1. Joukkueiden lisääminen (joukkueet) 2. Valmentajien yms.
LisätiedotBoard Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi
Board Game Lab 7 Pelimekaniikat ja -systeemit Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mekaniikat ja niiden tehtävät 2. Miten valitsen tai suunnittelen mekaniikkoja? 3. Pelimekaniikat ja -systeemit
LisätiedotKurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?
Kurssin sisältö Johdatus ohjelmistotekniikkaan 2 0 0 8 Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan? Mitä työkaluja ohjelmistoja kehitettäessä käytetään ja miten? Historiaa
LisätiedotTietopaketti ja ohjeistus joukkueelle sekä vanhemmille (2002-2003-syntyneet)
Tietopaketti ja ohjeistus joukkueelle sekä vanhemmille (2002-2003-syntyneet) 31.5.2010 Yleistä Tämä tietopaketti ja ohjeistus on luotu selventämään joukkueen sisäisiä toimintatapoja sekä parantamaan informointia
LisätiedotYksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }
Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.
LisätiedotKooste kotitehtävien vastauksista. Kotitehtävä 6 - Ylläpito- ja kehittämismalli 29.4.2011
Kooste kotitehtävien vastauksista Kotitehtävä 6 - Ylläpito- ja kehittämismalli 29.4.2011 1.) Järjestelmän ylläpitomalli? ja 2.) Järjestelmän jatkokehittämismalli? OPH on omistaja ja ylläpitäjä ja huolehtii
LisätiedotOhjelmistotekniikan menetelmät, kesä 2008
582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
LisätiedotSuvi Remes Miika Alonen Petri Mustajoki Totti Tuhkanen
Suvi Remes Miika Alonen Petri Mustajoki Totti Tuhkanen So far Toimeksianto: Opiskelun ja opetuksen tuen ja hallinnon viitearkkitehtuuri Tietoarkkitehtuurin osuuteen liittyen Synergiaryhmä 4.12.2014 linjannut,
LisätiedotAntitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009
Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö
LisätiedotNollasummapelit ja bayesilaiset pelit
Nollasummapelit ja bayesilaiset pelit Kristian Ovaska HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Seminaari: Peliteoria Helsinki 18. syyskuuta 2006 Sisältö 1 Johdanto 1 2 Nollasummapelit 1 2.1
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin
812347A Olio-ohjelmointi, 2015 syksy 2. vsk II Johdanto olio-ohjelmointiin Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden esittely 2 II.1 Abstraktiosta
LisätiedotC++-harjoitustyön raportti: Musta maija
C++-harjoitustyön raportti: Musta maija Eino Malinen (67203) metmal@utu.fi Tietojenkäsittelytieteet Turun yliopisto Palautus: 22.1.2007 Osallistunut kursille: syksy 2006 Sisällysluettelo Kuvaus ongelman
LisätiedotTarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen
Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit
LisätiedotYlläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
LisätiedotValmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).
Laske kymmeneen Tavoite: Oppilaat osaavat laskea yhdestä kymmeneen ja kymmenestä yhteen. Osallistujamäärä: Vähintään 10 oppilasta kartioita, joissa on numerot yhdestä kymmeneen. (Käytä 0-numeroidun kartion
LisätiedotPELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE
PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE SISÄLLYSLUETTELO 1. YLEISTÄ 3 2. ENNEN OTTELUN ALKUA Kirjautuminen 3 3. TILASTOINTI Aloitusnäkymä ja kokoonpanot 4 Pelaajien vaihtaminen 6 Maali 7 Rangaistukset 8 Poista
LisätiedotLuokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)
4 Luokkamalli Rakenteet mittojen mukaan. Mitat rakenteen mukaan. Tämän osan sisältö Luokkakaavio luokkakaavion elementti attribuutit operaatiot määreet Olioiden väliset suhteet kytkös kooste yleistys rajapinta
LisätiedotPätevyyttä haettava oikeustulkkirekisterilautakunnalta. Edellytyksenä (lakiesityksestä lainaus):
Oikeustulkkirekisterin karkea speksi: Rekisteriin merkittävät tiedot: tulkin nimi henkilötunnus osoite Osoitetietojen lisäksi oikeustulkkirekisteriin voidaan tulkin pyynnöstä merkitä sähköpostiosoite,
LisätiedotKuvio 1 Tasapaino (Equilibrium) on suljettujen ja avointen tietorakenteiden dynaaminen suhde
Kuvio 1 Tasapaino (Equilibrium) on suljettujen ja avointen tietorakenteiden dynaaminen suhde Suljetut skeemat eivät muutu prosessin kuluessa Tasapaino Avoimet skeemat voivat muuttua prosessin kuluessa
LisätiedotTURVALLISUUDEN HUOMIOMINEN OHJELMISTON HANKINTAKETJUSSA
TURVALLISUUDEN HUOMIOMINEN OHJELMISTON HANKINTAKETJUSSA Turvallinen ohjelmistokehitys seminaari 30.9.2008 1 Turvallisuusvaatimukset ohjelmiston hankinnassa Tehtävä/toiminta liittyvä toiminnot/prosessit
LisätiedotTestaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:
Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,
Lisätiedotopiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.
25.1.2010 Palaverin kysymyksien selvittelymuistio Mitä ominaisuuksia halutaan? Sopivat ajat sprinttien jälkeisiin demoihin/palavereihin. - mitkä ajat sopivat? Pekka : pe 12-16 Tommi : pe 8-16 Onko ohjelmointikielen
LisätiedotOhjelmistojen mallintaminen, kurssikoe esimerkkivastauksia
Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.
LisätiedotOpiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.
1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ohjelmiston prototyypin toteuttaminen 30 osp Tavoitteet: Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston
LisätiedotOhjelmistojen mallintaminen, kesä 2010
582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
LisätiedotSudenkuoppia, 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ätiedotUML ja luokkien väliset suhteet
UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi
LisätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
LisätiedotOhjelmistojen mallintaminen. Luento 4, 12.11.
Ohjelmistojen mallintaminen Luento 4, 12.11. Kertausta: Olioperustainen ohjelmistokehitys Lähdemme siis oletuksesta, että kehitettävän järjestelmän voidaan ajatella koostuvan oliosta Tehdään koko ohjelmistokehitys
LisätiedotHarjoitussuunnitelma viikko 17 Kärkipotku I
Harjoitussuunnitelma viikko 17 Kärkipotku I = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerran
LisätiedotSeniori-taulusto Kuvat Avainsanat
Seniori-taulusto Kuvat Avainsanat Seniori-taulusto on suunniteltu aikuisten sähköiseksi kommunikoinnin apuvälineeksi. Taulusto toimii ChatAble suomi -kommunikointisovelluksella. Evantia360 kommunikoinnin
LisätiedotKertaus: 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ätiedotBanana Split -peli. Toinen kierros Hyvin todennäköisesti ryhmien yhteenlaskettu rahasumma on suurempi kuin 30 senttiä. Ryhmien
Banana Split -peli Tavoite Esitellä banaanin tuotantoketju (mitä banaanille tapahtuu ennen kuin se on kuluttajalla) ja keskustella kuka saa mitä banaanin hinnasta. Kuinka peliä pelataan Jaa ryhmä viiteen
LisätiedotHarjoitussuunnitelma viikko 18 Kärkipotku II
Harjoitussuunnitelma viikko 18 Kärkipotku II = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerralla
LisätiedotOhjelmistojen mallintaminen, mallinnustekniikat käytännössä
582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä
Lisätiedot17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
LisätiedotBoard Game Lab. 4 Teema. Materiaalit CC-BY 4.0 Mikko Lampi
Board Game Lab 4 Teema Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mikä on teema? 2. Teeman suunnittelu ja kehittäminen Työskentelyä Keskustelua Teeman suunnittelua Mikä on teema? Peli = mekaniikka
LisätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3 Antti Jääskeläinen Matti Vuori Rakenne ja aikataulu Kolme vaihetta: 1. Tutkivan järjestelmätestauksen suunnittelu 2. Tutkivan järjestelmätestauksen
LisätiedotTIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 12: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Sisältöä Kansainvälistäminen/lokalisointi Mitä asioita voi liittyä kansainvälistämiseen/lokalisointiin?
LisätiedotTIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan
LisätiedotADE 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ätiedotOhjelmien automaattisen verifioinnin reunamailla
Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, antti.siirtola@aalto.fi Suomalainen Tiedeakatemia, Nuorten akatemiaklubi,
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotÄlysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi
Älysopimusten kehittäminen Sopimus suuntautunut ohjelmointi There are currently 5,000 blockchain developers. By 2020, we project a global need for over 500,000 - ConsenSys Älysopimus alustat q Ethereum
LisätiedotOnnistut yrittämässäsi, mutta jokin täysin epäolennainen. vikaan.
KYLLÄ, JA Onnistut yrittämässäsi ja saavutat enemmän kuin odotit, enemmän kuin kukaan osasi odottaa. KYLLÄ, MUTTA Onnistut yrittämässäsi, mutta jokin täysin epäolennainen asia menee vikaan. EI, MUTTA Et
LisätiedotAnalyysi, 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ätiedotALHAMBRA. Muuri Seralji Puutarha Holvikäytävä Paviljonki Asuinrakennus Torni Rakennuksen nimi Hinta
ALHAMBRA Parhaat rakennusmestarit kaikkialta Euroopasta ja Arabiasta haluavat näyttää taitonsa. Palkkaa sopivimmat työjoukot ja varmista, että sinulla on aina tarpeeksi oikeaa valuuttaa. Sillä kaikkia
LisätiedotKurssin aihepiiri: ohjelmistotuotannon alkeita
Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista
LisätiedotTietopaketti ja ohjeistus joukkueelle sekä vanhemmille (2002-2003-syntyneiden lajiryhmä)
Tietopaketti ja ohjeistus joukkueelle sekä vanhemmille (2002-2003-syntyneiden lajiryhmä) 1.6.2009 1. Yleistä Tämä tietopaketti ja ohjeistus on luotu selventämään joukkueen sisäisiä toimintatapoja sekä
LisätiedotKehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy
Kehitysohje ETL-työkalu Versio Pvm Tekijä Kuvaus 0.1 15.1.2005 Timo Sallinen Ensimmäinen versio 0.2 26.1.2005 Timo Sallinen Täydenetty pohjaa 0.3 06.02.2005 Mika Suvanto Pieniä täydennyksiä ja oikolukua
LisätiedotKansallinen 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ätiedotLiigan taulut ja attribuutit
HARJOITUS 3. Tehtävä 1. Laadi harjoitusmielessä kaksi käsitekaaviota, (juniori. Nappula tms.)liiga ja äänitearkisto. Levyarkisto: Tietokannassa tulee olla perustiedot äänitteistä (CD, vinyyli, kasetti),
LisätiedotRajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
LisätiedotTällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.
MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.
Lisätiedot815338A 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ätiedotTietotekniikan koulutusohjelman suuntautumisvaihtoehdot
Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot 1. vuosi Perusopinnot 2. vuosi 3. vuosi ELEKTRONIIKAN SUUNNITTELU JA TESTAUS MOBIILI TIETOLIIKENNE OHJELMISTOJEN KEHITYS 4. vuosi Ohjelmistojen kehitys
LisätiedotSisällysluettelo ESIPUHE... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6 1. JOHDANTO TILASTOLLISEEN PÄÄTTELYYN... 8 2. TODENNÄKÖISYYS...
Sisällysluettelo ESIPUHE... 4 ALKUSANAT E-KIRJA VERSIOON... 5 SISÄLLYSLUETTELO... 6 1. JOHDANTO TILASTOLLISEEN PÄÄTTELYYN... 8 1.1 INDUKTIO JA DEDUKTIO... 9 1.2 SYYT JA VAIKUTUKSET... 11 TEHTÄVIÄ... 13
Lisätiedot