Ohjelmistotekniikka: Luento 3 Jouni Lappalainen

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistotekniikka: Luento 3 Jouni Lappalainen"

Transkriptio

1 Ohjelmistotekniikka: Luento 3 Jouni Lappalainen Luku 4: Käytäntöä ohjaavat periaatteet (kevyt esittely) kommunikoinnin, projektisuunnittelun, mallintamisen, rakentamisen ja toimituksen periaatteet Luku 5: Vaatimusten ymmärtäminen vaatimusmäärittelytekniikat alkutoimet, tavoitteiden selvitys, tarkempi määrittely, neuvottelu ja validointi toiminnalliset ja ei-toiminnalliset vaatimukset käyttötapausten käyttö 1

2 Soveltuvat lait ja pohdiskelun aiheita 1. Sovellusalueen perinpohjainen tunteminen on hyvän suunnittelun edellytys (no 5, Curtis 1988) 2. Puutteet vaatimusmäärittelyissä ovat suurin syy häiriöihin ohjelmistoprojekteissa / no 1, Glass Virheet ovat yleisimpiä vaatimusmäärittely- ja suunnitteluvaiheissa ja niiden korjaus on sitä kalliimpaa mitä myöhemmin ne havaitaan /no 2, Boehm

3 Soveltuvat lait ja pohdiskelun aiheita Mikä on olennaista pienten yritysten vaatimusten hallinnalle Aranda et al. mukaan (katso oheinen paperi)? Aranda et al. esittelevät seitsemän pienen yrityksen vaatimusten hallintaa. Esittele kolme erilaista tapaa vaatimusten hallinnalle. Mitä esitutkimus (feasibility study) tarkoittaa vaatimusmäärittelyjen yhteydessä? Wiegers esittelee kymmenen ansaa, jotka tulisi välttää vaatimusmäärittelyprosessissa. Esittele näistä viisi. Aranda, S. M. Easterbrook, and G. Wilson, Requirements in the wild: How small companies do it, Requirements Engineering Conference (RE'07) Wiegers K., 10 Requirements Traps to Avoid 3

4 Luku 4: Käytäntöä ohjaavat periaatteet Mitä eri vaiheissa selvitetään? Yleisestä ohjelmistotuotantoon Ymmärrä ongelma How to solve it Polya 1945 kommunikointi ja analyysi Suunnittele ratkaisu mallintaminen ja ohjelmistosuunnittelu Toteuta suunnitelma koodin generointi Testaa toteutusta testaus ja laadunvarmistus keitä sidosryhmät ovat? voidaanko ongelma osittaa? voidaanko ongelma esittää graafisesti? onko ongelma tuttu, onko ennen ratkaistu samanlaista? voidaanko osaongelmat määritellä? voidaanko esittää suunnittelutason kuvaus? vastaako koodi suunnitelmaa? onko katselmoitu? onko komponentit testattu testisuunnitelmien mukaisesti vastaako ohjelmisto asetettuja toiveita (vaatimuksia) 4

5 Ydinperiaatteet - prosessia ohjaavat (voidaan soveltaa kaikkiin prosessimalleihin ja vaiheisiin) 1. Ole ketterä 2. Kiinnitä huomio laatuun joka vaiheessa 3. Ole valmis soveltamaan 4. Muodosta tehokas tiimi 5. Tue kommunikointia ja koordinointia 6. Hallitse muutos 7. Arvio riski 8. Tee kuvauksia & koodia (work products), jotka hyödyttävät muita 5

6 Ydinperiaatteet käytänteitä ohjaavat (toimitetaan ajoissa, korkea laatu, toteuttaa sidosryhmän tarpeet) 1. Hajota ja hallitse 2. Ymmärrä abstraktioiden käyttö 3. Pyri yhdenmukaisuuteen 4. Kiinnitä huomio tiedonsiirtoon 5. Rakenna modulaarinen ohjelmisto 6. Etsi sopivia suunnittelumalleja (patterns) 7. Tutki ongelmaa useasta näkökulmasta 8. Muista, että joku ylläpitää ohjelmistoa 6

7 Kommunikointi tapahtuu sidosryhmän (stakeholders) jäsenten välillä Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) Sidosryhmä koostuu henkilöistä, jotka hyötyvät suorasti tai epäsuorasti kehitettävästä järjestelmästä (asiakkaat, käyttäjät, kehittäjät) 1. kuuntele 2. valmistaudu 3. kokous täytyy junailla (facilitate) 4. face to face kommunikointi on parasta 5. pidä kirjaa palaverista 6. pyri konsensukseen 7. pidä keskustelu oikeilla raiteilla 8. piirrä kuva, jos sanat ei riitä 9. jos jonkin aiheen käsittely ei etene, siirry seuraavaan 10. neuvottelu etenee, kun molemmat voittavat 7

8 Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) 1. ymmärrä projektin laajuus 2. ota asiakas mukaan suunnitteluun 3. huomaa, että suunnittelu on iteratiivista 4. perusta arviosi tietoosi (hyvillä tiedoilla hyviä ennusteita) 5. arvioi myös riskit 6. ole realistinen 7. säädä karkeisuus tarpeen mukaan 8. määrittele laadunvarmistus 9. kuvaa myös se, miten otat muutokset huomioon 10. seuraa suunnitelman toteutumista ja sovita sitä tarpeen mukaan 8

