Johdatus ohjelmistotuotantoon

Samankaltaiset tiedostot
Johdatus ohjelmistotuotantoon

OHJ-3010 Ohjelmistotuotannon perusteet

Johdatus ohjelmistotuotantoon

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Johdantoluento. Ohjelmien ylläpito

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2010

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

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

Oleelliset vaikeudet OT:ssa 1/2

Ohjelmistoarkkitehtuurit. Syksy 2008

Software engineering

Ohjelmistotekniikan menetelmät, kesä 2008

Sulautetut järjestelmät

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

OHJ-4301 Sulautettu Ohjelmointi

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Ohjelmistotekniikan menetelmät, kevät 2008

Työkalut ohjelmistokehityksen tukena

Kurssin käytännön järjestelyt. Tuotantotalous 1 Joel Kauppi

A&O:n käyttöohje. 1. Rekisteröityminen ja kurssille ilmoittautuminen. 2. Sisäänkirjautuminen. (Lisää löydät osoitteesta:

käyttötapaukset mod. testaus

TeleWell TW-LTE/4G/3G USB -modeemi Cat 4 150/50 Mbps

Integrointi. Ohjelmistotekniikka kevät 2003

Ylläpitodokumentti Mooan

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Tik Ohjelmistoprojektien Hallinta

Linked Events. Helsingin tapahtumarajapinta. Aleksi Salonen

TIE Johdatus ohjelmistotuotantoon

Tietokoneverkot. T Tietokoneverkot (4 op) viimeistä kertaa CSE-C2400 Tietokoneverkot (5 op) ensimmäistä kertaa

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Projektityö

A4.1 Projektityö, 5 ov.

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

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

TIE Johdatus ohjelmistotuotantoon

Tietojärjestelmän osat

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

T Harjoitustyöluento

PLA Mobiiliohjelmointi. Mika Saari

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

IIO30100 Tietokantojen suunnittelu (6 op)

Paketoidut toiminnanohjausratkaisut projektiorganisaatioille. Jan Malmström Mepco Oy

Ohjelmointi II. Erkki Pesonen Luennot ja harjoitukset. Itä-Suomen yliopisto Tietojenkäsittelytieteen laitos 2015

ITK130 Ohjelmistojen luonne

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

TIETOTEKNIIKKA Koodi Vanha opintojakso op ov Vastuuhenkilö LV vastaavat opinnot tai korvaava suoritustapa TTE.

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

PLA Mobiiliohjelmointi. Mika Saari

Kertausluento JOTU-2014 / K.Systä

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

Kertausluento JOTU-2013 / K.Systä

TIE Ohjelmistojen suunnittelu. Luento 2: protot sun muut

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

Graafisen käyttöliittymän ohjelmointi Syksy 2013

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework

T Tietojenkäsittelyopin ohjelmatyö Hirviöryhmä loppukatselmointi. Hirviö. Projektikatselmointi

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Algoritmit 1. Luento 4 Ke Timo Männikkö

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

Kurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos

Tik Harjoitustyö

IIZT4020 Projektitoiminta

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

Tulevaisuuden päätelaitteet

T harjoitustehtävät, syksy 2011

Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

4. Lausekielinen ohjelmointi 4.1

T harjoitustyö, kevät 2012

Esimerkkejä vaativuusluokista

Avoimen ja yhteisen rajapinnan hallintamalli

Käyttäjälähtöisyys keskiössä onnistuneessa projektissa CASE: JUST- Järvenpään Uusi Sosiaali- ja Terveyskeskus Jari Toivo, KOy Järvenpään Terveystalo

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

TIES460 OPPIMATERIAALITUOTANTO,

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

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

Näkökulmia monimuoto-opetukseen

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

OHJ Johdatus ohjelmistotuotantoon

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Transkriptio:

Johdatus ohjelmistotuotantoon Luento 2, 31.08.2015 31.08.2015 TTY TIE-02300/Kari Systä 1

Luennon sisältö Käytännön järjestelyistä ja kurssin ohjelmasta Lyhyt kertaus viime viikon sisällöstä Erilaisista ohjelmistoista ja niiden ominaisuuksista Vaatimusmäärittelyistä 31.08.2015 TTY TIE-02300/Kari Systä 2

Käytännön järjestelyistä Ilmoittautumistilanne tänään kello 10. Canvas-kutsu lähetetty 303:lle Sen jälkeen ROCK:ssa perunut 6 (2%) Kutsu hyväksymättä 44-6 = 38 opiskelijalla (13%) Harjoitustyöryhmiin ilmoittautumatta 62 (20%) Harjoitustyöryhmissä 197 (65%) Ilmoittautukaa tänään! Ensimmäiset viikkoharjoitukset tällä viikolla 31.08.2015 TTY TIE-02300/Kari Systä 3

Harjoitustyöstä Harjoitustyö tehdään 4 hengen ryhmissä. Jokaisella ryhmällä on vertaisryhmä. Jokainen harjoitusryhmä toimii asiakkaina toiselle harjoitustyöryhmälle ja laatii omat asiakasvaatimuksensa annetun kehyskertomuksen perusteella. Toisen ryhmän tekemien asiakasvaatimusten perusteella luodaan toiminnallinen määrittelydokumentti. Jokainen ryhmä toimii sekä asiakkaan että toimittajan roolissa. Vastinpariryhmillä on molemmilla erilaiset kehyskertomukset. Kehyskertomukset toimitetaan ryhmille myöhemmin. Kysyttävää? Harjoitustyön pääohjaajana toimii Marko Leppänen (marko.leppanen@tut.fi). 31.08.2015 TTY TIE-02300/Kari Systä 4

Arvostelu Harjoitustyöstä saa maksimissaan 6 pistettä. Pisteitä saa seuraavasti: Hyvänä asiakkaana toimiminen 0-1 pistettä Neuvottelutilaisuus 0-1 pistettä Toiminnallinen määrittely: 0-4 pistettä välipalautuksineen Bumerangi vähentää loppupisteitä kahdella. Aikataulu: syksy 2015 ma 31.8. klo 17:00: Ryhmien oltava muodostettuna Canvaksessa ti 1.9. klo 23.59: Henkilökunta täydentänyt vajaat ryhmät ja tehneet ryhmien parituksen 31.08.2015 TTY TIE-02300/Kari Systä 5

Viikkoharjoitusten hyvityspisteet https://mooc.tut.fi/courses/12/pages/viikkoharjoitukset Läsnäolokertoja Pisteitä <5 0 5 1 6 2 7 3 8 4 9 5 10 tai enemmän 6 Viikkoharjoituksia (ainakin 129 kappaletta 31.08.2015 TTY TIE-02300/Kari Systä 6

Luennon sisältö Käytännön järjestelyistä ja kurssin ohjelmasta Lyhyt kertaus viime viikon sisällöstä Erilaisista ohjelmistoista ja niiden ominaisuuksista Vaatimusmäärittelyistä 31.08.2015 TTY TIE-02300/Kari Systä 7

Ohjelmistotuotanto = Ohjelmointia Laadunvarmistusta Dokumentointia Käyttöönottoa Määrittelyä Projektinhallintaa Myyntiä Määrittely = Ohjelman ominaisuuksien keksimistä/löytämistä ja niistä päättämistä 31.08.2015 TTY TIE-02300/Kari Systä 8

Mitä on ohjelmistotuotanto? Vaatimusmäärittelyä Asiakas Taitavaa ohjelmointia Elinkaarimallit Yhteispeliä, yhteistä peliä Algoritmit Tietorakenteet Ohjelmointikielet Arkkitehtuurit Laadunvarmistusta Projektinhallinta Kehittäjä Testaus Validointi 31.08.2015 TTY TIE-02300/Kari Systä 9

Miksi ohjelmien tekeminen on niin vaikeaa? Ohjelmisto on abstrakti Tekijöiden ja asiakkaiden välillä ei välttämättä ole sama käsitys Työmäärän arviointi on vaikeaa Ohjelmisto on dynaaminen On muutettavissa muutettavuutta oletetaan Ohjelmistojen tekemistä on vaikea skaalata Tekijöiden määrän lisääminen nopeuttaa vain vähän valmistumista Mitä enemmän tekijöitä, sen enemmän kommunikointitarvetta. 31.08.2015 TTY TIE-02300/Kari Systä 10

Toinen näkemys vaikeuteen Ohjelma on monimutkainen Monia tapoja ratkaista ongelma (kaikkia niitä myös käytetään) Paljon komponentteja ja niiden riippuvuuksia Muutosten seurauksia ei osata arvata Ohjelma on osa kokonaisuutta Ihmiset ja yhteisöt käyttäjiä ja toteuttajia Uusi ohjelmisto usein osa isompaa muutosta Ohjelma on abstrakti ja näkymätön 31.08.2015 TTY TIE-02300/Kari Systä 11

Luennon sisältö Käytännön järjestelyistä ja kurssin ohjelmasta Lyhyt kertaus viime viikon sisällöstä Erilaisista ohjelmistoista ja niiden ominaisuuksista Vaatimusmäärittelyistä 31.08.2015 TTY TIE-02300/Kari Systä 12

Pohdinta: Montako tietokonetta teillä on? Neljä läppäriä (4) Kolme muuta tietokonetta (7) Kotiserver ja Raspberry (9) Kaksi TV:tä (11) Kaksi digiboxia (13) CD/DVD soitin (14) Printteri (15) Skanneri (16) 5 kännykkää (21) Autossa ainakin kaksi (23) Audiovahvistin (digit) (24) Kaukosäätimiä (ainakin 3) (27) Pelikonsoli (28) Pesukone (29) Kiuas (30) 31.08.2015 TTY TIE-02300/Kari Systä 13

Ohjelmistotyyppejä(1) Tietokoneiden varus- ja työkaluohjelmistot Kännyköiden ja tablettien appsit Organisaatioiden tietojärjestelmät Systeemiohjelmat (käyttöjärjestelmät, työkalut, ) Internetpalvelut 14 31.08.2015 TTY TIE-02300/Kari Systä

Ohjelmistotyyppejä(1) TTY Android POP Canvas Mail MS Word Windows 31.08.2015 TTY TIE-02300/Kari Systä 15

Monimutkaisuua, tiedon määrä käsittelypainotteinen vs. tietopainotteinen Ominaisuuksia (1) TTY POP Canvas Mail MS Word Android Windows Käytettävyys Tuvallisuus ja luotettavuus 31.08.2015 TTY TIE-02300/Kari Systä 16

Ohjelmistotyyppejä (2) Laiteohjain TTY POP Selain Tietoliikenne protokolla Käyttöjärjestelmä Radioprotokolla 31.08.2015 TTY TIE-02300/Kari Systä 17

Ominaisuuksia (2) TTY POP Laiteohjain Sulautettu Radioprotokolla Reaaliaikainen Luotettava Hajautettu 31.08.2015 TTY TIE-02300/Kari Systä 18

Ohjelmistotyyppejä (3) Sulautetut järjestelmät Koneen tai laiteen sisällä hissin ohjausjärjestelmä Reaaliaikajärjestelmät Ohjelman on reagoitava heti polttoaineen ja jarrujen säätely autossa Reaktiiviset järjestelmät toimivat jatkuvasti Puhelinkeskus Hissin ohjauslogiikka Melkein kaikki laitteet tänä päivänä? 19 31.08.2015 TTY TIE-02300/Kari Systä

TTY TIE-02300/Kari Systä 20 NMT-puhelin 20 kloc GSM-keskus 15MLOC äly-puhelin 20MLOC? televisio 200 kloc (yksinkertainen)hissi 50 kloc moderni auto? avaruussukkula 21 MLOC (sukkulassa 0,5MLOC) säätoventtiilin ohjaus 25kLOC työkoneen ohjaus 250kLOC Sulautetut järjestelmät Työn tuottavuus? LOC Lines of Code, koodiriviä 20

Esimerkki 1: Pieni sulautettu järjestelmä (venttiili) Teknisiä haasteita - luotettavuus - nopeus (reaaliaika) - säätöalgoritmi - muisti, prosessori, virta Toteutuksen haasteita - kehitystyökalut - testaaminen TTY TIE-02300/Kari Systä 21

Esimerkki Apollo 11 (Lähde: Wikipedia, creative commons lisenssi) Apollo Guidance Computer (AGC) oli tietokone, jota käytettiin Apolloohjelman avaruusaluksissa. Tietokone hoiti aluksen ohjaukseen ja navigointiin liittyviä tehtäviä. AGC oli ensimmäinen moderni sulautettu tietokonejärjestelmä. AGC:n suunnitteli 1960-luvun alussa MIT:s Instrumentation Laboratory, ja varsinaiset laitteet valmisti Raytheon. Kaikilla Kuussa käyneillä Apollo-lennoilla (paitsi Apollo 8:ssa, jossa ei ollut kuumodulia), komento- ja kuumoduulissa oli omat AGC-tietokoneet. AGC käytti integroituja piirejä. RAM-muisti oli ferriittirengastyyppinen ja ROM-muisti rope-core-tyyppinen. RAM-muistia oli 2 kilosanaa, ja ROM-muistia 36 kilosanaa; sanan pituus oli 16 bittiä. Kellokide värähteli 2,048 MHz taajuudella, joka jaettiin tai skaalattiin tarpeen mukaan eri käyttötarkoituksiin; pääasiallinen sisäinen kellotaajuus oli 1,024 MHz. Tarkempaa tietoa: https://en.wikipedia.org/wiki/apollo_guidance_computer 31.08.2015 TTY TIE-02300/Kari Systä 22

Apollon ohjelmistosta AGC:n käyttöliittymänä toimi DSKY (display and keyboard, näyttö ja näppäimistö), jossa oli numero- ja merkkivalonäyttö, sekä komento- ja numeronäppäimistö. AGC:lle annettiin komentoja "verbin" (V) ja "substantiivin" (N) yhdistelminä, jotka ilmaistiin kahden numeron yhdistelminä. Verbi ilmaisi komennon, ja substantiivi komennon lisämääreen. ROM-muistiin tallennettu yksinkertainen käyttöjärjestelmä kykeni ajamaan kahdeksaa prosessia yhtä aikaa. Ajettavat ohjelmat pystyttiin priorisoimaan. Ja koodi oli langoitettu Margaret Hamilton 31.08.2015 TTY TIE-02300/Kari Systä 23

Se varsinainen softa (https://www.netjeff.com/humor/item.cgi?file=apollocomputer) Allan Klumpp, his friend Don Eyles, and about 300 others wrote their programs in the first high-order computer language, called MAC (MIT Algebraic Compiler), then compiled it BY HAND into assembly language, which they typed onto punched cards (there were no terminals or text editors). [Incidentally, the Shuttle's software is written in a language called HAL/S, named after Hal Lanning, the author of MAC. HAL/S is an improved version of MAC.] For debugging, the programmers at MIT had an IBM 360 model 175 mainframe computer that acted as a simulator of the LM. Allan and his colleagues would test their software in this simulator, which interfaced with their software just as the real LM, with its associated dynamics, would. The IBM 360 produced printed output as well as plots of the trajectories of the simulated landings. 31.08.2015 TTY TIE-02300/Kari Systä 24

Esimerkki: Internet-palvelu Mainospalvelin HTML generointi Sovellus Pankki Sosiaalinen media Varasto Tietokanta TTY TIE-02300/Kari Systä 31.08.2015 25

Ohjelmistojen ominaisuuksia Ohjelmistojen koko Yleisin, mutta aika huono, mittari on koodirivien määrä Reaaliaikaisuus Hajautus ja sulautus Käyttöliittymä, käytettävyys, käyttökokemus Luotettavuus Turvallisuus Millaiset vahingot mahdollisia a) ohjelmistovirheen b) väärän käytön vuoksi Tehokkuus, resurssien kulutus Prosessori, muisti, energia, tietoliikenne Skaalautuvuus Avoimuus, muunneltavuus 31.08.2015 TTY TIE-02300/Kari Systä 26

