arviointi edellyttää historiatietoja, esim. mittareiden kalibroimiseksi
|
|
- Amanda Kahma
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Työmäärän arviointi algoritmiset menetelmät asiantuntija-arviot analogiaan perustuvat arviot Parkinsonin laki: "Työ vie kaiken käytettävissä olevan ajan." hinnoittelu kilpailun mukaan top-down arviointi bottom-up arviointi arviointi edellyttää historiatietoja, esim. mittareiden kalibroimiseksi useimmiten arviointi perustetaan kokonaisuuden jakamiseen komponenteiksi miten jako pystytään tekemään jo projektin alkaessa? kokemukset aiemmista projekteista periaatepäätökset on syytä arvioida kustannuksia useilla menetelmillä ja verrata: esim. algoritminen kustannusmalli aiemman projektin kustannusarvio (modifioituna) jaottelu, osakustannusten arviointi ja summaus Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 1
2 Työmääräarviot Lähtökohtana arvioitu tuotteen koko. Yksikkönä käskyt, rivimäärä, monimutkaisuus, Ohjelmakoodin määrä - lähdekielisten käskyjen lukumäärä DSI (delivered source instructions) - ohjelmarivien lukumäärä LOC (lines of code) - vaikea arvioida projektin alkuvaiheessa - kokoon perustuvat arviot eivät yleensä ota huomioon vaatimusanalyysivaihetta - koko vaikuttaa kustannuksiin ylilineaarisesti Mitä lasketaan vaikuttaa tulokseen (max/min = noin 5) vain 'loogiset rivit' eli syntaktiset rakenteet (source instruction) vain suoritettavat rivit suoritettavat rivit ja tietomäärittelyt suoritettavat rivit, tietomäärittelyt ja kommentit suoritettavat rivit, tietomäärittelyt, kommentit ja käännösdirektiivit Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 2
3 Miten suhtaudutaan muunnettuun ja / tai uudelleenkäytettävään koodiin: lasketaan vain uudet rivit uudet ja muutetut uudet, muutetut ja uudelleenkäytetyt (kirjastosta otetut) kaikki toimitetut kaikki toimitetut ja kehityksessä tarvitut kaikki toimitetut, kehityksessä tarvitut ja tukikoodi Jonkinlainen yhteensovitus paikallaan, esim riviä uudelleenkäytettyä koodia = 500 riviä uutta 1000 riviä kommentteja = 200 riviä uutta koodia Ohjelmiston muunnettu koko = uusien rivien lukumäärä + 0.5* uudelleenkäytettyjen rivien lukumäärä + 0.2* kommenttirivien lukumäärä. Tiettyyn tehtävään tarvittavien ohjelmarivien lukumäärä riippuu sekä käytettävästä ohjelmointikielestä että tehtävän luonteesta Toimintopisteet (Function points) toimintopisteet mittaavat ohjelmiston kokoa syötteiden, tulosteiden ja käsittelyn määrään perustuen. Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 3
4 Työmäärä ei riipu yksin ohjelmiston koosta, vaan useat tekijät vaikuttavat lisäksi, esim: - vaadittu luotettavuus: tiukat luotettavuusvaatimukset lisäävät kustannuksia projektin kaikissa vaiheissa, erityisesti testausvaiheessa - monimutkaisuus: keskeisimpiä kustannuksia lisääviä tekijöitä monimutkaisuuteen vaikuttavia tekijöitä: kontrollin kulku, rinnakkaisuus moduulien välinen kommunikointi kirjastorutiinien käyttö tiedonhallintaoperaatiot I/O-operaatiot - työympäristön (laitteiston) ominaisuudet nopeus- ja tilarajoitukset toimivaa sovellusta koskevat ohjelmistoprojektia koskevat työympäristön muuttuvuus - projektiin liittyvät tekijät - työmenetelmät ja työkalut koulutus: hyöty ei välttämättä näy ensimmäisissä projekteissa työmoraali, viihtyvyys yms. Miten mitataan? - aikataulurajoitukset Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 4
5 Esimerkki algoritmisesta kustannusten arvioinnista: COCOMO (Boehm) - yleinen sopii kaikenlaisille järjestelmille COnstructive COst MOdel kolme laajuudeltaan erilaista versiota, joissa otetaan huomioon erilainen määrä vaikuttavia osatekijöitä - perustuu koodirivien määrän arviointiin 1. Basic COCOMO - kustannusten (= työmäärän) ja projektin keston arviointi perustuu ohjelman kokoon missä MM = a*k b, T = c*mm d, MM on projektin työmäärä henkilötyökuukausina T on projektin kesto kuukausina K on ohjelmiston koko tuhansina lauseina Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 5
6 vakiot a, b, c ja d riippuvat ohjelmiston tyypistä: helppo malli(organic) normaali (semidetached) vaativa (embedded) tekijä helppo normaali vaativa a b c d Esim.: helppo rivin Pascal kääntäjä MM= 2.4 * = n. 41 henkilötyökuukautta T= 2.5 * = n. 10 kuukautta joten projektiryhmän koko on 41/10 eli 4-5 henkilöä. huomioita: ohjelmiston koon kasvaessa työmäärä kasvaa ylilineaarisesti aikataulua ei voida kiristää mielin määrin pelkästään lisäämällä työntekijöitä Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 6
7 2. Intermediate COCOMO - perusmallista saatua työmäärää modifioidaan työn ominaisuuksista riippuvilla korjauskertoimilla: MM = a*k b * c1 * c2 *... * c15 missä kukin ci kuvaa tietyn tekijän vaikutusta työmäärään - korjauskertoimen c i arvot vaihtelevat tyypillisesti välillä (0.7,..., 1.6) - tärkeimpiä tekijöitä: henkilöstön kyvykkyys tuotteen monimutkaisuus luotettavuusvaatimus tekijä helppo normaali vaativa a b c d Detailed COCOMO - jaottelee ohjelmiston osiksi: moduulit, alijärjestelmät, vaiheet - kunkin osakokonaisuuden kustannuksia arvioidaan erikseen - vaiheiden osuus kokonaisuudesta Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 7
8 COCOMO:n (ja muiden vastaavien) ongelmia - epätarkkuus - tuotantoprosessin vaikutus? - tulevan tuotteen koon arvioiminen vaikeaa - kustannusarvio sisältää suunnittelu- ja toteutusvaiheen kustannukset ei vaatimusanalyysin kustannuksia - kertoimien vaihteluvälit ovat suuret, jolloin pieni arviointivirhe kertointa määrättäessä voi johtaa suuriin eroihin lopputuloksissa - kertoimet on syytä kalibroida oikeaan ympäristöön: malli on käyttökelpoinen vain, jos kalibrointiin käytetty aineisto vastaa käyttötilannetta - käytetty kertoimien joukko ei välttämättä ole paras: uusien kertoimien lisääminen vaatii kalibroinnin riittävän laajalla aineistolla Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 8
9 Toimintopistemenetelmä (Albrecht) Albrecht: Measuring Application Development Productivity, Proc. IBM Application Development Symposium, Monterey, CA, 1979, Työmäärän mittana toimintopisteet vaikuttavat tekijät - syötteiden määrä - tulosteiden määrä - kyselyjen määrä - kantatiedostojen määrä - liittymien määrä nämä jaotellaan: - yksinkertaisiin, - tavallisiin ja - vaativiin jolloin saadaan 15 luokkaa kuhunkin 15 luokkaan liittyy oma painokerroin, jolla lukumäärä kerrotaan, painotettu summa on toimintopisteiden peruslukumäärä (PP) simple average complex total inputs * 3 * 4 * 6 outputs * 4 * 5 * 7 inquiries * 3 * 4 * 6 files * 7 * 10 * 15 interfaces * 5 * 7 * 10 Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 9
10 Toimintopistemäärä saadaan kun lisäksi otetaan huomioon tuotteen monimutkaisuustekijät (14 kpl): (F i : pisteytys 0-5) - varmistus - tietoliikenne - hajautettu käsittely - suorituskykyvaatimukset - laiteympäristö - on-line -käyttö - syöttötapahtumien laajuus - on-line -päivitys - syötteiden, tulosteiden ja tiedostojen monimutkaisuus - käsittelyn monimutkaisuus - koodin uudelleenkäytettävyys - sisältyykö konversio ja asennus - käytön laajuus - muutettavuus ja helppokäyttöisyys no incidental moderate average significant essential influence TP = PP*( *SUM(F i )) vaihteluväli 0.65*PP *PP Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 10
11 Edut ja ongelmat: - luokittelun subjektiivisuus - korjaustekijöiden arviointi - vanhentuneet korjaustekijät ja perustekijät - sopiiko uusiin suunnittelumenetelmiin? + riippumaton ohjelmointikielestä + arvioitavissa aiemmin kuin rivilukumäärä + nopeus Toimintopisteiden muunnelmia - perustana käsitemalli/oliomalli - tuotetyyppikohtaiset tekijät vastaavuus toimintopisteet / ohjelmarivit Assembler 300 Cobol 110 Pascal 90 PL/I 65 Oliokielet 30 4GL 25 Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 11
12 Arviointiohjeita: - tee arvio mahdollisimman myöhään - käytä yksinkertaisia arviointiperusteita - luo kokemusperäinen työmäärämalli - hanki jokin arviointiohjelmisto ja viritä se Työmäärä / projektin kesto Projekteilla optimaalinen kestoaika esim. COCOMO: kaavan mukaan T= 2.5 * MM d, missä d=(0.38,0.35, 0.32) henkilöiden lisääminen lisää kommunikointia => yksittäisen henkilön tuottavuus laskee henkilöiden lisääminen myöhässäolevaan projektiin ei yleensä edistä aikataulun saavuttamista vaan voi jopa lisätä myöhästymistä projektin eri vaiheissa tarvitaan eri määrä henkilöitä nyrkkisääntö työmäärän jakautumisesta suunnittelun, koodauksen ja testauksen kesken: Ohjelmistotuotanto kevät Harri Laine - työmäärän arviointi 12
Ohjelmistotuotanto, k
Ohjelmistotuotanto Projektisuunnitelmassa projektin tehtävät aikataulutetaan ja niiden suorittamiseen allokoidaan henkilöresursseja. Tällöin on tiedettävä paljonko resursseja työhön pitäisi allokoida ja
LisätiedotTyömäärän arviointi. Vaihtoehtoja. Sami Kollanus TJTA330 Ohjelmistotuotanto
Työmäärän arviointi Sami Kollanus TJTA330 Ohjelmistotuotanto 20.3. Vaihtoehtoja Arvioidaan projektin jälkeen (onnistuu varmasti) Verrataan karkeasti samanlaisiin aiempiin projekteihin Ositetaan projekti
LisätiedotTyömäärän arviointi. Vaihtoehtoja. Arviointiprosessi. Sami Kollanus TJTA330 Ohjelmistotuotanto
Työmäärän arviointi Sami Kollanus TJTA330 Ohjelmistotuotanto 20.3. Vaihtoehtoja Arvioidaan projektin jälkeen (onnistuu varmasti) Verrataan karkeasti samanlaisiin aiempiin projekteihin Ositetaan projekti
LisätiedotOHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta
OHJ-3010 Ohjelmistotuotannon perusteet Ohjelmistoprojektin hallinta 1 Sisältö Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi
LisätiedotA. Työmäärän ja resurssien arviointi
Ohjelmistotuotanto Ohjelmistoprojekti - Työmäärän arviointi ja aikataulutus 1 A. Työmäärän ja resurssien arviointi Projektisuunnitelmassa projektin tehtävät aikataulutetaan ja niiden suorittamiseen varataan
LisätiedotMikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta?
Mikä sitten on kallista? Milloin raha on viisaasti käytetty? Miten kallis määritellään toimintopistelaskennan näkökulmasta? ICT hyödyttämään liiketoimintaa siis oikeesti ja vähän äkkiä Mikko Paalasmaa,
LisätiedotVaihtoehtoja. Työmäärän arviointi. Arviointiprosessi. Ohjelmiston koon arviointi
Vaihtoehtoja Työmäärän arviointi Sami Kollanus TJTA0 Ohjelmistotuotanto 2.1.2007 Arvioidaan niin myöhään kuin mahdollista (projektin jälkeen onnistuu varmasti) Verrataan karkeasti samanlaisiin aiempiin
LisätiedotRinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi
Rinnakkaisuuden hyväksikäyttö peleissä Paula Kemppi 24.4.2008 Esityksen rakenne Johdantoa Rinnakkaisuus Pelimoottorien rinnakkaisuuden mallit Funktionaalisen rinnakkaisuuden malli Rinnakkaisen tiedon malli
LisätiedotYhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
LisätiedotYlläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
LisätiedotTietojä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ätiedotProjektityö
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ätiedotTT00AA12-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ätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
LisätiedotLuento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotLuento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
LisätiedotTeollisuusautomaation standardit Osio 9
Teollisuusautomaation standardit Osio 9 Osio 1: SESKOn Komitea SK 65: Teollisuusprosessien ohjaus Osio 2: Toiminnallinen turvallisuus: periaatteet Osio 3: Toiminnallinen turvallisuus: standardisarja IEC
LisätiedotProjektinhallinta: kustannusarvio
Projektinhallinta: kustannusarvio 581259 Ohjelmistotuotanto 339 Ohjelmiston kustannusarviot Yleensä jo projektin tarjouksen osana on jonkinlainen kustannusarvio Projektin tärkeimmät kustannustekijät: työvoimakustannukset
LisätiedotJuha Taina, Marko Salmenkivi ja Kjell Lemström,
Ohjelmiston kustannusarviot Projektinhallinta: kustannusarvio Yleensä jo projektin tarjouksen osana on jonkinlainen kustannusarvio Projektin tärkeimmät kustannustekijät: työvoimakustannukset (ylivoimaisesti
LisätiedotProjektinhallinnan merkitys
6. ei ole työvaihe, vaan se on läsnä koko tuotteen elinkaaren ajan. Se siirtää ohjausvastuun pois kehitystiimiltä. Työvaihe sisältää prosessin ohjaukseen liittyviä tehtäviä: koko- ja kustannusarviot, aikataulun
LisätiedotOhjelmistojen koon mittaaminen eri tyyppisissä kehityshankkeissa
Ohjelmistojen koon mittaaminen eri tyyppisissä kehityshankkeissa Pekka Forselius, STTF Oy Kansallinen ja kansainvälinen tilanne Kun kerromme merkittävänä tutkimustuloksena että suurten ohjelmistojen kehittäminen
Lisätiedot2 Konekieli, aliohjelmat, keskeytykset
ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä
LisätiedotProjektisuunnitelma. Karstula. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Projektisuunnitelma Karstula Helsinki 3.5.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 + 1 op) Projektiryhmä Juha-Pekka
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotFiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen
FiSMA 1.1 Monikerrosarkkitehtuuri 1 (6) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen
LisätiedotCopyright 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ätiedotOhjelmistoprojektin työmäärän arviointimallit
Ohjelmistoprojektin työmäärän arviointimallit Tiina Kirmanen 26.03.2002 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma Tiivistelmä Ohjelmistoprojektin työmäärän arviointi on vaikeaa, koska
LisätiedotSoftware product lines
Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotOhjelmistotuotanto, projektinhallinta Syksy Miksi ohjelmistoprojektin hallinta on erilaista? 3. Projektinhallinta
3. Projektinhallinta ohjelmistoprojektien koon kasvaessa on törmätty projektinhallinnan ongelmiin: jatkuva, osin huonosti hallittu kasvu myöhästymiset huono laatu budjettien ylitykset projektien epäonnistumiset
LisätiedotTKT224 KOODIN KOON OPTIMOINTI
- 1 - Laboratoriotyö TKT224 Oppimäärä: Ammattiaineiden laboraatiot Kurssi: Tietokonetekniikan laboraatiot Laboratoriotyö: TKT224 KOODIN KOON OPTIMOINTI Teoriakurssi, johon työ liittyy: Työn laatijat: T.Laitinen
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotLuento 1 (verkkoluento 1) Tietokonejärjestelmä
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotVisual Basic -sovelluskehitin Juha Vitikka
Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen
LisätiedotYlläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
LisätiedotLuonnosversio Tommi Koivula hyväksytty versio Tommi Koivula
Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti XPerf Projektisuunnitelma Tommi Koivula Juha Mondolin Versio 1.5.1 29. huhtikuuta 2003 Versiohistoria Versio Päivämäärä Kommentti
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
LisätiedotSoveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen
Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt
LisätiedotOHJELMISTOJEN LAADUN JA KOON MITTAAMINEN
OHJELMISTOJEN LAADUN JA KOON MITTAAMINEN 80 Mitat ja mittaus You can t control what you can t measure Tom DeMarco, 1982. DeMarcon toteama on kaikkien mittausspesialistien motto: ilman mittausta ei ole
LisätiedotUUDENKAUPUNGIN KAUPUNKI
UUDENKAUPUNGIN KAUPUNKI Hankintapalvelut Hankintasihteeri Outi Laine 12.06.2008 Vakka-Suomen seutukunnan virustorjunta- ja palomuuriohjelmisto Vakka-Suomen seutukunta KY pyytää Teiltä tarjousta Vakka-Suomen
LisätiedotLuento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet
LisätiedotMittausjärjestelmän kalibrointi ja mittausepävarmuus
Mittausjärjestelmän kalibrointi ja mittausepävarmuus Kalibrointi kalibroinnin merkitys kansainvälinen ja kansallinen mittanormaalijärjestelmä kalibroinnin määritelmä mittausjärjestelmän kalibrointivaihtoehdot
LisätiedotOhjelmistotuotanto s
Laadunvarmistustekniikoita Ohjelmistotuotanto 1 testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla
Lisätiedot0.47 27.11.2005 Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen
Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 24.10.2005 Elina Kontro Laatuasiat siirretty omaan dokumenttiin jatkotyöstetty 0.2 27.10.2005 Santeri Saarinen Bugien elinkaari yms. asioita jatkettu 0.3 28.10.2005
LisätiedotOleelliset 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ätiedot10 metriikkaa, joilla parannat johtamisen tasoa. Pekka Forselius, Senior Advisor, FiSMA ry Risto Nevalainen, Senior Advisor, FiSMA ry
10 metriikkaa, joilla parannat johtamisen tasoa Pekka Forselius, Senior Advisor, FiSMA ry Risto Nevalainen, Senior Advisor, FiSMA ry Sisältö Johdantoa mittarien valintaan Metriikoiden luokittelusta Ehdotetut
LisätiedotYhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.
2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =
LisätiedotTutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
LisätiedotOhjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus
Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright
LisätiedotOHJELMISTON TOIMINNALLISEN KOON LASKENTA. Markku Savolahti 6.3.2002. Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma
OHJELMISTON TOIMINNALLISEN KOON LASKENTA Markku Savolahti 6.3.2002 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Ohjelmistojen mittaamista tarvitaan, jotta niiden ominaisuuksia
LisätiedotTESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI
LisätiedotOhjelmiston testaus ja laatu. Testaustasot
Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu
LisätiedotISO/IEC 29881:2010 => SFS-ISO 29881:2013. FiSMA 1.1 menetelmä vihdoin myös suomeksi. Pekka Forselius, Senior Advisor, FiSMA ry
ISO/IEC 29881:2010 => SFS-ISO 29881:2013 FiSMA 1.1 menetelmä vihdoin myös suomeksi Pekka Forselius, Senior Advisor, FiSMA ry Ohjelmistojen toiminnallisen laajuuden mittaaminen Ison ohjelmiston kehittäminen
LisätiedotOngelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä
Ongelma(t): Miten jollakin korkeamman tason ohjelmointikielellä esitetty algoritmi saadaan suoritettua mikro-ohjelmoitavalla tietokoneella ja siinä olevilla komponenteilla? Voisiko jollakin ohjelmointikielellä
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotTik-76.612 Ohjelmistotuoteliiketoiminta
Tik-76.612 Ohjelmistotuoteliiketoiminta Luennot ja projekti synty suunnittelu käynnistys ohjaus päätös operointi Ti 12.3 To 14.3 Ti 19.3 To 21.3 Ti 26.3 To 4.4 Ti 9.4 To 11.4 Ti 16.4 Ti 18.4 To 23.4 Kurssin
LisätiedotOHJELMISTOJEN LAADUN JA KOON MITTAAMINEN
Mitat ja Mittaus OHJELMISTOJEN LAADUN JA KOON MITTAAMINEN 80 Vaikka mittauksia ei tehtäisikään täydessä laajuudessaan (tai tehdään kertaluonteisesti), mittausohjelma toimii kommunikaation ja sitouttamisen
LisätiedotTAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2
TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa
LisätiedotKäännös, linkitys ja lataus
Luento 10 (verkkoluento 10) Käännös, linkitys ja lataus Ohjelmasta prosessiin Käännösyksikkö Kääntämisen vaiheet Makrot, literaalit Staattinen ja dynaaminen linkitys Nimien sidonta Lausekielestä suoritukseen
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
LisätiedotProjektisuunnitelma. pokeriv3. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Projektisuunnitelma pokeriv3 Helsinki 28.1.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anne-Marie Grönroos
LisätiedotToimilohkojen turvallisuus tulevaisuudessa
Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot
LisätiedotSoftware engineering
Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of
Lisätiedot1 Tivax siirto uuteen koneeseen
Tivax siirto uuteen koneeseen 1 1 Tivax siirto uuteen koneeseen 1.1 Tivax ohjelman asentaminen Huom. Siirrossa mahdollisesti esiintyvien ongelmien ratkaisu on veloituksetonta ainoastaan asiakkaille, joilla
LisätiedotHieman 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ätiedotWebforum. Version 14.3 uudet ominaisuudet. Viimeisin päivitys: 2014-09-14
Webforum Version 14.3 uudet ominaisuudet Viimeisin päivitys: 2014-09-14 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Yleistä & hallinnointi... 5 Käyttäjien tuonti toiselta alustalta... 5 Uusi sisäänkirjautumisen
Lisätiedot4. Lausekielinen ohjelmointi 4.1
4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,
LisätiedotWebforum. Version 15.3 uudet ominaisuudet. Päivitetty: 2015-09-21
Webforum Version 15.3 uudet ominaisuudet Päivitetty: 2015-09-21 Sisältö Tietoja tästä dokumentista... 3 Yleistä... 4 Alustan otsikointi... 5 Alustan otsikoinnin uusi ryhmittely käyttäjän kuvalla... 5 Aloita
LisätiedotOhjelmistotekniikka - Luento 6
Ohjelmistotekniikka - Luento 6 Luku 24: Projektin hallinnan käsitteet - ihmiset, tuote, prosessi ja projekti - W5HH periaate Luku 25: Prosessi- ja projektimetriikat - ohjelmiston mittaminen (LOC, FP, luokka)
LisätiedotNäin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut www.helsinki.fi
Näin järjestän ohjelmointikurssin, vaikka en ole koskaan ohjelmoinut Ohjelmointikurssin järjestäminen Helsingin yliopiston Ohjelmoinnin MOOC-kurssimateriaalin avulla 15.4.2016 1 Linkki Tietojenkäsittelytieteen
LisätiedotAgenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi
1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu
Lisätiedot1 Kertaus. Lineaarinen optimointitehtävä on muotoa:
1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n
LisätiedotTällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.
Lämpötilahälytin Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi. Laite koostuu Arduinokortista ja koekytkentälevystä. Hälyttimen toiminnat ohjelmoidaan Arduinolle.
Lisätiedot582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon
582104 Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon 1 Lyhyt johdatus ohjelmistotuotantoon Ohjelmistotuotanto, ohjelmistoprojektit Miten ohjelmistojen tuottaminen eroaa teollisesta tuotannosta
LisätiedotSuunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
LisätiedotProjektisuunnitelma. Kaapo - Kaavioiden piirto-ohjelma
Projektisuunnitelma Kaapo - Kaavioiden piirto-ohjelma Helsinki 30.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä
LisätiedotTIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 8: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viimeiset viikkoharkat tarjolla, aiheena kansainvälistäminen/lokalisointi Viikkoharkkoja
LisätiedotTest-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ätiedotTIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 12: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Sisältöä Kansainvälistäminen/lokalisointi Mitä asioita voi liittyä kansainvälistämiseen/lokalisointiin?
LisätiedotYhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004. http://cs.joensuu.
Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen tsoft Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004 http://cs.joensuu.fi/tsoft/ Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen
LisätiedotADM Arkkitehtuuritason automaatio #tdarc
ADM Arkkitehtuuritason automaatio #tdarc Kalle Launiala http://abstractiondev.wordpress.com kalle.launiala@citrus.fi Ohjelmistoteollisuus elää murrosta Ohjelmistoteollisuudesta halutaan perusteollisuutta
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotProjektisuunnitelma. myva. Helsinki 24.8.2007. Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Projektisuunnitelma myva Helsinki 24.8.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jaana Diakite Heikki
LisätiedotValintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.
Pikaopas Microsoft Excel 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Komentojen lisääminen pikatyökaluriville Pidä
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2009 1 / 43 Funktiot Tähän asti esitetyt ohjelmat ovat oleet hyvin lyhyitä. Todellisessa elämässä tarvitaan kuitenkin
LisätiedotMiten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?
Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten
LisätiedotVerkkopokerijärjestelmä Projektisuunnitelma Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008
Verkkopokerijärjestelmä Projektisuunnitelma Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Projektiryhmä Samuli Aalto Setälä Jukka Kekälainen Jarno Kyykkä Mika Mielonen Mårten Smeds Otto Waltari Ohjaaja
LisätiedotTässä tiivistelmässä standardi tarkoittaa standardia SFS-EN 13849-1.
15.8.2007/MS Sovellusohjelmistoja koskevien vaatimusten tiivistelmä standardista SFS-EN 13849-1: Koneturvallisuus. Turvallisuuteen liittyvät ohjausjärjestelmän osat. Osa 1: Yleiset suunnitteluperiaatteet.
Lisätiedot.NET ajoympäristö. Juha Järvensivu 2007
.NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET
Lisätiedott osatekijät vaikuttavat merkittävästi tuloksen epävarmuuteen Mittaustulosten ilmoittamiseen tulee kiinnittää kriittistä
Mittausepävarmuuden määrittäminen 1 Mittausepävarmuus on testaustulokseen liittyvä arvio, joka ilmoittaa rajat, joiden välissä on todellinen arvo tietyllä todennäköisyydellä Kokonaisepävarmuusarvioinnissa
LisätiedotIDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit
IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotJoonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011
1 Joonas Ruotsalainen GIT PIKAOPAS Tutkielma 2011 2 SISÄLTÖ 1. JOHDANTO... 3 2. ASENTAMINEN... 4 3. KÄYTTÖ... 4 3.1 Perusasetukset... 4 3.2 Git:n ottaminen käyttöön projektissa... 5 3.3 Tiedostojen lisääminen
LisätiedotPythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
LisätiedotEstimointityökalut. Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry
Estimointityökalut Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry 1 Työkalujen rooli ohjelmistotyössä A fool with a tool is still a fool! Ohjelmistotyökalujen käyttäminen
LisätiedotATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014
18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,
LisätiedotTutoriaaliläsnäoloista
Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 3.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 3.10.2018 1 / 27 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelma voidaan jakaa pienempiin osiin käyttämällä
Lisätiedot