Johdatus(ta) ohjelmistotekniikkaan 2006

Samankaltaiset tiedostot
Johdatus(ta) ohjelmistotekniikkaan 2005

Johdatus(ta) ohjelmistotekniikkaan 2009

Johdatus ohjelmistotekniikkaan siitä se lähtee

Software engineering

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

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

Mitä on ohjelmistotuotanto?

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

ITK130 Johdatus ohjelmistotekniikkaan

Capacity Utilization

Helsinki Metropolitan Area Council

Teknologinen muutos ja yliopistojen tulevaisuus. Tievie-seminaari Helsinki Antti Auer

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

Efficiency change over time

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

7.4 Variability management

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Euromaat kehittyvät epäyhtenäisesti / Euro Countries Are Developing Unevenly

Kaivostoiminnan eri vaiheiden kumulatiivisten vaikutusten huomioimisen kehittäminen suomalaisessa luonnonsuojelulainsäädännössä

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

HITSAUKSEN TUOTTAVUUSRATKAISUT

TU-C2030 Operations Management Project. Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä

Strategiset kyvykkyydet kilpailukyvyn mahdollistajana Autokaupassa Paula Kilpinen, KTT, Tutkija, Aalto Biz Head of Solutions and Impact, Aalto EE

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

CIO muutosjohtajana yli organisaatiorajojen

7. Product-line architectures

Ostamisen muutos muutti myynnin. Technopolis Business Breakfast

SOA SIG SOA Tuotetoimittajan näkökulma

A new model of regional development work in habilitation of children - Good habilitation in functional networks

ProAgria. Opportunities For Success

Keskeisiä näkökulmia RCE-verkoston rakentamisessa Central viewpoints to consider when constructing RCE

FROM VISION TO CRITERIA: PLANNING SUSTAINABLE TOURISM DESTINATIONS Case Ylläs Lapland

RANTALA SARI: Sairaanhoitajan eettisten ohjeiden tunnettavuus ja niiden käyttö hoitotyön tukena sisätautien vuodeosastolla

Osaamisen ennakoinnin viitekehys

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

ATLAS-kartan esittely - Peli palveluiden yhteiskehittämisen menetelmistä Päivi Pöyry-Lassila, Aalto-yliopisto

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

1. Johdanto. Ohjelmistotuotannon ongelmia

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

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Constructive Alignment in Specialisation Studies in Industrial Pharmacy in Finland

HARJOITUS- PAKETTI A

Tietotekniikan koulutus ammattikorkeakouluissa 2012 Uudellamaalla

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

Teacher's Professional Role in the Finnish Education System Katriina Maaranen Ph.D. Faculty of Educational Sciences University of Helsinki, Finland

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?

Skene. Games Refueled. Muokkaa perustyyl. for Health, Kuopio

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

Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?

Teollinen Internet & Digitalisaatio 2015

Visualisoinnin aamu 16.4 Tiedon visualisointi. Ari Suominen Tuote- ja ratkaisupäällikkö Microsoft

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

LYTH-CONS CONSISTENCY TRANSMITTER

The CCR Model and Production Correspondence

Millaisia mahdollisuuksia kyberturva tarjoaa ja kenelle? Ja mitä on saatu aikaan?

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing Jan Nyman,

Further information on the Technology Industry

CASE POSTI: KEHITYKSEN KÄRJESSÄ TALOUDEN SUUNNITTELUSSA KETTERÄSTI PALA KERRALLAAN

Aalto Service Factory

Standardit IEC (perustandardi) ja IEC (prosessit)

Information on preparing Presentation

Export Demand for Technology Industry in Finland Will Grow by 2.0% in 2016 GDP growth 2016/2015, %

Industry known for competence & ability to solve complex engineering challenges

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia

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

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

The role of 3dr sector in rural -community based- tourism - potentials, challenges

Onnistunut ohjelmistoprojekti

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Lataa Legislating the blind spot - Nikolas Sellheim. Lataa

Tutkittua tietoa. Tutkittua tietoa 1

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

Esikaupallisesti ratkaisu ongelmaan. Timo Valli 58. ebusiness Forum

Esitykset jaetaan tilaisuuden jälkeen, saat linkin sähköpostiisi. Toivottavasti vastaat myös muutamaan kysymykseen tapahtumasta Have a lot of fun!