TTY TIE-02300/Kari Systä 27 Ohjelmistotekniikka on geneeristä 27

Taas uutisista http://yle.fi/uutiset/montako_tietojarjestelmaa_tyopaikallasi_on trafissa_niit a_on_170/7252898 Lainauksia: Suurinta ärsytystä aiheuttaa, jos järjestelmät eivät keskustele keskenään ja tietoa joudutaan siirtämään käsin järjestelmästä toiseen. Esimerkiksi tuntikirjausjärjestelmässä toisesta saa minuutteina 30 minuuttia ja toiseen pitää syöttää se tunteina eli 0,5 tuntia. Liikenteen turvallisuusvirasto Trafia on vaikea voittaa tietojärjestelmien määrässä. Kaikkiaan niitä on 170. Esimerkiksi kehittämispäällikkö Pipsa Eklundilla on päivittäin käytössään kymmeniä tietojärjestelmiä. Osaa näistä käytetään niin harvoin, että tarkkaa määrää hän ei edes tiedä. Ehkä ongelma on siitä, että meillä ei vielä koneelle kirjauduttaessa pääse kaikkiin järjestelmiin, vaan ne kysyvät vielä omia salasanoja 31.08.2015 TTY TIE-02300/Kari Systä 28

Tarve/idea Esiselvitys unohdetaan Tehdään itse Teetetään Ostetaan Vaatimusmäärittelyt Toimittajan valinta Räätälöidään Suunnittelu Toteutus Testaus Käyttöönotto Ylläpito Poisto 31.08.2015 TTY TIE-02300/Kari Systä 29