9 Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) Nämä 10 kohtaa esittävät mallintamisperiaatteita, jotka on sovitettu ketteriin menetelmiin Ambler & Jeffries Tavoitteena on rakentaa ohjelmisto, ei tuottaa malleja 2. Tee ainoastaan sellaisia kuvauksia, joita tarvitaan 3. Pyri yksinkertaisimpaan malliin, joka kuvaa ongelman 4. Tee malleja, joita voidaan muuttaa 5. Jokaisella mallilla pitää olla selvä tarkoitus 6. Käytä sovellukselle sopivaa mallintamistekniikkaa 7. Tee hyödyllisiä malleja, mutta älä välttämättä täydellisiä 8. Tärkeintä mallille on edistää ohjelmiston rakentamista, vältä dogmaattisuutta syntaksin (esitystavan) suhteen 9. Jos olet kokenut suunnittelija, luota vaistoosi 10. Hanki palautetta mahdollisimman aikaisessa vaiheessa 9

10 Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) Vaatimusten mallintamisen periaatteet 1. sovelluksen tietovirrat tulee ymmärtää tiedon kulku järjestelmään, järjestelmästä ulospäin ja sisäiset tietovarastot 2. ohjelmiston toiminnot tulee määritellä 3. ohjelmiston käyttäytyminen tulee kuvata 4. suuret kokonaisuudet ositetaan pienemmiksi 5. vain olennaiset asiat käyttäjän näkökulmasta - ei toteutusta 10

11 Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) Suunnittelun mallintamisen periaatteet 1. jäljitettävissä analyysimalliin 2. huomio järjestelmän arkkitehtuuriin, tietosuunnitteluun, rajapintoihin ja käyttöliittymään 3. komponenttien suunnittelussa huomio koheesioon (vain yksi toiminto) ja löysään kytkentään 4. mallit helposti ymmärrettäviä 5. iteratiivinen suunnittelu 11

12 Prosessikehikon aktiviteetit kommunikointi projektisuuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) koodaus valmisteluperiaatteet ymmärrä ongelma ja suunnitteluperiaatteet valitse sopiva kieli ja ympäristö tee yksikkötestit valmiiksi koodausperiaatteet noudata rakenteellisen ohjelmoinnin periaatteita valitse sopivat tietorakenteet tee ohjelmasta helposti ymmärrettävä (logiikka, nimet, käytännöt, sisennykset) validointiperiaatteet katselmoi tarvittaessa, aja testit, refaktoroi testaus testit tulee voida jäljittää asiakkaan vaatimuksiin testitapaukset tehdään ennakkoon sääntö edetään in the small -> in the large täydellinen testaus ei ole mahdollista 12

13 Prosessikehikon aktiviteetit kommunikointi projektisuuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (jakelu, tuki, palaute) (deployment) 1. asiakkaan odotukset täytyy hallita kommunikoinnissa asiakkaan suuntaan täytyy olla varovainen, ettei asiakas saa liian ruusuista kuvaa 2. täydellinen toimituspakkaus täytyy koota ja testata 3. toimituksen tuki (help desk) täytyy järjestää ennen toimitusta 4. sopiva harjoittelumateriaali täytyy valmistaa loppukäyttäjälle 5. virheellistä ohjelmistoa ei saa toimittaa ei toimitusta lupauksin korjataan seuraavaan versioon 13

14 Luku 5: Vaatimusten ymmärtäminen Vaatimusmäärittelytekniikat Alkutoimet (inception) perusymmärrys ongelmaan sidosryhmät Tavoitteiden selvitys (elicitation) ongelmia voivat aiheuttaa rajaus, mitä järjestelmään kuuluu ymmärtäminen, asiakkaat eivät tiedä mitä haluavat muuttuvuus, vaatimukset muuttuvat ajan kuluessa 14

15 Vaatimusmäärittelytekniikat (jatkuu) Kehittäminen (elaboration) skenaarioista analyysiluokkiin Neuvottelu (negotiation) vaatimukset voivat olla ristiriitaisia resurssit eivät riitä kaikkien vaatimusten toteuttamiseen Määrittely (specification) voidaan käyttää esim. Wiegersin lomakepohjaa (template) Validointi (validation) katselmoidaan ja pyritään löytämään puuttuvat osat, ristiriitaiset vaatimukset ja epäyhdenmukaisuudet Vaatimusten hallinta tarvitaan tukea vaatimusten ja niiden muutosten hallintaan 15

16 1. vaihe: Alkutoimet (inception) Sidosryhmän tunnistaminen Eri näkökulmien tunnistaminen Pyrkimys yhteisymmärrykseen Ensimmäiset kysymykset Asiakkaalta ja sidosryhmältä kuka maksaa, käyttää, mitä hyötyä tuotteen liiketoimintavaatimukset Selvitetään ongelma ja asiakkaan näkemys ratkaisusta miten kuvataan hyvä tulos, johon päästään onnistuneella ratkaisulla mitä ongelmia ratkaisuun voi liittyä missä liiketoimintaympäristössä ratkaisua käytetään onko suorituskykyyn liittyviä tarpeita tai rajoituksia 16

17 2. vaihe: Tavoitteiden selvitys (elicitation) Yhteistyössä tehty vaatimusten keräys Kokouksissa mukana ohjelmistosuunnittelijat ja sidosryhmät, kokouksella vetäjä (facilitator) ja riittävän formaali asialista QFD (Quality Function Deployment) Skenaariot Selvityksen tulokset Mitä tarvitaan Lista asiakkaista, käyttäjistä ja sidosryhmästä Kuvaus teknisestä ympäristöstä Lista vaatimuksista niihin liittyvistä rajoituksista Joukko käyttöskenaarioita Mahdolliset prototyypit 17

