Software engineering

Samankaltaiset tiedostot
1. Johdanto. Ohjelmistotuotannon ongelmia

Laatu tietojärjestelmähankkeissa. Tietohallinnon kokemuksia Juha-Pekka Leskinen Atk-päällikkö Eduskunnan kanslia

Johdantoluento. Ohjelmien ylläpito

Johdattelua, motivointia, eli missä ollaan ja kuinka siihen on tultu

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Projektinhallinta SFS-ISO mukaan

Testaus teoriassa ja käytännössä. Jukka Paakki Helsingin yliopisto Tietojenkäsittelytieteen laitos

Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto

Mitä on ohjelmistotuotanto?

Tutkittua tietoa. Tutkittua tietoa 1

Ohjelmistotekniikka kevät 2003 Laatujärjestelmät

Johdatusta ohjelmistotekniikkaan

Ohjelmistotekniikka - Luento 2

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

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

ITK130 Ohjelmistojen luonne

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

Tutkimustoiminnan tiedonkeruu ammattikorkeakouluilta Kota-amkota-seminaari

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotuotanto

Tutkimustoiminnan tiedonkeruu ammattikorkeakouluilta Kota-amkota-seminaari

Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus

Paketoidut toiminnanohjausratkaisut projektiorganisaatioille. Jan Malmström Mepco Oy

Standardi IEC Ohjelmisto

Ohjelmistotuotanto, s /27/2003

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Oleelliset vaikeudet OT:ssa 1/2

ITK130 Ohjelmistoprosessi

T Ohjelmistoprojektien hallinta Tehtävän 3 ratkaisu. Maija Kangas, Kimmo Stålnacke ja Outi Syysjoki

Software product lines

Estimointityökalut. Pekka Forselius, Senior Advisor Finnish Software Measurement Association FiSMA ry

ITK130 Johdatus ohjelmistotekniikkaan

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen

Työkalut ohjelmistokehityksen tukena

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

Ohjelmistoilla kansainvälistä kilpailukykyä

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

itsmf Finland Conference 2016 Focus Markus Leinonen COBIT ja governance

Test-Driven Development

Ylläpito. Ylläpidon lajeja

Ohjelmistotuotanto, syksy laatu Ohjelmiston laatu

Ohjelmistoprojektien hallinta Vaihejakomallit

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Test-Driven Development

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

SFS-ISO/IEC Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta. Riku Nykänen

T Loppukatselmus

Määrittelyvaihe. Projektinhallinta

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)

Projektin suunnittelu

Testaaminen ohjelmiston kehitysprosessin aikana

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Tietojärjestelmän osat

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

EIOPAn ohjeet ja suositukset valitusten käsittelemisestä vakuutusyhtiöissä

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

Data-Agenttien verkosto vie tutkimusaineistojen hallinnan laitostasolle Nicolle Rager Fuller, National Science Foundation

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet

Käyttökokemuksen evaluoinnista käyttökokemuksen ohjaamaan suunnitteluun. ecommunication & UX SUMMIT Eija Kaasinen, VTT

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Puolustusvoimien laadunvarmistuspäivät

OT-s200: Prosessimallit

Tapahtuipa Testaajalle...

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

SYSTEEMIJOHTAMINEN! Sami Lilja! itsmf Finland 2014! Oct ! Kalastajatorppa, Helsinki! Reaktor 2014

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Hankinnan problematiikka

KUNTIEN JA HUS:N ASIAKAS- JA POTILASTIETOJÄRJESTELMÄN HANKINTA

Lauri Hellsten, Espoon yhteislyseon lukio Mika Setälä, Lempäälän lukio

Suunnittelulle oma tutkimusparadigma? Rakennusfoorumi Aki Davidsson

HP OpenView ratkaisut toiminnan jatkuvuuden turvaajina

Tieteellisen kirjoittamisen kurssi kevätlukukausi 2002

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

Onnistunut SAP-projekti laadunvarmistuksen keinoin

SYSTEEMITYÖ. Tärkeitä sanoja

BIMin mahdollisuudet hukan poistossa ja arvonluonnissa LCIFIN Vuosiseminaari

Avoimen tieteen osaajakoulutus Työpaja: Avoin tiede ja tietohallinto

Avoimen ja yhteisen rajapinnan hallintamalli

KONE JA KAIVOSTEKNIIKKA OSAAMISALUE Kevät 2016

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

palveluinnovaatiot metropolialueella

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Suunnittelutyökalu kustannusten ja päästöjen laskentaan

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

Transkriptio:

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 sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. tekniikkaa, insinööritaitoa, kurinalaisuutta systemaattisia menetelmiä 1 Software engineering synty-ympäristö 60-luvun ohjelmistokriisi (software crisis) - miten pystytään täyttämään yhä lisääntyvä ohjelmistokysyntä alussa tavoitteita ja toiveita, mutta ei ratkaisuja ongelmiin 2 Harri Laine 1