Ohjelmiston rakentaminen projektina Asiakas - toimittaja Tarvitaan yhteisymmärrys siitä mitä halutaan Mitä se maksaa Koska se on valmis Asiakas ymmärrettävä laajasti Sisäinen Varsinaisen asiakkaan edustaja (esim. markkinointi) Asiakkaalle projekti on usein osa isompaa kokonaisuutta (hanketta) Ohjelmiston lisäksi laite, liiketoimintamuutos, Elinkaari: esiselvitys, määrittely, toteutus, testaus, käyttöönotto, ylläpito, käytöstä poisto Tämä kurssi on suunniteltu (myös) tuleville asiakkaille 30 31.08.2015 TTY TIE-02300/Kari Systä

Kännyfirma Eri tapoja organisoida kehitys Ohjelmistofirma Tekee itse oman käyttöliittymänsä Tekee laiteajurit omaan rautaansa Sovittaa kolmannen osapuolen tekemän käyttöjärjestelmän omiin tarpeisiinsa Omien resurssien puutteessa vuokraa ohjelmistofirman ihmisiä auttamaan varusohjelmien tekemisessä Ostaa avaimet käteen projektina henkilöstöhallinnon järjestelmän Ohjelmistotuotteiden myynti Räätälöityjen projektien myynti Ohjelmistotyön myynti 31.08.2015 TTY TIE-02300/Kari Systä 31

