Ohjelmistotehtaat. Helsingin yliopisto Tietojenkäsittelytieteen laitos SOSE seminaari esitelmä Matti Husu

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistotehtaat. Helsingin yliopisto Tietojenkäsittelytieteen laitos SOSE seminaari esitelmä Matti Husu"

Transkriptio

1 Ohjelmistotehtaat Helsingin yliopisto Tietojenkäsittelytieteen laitos SOSE seminaari esitelmä Matti Husu

2 Ohjelmistotehtaat Software Factories Ei aivan uusi termi, vaikka Microsoft ottanut nyt käyttöön To enhance programmer productivity through standardized tools, a computer-based interface, and a database with historical data for financial and management controls. [Bemer69] Systematic reusability of code when developing new programs. [McIlroy69] The term Software Factory has been used to describe large commercial efforts to automate software development along similar lines, suggesting a commitment to long-term integrated efforts to optimize software development methods and practices over the course of multiple projects. [Aaen97]

3 Ohjelmistotehtaat Microsoftin lanseeraamana asia on uusi, mutta sisältää vähän kokonaan uutta Kokelma jo käytössä olevia tekniikoita/tapoja usein pienillä muutoksilla Kokoaminen (assembly) komponenteista ja palveluista Mallinteet (patterns) Mallit Kehykset (frameworks) Tuoteperheet Päätavoitteena uudelleenkäytöllä, automatisoinnilla ja abstraktiotason nostolla saavuttaa parempi ohjelmistotuotantoprosessi ja alan teollistaminen

4 Ohjelmistotehtaat Ajatuksena ottaa mallia muista, tavallisista teollisuuden aloista Esim. Elektroniikkateollisuus suurelta osalta kokoaa tuotteet valmiista komponenteista Ohjelmistoteollisuutta kuvaavat keskiarvo luvut (USA) vähintäänkin huolestuttavia [Standish Group] 16% ohjelmistoprojekteista ajassa ja budjetissa 31% perutaan kokonaan laatuongelmien takia Budjetit ylitetään 189%:lla Valmiissa projekteissa vain 42% suunnitelluista piirteistä

5 Yhä monimutkaisempia ja suurempia ohjelmistoja Maailmanlaajuinen tarve ohjemistoille vain kasvaa Yhä suurempia kokonaisuuksia ja monimutkaisempia järjestelmiä Tämänhetkiset menetelmät ei pysy kyydissä Menetelmät, työkalut ja osaavat ihmiset rajoitteina Käsin rakentaminen tyhjästä työtä vaativilla menetelmillä Tuottavuus ja laatu kaavaneet vain marginaalisesti kymmenessä vuodessa

6 Ongelmat nykyisessä ohjelmistokehityksessä Ohjelmistojen kokoaminen valmiista osista kaupallisessa mittakaavassa Eri komponenttialustat eivät yhteensopivia Staattisen kapseloinnin takia komponenttien rajoja vaikea muuttaa Valmiiden komponenttien tarjonta olematonta Siirtyminen 3:n sukupolven yleisistä kielistä eteenpäin UML sopii dokumentaatioksi, mutta ei MDD:hen tai suorittamiseen Koodin generointi, round trip engineering malleista toisiin siirryttäessä Saman tuotteen useiden eri mallien yhteensopimattomuus (näkökulmat) Järjestelmällinen uudelleenkäyttö kaupallisessa mittakaavassa Useimmat tuotteet tehdään yksittäisinä Uudelleenkäyttö lähinnä copy+pastea / sattumanvaraista Ei menetelmiä uudelleenkäytettävien osien löytämiseen Aikatalut ja budjetit ylitetään Formaalit menetelmät tarkoitettu monimutkaisuuden, ei muutoksen hallintaan Ketterät metodit tarkoitettu muutoksen, ei monimutkaisuuden hallintaan

7 Krooniset ongelmat 1 Monoliittinen rakenne Ei koota olemassaolevista komponeneista Objektit liian hienojakoisia ja kontekstiriippuvia kokoamiseen Alustariippuvat protokollat Tämänhetkiset kokoamisteknologiat vaikeuttavat eri alustojen komponettien tai jopa eri versioiden komponenttien kokoamista Heikko pakkaus Pakkausteknologiat eivät sisällä tarpeeksi tietoa komponettien ominaisuuksista eivätkä niiden yhteistoiminnasta kootussa ohjelmistossa. Innokas kapselointi Komponenttien rajoja vaikea muuttaa NIH (Not Invented Here) Epäluottamus kaikkeen ulkopuolella tehtyyn. Kehittäjät poikkeuksetta aliarvioivat oman komponentin toteustus, testaus ja ylläpito sekä parannuskulut.

8 Krooniset ongelmat 2 Perusteeton yleisyys abstraktiotason nostossa Yleisiä 3n: sukupolven kieliä (3GL),kuten C# ja Java, ei välttämättä tarvita koko tuotteen kehittämiseen Suurin osa pystytään tekemään paremmin rajoitetuilla konfigurointimenetelmillä Ongelmia M odel Yleiset, heikot mallintamiskielet, kuten UML, eivät tue toteutusta eikä CBD:tä Heikko koodingeneroinnin tuki (CASE) Generated Application Code Heikko tuki eri työkalujen metadatan yhdistämiseen Platf orm Frameworks Platf orm Platf orm