Käyttäjäkeskeisen suunnittelun periaatteet ja prosessit

Sosiaalisen median liiketoimintamallit ja käyttöön oton suunnitelma 9/23/2012

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

BIMin mahdollisuudet hukan poistossa ja arvonluonnissa LCIFIN Vuosiseminaari

Expression of interest

Teollisuustuotanto. Industrial Production. Kehittyvät maat / Emerging countries. Maailma / World. Kehittyneet maat / Advanced countries.

Collaborative & Co-Creative Design in the Semogen -projects

Tilannekuvajärjestelmät, kokemuksia Ubicasting workshop Marko Hautakangas Insta DefSec Oy

Other approaches to restrict multipliers

Results on the new polydrug use questions in the Finnish TDI data

Tarua vai totta: sähkön vähittäismarkkina ei toimi? Satu Viljainen Professori, sähkömarkkinat

Cloud, Convergence, Ubiquity ja muita uudissanoja - ICT toimialan näkymät 2011

Copernicus, Sentinels, Finland. Erja Ämmälahti Tekes,

PARHAAT KÄYTÄNNÖT KÄYTÄNNÖSSÄ JAPANI EGLO vuosiseminaari

Projektityö

UX NÄKÖKULMA - KONECRANES

WP3 Decision Support Technologies

Johdantoluento. Ohjelmien ylläpito

Transkriptio:

Johdatus(ta) ohjelmistotekniikkaan 2006 Tommi Kärkkäinen Jyväskylän yliopisto tietotekniikan laitos 1 Agendaa 1. IT:n kehitystrendeistä 2. Ohjelmista 3. Ohjelmien kehittämisestä 4. Ohjelmistotekniikasta 2

1. Trendeistä (I) ICTs (Information and Communication Technology) play an increasingly important role in the economy. ICTs account for a large share of investment and contribute significantly to output and productivity growth. Despite current cyclical difficulties, trend growth of the ICT sector remains strong. (huom: johtopäätökset hyvästä koulutusalasta) The ICT sector is highly globalised in an increasingly globalised world economy. The focus of international investment is shifting from manufacturing towards services. Software is one of the most rapidly growing and evolving sectors in OECD countries. Strong growth in the software sector is due to its increasingly crucial role in the ICT sector and the economy. Software that underpins network integration, interconnection and compatibility will be essential and software-related patenting is increasing rapidly. Trade in software is dynamic but difficult to measure. E-commerce is growing, but is still in its infancy, especially among consumers. (huom: lyhyen aikavälin muutokset yliarvioidaan ja pitkän aikavälin aliarvioidaan) The demand for ICT skills continues to grow, creating concerns about possible labour shortages and gaps in worker skills. Governements, firms and educational institutions in OECD countries are taking measures to meet changing skill demands in the IT workforce. New computing potential and communication channels are being developed and are proliferating. OECD Information Technology Outlook: ICTs and the Information Economy, 2002 3 Trendeistä (II) JOT OPM, 2006 Avainteknologiat ja tulevaisuus - Yhteiskunnallisia tarkasteluja nousevien teknologioiden ja kvalifikaatioiden yhteyksistä, 2003 4