Muita haasteita Tuote vs asiakaskohtainen Sopivuus asiakkaan tarpeisiin Kehittämisen ja ylläpidon kustannukset Dilemma. Kummalla rikastut: teet kerran ja myyt miljoona kopiota vai tekemällä monta projektia? Eri toimintatavat Hajautettu kehitys Resurssit ja asiantuntemus voivat olla hajallaan Kustannusten vuoksi halutaan siirtää työtä halvan kustannuksen maihin. Monessa yrityksessä edustus asiakkaan luona, loput esim. Intiassa 32 31.08.2015 TTY TIE-02300/Kari Systä

CASE RITU http://www.tekniikkatalous.fi/tekniikka/ict/2014-01-07/ritu-osoittautui- petturiksi---tiedon-kehitt%c3%a4m%c3%a4- j%c3%a4rjestelm%c3%a4-aiheuttaa- p%c3%a4%c3%a4ns%c3%a4rky%c3%a4-tuomioistuimille- 3254499.html http://www.tivi.fi/uutiset/2014-03-09/it-hanke-ep%c3%a4onnistuit%c3%a4ysin---tiedolla-oli-sis%c3%a4isi%c3%a4-haasteita-jakommunikaatio-ongelma-3208580.html 31.08.2015 TTY TIE-02300/Kari Systä 33