9 Krooniset ongelmat 3 Yksittäinen kehittäminen Vaikka useissa ohjelmissa on yleensä enemmän yhteisiä kuin eroavia piirteitä, projekteja yleensä käsitellään uniikkeina. Prosessin kypsymättömyys Vain harvat kehittävät ohjelmistoja joiden budjetit ja aikataulut pitävät Yritetään hallita joko monimutkaisuutta tai muutostarvetta Liiallinen muodollisuus Ei aina tarvetta kaiken kuvaavalle ja säätelevälle raskaalle prosessille Liiallinen vapaus Vapaamuotoinen prosessi tukee ketteryyttä, muutoksen hallintaa

10 Kriittiset innovaatiot Systemaattinen uudelleenkäyttö Kehitys kokoamalla Mallipohjainen kehitys

11 Komponentit Komponentti Itsenäisesti toimiva kokonaisuus, voidaan käyttää kolmannen osapuolen taholta yksikkönä koostamaan uusia komponentteja Tarjotut ja vaaditut rajapinnat Alustariippuva, esim. CORBA, COM Ohjelmointikielen objektia käsitteellisesti isompi kokonaisuus Järjestelmän komponentit voivat olla eri suoritusymäristöissä

12 Palvelut Palvelu Käsitteellisesti yleensä isompi kuin komponentti. Business maailmassa toteuttaa yhden business prosessin tai konseptin. Esim. Tilausten hallinta Voidaan toteuttaa komponenteilla tai suoraan millä tahansa ohjelmointikielellä (OO, proseduraalinen) Alustariippumaton Asynkroninen kommunikointi Lähtevien ja saapuvien viestien järjestykset tiukasti määritelty Velvoitteet kuvattu SLA:ssa (Service Level Agreement)

13 Systemaattinen uudelleenkäyttö Tuoteperheet, joissa samoja piirteitä, tuotetaan ohjelmisto tuotelinjalla (software product line) Tuotelinja kehitys Tuotelinjan kehittäjät valmistavat uudelleenkäytettäviä tuotantohyödykkeitä, joita tuotteen kehittäjät käytävät tuotteen kehityksessä Erona yksittäiseen kehitykseen: Suunnittelun pitkäjänteisyys Kaksi eri yhteenliityvää prosessia Organisaatio rakenne tuottaa Tuotanto hyödykkeet käyttää Tuotekehitys käyttää Vaatimukset Palaute tuottaa Tuotteet tuottaa

14 Kehitys kokoamalla Oikeasti alustariippumattomat protokollat kuten Web Services Itsensä kuvaaminen sopimuksilla (contracts) ja sertifikaateilla Myöhäinen kapselointi Arkitehtuurilähtöinen kehitys Orkesterointi/organisointi-kokoaminen

15 Abstraktiotason nostaminen Helpottaa suunittelua ja tuo sen suuremman joukon piiriin Komponenttien konfigurointi, muokkaus ja kokoaminen Mallineen (pattern) tunnistaminen komponettien kokoamisessa Kehyksien, jotka toteuttaa mallineita, rakentaminen Aiheuttaa kuilun alustan ja abstraktion väliin Mallien (model) käyttö kehyksen automaattiseen täydentämiseen

16 Kuilu mallin ja alustan välillä Model Model Application Generated Code Platform Frameworks Platform (a) Application Generated Code Domain Framework Specific Pattern Framework Language Platform Frameworks Platform (c) Model Model Application Generated Code Platform Platform Frameworks (b) Application Generated Code Platform Platform Frameworks (d) Lähde: Software factories, copyright Jack Greenfield, Keith Short

17 Mallipohjainen kehitys Model Driven Development (MDD) Työskentely eri abstraktiotasoilla Vähentää monimutkaisuutta Lisää ketteryyttä (agility) Tuotteen pitäikäisyys Kielipohjaiset abstraktiot Voidaan käyttää työkaluilla automaattiseen jalostukseen (refinement) Metadatan generointi->automatisointi Olemassa jo tiettyyn tarkoitukseen olevia kieliä kuten BPEL Uusien kielien kehittäminen ei välttämättä helppoa

18 Mallipohjainen kehitys Mallit sisältävät prosessoitavissa olevaa tietoa Suunnittelijan alkuper. aikomus ongelma-alasta mahdollisimman tarkasti Kehitykseen liittyvien toimintojen täydellinen tai osittainen automatisointi Tuotoksista toisia kuten käyttöliittymämalleista testihaarniskoita Adaptereja, kuten WS- kääreitä, automaattisesti eri toteutusteknologioiden välille Mallin, jonka tuotokset sisältävät sijoitettavan yksikön, automaattinen sijoittaminen

19 Mallipohjainen kehitys Alakohtaiset kielet (DSL) Hyvin tarkennettuja, tiettyyn ongelma-, alusta- tai tehtävä-alaan sopivia formaaleja kieliä Tuo toteutuksen sanaston lähemmäksi insinöörejä, loppukäyttäjiä ja tietyn asian tai alan asiantuntijoita. Tekee ongelman ja ratkaisun helpommaksi ymmärtää ja ylläpitää Kielen tarkoitus tulee olla määritelty eksplisiittisesti Kielen konseptit ja niiden nimet pitää olla helposti ymärrettävissä käyttötarkoituksen tunteville Helposti ymmärrettävä notaatio, joka vastaa kielen käsittelemää alaa Hyvin määritelty kielioppi, joka määrää miten konsepteja käytetään yhdessä Useita hyviä esimerkkejä jo olemassa kuten SQL, käyttöliittymän määrittelykielet ja sännölliset lausekkeet