Software engineering - myöhemmin programming in the small 60-luku 1 toteuttaja pieniä ohjelmia programming in the large 70-luku 1 toteuttaja suuria ohjelmia programming in the many 80-luku monta toteuttajaa suuria ohjelmistoja 3 Software engineering - myöhemmin ryhmätyötä projektin hallintaa integroituja kokonaisuuksia sekä teknistä että yleistä osaamista kommunikointia standardimenetelmiä automaattisia työkaluja käyttäjäläheistä toimintaa, koulutusta ylläpitoa 4 Harri Laine 2

Software engineering - myöhemmin jatkuvien muutosten hallintaa erittäin nopeaa teknologista kehitystä jatkuvaa uudelleenkouluttautumista kustannusten arviointia aikatalujen noudattamista 5 jo muinaiset roomalaiset havaitsivat ohjelmistojen koon ja monimutkaisuuden jatkuva kasvu yhä vaikeampia ongelmia ratkaistaan tieto- ja ohjelmistoteknisin keinoin esim. Windows 95 noin 11 milj. riviä koodia esim. Nokian DX200 -puhelinkeskus 12 milj. riviä 6 Harri Laine 3

tuotantoprosessin määrittely ja mittaaminen mitä ei voi mitata, sitä ei voi hallita vertailukohteina talon- tai sillanrakennus mitä jos autoja tehtäisiin kuin ohjelmia? liikaa taidetta, liian vähän raakaa työtä tuotteen määrittely asiakas ei tiedä mitä haluaa tieteellisten menetelmien puute 7 tuotteen laadun ja toimivuuden varmistaminen formaali määrittely vaikeaa täysin kattava testaaminen mahdotonta ei toleransseja jälkitöiden raskaus ylläpitokustannukset usein huomattavasti suuremmat kuin tuotteen kehityskustannukset etukäteisarviointi projektin vaatiman työmäärän arviointi onnistuu liian harvoin teorian puuttuminen 8 Harri Laine 4

standardiosien puute vain pieni osa (10-20%) kirjoitettavasta koodista on todella uutta, kaikki muu on joskus jossain kirjoitettu ohjelmistokomponenttien kauppa ja kirjastot tieteellisen pohjan puuttuminen matematiikka? fysiikka? biologia? humanistiset tieteen? 9 tieteellisen tutkimustyön ja käytännön tuotantotyön välinen kuilu usein: tieteellinen tutkimusongelma käytännön ongelma tieteelliset tulokset usein tarkasti yhteen tiettyyn, pienehköön ongelmaan sopivia yrityksissä ei tunneta tieteellisiä tutkimustuloksia yritysten ratkaisut liian teknologiakeskeisiä yritykset eivät pitkäjännitteisesti ratko ohjelmistotuotannon perusongelmia 10 Harri Laine 5

Käsitteitä Ohjelma * tekijänä yksi henkilö * henkilökohtaiseen käyttöön * kustannukset helppo arvioida kustannus n yksikköä Ohjelmistojärjestelmä * useita yhteenliittyviä ohjelmia * rajapintoja * useita tekijöitä kustannukset: 5*n yksikköä Ohjelmatuote * laajaan käyttöön * yleispätevä * dokumentoitu * ylläpidettävä * ryhmätyön tulos kustannukset: 5*n yksikköä 11 Käsitteitä Ohjelma * tekijänä yksi henkilö * henkilökohtaiseen käyttöön * kustannukset helppo arvioida kustannus n yksikköä Ohjelmatuote * laajaan käyttöön * yleispätevä * dokumentoitu * ylläpidettävä * ryhmätyön tulos kustannukset: 5*n yksikköä Ohjelmistojärjestelmä * useita yhteenliittyviä ohjelmia * rajapintoja * useita tekijöitä kustannukset: 5*n yksikköä Ohjelmistotuote kustannukset: 25*n yksikköä 12 Harri Laine 6

ACM CR-luokitus: D.2 SOFTWARE ENGINEERING D.2.0 GENERAL D.2.1 REQUIREMENTS/SPECIFICATIONS D.2.2 TOOLS AND TECHNIQUES D.2.3 CODING D.2.4 PROGRAM VERIFICATION D.2.5 TESTING AND DEBUGGING D.2.6 PROGRAMMING ENVIRONMENTS D.2.7 DISTRIBUTION AND MAINTENANCE 13 ACM CR-luokitus: D.2 SOFTWARE ENGINEERING D.2.8 METRICS D.2.9 MANAGEMENT D.2.10 DESIGN D.2.M MISCELLANEOUS 14 Harri Laine 7

Teollisen ohjelmistotuotannon ongelmia ESPITI-kyselytutkimukset C.Jones: Our Worst Current Development Practices, IEEE Software, March 1996, 102-104 Vaatimusten hallinta: mitä on tarkoitus tuottaa? Vaatimusten määrittely yksikäsitteisesti Dokumentointi Testaus ja sen halllinta Projektinhallinta: aikataulut, resurssit, henkilöt Standardien puute Suunnittelun huono laatu Historiallisen mittatiedon vähyys: mitä tuli tehdyksi ja miten Sitoutuminen epärealistisiin aikatauluihin Riskien hallinta: mitä jos jokin menee pieleen? 15 Harri Laine 8