18 Ymmärretään tarve Ymmärretään tuote Tekniset vaatimukset Vaatimusten selvittäminen (elicitation) Asiakkaan tavoitteet Toiminnalliset vaatimukset Toiminnan kuvaus Laatutavoitteet Skenaariot Skenaariot Skenaariot Skenaariot Liiketoiminta- Liiketoimintasäännöt Liiketoimintasäännöt säännöt Rajoitukset Ei-toiminnalliset vaatimukset Järjestelmän Järjestelmän tai ohjelmiston Järjestelmän tai määrittely ohjelmiston tai määrittely ohjelmiston määrittely väärinkäyttötapaukset esim. tehokkuus, luotettavuusja turvallisuusvaatimukset 18 Jouni Lappalainen & Ilkka Tervonen

19 Miten järjestelmä liittyy yrityksen muuhun liiketoimintaan? Liiketoimintavaatimukset Yrityksen johto Asiakaspäälliköt Sopimusneuvottelijat Mitä palveluja järjestelmä tarjoaa, missä olosuhteissa sen täytyy toimia? Esittävät järjestelmän toiminnot, palvelut ja rajoitukset tarkasti (mitä toteutetaan). Käyttäjävaatimukset Järjestelmävaatimukset Peruskäyttäjät Asiakaspäälliköt Sopimusneuvottelijat Järjestelmäarkkitehdit Peruskäyttäjät Järjestelmäarkkitehdit Ohjelmistosuunnittelijat Vaatimusmäärittelytyypit ja niiden lukijat (sidosryhmä) 19

20 Järjestelmävaatimusten määrittely Vaatimusten määrittely & mallintaminen (organisaation, käyttäytymisen ja tiedon mallintaminen, ei-toiminnalliset vaatimukset) Vaatimusten selvittäminen (elicitation) Järjestelmävaatimusten selvittäminen Käyttäjävaatimusten selvittäminen Käyttäjävaatimusten määrittely Järjestelmävaatimukset dokumentti Liiketoimintavaatimusten määrittely Esitutkimus (feasibility study) Protoilu Katselmointi Sopiiko järjestelmä hyvin yrityksen tavoitteisiin? Voidaanko järjestelmä toteuttaa käytössä olevalla tekniikalla? Voidaanko järjestelmä integroida käytössä oleviin? Vaatimusten validointi (vastaako todella sidosryhmän tarpeita) Vaatimustekniikat, Sommerville

21 Ei-toiminnalliset vaatimukset Tuotevaatimukset Yrityskohtaiset vaatimukset Ulkopuoliset vaatimukset Käytettävyysvaatimukset Tehokkuusvaatimukset Suorituskykyvaatimukset Luotettavuusvaatimukset Tilavaatimukset Toimitusvaatimukset Siirrettävyysvaatimukset Toteutusvaatimukset Yhteistoiminnallisuusvaatimukset Standardivaatimukset Yksityisyysvaatimukset Eettiset vaatimukset Laillisuusvaatimukset Turvallisuusvaatimukset Sommerville

22 Esim: erityistä luotettavuutta vaativalle ohjelmistolle voidaan määritellä Luotettavuus (dependability) Palveluaste, saatavuus (availability) järjestelmän palvelut ovat käytettävissä tarvittaessa Luotettavuus, käyttövarmuus (reliability) järjestelmä palvelee ennalta määrätyllä tavalla Turvallisuus (safety) järjestelmä ei aiheuta vaaraa Varmuus (security) järjestelmä kestää hyökkäykset (confidentiality, integrity, availability) 22

23 3. vaihe: Kehittäminen (elaboration) Käyttötapausten kehittäminen Vaatimusten kuvaaminen Skenaarioilla Luokkakaaviolla Käyttäytymiskaavioilla 23

24 Mitä käyttötapauksesta selviää? Ketä ovat ensisijaiset ja toissijaiset toimijat? Mitkä ovat toimijoiden tavoitteet? Mitä esiehtoja täytyy olla voimassa, ennenkuin kertomus voi alkaa? Mitkä ovat tärkeimmät toimijan suorittamat tehtävät? Mitä poikkeuksia tulisi huomioida kertomuksen yhteydessä? Mitä vaihtoehtoja on toimijan ja järjestelmän vuorovaikutukselle? Mitä järjestelmän tietoa toimija tarvitsee, tuottaa tai muuttaa? Tuleeko toimijan informoida järjestelmää ulkoisen ympäristön muutoksista? Toivooko toimija tulevansa informoiduksi odottamattomista muutoksista? 24

25 Esimerkki: VirtualShowRoom Autonvalmistaja haluaa web-pohjaisen autojen myyntijärjestelmän (VirtualShowRoom, VSR). Tätä ohjelmistoa tarjotaan käyttöön kaikille asiakkaille maailmanlaajuisesti. Auton ostosta kiinnostunut asiakas voi sen avulla määritellä haluamansa auton ominaisuudet (malli, tyyppi, väri, lisävarusteet, jne.). Järjestelmän avulla asiakas saa tiedot valmistajan automerkeistä ja tyypeistä ja hintalaskelman ja toimitusajan räätälöidylle autolle. Järjestelmä antaa asiakkaalle myös listan paikallismyyjistä, joista asiakas voi valita sopivan. Kun asiakas on tehnyt ostopäätöksen, hän voi vahvistaa tilauksen, valita sopivan maksutavan ja maksaa tilauksen. Paikallismyyjät voivat selata saapuneita tilauksia ja tarkentaa niitä puuttuvilta osin. 25