20 Mallipohjainen kehitys Kehyksien täydentäminen Motivaationa täyttää kuilu abstraktioiden (mallien) ja alustan välillä Pidetään malli ylhäällä, eikä lasketa sitä M odel Generated A pplication Code Domain Framework S pecif ic Pattern Framework Language Platf orm Frameworks Platf orm Mallin vahvat abstraktiot säilyy Laitetaan väliin alaan liittyvä ohjelmistokehys Työkalut generoivat koodin pätkiä tiettyyn DSL:ään perustuvasta mallista täyttämään kehyksen laajennuspisteet Kehyksen ja kielen kehittäminen iso panostus ->tuoteperheet tasoittavat kustannuksia per tuote

21 Mallien muuntaminen Alemman tason DSL eikä kehystä tai mallinekieltä (vrt. aiempi) Progressiiviset transformaatiot mallista toiseen Toimii kuten Java tai C# kääntäjät M odel Generated Code Generated A pplication Code Platf orm Platf orm Frameworks Platf orm

22 Malline-perustaiset muunnokset Automaattisesti Avustettuna Käsin Lähde malli (Source model) Patterns (Mallineet) Kohde malli (Target model)

23 Lähde: Software factories, copyright Jack Greenfield, Keith Short

24 Muunnostyypit Pystymuunnoset ovat jalostusta Vaakamuunnokset joko järjestelemistä delokalisaatiota Vinot muunnokset Yhdistää molempia yllä

25 Prosessikehykset Prosessin kypsyyden keskeinen tekijä on muutoksen ja monimutkaisuuden hallinta Prosessia kannattaa käyttää vain jos siitä on hyötyä! Tuoteperheissä hyöty helpommin Prosessikehys järjestää mikro-prosesseja, joita käytetään tuotoksien rakentamiseen Tuotoksista (artifacts) valmistetaan tuoteperheiden jäseniä Constrain Based Scheduling (CBS) Aktiivinen opastus (Active guidance)

26 Ohjelmistotehtaat Paradigman tarkoituksena teollistaa ohjelmistotuotanto prosessi Ironisesti muun teollisuuden prosesseja ohjaa ohjelmistot!

27 Ohjelmisto tehdas A software factory is a software product line that configures extensible tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework based components. Ohjelmistotehdas-skeema (schema) Ohjelmistotehdas-kaavain (template) Laajennettavasta kehitysympäristöstä kuten Visual Studio 2005 tai IBM WebSphere tulee tehdas tuotteen kehittämiseen

28 Product Line Engineering Product Line Analysis Product Line Definition Problem Domain Modeling Solution Domain Modeling Product Engineering Product Line Design Product Configuration Product Architecture Infrastructure Architecture Architecture Feature Mapping Software Schema Extensible Tools Product Line Implementation Asset Provisioning Asset Packaging Variable Variable Assets Assets Customized Tools Product Development Fixed Fixed Assets Assets Lähde: Software factories, copyright Jack Greenfield, Keith Short

29 Economies of scale & scope Reuse here Single design Initial use here Few prototypes Many copies Scale: Yhden suunnittelun useita instanseja tuotetaan yhdessä (vrt. Kone tekee ruuvimeisselin kopioita) Production assets Scope:Useista hieman poikkeavista suunnitteluista tuotetaan instansseja yhdessä. (vrt.tehdas tuottaa automalleja,joissa sama kori, mutta esim. eri moottori ja vaihteisto.) Initial use here Reuse here Multiple designs Production assets Few prototypes Many copies

30 Ohjelmistotehdas-skeema Rakenne kehitys-tuotoksille (development artifacts) XML dokumentit, mallit, buildaus skriptit, konfiguraatio-tiedostot, lähdekoodi tiedostot, SQL tiedostot, lokalisointitieostot, testitapaukset (test cases) Organisoidaan ja kategorisoidaan Yhteenvedot Tuotoksien väliset yhteydet Voidaan kuvata taulukkona Rivit kuvaavat abstraktiotasoa Sarakkeet kuvaavat osa-alueita (concerns) Solu kuvaa näkökulmaa, jonka avulla voidaan rakentaa joku ohjelmiston aspekti

31 Business Information Application Technology Conceptual Use Cases And Scenarios Business Goals And Objectives Business Entities And Relationships Business Processes Service Factoring Service Distribution Quality Of Service Strategy Logical Physical Workflow Models Role Definitions Process Specification Message Schemas And Document Specifications Database Schemas Data Access Strategy Service Interactions Service Definitions Object Models Detailed Design Technology Dependent Design Logical Server Types Service Mappings Physical Servers Software Installed Network Layout Lähde: Software factories, copyright Jack Greenfield, Keith Short

32 Ohjelmistotehdas-skeema Solujen välisien ja sisäisien funktioiden (mappings) avulla voidaan automatisoida: Mallimuunnoksia Koodin generointia Mallineiden soveltamista Testi- haarniskoiden tuottamista Käyttöliittymä komponenttien sijoittelua Tietokanta skeemojen suunnittelua

