Ohjelmistotuotanto Johdanto

Slides:



Advertisements
Samankaltaiset esitykset
Juha Kauppinen Consulting oy Työntekijäkysely Tietoja
Advertisements

CAN-VÄYLÄ AUTOISSA.
Tervetuloa eLiiketoiminnan tietoiskuun 1. / / /
Tietopaketti Big Datasta
Paneeli – Tehokkuutta ja toimivuutta laadulla ja kilpailulla?
Case: UNIC-Services Oy. UNIC-Services Oy  Perustettu 1993, perustaja Saara Remes- Ulkunniemi  Yritys tarjoaa koulutuspaveluita eri puolilla Suomea 
Yhteistyössä Tietohallinto liikunnassa ja urheilussa
Laatujärjestelmä marjatiloilla/jatkojalostajalla
Ajankohtaista kirjastotoimesta Asiakkuus verkossa ja livenä Anneli Ketonen.
Työmarkkinajärjestökysely tasa-arvosuunnitelmista ja palkkakartoituksista 2012 Akava
1 ©TNS 2012 Tämän tutkimuksen tulokset on tarkoitettu vain tilaajan omaan käyttöön. Niitä ei saa lainata, luovuttaa, jälleenmyydä tai julkaista ilman tutkimusyrityksen.
Tietokanta.
Ohjelmistokehittäminen. Luku 1 – Mitä on ohjelmistokehittäminen?
Tekninen suunnit-telu
SUOMEN PANKKI | FINLANDS BANK | BANK OF FINLAND Yritysrahoituskysely 2012.
1 Yleistä ohjelmistosuunnittelusta RASE
T Software project – Final demo / 6 Metrix Workgroup Metrix Helsinki University of Technology Software Business and Engineering Institute.
Elämyshankekyselyn tulokset © Sovita Toteutus: Opiferum1.
Tietokannat II Lasse Bergroth Turun yliopisto, IT-laitos Kevät 2013
Ohjaustarvearvio ja ohjaustarve kartta/ Ryhmänohjaajan näkökulma
Performance testing of TETRA 1. SISÄLTÖ  TETRA standardointi  ICT- yrityksen toteutus  Testaus- prosessi  Motivaatio testaukseen  Vaiheet/ osa-prosessit.
Verkkopankin käytettävyys
Elinkeinopoliittinen mittaristo 2014 Pelkosenniemi 1.
Kuukasjärvi Leena Nieminen Hanna-Mari Vänttilä Marika.
Vakuutusmaksutulo yhteensä 9,1 mrd € Työeläkevakuutusyhtiöiden markkinaosuudet 2007.
1 Senioreiden säästäminen ja maksutavat 2014 SENIOREIDEN SÄÄSTÄMINEN JA MAKSUTAVAT
*) Työttömät ilman lomautettuja Lähde: Työ- ja elinkeinoministeriön työttömyystilastot Työttömät* työnhakijat 1994–2014, syyskuu Yleisimmät.
Elinkeinopoliittinen mittaristo 2014
S Sosiaalitekniikka 1999 S Sosiaalitekniikka.
1. Ohjelmistotekniikka - Software Engineering
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Näkökulmia tilastojen tulkitsemiseen Käytä oikeita käsitteitä.
Tietohallinnon ja tietojärjestelmien kehittämisen perusteet
Suuntaamattoman graafin syvyyshaku
Laatujärjestelmät.
SUOMEN PANKKI | FINLANDS BANK | BANK OF FINLAND Suomen ja Itä-Suomen kasvun mahdollisuudet globaalissa ympäristössä Itä-Suomen huippukokous Johtokunnan.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Maitotaito PIENEN VAUVAN PÄIVÄ Maitotaito.
Jatkuvan parantamisen Jp-taulu
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Tekesin ja innovaatiotoiminnan vaikutukset 2014
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
JHS:N SUOSITUKSET VAATIMUSMÄÄRITTELYLLE SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta,
Steriloinnit 2012 Anna Heino & Mika Gissler.
Miksi tämä on vaikeaa? Ilman minkäänlaisia rajoitteita ongelmat ei ole vaikeita ratkaista. Siihen löytyy jopa valmis ”kaava”. Valitettavasti jokaisessa.
Esitutkimus (tarvekartoitus)
1. Usean muuttujan funktiot
Tik Harjoitustyön Tilannemuutos Etappi IV.
Ohjelmistotuotanto.
Ohjelmistotekniikka kevät 2003 Johdatusta ohjelmistotekniikkaan.
YLEISTÄ OHJELMISTOTUOTANNOSTA SEPPO RÄSÄNEN SAVONIA-AMMATTIKORKEAKOULU TERVEYSALA, KUOPIO Ohjelmistotekniikka ja projektinhallinta, 4 op.
Tietojärjestelmäprojektin onnistuminen
Heuristinen arviointi Käyttöliittymäseminaari Jere Salonen.
Mi Menetelmä tosiaikaiseen sivustomuokkaukseen Sulake Dynamoid | Strictly confidential – legally protected and privileged information Ilari Tuominen Software.
Tilinpäätös 2004.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Tietokoneiden luokitus E-Commerce 2010: Business, Technology, Society 6e Prentice Hall © 2010.
Yksityinen palvelutuotanto sosiaali- ja terveyspalveluissa 2009
Vaatimustenhallinta.
SOFTWARE TEST PROCESS DEVELOPMENT OHJELMISTOTESTAUSPROSESSIN KEHITTÄMINEN Jussi Kasurinen, Ohjelmistotekniikan laboratorio.
Suomen rautatieverkoston robustisuus (aihe-esittely)
T Ryhmä ”Tete” Henkilökohtainen SE-harjoitus Marko Nikula (Assesment of Architecture) Arkkitehtuurin arviointi.
Porin Yksikkö / Elektroniikkatuotanto Tanja Jokinen 1ELEP-1210 Elektroniikan peruskurssi ELEP-1210 ELEKTRONIIKAN PERUSKURSSI 5 op Kevät 2006.
LAATUJOHTAMINEN TENTTI 1. Määrittele seuraavat käsitteet:
1 Ohjelmistotuotanto Johdanto Kevät 2004 Hanna-Kaisa Lammi LTY/Tite.
Ohjelmistotuotanto - kurssin yleiset asiat Kevät 2004 Hanna-Kaisa Lammi LTY/Tite.
Ohjelmistotekniikka - kurssin yleiset asiat Kevät 2003 Hanna-Kaisa Lammi LTKK/Tite.
Ohjelmistotekniikka johdanto Kevät 2002 Päivi Ovaska LTKK/Tite.
Ohjelmistotekniikka kevät 2003 Ohjelmistotekniikan määritelmä Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista.
Ohjelmistotekniikka (Ohjelmistotuotanto) Software Engineering.
Esityksen transkriptio:

Ohjelmistotuotanto Johdanto Kevät 2005 Jani Vaara LTY/Tite

Sisältö Mitä on ohjelmistotuotanto? Ohjelmistotyyppejä Yrityksen tietotekniikka Ongelmia

Miksei vain koodata? Kerrostaloa ei voi rakentaa samoilla tiedoilla kuin koirankoppia. Vastaavasti kaupallisia ohjelmistoja ei voi tehdä pelkällä ohjelmointitaidolla. Ohjelmoijan ja ohjelmistotuottajan suhdetta voikin tietyssä mielessä verrata kirvesmiehen ja insinöörin suhteeseen

Mitä on ohjelmistotuotanto? Ohjelmistotuotanto käsittää ohjelmistojen tuotantoprosessit, niiden hallitsemisen ja niissä käytettävät menetelmät, eli tavat, kuinka ohjelmistoja tuotetaan kuinka tuotantoprosessia hallitaan niin, että lopputuotos on sellainen kuin haluttiin millä menetelmillä lopputulos saavutetaan

Tyypillisiä kysymyksiä Miten saan aikaiseksi asiakkaan tarpeet täyttävän ohjelmiston? Kuinka teen luotettavasti toimivan järjestelmän? Kuinka suunnittelen ohjelmiston niin, että eri osat toimivat saumattomasti yhteen? Kuinka saan tehtyä ohjelmiston sovitun aikataulun puitteissa jne…

Ohjelmistotuotannon sovellusalueita Lähde: Haikala, Märijärvi: Ohjelmistotuotanto, 2000.

Ohjelmistotyyppejä Varus- ja työkaluohjelmistot Teknis-tieteelliset laskentaohjelmistot Tietämyspohjaiset järjestelmät Kaupallis-hallinnolliset järjestelmät Prosessinohjaus- ja prosessiautomaatiojärjestelmät Sulautetetut järjestelmät WWW-pohjaiset ohjelmistot Reaaliaikajärjestelmät, reaktiiviset järjestelmät ...