26 Käyttötapauskaavio (use case diagram) VirtualShowRoom Konfiguraation valinta Laajennuskohta: Hinnan laskenta Asiakas <<extend>> Myyjä Hinnan laskenta Tilauksen vahvistus Tilauksen selaus <<include>> Tilauksen maksu Pankki 26

27 Skenaario: VirtualShowRoom Skenaario: Harrin autovalinta Harri voitti pokerissa huomattavan summan rahaa ja päätti vaihtaa autoa. Hän on jo pitkään ollut ranskalaisten autojen ystävä ja aikoo pysyä edelleen. Merkkiä hän ei ole vielä päättänyt. Harri etsii webistä Citroenin myyjää ja ohjautuu VirtualShowRoomin sivuille. Katseltuaan tarjolla olevia automalleja, hänen vaihtoehdoiksi rajautuvat C4 ja C5 mallit. Koska Harri ajaa paljon pitkiä matkoja, hän valitsee dieselversion. Lisävarusteista Harri valitsee tässä vaiheessa navigaattorin, kattoikkunan ja vetokoukun. Värivaihtoehtoina ovat punainen, sininen ja harmaa. Koska Harri ei ole vielä jutellut vaimonsa kanssa auton väristä, hän haluaa tallettaa nämä vaihtoehdot myöhempää tilauksen tarkennusta varten. 27

28 Käyttötapauskaavio (use case diagram) VirtualShowRoom Konfiguraation valinta Laajennuskohdat: Hinnan laskenta Tilauksen talletus <<extend>> Asiakas Myyjä <<extend>> Hinnan laskenta Tilauksen vahvistus Tilauksen selaus <<include>> Tilauksen talletus Tilauksen maksu Tietokanta Pankki 28

29 29

30 Käyttötapaus: Konfiguraation valinta Toimijat: Asiakas Kuvaus: Määritellä autolle halutut ominaisuudet Esiehdot: Internet ja selain ovat käytettävissä Herätin/liipasin: Asiakas innostuu auton hankkimisesta Normaali skenaario: (1)Asiakas kirjautuu järjestelmään, (2) Selaa vaihtoehtoja, (3) Valitsee haluamansa mallin, tyypin ja lisävarusteet, Laajennuskohdat: Hinnan laskenta, Tilauksen talletus Poikkeukset: Kirjautumisen ongelmista täytyy huolehtia Prioriteetti: Tärkeä, toteutetaan ensimmäisessä vaiheessa Käyttötiheys: Tuhansia samanaikaisia käyttäjiä Muita huomioita: Kuinka nopeasti kirjautuminen tulee suorittaa? 30

31 Konfiguraation valinta & Hinnan laskenta Toiminnalliset vaatimukset (käyttäjän määrittelemät, UR-0X (tai KV-0X)) UR-01: Käyttäjä voi valita automallin mallilistasta. UR-02: Valitulle mallille saatavissa olevat lisävarusteet esitetään. Käyttäjä voi valita haluamansa lisävarusteet listasta. UR-03: Valitun konfiguraation kokonaishinta päivitetään ja näytetään jokaisen valinnan jälkeen. 31

32 Ei-toiminnalliset vaatimukset (Sommerville) Tuotevaatimukset (laatuvaatimukset, QR-0X (tai LV-0X)) Käytettävyys QR-01: malli- ja lisävarustelista on selkeä, valinnan teko helppoa QR-02: kokonaishinnan päivitys vie aikaa < 0.5 sek Tehokkuus QR-03: yhtäaikaisia käyttäjiä , vasteaika < 1 sek Luotettavuus QR-04: elpyminen häiriöstä varmistettu QR-05: palveluaste korkea, järjestelmä pois käytöstä korkeintaan 1 min/vrk QR-06: asiakastiedot vain myyjien saatavilla Siirrettävyys QR-07: varmistettava siirrettävyys Linux versioiden välillä QR-08: tietokanta ODBC rajapinnan taakse 32

33 4. vaihe: Neuvottelu (negotiation) Win-Win tilanne paras kaikki voittavat Sidosryhmät tyytyväisiä, kun saavat järjestelmän tai tuotteen, joka toteuttaa suurimman osan asetetuista tavoitteista Kehitystiimi tyytyväinen, kun voi kehittää järjestelmää tai tuotetta realistisen ja varman budjetin ja deadlinen mukaan lisää vaatimusmäärittelyihin liittyviä papereita 33

34 5. vaihe: Vaatimusten katselmointi (validation) Katselmoinnin tarkistuslista Ovatko vaatimukset yhdenmukaisia koko järjestelmän tavoitteisiin nähden Ovatko vaatimukset sopivalla abstraktiotasolla Ovatko vaatimukset todella välttämättömiä, vai tarjoavatko ne lisäominaisuuksia Ovatko vaatimukset selviä ja ymmärrettäviä Löytyykö jokaiselle vaatimukselle sen asettaja Ovatko vaatimukset ristiriitaisia Ovatko vaatimukset testattavissa, kun toteutettu Kuvaako vaatimusta esittävä malli riittävästi rakennettavaa järjestelmää (tieto, operaatio, käyttäytyminen) 34

35 SAFEHOME järjestelmä SAFEHOME 01 alarm check fire away stay instant bypass not ready armed power off away stay max test bypass instant code chime ready * 0 # valvontamoduuli Aloita valvonta Manuaalinen ohjaus panic Järjestelmän hankkineella talon omistajalla on mahdollisuus ohjata järjestelmää joko manuaalisesti ohjauspaneelin tai tietokoneen avulla Internetin yli. Tunnistimet tuottavat järjestelmään hälytyksiä ja vikailmoituksia. Omistaja kuittaa hälytykset ja ratkaisee vikatilanteet. Järjestelmävastaavan vastuulla on tarvittaessa konfiguroida tunnistimien toiminta. Talon omistaja Järjestelmävastaava Ohjaus Internetin kautta Kuittaukset hälytyksiin Vikatilanteen ratkaisu Tunnistimien ja niiden ohjauksen konfigurointi Tunnistimet Jouni Lappalainen & Ilkka Tervonen 35