33 Ohjelmistotehdas skeema Taulukko on itse asiassa malli skeeman visuaalista esittämistä varten. Oikeasti skeema on suunnattu verkko. Solmut näkökulmia Nuolet ovat laskettavissa olevia suhteita, funktioita Näin taulukon ei-vierekkäisille näkökulmille voidaan määritellä muunnos-funktio. Kaikki näkökulmat eivät myöskään sovi täydellisesti rivi ja sarake määrittelyihin Siten skeema kuvastaa enemmän ohjelmisto arkkitehtuuria

34 Abs traction & Refinement Abs traction & Refinement Abs traction & Refinement Functional C onfig uration B us ines s Proces s es Utility Portal S ervices S ervices Bus ines s B us ines s Proces s S ervices Entity S ervices Product Architecture Non-functional C onfig uration B us ines s Entities REQUIREMENTS ARCHITECTURE EXECUTION ARCHITECTURE CRM DEPLOY. UNIT TRANS FORMATION / RECONCILIATION CONS TRAINTS TRANS FORMATION / RECONCILIATION es ales DEPLOY. UNIT EXECUTAB LE ARTIFACTS Logical S erver Types Hos t S oftware S ettings INFRAS TRUCTURE ARCHITECTURE DEPLOYMENT Abs traction & Refinement MAP TO HARD- WARE PHYS ICAL DATACENTER Lähde: Software factories, copyright Jack Greenfield, Keith Short

35 Ohjelmistotehdas-skeema Functional C onfiguration Non-functional C onfiguration Abs traction & Refinement Business Processes Business E ntities REQUIREMENTS ARCHITECTURE TRANS FORMATION / RECONCILIATION Utility S ervices Portal S ervices Logical S erver Types Abs traction & Refinement Business Process S ervices Business E ntity S ervices P roduct Architecture EXECUTION ARCHITECTURE CONS TR AINTS Host S oftware S ettings INFRAS TRUCTURE ARCHITECTURE Abs traction & Refinement

36 Ohjelmistotehdas-skeema Utility S ervices Portal S ervices Logical S erver Types Abs traction & Refinement Bus ines s Proces s S ervices Product Architecture EXECUTION ARCHITECTURE B us ines s Entity S ervices CONS TRAINTS Hos t S oftware S ettings INFRAS TRUCTURE ARCHITECTURE Abs traction & Refinement TRANS FORMATION / RECONCILIATION MAP TO HARDWARE Abs traction & Refinement DB Schemas Config Files Classes Other artifacts XML Schemas CRM DEPLOY. UNIT Package definitions Frameworks Components EXECUTAB LE ARTIFACTS DB Schemas Config Files Classes XML Schemas Other artifacts Package definitions es ales DEPLOY. UNIT Components Frameworks DE PLOYMENT PHYS ICAL DATACENTER

37 Ohjelmistotehdas-kaavain (template) Skeema vain kuvaa hyödykkeet, joita tuoteperheen jäsenien tekemiseen tarvitaan Myös itse hyödykkeet tarvitaan DSL:t, mallineet, kehykset, kuvatut työkalut ym. Hyödykkeet muodostavat kaavaimen Sisältää koodia ja metadataa jotka voidaan ladata työkaluun, kuten kehitysympäristöön (IDE, Interactive Development, Environment) Pitää konfiguroida tietylle perheen jäsenelle

38 Tehtaan luominen Luodaan skeema Erikoistapaus kahdesta tuotantolinjan toiminnosta (analyysi ja suunnittelu) Tuotantolinjan analyysi Mitä tuotteita tehdas tuottaa Kuvataan ongelmakenttä mihin tuotteet ratkaisuna Tuotantolinjan vaatimukset Organisoidaan verkon solmuiksi eli näkökulmiksi (viewpoints)

39 Tehtaan luominen (skeema) 2 Tuotantolinjan suunnittelu Miten tuotteita tuotetaan Määritellään perheen arkkitehtuuri (tärkein) Kuten yhden tuotteen tapauksessa, mutta tuetaan vaihtelua perheenjäsenten välillä Organisoidaan verkon solmuiksi eli näkökulmiksi Tuottaa tuotoksia (artifacts) Vaatimusten muuntaminen Verkon kaariksi Tuotteen kehitys prosessi Näkökulmiin liitettyjä mikroprosesseja Suunnitelma työkalujen käytöstä kehitysprosessin osien automatisointiin.

40 Tehtaan luominen Tehdään kaavain (template) Erikoistapaus tuotantolinjan toteutuksesta Muodostaa tuotantolinjan instanssin Pakkaa tuotantohyödykkeet ohjelmistotehtaalle Vaatimushyödykkeet (esim. määritelmäkielet) Toteutushyödykkeet (esim. mallineet, kehykset, komponentit) Prosessihyödykkeet (esim. kehitystyökalut) Testaushyödykkeet(esim. testihaarniskat) Sijoitushyödykkeet (esim tuotteen loogisten palvelimien konfiguraatioita)

41 Tehtaan luominen Jatkuva prosessi, jossa kerätään palautetta tuotteiden tekemisestä ja siten tehdasta päivitetään palautteen perusteella Suurin, vaikein ja kallein osuus kielien (DSL) ja automatisointityökalujen kehittäminen Ongelmakentän analyysin tekeminen on myös iso panostus, joka vaatii ongelmakenttään liittyvää tietoutta/näkemystä, joka mahdollisesti ostettava ulkopuolelta