Konsultin arvio Alkuvaiheessa virhe oli se, että tuomioistuinten johtoa ja samalla tulevia käyttäjiä ei saatu mukaan valmisteluun. Tämä johti siihen, etteivät määrittelyt vastanneet todellisia tarpeita, HPMG arvioi. 31.08.2015 TTY TIE-02300/Kari Systä 34

CASE IDLE 31.08.2015 TTY TIE-02300/Kari Systä 35

IDLE Mielenkiintoinen esimerkki tämän kurssin kannalta Alunperin rakennettu tietokantakurssien opetuksen apuvälineeksi IDLE:een on vuosien varrella rakennettu paljon toimintoja (lista perustuu käyttöohjeeseen) Sisäänkirjautuminen ja integrointi TUT:n identiteetin hallintaan Kielen vaihtaminen (suomi, englanti, ranska) Kurssille ilmoittautuminen Harjoitusryhmiin ilmoittautuminen Harjoitustöiden tekeminen ja palauttaminen Luokka-toiminto harjoituksissa tapahtuvaa toimintoa varten Harjoitustyöryhmän muodostaminen Välinäyttöajan varaaminen Ohjelma on siis syntynyt käytännön tarpeista 31.08.2015 TTY TIE-02300/Kari Systä 36

IDLE on kotikutoinen järjestelmä Tehty itse ja räätälöity omiin tarpeisiin Nimenomaan oman laitoksen Toisin kuin monet kotikutoiset toteutus on ammattimainen Silloin kun järjestelmä rakennettiin kilpailevia vaihtoehtoja ei ollut Nyt meillä on POP/ROCK, MOODLE ja CANVAS (http://fi.wikipedia.org/wiki/moodle, https://mooc.tut.fi/) MOODLE:n räätälöintiä tehdään kaupallisena palveluna POP/ROCK työkalun käyttämiselle ei ole vaihtoehtoa koska laitoksemme on osa yliopistoa 31.08.2015 TTY TIE-02300/Kari Systä 37

MOODLE vai IDLE Ominaisuudet Osaaminen Raha/resurssit MOODLE Opiskelijat tottuneet muiden laitosten kursseilla Laitoksen ei tarvitse investoida. (Kustannukset jaetaan laajemmin) Siirtyminen edellyttää henkilökunnalta opettelua ja kurssijärjestelyiden uudistamista IDLE Sovitettu meidän laitoksen tarpeisiin Laitoksen henkilökunta osaa IDLE:n käytön Vaatii osapäiväisen ylläpitäjän. 31.08.2015 TTY TIE-02300/Kari Systä 38

MOODLE vai CANVAS Ominaisuudet Osaaminen Käyttöliittymä Muuta MOODLE Opiskelijat tottuneet muiden laitosten kursseilla MOODLE-II ok (mm. mobiilikäyttö) CANVAS Mahdollistaa kurssin kotisivun luomisen Voi käyttää myös ilman kirjautumista Kurssin henkilökunta osaa CANVAS-kalun käytön Jatkokurssi käyttää myös Modernimpi ilme kuin MOODLE-I; mobiilikäyttö Käyttöä mietitään TTY:llä laajemminkin. 31.08.2015 TTY TIE-02300/Kari Systä 39

Luennon sisältö Käytännön järjestelyistä ja kurssin ohjelmasta Lyhyt kertaus viime viikon sisällöstä Erilaisista ohjelmistoista ja niiden ominaisuuksista Vaatimusmäärittelyistä 31.08.2015 TTY TIE-02300/Kari Systä 40

KOHTI VAATIMUSMÄÄRITTELYITÄ 31.08.2015 TTY TIE-02300/Kari Systä 41

Spekulointia TTY:n tarpeista Opettajien työajan koordinointi Opiskelijoiden lukujärjestyksen koordinointi Tenttien koordinointi Opetustilojen tilavaraukset KELA/Opintotuki Tiedotus Opetusohjelmat Opintokokonaisuudet Opintorekisterit Webbisivut Kurssit Luennot Harjoitukset h.työt Tentit TTY TIE-02300/Kari Systä 31.08.2015 42

Asiakasvaatimuksista tuotteeseen asiakasvaatimukset Määrittely Suunnittelu& toteutus ohjelmistovaatimukset 31.08.2015 TTY TIE-02300/Kari Systä 43

Erilaisia vaatimuksia - esimerkki Asiakasvaatimus tyypillisesti asiakkaan ongelma, jolle toivotaan ratkaisua: tuotetaan mahdollisimman virheettömiä dokumentteja. Ominaisuus, feature jokin asiakkaan kannalta mielekäs kokonaisuus ohjelmiston toiminnallisuudesta: tuki oikeinkirjoituksen tarkastamiselle. Ohjelman toiminto yksittäinen ohjelmistolla tehtävä asia: tarkasta oikeinkirjoitus, ehdota korjausta, korjaa automaattisesti... Tekniset vaatimukset miten ohjelmisto toteutetaan: tiedostopuskuri, dialogin toteutus,... Kannattaa huomata, että luokittelu ei ole mitenkään itsestään selvä. Asiakasvaatimukset Ohjelmistovaatimukset 31.08.2015 TTY TIE-02300/Kari Systä 44

Harjoitustyön juoni RYHMÄ A/B RYHMÄ B/A Asiakasvaatimukset Ohjelmiston määrittely 31.08.2015 TTY TIE-02300/Kari Systä 45

Alkukurssin aikataulusta Päivä Aihe Materiaali 24.08.2015 Kurssin esittely, johdanto ohjelmistotuotantoon Kalvot: 01Johdant o3.pdf 01.09.2015 Erilaisista ohjelmistoista ja niiden ominaisuuksista; johdantoa vaatimuksiin; ensitietoa harjoitustyöstä. 08.09.2015 Vaatimusmäärittelyt ja käyttötapaukset. 14.09.2015 Vaatimukset osa 2: tiedon mallintaminen. 21.09.2015 Tuotantoprosesseista ja elinkaarimalleista, sekä mitä asiakkaan on niistä ymmärrettävä. 31.08.2015 TTY TIE-02300/Kari Systä 46