Trendeistä (III) Tulevaisuusammatteja: 1. Keinoelinten suunnittelija 2. Tekoälyn konsultti 3. Bioelektroniikan suunnittelija 4. Bioinformaatikko 5. Hypekonsultti 6. Kyberluokittelija 7. Geeniterapiakonsultti 8. Geoinformaatikko 9. Nanoteknologiakonsultti 10. Yksinkertaistusasiantuntija 11. Älytalojen suunnittelija 12. Sosiaalisten verkostojen analyytikko 13. Virtuaalilääkäri 14. Visualisoinnin asiantuntija 15. Web-puutarhuri IT:stä tulee keskeinen osa perusinfrastruktuuria jokaisella elämänalueella IT-ammattilaisia tarvitaan enenevässä määrin jokaisella elämänalueella (huom: lista muodostettu nykyisten trendien pohjalta tämän hetken asiantuntijoiden toimesta eli kriittisyyttä mm. täsmällisiin ammattinimikkeisiin) JOT OPM, 2006 Avainteknologiat ja tulevaisuus - Yhteiskunnallisia tarkasteluja nousevien teknologioiden ja kvalifikaatioiden yhteyksistä, 2003 5 Trendeistä (IV): yhteenvetoa IT/OT:llä keskeinen rooli yhteiskuntakehityksessä meillä ja muualla uudet alat, ammatit, työtehtävät ym. perustuvat uusiin ohjelmistoihin, jotka ovat osa uusia, entistä laajempia tieto- ja informaatiojärjestelmiä Internetin rooli välitys-, jakelu- ja markkinointikanavana kasvaa; hajautettujen, tietoturvallisten ja kaikkialla läsnä olevien sovellusten määrä lisääntyy tietoa täytyy hallita ja muokata älykkäästi sekä tarjota sitä jalostuneessa muodossa, jalostuneina palveluina käyttäjien jokapäiväisten rutiinien helpottamiseksi ja päätöksenteon tueksi tarve ja kysyntä monimutkaisille ohjelmistoille kasvaa taatusti Huom: Ohjelmistoihin ja niiden kehitykseen liittyviä työ- ja liiketoimintamahdollisuuksia yksittäisestä kehittäjästä, konsultista ja kouluttajasta esim. yli 100.000:n työntekijän yrityksen teknologiajohtajaksi yllin kyllin Avoin ja vapaa ohjelmistokehitys (mm. muuttaa (liike)toiminta- ja oppimismalleja ja -mahdollisuuksia ) 6

2. Ohjelmista Mainitse jokin sovellus/ohjelma. Onko se sinusta hyvä vai huono Miksi Google Skype 7 3. Ohjelmien kehittämisestä: oikeat ohjelmistot oikeille käyttäjille oikeisiin ympäristöihin Liiketoimintaprosessit Työprosessit EMV (Ympäristö) KONTEKSTI BMV (Toiminta) UMV (Käyttäjä) SMV (Rakenne) Ohjelmisto(t) IMV (Toteutus) (muok. Pressman, Software Engineering Practitioner s Approach, 2000. Alkup. idea Äyrämön Samin) 8

OK (II): Ongelmanratkaisuanalogia 1. Mikä ongelma halutaan ratkaista (perus(käyttö)tarkoitus) 2. Miten ratkaistava ongelma jakaantuu osaongelmiin (vaatimukset) 3. Miten osaongelmat ratkaistaan (suunnittelu ja toteutus) 4. Mikä saadaan alkuperäisen ongelman ratkaisuksi (osien kokoaminen) Potentiaalinen uudelleenkäyttö Perinteinen uudelleenkäyttö 9 OK (III): Ohjelmistoprojekti / 10

OK (IV): Kaaoshan siitä saattaa syntyä 1995 1999 Glimps of 2004: q3-spotlight.pdf IT executive manager surveys (so-called Chaos reports), The Standish Group 11 OK (V): Rooleja ja näkökulmia Käyttäjä Sovellusalue Liiketoiminta Ylläpito Asiakas Vaatimukset Manageri Suunnittelu Testaus Teknologia Toteutus (Liike)toimintamalli Tekniikka Kehittäjä 12