42 Tuotteen luominen tehtaassa Erikoistapaus tuotteen luomisesta käyttäen tuotantolinjaa Ongelma analyysi Voidaanko tuote tehdä ohjelmistotehtaalla Tuotteen määrittely Määrittelee tuotteen vaatimukset eroina tuotelinjan vaatimuksiin Tuotteen suunnittelu Muuntaa vaatimusten erot tuotantolinjan arkkitehtuurin eroiksi ja tuotteen kehitysprosessin eroiksi Tuottaa kustomoidun tuote arkkitehtuurin ja kehitysprosessin

43 Tuotteen luominen tehtaassa Tuotteen toteutus Normaaleja toteutustoimintoja kuten komponenttien koostamista Tuotteen sijoitus (deployment) Palvelinkonfiguraatioita, suoritettavien osien sijoitusta eri palvelimille, reurssien asennusta palvelimille, suoritettavien osien konfigurointia ym. Tuotteen testaus Testaushyödykkeiden, kuten testitapausten, testihaarniskoiden, testidatan ja skriptien luomista sekä uudelleenkäyttöä Mittaustyökalujen soveltamista

44 Esimerkki Aiheen laajuudesta johtuen on esimerkit liian laajoja tähän yhteyteen Web:stä löytyy paljon esimerkkejä, joita voi myös ladata kokeiltavaksi, jos XP Professional,.Net 2.0, Visual Studio 2005, MS SQL Server... ;)

45 Tulevaisuus Lähitulevaisuudessa, seuraavan 10 vuoden aikana, tuskin tullaan näkemään joukko-siirtymistä ohjelmistotehtaiden käyttöön Massiiviset aloituskustannukset Todennäköisesti joutuisi palkkaamaan uutta henkilöstöä, jolla tietotaitoa tai hankkimaan ulkopuolista konsultointia -> kallista Vähän alan osaajia edes lähitulevaisuudessa Todella laaja konsepti Valmiiden DSL:ien hankkiminen ulkopuolelta on vaikeaa Kun komponentit esiteltiin, ennakoitiin valmiiden komponenttien hylly -kauppaa Monet yritykset sinnitteleveät projektista toiseen ja tekevät hyvin vähän prosessiensa eteen

46 Tulevaisuus Kuitenkin jotkut tahot siirtyvät jo lähitulevaisuudessa / ovat siirtyneet osittain Suurin osa menetelmistä eivät uusia ja siten vahvuudet/heikkoudet tiedossa Microsoft ajaa asiaa eteenpäin Konseptissa on järkeä Nämä tienavaajat helpottavat tulevaisuudessa muiden siirtymistä Tehtaan ei tarvitse olla kaiken tekevä ja automatisoiva ihme, vaan voidaan ottaa asteittaisesti käyttöön

SOA SIG SOA Tuotetoimittajan näkökulma

SOA SIG SOA Tuotetoimittajan näkökulma SOA SIG SOA Tuotetoimittajan näkökulma 12.11.2007 Kimmo Kaskikallio IT Architect Sisältö IBM SOA Palveluiden elinkaarimalli IBM Tuotteet elinkaarimallin tukena Palvelukeskeinen arkkitehtuuri (SOA) Eri

Lisätiedot

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

Lisätiedot

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,

Lisätiedot

Hieman lisää malleista ja niiden hyödyntämisestä

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

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri Enterprise Architecture TJTSE25 2009 Yrityksen kokonaisarkkitehtuuri Jukka (Jups) Heikkilä Professor, IS (ebusiness) Faculty of Information Technology University of Jyväskylä e-mail: jups@cc.jyu.fi tel:

Lisätiedot

.NET 2006 ja sen jälkeen

.NET 2006 ja sen jälkeen .NET 2006 ja sen jälkeen Ahti Haukilehto FC Sovelto Oyj Microsoft Regional Director, Finland Superior tools, niin mitkä? Visual Studio Team System Team Foundation Server DSL Tools 2 Visual Studio Team

Lisätiedot

ADM Arkkitehtuuritason automaatio #tdarc

ADM Arkkitehtuuritason automaatio #tdarc ADM Arkkitehtuuritason automaatio #tdarc Kalle Launiala http://abstractiondev.wordpress.com kalle.launiala@citrus.fi Ohjelmistoteollisuus elää murrosta Ohjelmistoteollisuudesta halutaan perusteollisuutta

Lisätiedot

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

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)

Lisätiedot

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

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

Tietojärjestelmän osat

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

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

Lisätiedot

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotteen hallinnasta Ohjelmistotuotteen hallinnasta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Haikala ja Märijärvi, Ohjelmistotuotanto Royce, Software Project Management, A Unified Framework 1 Tavoitteista

Lisätiedot

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

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Uutta Remote Support Platform 3.1 -versiossa

Uutta Remote Support Platform 3.1 -versiossa What's New Asiakirjaversio: 1.0 2014-05-09 Asiakirjaversiot Seuraavassa taulukossa esitellään asiakirjan tärkeimmät muutokset. Versio Pvm Kuvaus 1.0 2014-05-09 Ensimmäinen versio 2 All rights reserved.

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

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,

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Tapahtuipa Testaajalle...

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

Lisätiedot

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

7. Tuoterunkoarkkitehtuurit