36 SAFEHOME off away stay alarm check fire away stay instant bypass not ready armed power max test bypass instant code chime * 0 # ohjauspaneli ilmaisee toimijalle järjestelmän tilan: - not ready ilmoitus tarkoittaa, että huoneiston jokin ovi tai ikkuna on auki toimija käyttää näppäimistöä antaakseen nelinumeroisen salasanan - jos salasana on väärä, järjestelmä ilmoittaa piippaamalla, jos oikea, odottaa jatkotoimia toimija asettaa järjestelmän käyttöön stay (talon ulkopuolen tunnistimet) tai away (kaikki tunnistimet) näppäimillä ready panic 36

37 Käyttötapaus: AloitaValvonta Toimijat: Talon omistaja Kuvaus: Asettaa järjestelmä valvomaan tunnistimia Esiehdot: Järjestelmä Herätin/liipasin: Talon omistaja päättää asettaa järjestelmän päälle Skenaario: (1)Talon omistaja antaa salasanan ja valitsee stay tai away toiminnan. (2) Järjestelmä ilmaisee kahdella piippauksella stay valinnan ja kolmella piippauksella away valinnan. (3)Tämän jälkeen omistaja havaitsee ohjauspaneelista punaisen valon palavan, eli järjestelmän olevan päällä. Poikkeukset: Ohjauspaneelissa not ready, omistaja tarkastaa kaikki tunnistimet ja sulkee ovet & ikkunat tarvittaessa. Salasana on väärä, omistaja näppäilee uuden salasanan Prioriteetti: Tärkeä, toteutetaan ensimmäisessä vaiheessa Käyttötiheys: Monta kertaa päivässä Muita huomioita: Pitäisikö ohjauspaneelin esittää muitakin viestejä? Kuinka nopeasti salasana tulee antaa? 37

38 Luento 3: lait ja pohdiskeluaiheet 1. Sovellusalueen perinpohjainen tunteminen on hyvän suunnittelun edellytys (no 5, Curtis 1988) suunnitteluprosessissa tarvitaan sekä sovellusalueen että tietojenkäsittelyn tietämystä 2. Puutteet vaatimusmäärittelyissä ovat suurin syy häiriöihin ohjelmistoprojekteissa / no 1, Glass 1998 esimerkkejä: Denverin lentokentän laukkujen kuljetusjärjestelmä ei kysytty lentoyhtiöiden tarpeita - lopputuloksena kolme erillistä järjestelmää Floridan osavaltion sosiaaliavustusjärjestelmä vaatimuksena oli hajautettu järjestelmä, mutta lähdettiin rakentamaan käyttämällä uudelleen useita miljoonia koodirivejä olemassa olevasta keskitetystä järjestelmästä 3. Virheet ovat yleisimpiä vaatimusmäärittely- ja suunnitteluvaiheissa ja niiden korjaus on sitä kalliimpaa mitä myöhemmin ne havaitaan /no 2, Boehm 1975 on tärkeää paikallistaa virheen syntypaikka väitetään, että prosenttia kaikista projektin aikana havaituista virheistä syntyy vaatimusmäärittely- ja suunnitteluvaiheissa 38

39 $ $ $ $ $ $8.000 $6.000 $4.000 $2.000 $7.136 $139 $455 $977 Vaatimusm. Suunnittelu Koodaus Testaus Ylläpito 39

