Ohjelmistotekniikka: Luento 4 Jouni Lappalainen
|
|
- Tuulikki Lehtilä
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Ohjelmistotekniikka: Luento 4 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ö Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 1975 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 2
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. 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, additions & editions by Antti Juustila 3
4 Luku 4: Käytäntöä ohjaavat periaatteet Mitä eri vaiheissa selvitetään? Yleisestä ohjelmistotuotantoon How to solve it Polya 1945 Ymmärrä ongelma 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) Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 6
7 Kommunikointi tapahtuu sidosryhmän (stakeholders) jäsenten välillä Prosessikehikon aktiviteetit kommunikointi projektisuunnittelu mallintaminen rakentaminen toimitus, käyttöön vieminen (deployment) 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 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) Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 / valitun toteutuskielen 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 18
19 Miten järjestelmä liittyy yrityksen muuhun liiketoimintaan? Mitä palveluja järjestelmä tarjoaa, missä olosuhteissa sen täytyy toimia? Esittävät järjestelmän toiminnot, palvelut ja rajoitukset tarkasti (mitä toteutetaan). Liiketoimintavaatimukset Käyttäjävaatimukset Järjestelmävaatimukset Yrityksen johto Asiakaspäälliköt Sopimusneuvottelijat 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ä) Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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) Käyttäjävaatimusten määrittely Järjestelmävaatimusten selvittäminen Liiketoimintavaatimusten määrittely Esitutkimus (feasibility study) Protoilu Sopiiko järjestelmä hyvin yrityksen tavoitteisiin? Voidaanko järjestelmä toteuttaa käytössä olevalla tekniikalla? Voidaanko järjestelmä integroida käytössä oleviin? Käyttäjävaatimusten selvittäminen Katselmointi Järjestelmävaatimukset dokumentti Vaatimusten validointi (vastaako todella sidosryhmän tarpeita) Vaatimustekniikat, Sommerville 2004 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 20
21 Ei-toiminnalliset vaatimukset Tuotevaatimukset Yrityskohtaiset vaatimukset Ulkopuoliset vaatimukset Tehokkuusvaatimukset Luotettavuusvaatimukset Siirrettävyysvaatimukset Yhteistoiminnallisuusvaatimukset Eettiset vaatimukset Käytettävyysvaatimukset Toimitusvaatimukset Toteutusvaatimukset Standardivaatimukset Laillisuusvaatimukset Suorituskykyvaatimukset Tilavaatimukset Yksityisyysvaatimukset Turvallisuusvaatimukset Sommerville 2004 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 21
22 Esim: erityistä luotettavuutta vaativalle ohjelmistolle voidaan määritellä Luotettavuus (dependability) Palveluaste, saatavuus (availability) Luotettavuus, käyttövarmuus (reliability) Turvallisuus (safety) Varmuus (security) järjestelmän palvelut ovat käytettävissä tarvittaessa järjestelmä palvelee ennalta määrätyllä tavalla järjestelmä ei aiheuta vaaraa järjestelmä kestää hyökkäykset (confidentiality, integrity, availability) Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 22
23 3. vaihe: Kehittäminen (elaboration) Käyttötapausten kehittäminen Vaatimusten kuvaaminen Skenaarioilla Luokkakaaviolla Käyttäytymiskaavioilla Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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? Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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. Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 25
26 Käyttötapauskaavio (use case diagram) VirtualShowRoom Konfiguraation valinta Laajennuskohta: Hinnan laskenta Asiakas <<extend>> Hinnan laskenta Myyjä Tilauksen vahvistus Tilauksen selaus <<include>> Tilauksen maksu Pankki Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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. Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 27
28 Käyttötapauskaavio (use case diagram) VirtualShowRoom Konfiguraation valinta Laajennuskohdat: Hinnan laskenta Tilauksen talletus <<extend>> Asiakas <<extend>> Hinnan laskenta Tilauksen talletus Tietokanta Myyjä Tilauksen vahvistus <<include>> Tilauksen maksu Pankki Tilauksen selaus Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 28
29 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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? Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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. Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 32
33 4. vaihe: Neuvottelu Win-Win tilanne paras kaikki voittavat (negotiation) 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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)? Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 34
35 SAFEHOME järjestelmä SAFEHOME off away stay 01 away stay max test bypass alarm instant check bypass fire not ready instant code chime ready armed power * 0 # valvontamoduuli Aloita valvonta Manuaalinen ohjaus panic Talon omistaja Ohjaus Internetin kautta Kuittaukset hälytyksiin Tunnistimet 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. Järjestelmävastaava Vikatilanteen ratkaisu Tunnistimien ja niiden ohjauksen konfigurointi Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 35
36 SAFEHOME off away stay 01 away stay max test bypass alarm instant check bypass fire not ready instant code chime ready armed power * 0 # panic Ohjauspaneeli 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ä Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 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? Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 37
38 Luento 3: lait ja pohdiskeluaiheet Sovellusalueen perinpohjainen tunteminen on hyvän suunnittelun edellytys (no 5, Curtis 1988) suunnitteluprosessissa tarvitaan sekä sovellusalueen että tietojenkäsittelyn tietämystä 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ä 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 Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 38
39 $ $ $ $ $ $8.000 $6.000 $7.136 $4.000 $2.000 $139 $455 $977 Vaatimusm. Suunnittelu Koodaus Testaus Ylläpito Jouni Lappalainen, Ilkka Tervonen, additions & editions by Antti Juustila 39
Ohjelmistotekniikka: Luento 3 Jouni Lappalainen
Ohjelmistotekniikka: Luento 3 Jouni Lappalainen Luku 4: Käytäntöä ohjaavat periaatteet (kevyt esittely) kommunikoinnin, projektisuunnittelun, mallintamisen, rakentamisen ja toimituksen periaatteet Luku
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
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
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
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
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
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
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
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
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
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ää
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
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
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ä
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
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
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
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
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
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
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
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ä
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,
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
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)
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,
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
Dokumentointi ketterissä menetelmissä
Dokumentointi ketterissä menetelmissä Dokumentointi kuuluu ketteriin menetelmiin niin kuin kaikkeen ohjelmistotuotantoon Dokumentointi itsessään yksi vaatimus, jonka prioriteetti pitää arvioida (asiakkaan
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
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
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)
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
ITK130 Ohjelmistoprosessi
ITK130 Ohjelmistoprosessi Ohjelmistotuotteen elinkaari Ohjelmistoprosessimalli Koodaa ja korjaa Miksi ohjelmistoprosesseja? Prosessimallin tavoitteet Prosessi ongelmaratkaisuna Prosessi, musta laatikko
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
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
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
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ä:
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,
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,
2. Ohjelmistotuotantoprosessi
2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa
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
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
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
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.
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ä
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
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
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
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ä
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.
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
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)
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
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
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
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
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
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.
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
Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005
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.
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ä:
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
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
Arkkitehtuurien tutkimus Outi Räihä. OHJ-3200 Ohjelmistoarkkitehtuurit. Darwin-projekti. Johdanto
OHJ-3200 Ohjelmistoarkkitehtuurit 1 Arkkitehtuurien tutkimus Outi Räihä 2 Darwin-projekti Darwin-projekti: Akatemian rahoitus 2009-2011 Arkkitehtuurisuunnittelu etsintäongelmana Geneettiset algoritmit
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
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Ä
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ä...
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
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:
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.
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,
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
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
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
$$$ 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
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
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.
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:
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
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
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
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/
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
Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille
1(23) Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille Matti Vuori, Tampereen teknillinen yliopisto 30.10.2012 Sisällysluettelo 1/2 Esityksen tarkoitus 4 Laatu on tärkeää, ei
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2
Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2 Viikon 2 laskareita ei pidetä mikrosaleissa, käytössä ovat opetusohjelmaan merkatut salit. Tämän viikon tehtävistä 1-6 tehdään etukäteen kotona.
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ä
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,
Ostavat organisaatiot konsultin silmin
Ostavat organisaatiot konsultin silmin Softaa sutjakasti - Kuinka pitää projektimopo käsissä Sytyke Ry:n laivaseminaari 9.9.2009 Paula Miinalainen, Arbor Vitae Konsulttina monitoimittajaympäristöissä muutosten
Johdantoluento. Ohjelmien ylläpito
Johdantoluento Ylläpito-termin termin määrittely Ylläpito ohjelmistotuotannon vaiheena Evoluutio-termin määrittely Muita kurssin aiheeseen liittyviä termejä TTY Ohjelmistotekniikka 1 Ohjelmien ylläpito
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
Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö. Testausraportti Smartmeeting opponointi
Testausraportti Smartmeeting opponointi Sisällysluettelo 1. Johdanto...3 2. Testitapaukset Smartmeeting...4 2.1 Yritä kirjautua järjestelmään väärällä salasanalla...4 2.2 Lisää uusi käyttäjä...4 2.3 Lisää
Autentikoivan lähtevän postin palvelimen asetukset
Autentikoivan lähtevän postin palvelimen asetukset - Avaa Työkalut valikko ja valitse Tilien asetukset - Valitse vasemman reunan lokerosta Lähtevän postin palvelin (SM - Valitse listasta palvelin, jonka
Ohjelmistojen mallintaminen, kesä 2009
582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus
LAADUNVARMISTUS 135 Projektinhallinnan laadunvarmistus Projektinhallinnan laadunvarmistus tukee ohjelmistoprojektien ohjaus- ja ylläpitotehtäviä. Projektinhallinnan laadunvarmistustehtäviin kuuluvat seuraavat:
Harjoitustehtävät ja ratkaisut viikolle 48
Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin
Lohtu-projekti. Testaussuunnitelma
Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät
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
Ohjelmistotuotanto, prosessit Syksy Ohjelmistotuotantoprosessi. Prosessimalli. Prosessimallien perustehtävät. Prosessimallin vaihejako
2. Ohjelmistotuotantoprosessi peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa
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