7. Tuoterunkoarkkitehtuurit 7. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen Kerrostyyli tuoterunkoarkkitehtuureille Tuoterunkojen etuja ja ongelmia 1 Uudelleenkäytt yttö opportunistinen:

Lisätiedot

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006 1 Introduction 1.1 What is software architecture? 1.2 Why is software architecture important? 1.3 Architecting process 1.4 Architecture-oriented programming 1.5 Conclusions 1 1.1 What is software architecture?

Lisätiedot

Visual Studio T4 Tyhjästä hallittuun generointiin #tddev. Kalle Launiala.

Visual Studio T4 Tyhjästä hallittuun generointiin #tddev. Kalle Launiala. Visual Studio T4 Tyhjästä hallittuun generointiin #tddev Kalle Launiala http://abstractiondev.wordpress.com kalle.launiala@citrus.fi Mikä Visual Studio T4 on? Template-markup tyyppinen koodigeneraattori

Lisätiedot

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua 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ätiedot

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Miten 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ätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

The Enterprise Architecture Journey

The Enterprise Architecture Journey The Enterprise Architecture Journey Aalto IT architecture team Petri Mustajoki IT Architect Aalto-yliopisto on teknisten tieteiden, kauppatieteiden ja taideteollisen alan monialainen tiede- ja taideyhteisö.

Lisätiedot

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara Mitä? Mitä? Yrityksen sisäinen Mitä? Yrityksen sisäinen Alihankinta Mitä? Yrityksen sisäinen Open Source -kehitys Alihankinta

Lisätiedot

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

Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään? Prosessien kehittäminen Prosessien parantaminen Sami Kollanus TJTA330 Ohjelmistotuotanto 21.2.2007 Mitä kehitetään? CMMI, SPICE yms. Miten kehittämishanke saadaan toteutettua? Organisaation kehittämisen

Lisätiedot

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi

Lisätiedot

Ohjelmistotekniikka - Luento 2

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

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS Loppuseminaari 11.12.2018 YIT:n pääkonttori, Helsinki RAIN hankkeen loppuseminaari 11.12.2018 Käyttäjälähtöinen tiedonhallinta (WP 4) Professori Harri Haapasalo OY

Lisätiedot

Domain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen

Domain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen Domain spesifinen mallinnus ja generointi käytännössä Petri Savolainen Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case Muistaako kukaan? o Helppoa o Tuottavaa o Businessongelman ratkomista

Lisätiedot

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus

Lisätiedot

FuturaPlan. Järjestelmävaatimukset

FuturaPlan. Järjestelmävaatimukset FuturaPlan Järjestelmävaatimukset 25.1.2017 2.2 Hermiankatu 8 D tel. +358 3 359 9600 VAT FI05997751 33720 Tampere fax. +358 3 359 9660 www.dbmanager.fi i Versiot Versio Päivämäärä Tekijä Kommentit 1.0

Lisätiedot

Ohjelmistojen mallintaminen

Ohjelmistojen mallintaminen Ohjelmistojen mallintaminen - Mallit - Ohjelmiston kuvaaminen malleilla 31.10.2008 Harri Laine 1 Malli: abstraktio jostain kohteesta Abstrahointi: asian ilmaiseminen tavalla, joka tuo esiin tietystä näkökulmasta

Lisätiedot

Software Factories: Järjestelmien mallinnus Microsoftin välineillä

Software Factories: Järjestelmien mallinnus Microsoftin välineillä Sytyke laivaseminaari 7-9.9.2005 Software Factories: Järjestelmien mallinnus Microsoftin välineillä Aali Alikoski Architect Evangelist, Microsoft Oy aali@microsoft.com blogs.msdn.com/aalialikoski Agenda

Lisätiedot

Software engineering

Software 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ätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

Lisätiedot

Standardi IEC Ohjelmisto

Standardi IEC Ohjelmisto Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,

Lisätiedot

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Avointen ohjelmistojen käyttö ohjelmistokehityksessä Avointen ohjelmistojen käyttö ohjelmistokehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc.,

Lisätiedot

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Teknologia-arkkitehtuurit. Valinta ja mallinnus Teknologia-arkkitehtuurit Valinta ja mallinnus ENTERPRISE ARCHITECTURE - A FRAMEWORK TM DATA What FUNCTION How NETWORK Where PEOPLE Who When MOTIVATION Why T IM E SCOPE (CONTEXTUAL) List of Things Important

Lisätiedot

WP3 Decision Support Technologies

WP3 Decision Support Technologies WP3 Decision Support Technologies 1 WP3 Decision Support Technologies WP Leader: Jarmo Laitinen Proposed budget: 185 000, VTT 100 000, TUT 85 000. WP3 focuses in utilizing decision support technologies

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj SUOMEN KUNTALIITTO Sosiaali- ja terveysyksikkö Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj ~ (operatiiviset-/tiedonjakelu-/si~llönhallinta~velluk~et)

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM 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ätiedot

2. Ohjelmistotuotantoprosessi

2. Ohjelmistotuotantoprosessi 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

Lisätiedot

Rakentamisen 3D-mallit hyötykäyttöön

Rakentamisen 3D-mallit hyötykäyttöön Rakentamisen 3D-mallit hyötykäyttöön 1 BIM mallien tutkimuksen suunnat JAO, Jyväskylä, 22.05.2013 Prof. Jarmo Laitinen, TTY rakentamisen tietotekniikka Jarmo Laitinen 23.5.2013 Jarmo Laitinen 23.5.2013