OK (VI): Laadun kriteerejä (ja näkökulmia) Boehm, Brown, and Lipow: Quantitative Evaluation of Software Quality, IEEE Software, 1977 13 4. Ohjelmistotekniikasta Termi (software engineering, SE) (ja ala) juontaa juurensa 1968 järjestettyyn NATO-konferenssiin, jossa ohjelmistotuotannon todettiin olevan kriisissä laajojen ohjelmistojen tuottaminen oli vaikeaa, ne olivat pullollaan virheitä, niiden toimitusajat venyivät ja valmistuskustannukset karkasivat käsistä. (vrt. Kaaos-raportteihin) Kuten SE:n historiaa käsitelleen seminaarin http://www.dagstuhl.de/9635/ johdannossa sanotaan: In August 1996 about a dozen historians met with about a dozen computer scientists to discuss the history of software engineering. The term software engineering has been deliberately chosen as being provocative at the 1968 NATO Conference on Software Engineering. This notion was meant to imply that software manufacture should be based on the types of theoretical foundations and practical disciplines that are established in the traditional branches of engineering. This need was motivated by the so-called software crisis. Ever since, the debate whether such a crisis exists has continued within the software engineering community. It is a crucial question, because if the answer is yes, software engineering may not be called an engineering discipline yet. If the answer were no, the question would be, what is it that constitutes this discipline. Ammattinimike Software Engineer ja Software Engineering tieteen- ja tutkimusalana ovat eri asioita Termi ISD (Information System Development, Tietojärjestelmien kehittämismenetelmät) sotkeutuu ohjelmistokehitykseen&-prosesseihin historiallisista syistä, vaikka TJ-elinkaariprosessi (ja siten toiminnan fokus) on nykykäsityksen mukaan ylemmällä abstraktiotasolla: Planning, Development (SE process; Requirements as glue), Deployment, and Evolution Esim. ylläpidosta puhuttaessa eri abstraktiotasot menevät usein sekaisin (Haikala, Märijärvi) Ohjelmistokehityksellä ei ole vakaata teoriapohjaa (toisin kuin OS, PL, DS&AL ym. teknisissä jutuissa), vaan käsitykset laadukkaasta toiminnasta perustuvat käytännön kokemuksiin (konteksti) 14

Ohjelmistotekniikasta (II) SE:tä on (tieteenalana) määritelty vuosien kuluessa monella tavalla: The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines (Bauer, 1972) Software Engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems (CMU/SEI-90-TR-003, 1990) Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software (IEEE Standard Glossary for Software Engineering Terminology, 1990) SE applies computer science to practical problems (Robert L. Glass, IEEE Software, 2003) ACM&IEEE Joint Task force on Computing Curricula: Software Engineering 2004 Curriculum Guidelines 15 Ohjelmistotekniikasta (III) ~tietotekniikka Electrical Engineering Computer Engineering Computer Science Software Engineering Information Technology Information Systems ACM, AIS, IEEE-CS: Computing Curricula 2005 - The Overview Report 16

Ohjelmistotekniikasta (IV): yhteenvetoa monien kehitysvaiheiden tuloksena, jättiläisten harteilla ; kts. esim. http://www.sdm.de/en/it-wissen/themen/sdmkonf-2001/index.html Brooks (1987) ``No silver bullet: Essence and accidents of software engineering' on vaikeaa (ellei mahdotonta) luoda kaiken ratkaisevia ohjelmistokehitystekniikoita sillan- ja talonrakennus(insinööri)tieteisiin nähden edelleen suuria eroja, erityisesti kvantisoinnissa mutta meillähän kaikki on tietokoneella alusta loppuun (näyttävien) ohjelmien tekeminen nykyvälineillä liian helppoa liikenteessä vaikka minkälaisia ohjelmistoja ohjelmistokehitys- ja suoritusympäristön kokonaisvaltainen ymmärtäminen (ihmiset, softat ja raudat) ja jäsentäminen vaativa homma Ydinosatako ohjelmoida ja/vai ohjelmointikieltä ja/vai uusinta sovelluskehitintä ja/vai palveluorientoituneita arkkitehtuureja ja/vai laadunhallintajärjestelmiä ja/vai projektinhallintalakanan käyttöä ja/vai Joo, kaikkea pitää osata (tai oikeastaan riittää osata oppia ja tajuta), mutta silti yhtä tärkeää onnistuneen ohjelmistokehityksen varmistamiseksi on tietää kuka tekee, mitä tekee, miksi tekee, miten tekee ja milloin tekee kehityksen organisointi ja prosessimallit väline- ei itseisarvona 17 Eka viikon luentotehtävä: Etsi IEEE:n standardit (yliopiston verkosta käsin), sieltä IEEE Standard Glossary of Software Engineering Terminology 1990 ja kuvaa sen avulla seuraavat termit suomeksi omin sanoin: - application software - incremental development - maintainability - modularity - performance requirement - portability - test case - traceability - validation - verification - verification and validation Unified Process ohjelmistoprosessiin liittyen etsi kuvaukset seuraaville käsitteille: use case driven architecture-centric iterative and incremental Vastausformaatti: tekstitiedosto, jonka muotoilu [engl.termi] [suom.termi] <vapaamuotoinen selitys suomeksi> Palautus: Tiedoston URI Korppiin 18