Ohjelmistotuotannon kasvunäkymät TEKES / Suomen ohjelmistoteollisuuden kasvun strategia ja haasteet (1999): Ohjelmistoala kasvaa kaikkialla maailmassa paljon nopeammin kuin talous keskimäärin Ohjelmistoteollisuus kasvaa lähivuosina todennäköisesti yhdeksi Suomen teollisuusklustereista Ohjelmistoteollisuuden liikevaihto vuonna 1998 oli Suomessa noin 10 miljardia markkaa ja alalla työskenteli noin 20'000 henkilöä; ohjelmistoalalla toimivia yrityksiä on Suomessa tuhansia Henkilöstöpula on maailmanlaajuinen ilmiö ohjelmistoalalla Ohjelmistoyritykset toivovat saavansa puolet työvoimastaan yliopistotasolta

Ohjelmistotuotannon osa-alueita Haikala, Märijärvi: Ohjelmistotuotanto, 2000.

Standardeja ja malleja Ohjelmistoprosessin arviointi ja parantaminen - Software Process Assesment and Improvement SPICE - Software Process Improvement and Capability dEtermination SW-CMM - Capability Mature Model for Software Trillium Ohjelmiston elinkaariprosessit - Software life-cycle processes ISO/IEC 12207 - Software life-cycle processes Tuotelaatu - Software Product Quality ISO/IEC 9126 - Product quality

Standardeja ja malleja Laatujärjestelmä - Quality System ISO 9001 - Quality systems: Assurance of design/development, production, installation and servicing capability ISO 9000-3 - Guidelines for the application of ISO 9000 to the development, supply and maintenance of software MSQH - Modelling a Software Quality Handbook Tietoturvallisuus - Security Techniques SSE-CCM - Systems Security Engineering CMM

Määritelmiä Software -- ohjelmisto Computer programs, procedures, rules, documentation, and data pertaining to the operation of a computer system. Software Engineering – Ohjelmistotuotanto, ohjelmistotekniikka “The art of producing high quality software - in schedule and - in budged.” “The application of a systematic; disciplined, quantifiable approach to the development, operation, and maintenance of software [IEE 610.12] Vapaa tulkinta: Ohjelmistotuotanto – ohjelmistotyö, jonka tuloksena syntyvät järjestelmät täyttävät käyttäjiensä kohtuulliset toiveet ja odotukset ja tämän lisäksi valmistuvat laadittujen aikataulujen ja kustannusarvioiden puitteissa

Ohjelmistoa kuvaavat ominaisuudet Ohjelmiston koko ja käsiteltävän tiedon määrä Vasteaika- ja reaaliaikaisuusvaatimukset Luotettavuus Hajautus Tuotteistusaste

Esimerkkijärjestelmiä ominaisuus sovellus koko tieto-kannan koko vasteaika hajautus luotettavuus tuotteistus- aste matkapuhelin-keskus ROM-muistin koko 1MB - kovia reaaliaikaisuus-vaatimuksia hajautettu moniprosessorijärjestelmä kahdennettuja komponentteja tuote, asiakaskoh-taisia piirteitä televisio-vastaanotin ROM-muistin koko 1 MB kovia reaaliaikaisuus-vaatimuksia 2 prosessoria, useita signaali-prosessoreita massa- tuote suurehko hissi-järjestelmä 50 000 koodiriviä hajautettu, CAN-väylä virhetoiminnot estetty erillisellä elektroniikalla tuotteistettu, konfiguroita-va ko. rakennukseen vakuutusten hoito-järjestelmä 300 000 koodiriviä, 100 näyttöä 100 relaatio-tietokan-nan taulua vasteaika alle sekunnin keskitetty järjestelmä, satojen päätteiden verkko käyttökatkok-set haittaavat asiakas-palvelua räätälöity

Yrityksen tietotekniikka Haikala, Märijärvi: Ohjelmistotuotanto, 2000.

Yrityksen kilpailutilanne Liiketoimintaympäristö Liikeidea Strategia, kilpailutekijät Tietohallinto- strategia Asiakkaat Kilpailijat Tietotekniikan kehitys Oma liiketoiminta Oma tietojärjestelmätoiminta Tietohallinto Kehittämis- hankkeet Projektit Haikala, Märijärvi: Ohjelmistotuotanto, 2000.