Lisätiedot

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

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

Lisätiedot

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto

Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto Vaatimusmäärittely- ja hallinta TJTA330 Ohjelmistotuotanto 27.3. Peruskäsitteet Vaatimusten yhteydessä puhutaan yleensä erikseen vaatimusmäärittelystä ja vaatimusten hallinnasta Vaatimusmäärittely on vaatimusten

Lisätiedot

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi

Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Kehyksillä toteuttettujen tuotelinjojen rakenteellinen optimointi Pietu Pohjalainen Geneerinen metaohjelmointi Syksy 2004 Tietojenkäsittelytieteen laitos Helsingin yliopisto Esityksen sisältö Oliopohjaiset

Lisätiedot

MALLIPOHJAINEN KEHITYS OHJELMISTOTUO- TANNON AUTOMATISOINNISSA

MALLIPOHJAINEN KEHITYS OHJELMISTOTUO- TANNON AUTOMATISOINNISSA MALLIPOHJAINEN KEHITYS OHJELMISTOTUO- TANNON AUTOMATISOINNISSA Henning Hendolin Pro gradu -tutkielma Tietojenkäsittelytiede Kuopion yliopiston tietojenkäsittelytieteen laitos Kesäkuu 2008 KUOPION YLIOPISTO,

Lisätiedot

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

CMM Capability Maturity Model. Software Engineering Institute (SEI)   Perustettu vuonna 1984 Carnegie Mellon University CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 13.3. CMM Capability Maturity Model Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti

Lisätiedot

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

CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI) CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 13.3. CMM Capability Maturity Model Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti

Lisätiedot

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

CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto CMM Capability Maturity Model CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 16.1.2007 Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti

Lisätiedot

.NET ajoympäristö. Juha Järvensivu 2007

.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ätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual 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ätiedot

Uutta Remote Support Platform 3.0 -versiossa

Uutta Remote Support Platform 3.0 -versiossa Uutta Remote Support Platform for SAP Business One Asiakirjaversio: 1.0 2012-10-08 Kaikki maat Typografiset merkintätavat Kirjasintyyli Esimerkki Näytöstä lainatut sanat tai merkit. Näitä ovat kenttien

Lisätiedot

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

Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Organisaation prosessikuvaus - CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution

Lisätiedot

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

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

Lisätiedot

1.3 Katsaus ohjelmistotuotannon kehittymiseen

1.3 Katsaus ohjelmistotuotannon kehittymiseen Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta

Lisätiedot

2 Description of Software Architectures

2 Description of Software Architectures 2 Description of Software Architectures 2.1 Significance of architectural descriptions 2.2 Context of architectural descriptions 2.3 Levels of architectural descriptions 2.4 Viewpoints and types in architecture

Lisätiedot

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007

1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi

Lisätiedot

Elinar Oy Ltd IBM Arkistointiratkaisut

Elinar Oy Ltd IBM Arkistointiratkaisut Löydä nautittavat ratkaisut Elinar Oy Ltd IBM Arkistointiratkaisut 16.11.2009 Elinar Oy Ltd Monipuolinen osaaminen: Asiakkaan tarpeen analysointi ja ongelmien tehokas ratkaisu mm. IBM Content tuoteperhe,

Lisätiedot

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

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

Lisätiedot

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy

Käytännön haasteita ja ratkaisuja integraation toteutuksessa. Jukka Jääheimo Teknologiajohtaja Solita Oy Käytännön haasteita ja ratkaisuja integraation toteutuksessa Jukka Jääheimo Teknologiajohtaja Solita Oy 13.03.2008 Sisältö 2 Alustus Integraation haasteet Integraatioarkkitehtuuri Hyvän integraatioarkkitehtuurin

Lisätiedot

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

Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia Aluksi Riskien hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 24.1.2007 Reaktiivinen strategia Indiana Jones -tyyli Ei huolehdita ongelmista ennen kuin ne tapahtuu Proaktiivinen strategia Tunnistetaan

Lisätiedot

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen

Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan

Lisätiedot

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

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1 TietoEnator Pilot Ari Hirvonen Senior Consultant, Ph. D. (Economics) TietoEnator Oyj presentation TietoEnator 2003 Page 1 Sallikaa minun kysyä, mitä tietä minun tulee kulkea? kysyi Liisa. Se riippuu suureksi

Lisätiedot

Vaatimusmäärittely- ja hallinta

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

Lisätiedot

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

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

Lisätiedot

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO

TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen

Lisätiedot

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III KOULUTUSTIEDOTE 1(5) ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III Kuvaus ja tavoite ISEB/ISTQB Foundation Certificate in Software Testing -sertifikaattiin valmentava koulutus (2,5 pv) ja sertifikaattikoe

Lisätiedot

DIPLOMITYÖ ARI KORHONEN

DIPLOMITYÖ ARI KORHONEN DIPLOMITYÖ ARI KORHONEN TEKNILLINEN KORKEAKOULU Diplomityö Tietotekniikan osasto 20.5.1997 Ari Korhonen WORLD WIDE WEB (WWW) TIETORAKENTEIDEN JA ALGORITMIEN TIETOKONEAVUSTEISESSA OPETUKSESSA Työn valvoja

Lisätiedot

