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 sidontaa Prototyypeistä sananen Käyttöliittymäpuolta QML-juttuja, ehkä, jos ehditään 2
Slack Tiimityöskentelytyökalu, kommunikaatioväline Kommunikaatio tärkein yksittäinen osa projektityössä Ei kuitenkaan korvaa kokonaan ihan oikeita tapaamisia Irc-integraatiokin onnistuu https://slack.zendesk.com/hc/enus/articles/201727913-connecting-to-slackover-irc-and-xmpp Erillisinä sovelluksina, https://slack.com/apps 3
Uusi ryhmä harkkatyölle? Onnistuu, kannattanee tehdä salaisena Git-integraatiokin onnistuu (Gitti-tunnarit harkkatyön ilmoittautumisdediksen jälkeen) 4
Mikä on prototyyppi? 5
Mikä on prototyyppi? Kirjaimellisemmin alkuperäinen, ensimmäinen versio Teollinen tuotekehitys, ensimmäinen testiversio Luokittelua teollisuudessa: Ensimmäinen prototyyppi, konseptin toimivuuden tarkastaminen Toinen proto, valmistettavuuden tutkiminen Nollasarja, ensimmäinen tuotantosarja Prototyyppien käyttötarkoitus määrää myös mitä prototyyppi on 6
Prototyypit, mallikappaleet ja ohjelmistomaailma Mitä prototyypit ovat ohjelmistomaailmassa? 7
Prototyypit, mallikappaleet ja ohjelmistomaailma Epätäydellisiä versioita ohjelmasta Simuloidaan joitakin osa-alueita tuotteesta Tavoitteita: Asiakaspalaute Realistisemmat arviot resursseista, projektin kestosta jne. Frederick P. Brooks: The Mythical Man Month (1975), No Silver Bullet klassikkojutut puhuivat jo protoista 8
Prototyyppi? Erilaisia käyttötarkoituksia: Tekniikan testaaminen/uuteen tutustuminen Myyntiproto asiakkaalle sisäinen proto uudesta tuotteesta Tutkimus Paperiprotot vs. oikeat 9
Paperiprototehtävä Suunnittele proto verkkopankin mobiilipuolelle Testataan Slackiä, ota kuva prototyypistä ja pistä se Slackissä random-kanavalle 10
Horisontaali prototyyppi ~Käyttöliittymäproto: tarkoitus esitellä ohjelman toimintaa/käyttöliittymää laajemmin, ei mennä syvälle toimintaan (tietokantaa, laskentaa, jne.) Käyttökohteita: Käyttäjäpalaute Demoversio, jolla saadaan tehtyä kaupat Saadaan paremmin arvioitua projektin kestoa/hintaa (tekniikkaan tutustuminen 11
Vertikaali prototyyppi Jonkun ominaisuuden, alijärjestelmän tai osakokonaisuuden testaaminen läpileikkausmaisesti. Hyötyjä: Toteutusvaatimuksien tarkentuminen Resurssitarpeet, paljonko liikennettä, tietoa (tietokannat) Selventää monimutkaisempia vaatimuksia, päästään oikeaan toiminnallisuuteen, voidaan varmistua että ollaan tekemässä oikeaa asiaa & mitä työ vaatii (osaamispuoli) 12
Erilaisia prototyyppejä Throw-away protot: Tärkeintä nopeus. Ei pitkää suunnittelua (vaatimukset/ohjelman rakenne), nopeasti toteuttamaan mock-up. Nopeasti palautetta asiakkaalta, päästään keskustelemaan paremmin vaatimuksista, muutokset vaatimuksiin eivät ongelma (proto menossa roskiin). Vaatimusten nopea tunnistaminen, simulointi, testaus 13
Erilaiset evolutionary prototyping lähestymistavat Tuotetaan uusia protoja/väliversioita tuotteesta ja annetaan asiakkaalle/käyttäjille testattavaksi, saadaan palautetta Tehdään ominaisuuksia lisäillen aina uusia Operational prototyping jne. 14
Prototyypit, plussaa Nopeasti töihin ja tekniikoihin Mahdolliset säästöt ajassa ja kuluissa, saadaan todelliset asiakasvaatimukset aiemmin ja paremmin Käyttäjien ja asiakkaiden parempi integrointi projektiin, halutut ominaisuudet ja käyttöliittymäpuoli ja toiminnallisuus paremmin sidottuna Tekniikkoihin tutustuminen, uusien asioiden nopea käyttöönotto tai hylkääminen 15
Prototyyppien ongelmia Työtä hukkaan, esim. jos myyntiä varten tehty eikä synny kauppoja Kiintyminen, protoa ei raaskita heittää pois vaan koitetaan tehdä oikeaa projektia päälle, (purkkaa purkan päälle) Rajalliset protot, osa vaatimuksista jää kokonaan huomaamatta Kustannukset Ajan tärvääminen, yritetään tehdä liian hienoa (tarkat aikarajat prototyypeille) 16
Prototyyppi kurssilla Käyttöliittymäproto Ei paperi-protoa, jotain koneella väkästeltyä 17
Laskin-proto 18
Yhteenvetoa Prototyyppien idea Vertikaali ja horisontaalit protot Prototyyppien eri käyttötarkoitukset Qt ja QML: perusasiat QML:stä Rakenne Elementit, propertyt Tilat Tulossa QML ja C++, Javascript & QML, jotain kevyttä animaatioista yms. 19