40 Soveltuvat lait ja pohdiskelun aiheita Mikä on olennaista pienten yritysten vaatimusten hallinnalle Aranda et al. mukaan (katso oheinen paperi)? Aranda et al. esittelevät seitsemän pienen yrityksen vaatimusten hallintaa. Esittele kolme erilaista tapaa vaatimusten hallinnalle. Mitä esitutkimus (feasibility study) tarkoittaa vaatimusmäärittelyjen yhteydessä? Wiegers esittelee kymmenen ansaa, jotka tulisi välttää vaatimusmäärittelyprosessissa. Esittele näistä viisi. Aranda, S. M. Easterbrook, and G. Wilson, Requirements in the wild: How small companies do it, Requirements Engineering Conference (RE'07) Wiegers K., 10 Requirements Traps to Avoid Jouni Lappalainen & Ilkka Tervonen 40

Ohjelmistotekniikka: Luento 4 Jouni Lappalainen

Ohjelmistotekniikka: Luento 4 Jouni Lappalainen Ohjelmistotekniikka: Luento 4 Jouni Lappalainen Luku 4: Käytäntöä ohjaavat periaatteet (kevyt esittely) kommunikoinnin, projektisuunnittelun, mallintamisen, rakentamisen ja toimituksen periaatteet Luku

Lisätiedot

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento

Lisätiedot

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit

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

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

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

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

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

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

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

Ohjelmistojen suunnittelu

Ohjelmistojen 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

Suunnitteluvaihe prosessissa

Suunnitteluvaihe 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ätiedot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmiston 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ä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

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä

T Johdatus käyttäjäkeskeiseen tuotekehitykseen. suunnitteluprosessissa. Käyttäjän huomiointi. Iteroitu versio paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan

Lisätiedot

Käyttäjäkeskeinen suunnittelu

Käyttäjäkeskeinen suunnittelu Käyttäjäkeskeinen suunnittelu Käyttäjän huomiointi suunnitteluprosessissa Iteroitu versio 1.1 muutettu klo12.10 - paljon kirjoitusvirheitä Käyttäjäkeskeinen suunnittelu Perusidea: käyttäjät huomioidaan

Lisätiedot

Tuotemallipohjaisen toimintaprosessin mallintaminen

Tuotemallipohjaisen toimintaprosessin mallintaminen Tuotemallipohjaisen toimintaprosessin mallintaminen Miksi? Miten? Mitä? Mitä sitten? Kari Karstila Eurostepsys Oy kari.karstila@eurostep.com www.eurostep.com Pro IT-seminaari, 2004-01 01-1919 PROSESSIMALLINTAMISEN

Lisätiedot

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

Lisätiedot

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

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 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ätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen 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ätiedot

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on dokumentti esittelee tietokonegrafiikkaalgoritmien visualisointijärjestelmän kehitysprojektissa käytettävän vaatimustenhallintamenetelmän. Päivämäärä

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen 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ätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

Hieman lisää malleista ja niiden hyödyntämisestä Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

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

Dokumentointi ketterissä menetelmissä

Dokumentointi ketterissä menetelmissä Dokumentointi ketterissä menetelmissä Dokumentointi kuuluu ketteriin menetelmiin niin kuin kaikkeen ohjelmistotuotantoon Dokumentointi itsessään yksi vaatimus, jonka prioriteetti pitää arvioida (asiakkaan

Lisätiedot

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu HELIA 1 (8) Luento 1 Johdatusta tietokannan suunnitteluun... 2 Tietokantasuunnittelu?... 2 Tietokanta?... 2 Tieto?... 2 Tietokantasuunnittelun tavoite, v.1... 2 Luotettavuus?... 3 Tietokantasuunnittelun

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

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)

Lisätiedot

ITK130 Ohjelmistoprosessi

ITK130 Ohjelmistoprosessi ITK130 Ohjelmistoprosessi Ohjelmistotuotteen elinkaari Ohjelmistoprosessimalli Koodaa ja korjaa Miksi ohjelmistoprosesseja? Prosessimallin tavoitteet Prosessi ongelmaratkaisuna Prosessi, musta laatikko

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan 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ätiedot

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.

Scrum is Not Enough. Scrum ei riitä. Ari Tanninen & Marko Taipale. Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12. Scrum is Not Enough Scrum ei riitä Ari Tanninen & Marko Taipale Nääsvillen oliopäivä 2009 Tampereen teknillinen yliopisto 9.12.2009 Ari Tanninen Vanhempi ohjelmistoinsinööri Marko Taipale Teknologiajohtaja,

Lisätiedot

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004 Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Projektin suunnittelu

Projektin suunnittelu Projektin suunnittelu Sami Kollanus TJTA330 Ohjelmistotuotanto 15.3. Projektin suunnittelu - CMMIkäytänteet Projektin estimaatit: Määritellään projektin laajuus (scope) Määritellään tehtävien ja tuotosten

Lisätiedot

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

EUREFin vaikutukset organisaatioiden tietojärjestelmiin EUREFin vaikutukset organisaatioiden tietojärjestelmiin EUREF-päivä 4.9.2012 ALEKSI LESKINEN Sisältö Tietojärjestelmät ja EUREF Keskeiset haasteet EUREF-muunnoksissa EUREF-muunnosprosessin vaiheet Yhteenveto

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

Vaatimusten hallinta ja vaatimusmäärittely

Vaatimusten hallinta ja vaatimusmäärittely Vaatimusten hallinta ja vaatimusmäärittely Vaatimustenhallinta (esitutkinta) Ohjelmistotuotannon perimmäinen tavoite päätyä asiakasvaatimukset täyttävään ohjelmistoon Vaatimustenhallinta huolehtii asiakasvaatimusten

Lisätiedot

Implisiittiset vaatimukset. 4. Vaatimusmäärittely. Eksplisiittiset vaatimukset. Vaatimusmäärittelyn tavoitteet. Vaatimusten luonne II

Implisiittiset vaatimukset. 4. Vaatimusmäärittely. Eksplisiittiset vaatimukset. Vaatimusmäärittelyn tavoitteet. Vaatimusten luonne II 4. Vaatimusmäärittely Implisiittiset vaatimukset Laadukkaiden ohjelmistojen tuottaminen ei ole helppo tehtävä. Jos se olisi helppoa, kaikki tekisivät laadukkaita ja edullisia ohjelmia. Sen lisäksi, että

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

T-76.115 Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

T-76.115 Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tämä on dokumentti esittelee tietokonegrafiikkaalgoritmien visualisointijärjestelmän kehitysprojektissa käytettävän vaatimustenhallintamenetelmän. Päivämäärä

Lisätiedot

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

Yllä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ätiedot

2. Ohjelmistotuotantoprosessi

2. Ohjelmistotuotantoprosessi 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita?

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita? #finnayhdessä Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita? Riitta Peltonen, johtava käytettävyyssuunnittelija, Finnan 5-vuotisseminaari,

Lisätiedot

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio

Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

4. Vaatimusmäärittely

4. Vaatimusmäärittely 4. Vaatimusmäärittely Laadukkaiden ohjelmistojen tuottaminen ei ole helppo tehtävä. Jos se olisi helppoa, kaikki tekisivät laadukkaita ja edullisia ohjelmia. Sen lisäksi, että ohjelman täytyy toimia virheettömästi,

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

RATKI 1.0 Käyttäjän ohje

RATKI 1.0 Käyttäjän ohje RATKI RATKI 1.0 Käyttäjän ohje Ohje 0.5 Luottamuksellinen Vastuuhenkilö Petri Ahola Sisällysluettelo 1. Yleistä... 3 1.1. Kuvaus... 3 1.2. Esitiedot... 3 1.3. RATKIn käyttöoikeuksien hankinta... 3 1.4.

Lisätiedot

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole. 1 Unelma-asiakas Ohjeet tehtävän tekemiseen 1. Ota ja varaa itsellesi omaa aikaa. Mene esimerkiksi kahvilaan yksin istumaan, ota mukaasi nämä tehtävät, muistivihko ja kynä tai kannettava tietokone. Varaa

Lisätiedot

Johdatusta ohjelmistotekniikkaan

Johdatusta ohjelmistotekniikkaan Johdatusta ohjelmistotekniikkaan OT:n historiaa 4 vaihetta (1/2) 1. Vaihe (0 60-luvun alku) Vähän tietokoneita Eräajo-tyyppisiä ohjelmia Pääasiassa matemaattisia, pieniä yhden käyttäjän sovelluksia Ei

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

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ Eeva Kangas 05.11.2015 @FixUi Oy 2013 2015 FIXUI "Autamme yrityksiä suunnittelemaan sellaisia tuotteita, joita ihmiset osaavat ja haluavat käyttää" Käyttäjätutkimukset

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

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

Ylläpito. Ylläpidon lajeja

Yllä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ätiedot

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

TIE 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ätiedot

Vaatimusmäärittely- ja hallinta

Vaatimusmäärittely- ja hallinta Vaatimusmäärittely- ja hallinta TJTA330 Ohjelmistotuotanto 27.3. Peruskäsitteet Vaatimusten yhteydessä puhutaan yleensä erikseen vaatimusmäärittelystä ja vaatimusten hallinnasta Vaatimusmäärittely on vaatimusten

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Testauspäällikön tarinoita Arto Stenberg

Testauspäällikön tarinoita Arto Stenberg Testauspäällikön tarinoita Arto Stenberg 2.12.2013 A software foundry that helps companies create breakthrough product innovations. We help our clients to: 1. Create new products 2. Scale out their product

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

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan

Koulutuksen suhdannevaihtelut. Zeppeliinistä suihkukoneaikaan Koulutuksen suhdannevaihtelut Zeppeliinistä suihkukoneaikaan Suhdannevaihtelut People 1970-1990 Perusasiat kestävät ratkaisut 1990-1995 Teknologiat nopean ohjelmistokehityksen ratkaisut 1995 2000 Menetelmät

Lisätiedot

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy www.softqa.fi

Laadukas vaatimustenhallinta. Pekka Mäkinen Copyright SoftQA Oy www.softqa.fi Laadukas vaatimustenhallinta Pekka Mäkinen www.softqa.fi Esityksen perusajatuksia Vaatimuksilla on elinkaari ja ne muuttuvat. Tuotteen elinkaari vaikuttaa vaatimuksiin. Vaatimusten keruussa ja -hallinnassa

Lisätiedot

KICK ASS! FACEBOOK-MARKKINOINNILLA MATKAILULIIKETOIMINTA KASVUUN

KICK ASS! FACEBOOK-MARKKINOINNILLA MATKAILULIIKETOIMINTA KASVUUN KICK ASS! FACEBOOK-MARKKINOINNILLA MATKAILULIIKETOIMINTA KASVUUN Marko Pyhäjärvi PUHEENVUORON TAVOITE On olemassa miljoonia eri keinoja vauhdittaa matkailuyrityksen myyntiä, ja Facebookmarkkinointi on

Lisätiedot

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

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

Lisätiedot

GroupDesk Toiminnallinen määrittely

GroupDesk Toiminnallinen määrittely GroupDesk Toiminnallinen määrittely Tilanne: Paikallinen oppilaitos, kuvitteellinen WAMK, tarvitsee ryhmätyöhön soveltuvan sähköisen asioiden hallintajärjestelmän ja ryhmätyöohjelmiston, jonka ajatuksena

Lisätiedot

Opas Logitech Harmony 525 asennusohjelmistoon

Opas Logitech Harmony 525 asennusohjelmistoon Opas Logitech Harmony 525 asennusohjelmistoon Tervetuloa! Ohjattu asennus asentaa Logitech Harmony kaukoohjaimen ohjelmiston koneellesi jatkaaksesi paina NEXT. Valitse kieli ja paina ok. Ohessa on Logitech

Lisätiedot

Ohjelmistotekniikka: Luento 4 Jouni Lappalainen

Ohjelmistotekniikka: Luento 4 Jouni Lappalainen Ohjelmistotekniikka: Luento 4 Jouni Lappalainen Luku 6: Vaatimusten mallintaminen: skenaariot, analyysiluokat UML kertausta Luku 7: Vaatimusten mallintaminen: vuo, käyttäytyminen ja mallit (patterns) Vuopohjainen

Lisätiedot

SYSTEEMITYÖ. Tärkeitä sanoja

SYSTEEMITYÖ. Tärkeitä sanoja SYSTEEMITYÖ Tärkeitä sanoja SYSTEEMITYÖN TÄRKEITÄ SANOJA Laatu (itse tuotteessa ja sen tekemisessä) Dokumentaatio Riskienhallinta Vaatimustenhallinta Uudelleenkäytettävyys Versionhallinta 2 LAATU Parityönä:

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kevät 2008 582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

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

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

Projektityö

Projektityö Projektityö 21.10.2005 Projektisuunnitelma Työn ositus Projektisuunnitelman sisältö Kurssin luennoitsija ja projektiryhmien ohjaaja: Timo Poranen (email: tp@cs.uta.fi, työhuone: B1042) Kurssin kotisivut:

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

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy Käyttöohje Ticket Inspector Versio 1.0 Sportum Oy 10.5.2017 Sivu 1 Sisällysluettelo 1. Yleistä... 2 2. Kirjautuminen ensimmäisellä kerralla / PIN-koodin unohtuessa... 3 3. Tunnistautuminen... 4 4. Päänäkymä...

Lisätiedot

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen ON OLEMASSA KAHDENLAISIA YRITYKSIÄ: 1. NE JOIHIN ON MURTAUDUTTU 2. NE JOTKA EIVÄT VIELÄ TIEDÄ SITÄ

Lisätiedot

MPnet ohje HUOMIO! Järjestelmän tarkoitus on helpottaa kaikkien työtä, kun ajoneuvojen tiedot löytyvät yhdestä tietokannasta.

MPnet ohje HUOMIO! Järjestelmän tarkoitus on helpottaa kaikkien työtä, kun ajoneuvojen tiedot löytyvät yhdestä tietokannasta. MOTOR POWER EXTRANET - MPnet MPnet on Motor Powerin jälleenmyyjien ja huoltoliikkeiden käyttöön kehitetty extranet. Järjestelmän käyttö on välttämätöntä kaikille Motor Power jälleenmyyjille ja huoltoliikkeille.

Lisätiedot

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari

Lisätiedot

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015

ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 ARVI-järjestelmän ohje arvioinnin syöttäjälle 13.4. 2015 Sisältö ARVI-menettelyn perusteet... 1 Arvioinnin syöttäminen... 2 Arvion lähettäminen TE-toimistoon... 5 Sovelluksen sulkeminen... 6 Virhetilanteiden

Lisätiedot

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

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä $$$ Raha ratkaisee On vaara rakastua tekniikkaan, myös asiakkailla Kaikki pitää pystyä perustelemaan taloudellisesti Projektin toteutus yleensä -> voidaan jättää toteuttamatta, jos ei maksa itseään takaisin

Lisätiedot

Hankinnan problematiikka

Hankinnan problematiikka Antti Kirmanen Hankinnan problematiikka Toimittajan näkökulma Asiakkaan näkökulma www.sulava.com www.facebook.com/sulavaoy 2 1. Ristiriita www.sulava.com www.facebook.com/sulavaoy 3 Asiakas haluaa Onnistuneen

Lisätiedot

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin

sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin sivu 1 Verkkopäätteen muuttaminen Anvian uuteen tekniikkaan Ohje käy seuraaviin verkkopäätteisiin Zyxel Prestige 645 ISP Zyxel Prestige 645 WEB Zyxel Prestige 645R Zyxel Prestige 645 Ennen aloitusta tarkista,

Lisätiedot

5. Järjestelmämallit. Mallinnus

5. Järjestelmämallit. Mallinnus 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

Lisätiedot

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita 581259 Ohjelmistotuotanto 378 Lemström, 2006-2011 581259 Ohjelmistotuotanto Kiitos Tuomolle kuvasta 379 Ohjelmistotuotannon perustehtävät projektinhallinta:

Lisätiedot

Harjoitustyö Case - HelpDesk

Harjoitustyö Case - HelpDesk Harjoitustyö Case - HelpDesk Harjoitustyön Case: HelpDesk -sovellus Tietotekniikkatoimittaja AB ja asiakas X ovat viime vuonna sopineet mikrotukiyksikön ulkoistamisesta X:ltä AB:n liikkeenjohdon vastuulle.

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen 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ätiedot

Näppäimistö CT 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. CT1000v.5

Näppäimistö CT 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. CT1000v.5 Näppäimistö CT 1000 Käyttäjäopas CT1000v.5 Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi Sivu 2 CT 1000 Rajoitukset Kaikki oikeudet tähän ohjekirjaan ovat Global Safety & Security

Lisätiedot

CEM DT-3353 Pihtimittari

CEM DT-3353 Pihtimittari CEM DT-3353 Pihtimittari Sivu 1/5 CEM DT-3353 Pihtimittari Ongelma Mittarin ohjelmisto ilmoittaa NO DATA vaikka tiedonsiirtokaapeli on kytketty tietokoneen ja mittarin välille, mittarissa on virta päällä

Lisätiedot

Vaatimusten keräys ja hallinta

Vaatimusten keräys ja hallinta Vaatimusten keräys ja hallinta Inka Vilpola 19.4.2006 Sisältö Vaihe ISO 13407 -prosessissa Vaatimusten lajit (teoria) Vaatimukset hyvälle vaatimukselle Vaatimusten hallinta Vaatimusten kerääminen Vaatimusten

Lisätiedot

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Tarkistuslista on suunniteltu käytettäväksi hyväksymistestauksen suunnittelussa, valmiuksien arvioinnissa ja katselmoinnissa.tämä tarkistuslista

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

Käytettävyys ja sen merkitys

Käytettävyys ja sen merkitys Kuvat kirjasta Sinkkonen, Nuutila, Törmä. Helppokäyttöisen verkkopalvelun suunnittelu, 2009 Käytettävyys ja sen merkitys Irmeli Sinkkonen Adage Oy irmeli.sinkkonen@adage.fi www.adage.fi www.adage.fi Sisältö

Lisätiedot