Ohjelmistojen suunnittelu

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

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

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: 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

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj. 2013 IBM Corporation

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj. 2013 IBM Corporation Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj 2013 IBM Corporation 3 Enfo Suomessa Markkinat: Suomessa IT-palvelumarkkinan koko on noin 2,5 miljardia euroa ja sen arvioidaan kasvavan pitkällä

Lisätiedot

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications

Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy. 2005 Mermit Business Applications Helia Ohjelmointitaito 14.3.2005 Tuomas Kaipainen Mermit Business Applications Oy Esityksen sisältö Mermit yrityksenä Perustiedot Toimintamalli Mermit työpaikkana ohjelmistoinsinöörille Esimerkkiprojekti

Lisätiedot

Käsitemallit muistiorganisaatioiden kuvailun yhdenmukaistamisen välineenä

Käsitemallit muistiorganisaatioiden kuvailun yhdenmukaistamisen välineenä Käsitemallit muistiorganisaatioiden kuvailun yhdenmukaistamisen välineenä Pekka Henttonen KDK:n arkistosektorin seminaari 6.2.2012 Kansallisarkisto Esityksen sisältö Semanttisen webin visio Käsitemallien

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

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

Lisätiedot

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000

Case TUHTI. Projektin tunnuslukuja. ! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999. ! Java luokkia n. 5000 Case TUHTI 17.12.2002 1 TietoEnator 2002 Projektin tunnuslukuja! Suuri perusjärjestelmäuudistus! Työt alkoivat kesällä 1999! Otettu tuotantokäyttöön syksyllä 2001! Proof of Concept (5 henkilöä 4 kk) ->

Lisätiedot

Collaborative & Co-Creative Design in the Semogen -projects

Collaborative & Co-Creative Design in the Semogen -projects 1 Collaborative & Co-Creative Design in the Semogen -projects Pekka Ranta Project Manager -research group, Intelligent Information Systems Laboratory 2 Semogen -project Supporting design of a machine system

Lisätiedot

Moniulotteisten ohjelmistojen hallinta

Moniulotteisten ohjelmistojen hallinta Moniulotteisten ohjelmistojen hallinta Kai Koskimies Tampereen teknillinen yliopisto http://www.cs.tut.fi/~kk http://practise.cs.tut.fi 1 Ohjelmistokehityksen kehitys Vaatimukset Ohjelmointikieli Programming-in-the-small

Lisätiedot

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

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

Lisätiedot

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti ICT-ajankohtaisseminaari 15.4.2009 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt

Lisätiedot

Ohjelmistoarkkitehtuurit, syksy

Ohjelmistoarkkitehtuurit, syksy Ohjelmistoarkkitehtuurit Tuoteperheet Tuoterunkoarkkitehtuurit Perinteisessä ohjelmistotuotannossa on keskitytty uusien ohjelmistojen laadukkaaseen tuottamiseen Erikoistuneista ainutlaatuisista vaatimuksista

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

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

Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet Organisaation prosessikuvaus - CMMI Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 7.2.2007 Level5 Level4 Level3 Requirements Development Technical Solution Product Integration

Lisätiedot

Visma Software Oy

Visma Software Oy pidättää itsellään oikeuden mahdollisiin parannuksiin ja/tai muutoksiin tässä oppaassa ja/tai ohjelmassa ilman eri ilmoitusta. Oppaan ja siihen liittyvän muun materiaalin kopiointi on kielletty ilman :n

Lisätiedot

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto

Power BI 29.5.2015. Tech Conference 28.-29.5.2015. Power BI. Pekka.Korhonen@sovelto.fi. #TechConfFI. Johdanto Tech Conference 28.-29.5.2015 Power BI Pekka.Korhonen@sovelto.fi #TechConfFI Johdanto 2 1 Microsoft BI komponentit Azure Machine Learning Stream Analytics HDInsight DocumentDB Blob/table storage VM SQL

Lisätiedot

IBM IT Education Services - DB2 YTR - sertifioinnit

IBM IT Education Services - DB2 YTR - sertifioinnit IBM IT Education Services - DB2 YTR - sertifioinnit Marie-Louise Eklund Sales Representative / Telesales SERTIFIOINTI hanki todistus osaamisestasi IBM Professional Certification Program on kansainvälinen

Lisätiedot

HITSAUKSEN TUOTTAVUUSRATKAISUT

HITSAUKSEN TUOTTAVUUSRATKAISUT Kemppi ARC YOU GET WHAT YOU MEASURE OR BE CAREFUL WHAT YOU WISH FOR HITSAUKSEN TUOTTAVUUSRATKAISUT Puolitetaan hitsauskustannukset seminaari 9.4.2008 Mikko Veikkolainen, Ratkaisuliiketoimintapäällikkö

Lisätiedot

A Service-Oriented Architecture (SOA) View of IHE Profiles

A Service-Oriented Architecture (SOA) View of IHE Profiles A Service-Oriented Architecture (SOA) View of IHE Profiles HL7 IHE meeting 20.8.2009 Timo Itälä SoberIT, TKK Juha Mykkänen, KuY 2 SoberIT IHE ja SOA (palveluarkkitehtuuri) SOA (service-oriented architecture)

Lisätiedot

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely. XML prosessointi Miten XML dokumentteja luetaan ja kirjoitetaan XML prosessori lukee ja välittää XML dokumentin sovellukselle. Se sisältää entieettikäsittelijän (mahdollisesti) XML jäsentimen Sovellus

Lisätiedot