Ohjelmistotuotannon kehitys Alkusysäyksen ohjelmistotuotannon systemaattiselle kehitykselle antoi nk. Software crisis. Ohjelmistokriisin nosti esille NASA, jossa kehitettiin 60- ja 70-luvulla monimutkaisia ohjelmistoja ja havaittiin tarve järjestelmälliselle ohjelmistotuotannolle.

Ohjelmistotuotannon kehitys Programming in the small (60-luku) – yksi toteuttaja, pienet ohjelmat, teknisiä ongelmia Programming in the large (70-luku) – muutamia toteuttajia, järjestelmien rakentamista Programming in the huge (80-luvulta ->) – jopa tuhansia toteuttajia, projektit vuosien pituisia, järjestelmät vahvasti hajautettuja ja heterogeenisia, vahvasti kytkeytyneitä muihin järjestelmiin, elinkaaret yli 10 vuoden pituisia.

Ohjelmistokriisi Ohjelmistokriisi on sittemmin muodostunut pysyväksi tilaksi. Teknologioiden ja menetelmien kehittymisestä huolimatta: Jokaista käyttöön asti päättyvää kolmea suurta järjestelmää kohti yksi epäonnistuu. kolme neljästä suuresta käyttöön asti päätyvästä järjestelmästä luokitellaan epäonnistuneeksi, koska ne eivät vastaa aiottua.

Ohjelmistokriisi Noin puolet ohjelmistokehityshankkeista ylittää aikataulunsa tai budjettinsa yli 50 prosentilla tai/ja kärsii vakavista laatuongelmista. Ohjelmistotuotannon ongelmien odotetaan pahenevan ennemmin kuin helpottuvan – ohjelmistokriisi syvennee.

Ohjelmistotuotannon ongelmia

Ohjelmistotuotannon ongelmia korkeat kustannukset työmäärät ja aikataulut arvioitu väärin (yli puolet ohjelmistoprojekteista myöhästyy) ohjelmistotuotannon ongelmat näyttävät pääasiassa liittyvän itse tuotantoprosessiin eikä uusiin menetelmiin tai tekniikoihin alan tutkimus tulisi kohdistaa tuotantoprosessiin

Kansanperinteestä tieteeksi [Shaw 1990]

Ohjelmistojen erityspiirteitä monimutkaisuus näkymättömyys muunnettavuus ainutkertaisuus menetelmien skaalautumattomuus epäjatkuvuus

Kannattaako edes yrittää? ”Parhaiten onnistuvat ne, jotka eivät luota liikaa viimeisimpiin poppakonsteihin, mutta ovat silti valmiita itse kokeilemaan uusia ideoita, vaikka ne esitettäisiinkin karnevaalihumussa mainosmiesten pötypuheiden seassa” [Weinberg 1982] Mikään ei korvaa ratkaistavan ongelman perusteellista ymmärtämistä - joskus voi tosin käydä hyvä tuuri Mikään ratkaisu ei sovellu kaikkiin tehtäviin ja johonkin tilanteeseen parhaiten soveltuva lähestymistapa voi olla toisessa tilanteessa kaikista huonoin

Avainasioita onnistumisen takaamiseksi Jatkuva toiminnan kehittäminen, jatkuva parantamisen tarve Laatujärjestelmät Henkilöstön osaamisen kehittäminen Laadun parantaminen

Onnistumisen teesejä On olemassa monia hyödyllisiä lähestymistapoja, jotka toimivat useammassa kuin yhdessä tilanteessa, joten kannattaa tutustua sellaiseen mikä on toiminut aikaisemmin Ongelman ratkaisun niksi ei ole pelkästään miten menetelmiä sovelletaan (know-how) vaan mieluummin milloin niitä sovelletaan (know-when)- tämä antaa mahdollisuuden sovittaa ratkaisumenetelmä ongelmaan eikä päinvastoin

Onnistumisen teesejä Riippumatta siitä, kuinka hyvin taidat miten ja milloin, on olemassa ongelmia, jotka ovat nykytietämyksellä mahdottomia ratkaista tai joiden perimmäisiä ominaisuuksia kukaan ei ymmärrä riittävän hyvin: nöyryys on siis usein paikallaan ”Make everything as simple as possible, but not simpler” – Albert Einstein