Ohjelmistotehtaat. Helsingin yliopisto Tietojenkäsittelytieteen laitos SOSE seminaari esitelmä Matti Husu
|
|
- Esa Hämäläinen
- 7 vuotta sitten
- Katselukertoja:
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 12.11.2007 Kimmo Kaskikallio IT Architect Sisältö IBM SOA Palveluiden elinkaarimalli IBM Tuotteet elinkaarimallin tukena Palvelukeskeinen arkkitehtuuri (SOA) Eri
Lisätiedot7. 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ätiedotMalliperustainen 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ätiedotHieman lisää malleista ja niiden hyödyntämisestä
Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu
Lisätiedot7.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ätiedotEnterprise 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 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ätiedotADM Arkkitehtuuritason automaatio #tdarc
ADM Arkkitehtuuritason automaatio #tdarc Kalle Launiala http://abstractiondev.wordpress.com kalle.launiala@citrus.fi Ohjelmistoteollisuus elää murrosta Ohjelmistoteollisuudesta halutaan perusteollisuutta
LisätiedotOhjelmistotekniikan 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ätiedotBDD (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ätiedotTietojärjestelmän osat
Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto
LisätiedotCopyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
LisätiedotOhjelmistotuotteen 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ätiedotArkkitehtuuritietoisku. 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ätiedotUutta 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ätiedotOhjelmistojen 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ätiedotXPages 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ätiedotSovellusarkkitehtuurit
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ätiedotTapahtuipa 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ätiedotAutomaatiojä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ätiedot7. Tuoterunkoarkkitehtuurit
7. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen Kerrostyyli tuoterunkoarkkitehtuureille Tuoterunkojen etuja ja ongelmia 1 Uudelleenkäytt yttö opportunistinen:
Lisätiedot1 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ätiedotVisual 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ätiedotTutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
LisätiedotMiten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?
Se edullisempi tietokanta Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä? Rasmus Johansson rasmus.johansson@microsoft.com Ratkaisumyyntipäällikkö (Sovellusalusta) Microsoft Oy Miten
LisätiedotSecurity 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ätiedotThe 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ätiedotGlobaalisti 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ätiedotProsessien 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ätiedot1 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ätiedotOhjelmistotekniikka - 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ätiedotin 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ätiedotRAIN 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ätiedotDomain 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ätiedotTestaustyö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ätiedotFuturaPlan. 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ätiedotOhjelmistojen 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ätiedotSoftware 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ätiedotSoftware engineering
Software engineering Alkuperäinen määritelmä: Naur P., Randell B. (eds.): Software Engineering: A Report on A Conference Sponsored by the NATO Science Committee, NATO, 1968: The establishment and use of
LisätiedotSecurity 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ätiedotStandardi 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ätiedotAvointen 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ätiedotTeknologia-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ätiedotWP3 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ätiedotIntegrointi. 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ätiedotHelpottuuko 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ätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
Lisätiedot2. Ohjelmistotuotantoprosessi
2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa
LisätiedotRakentamisen 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ätiedotTIEKE 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ätiedotVaatimusmää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ätiedotKehyksillä 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ätiedotMALLIPOHJAINEN 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ätiedotCMM 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ätiedotCMMI 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ätiedotCMMI 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 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ätiedotVisual Basic -sovelluskehitin Juha Vitikka
Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen
LisätiedotUutta 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ätiedotProsessiajattelu. 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ätiedotOhjelmistotekniikka - 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ätiedot1.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ätiedot2 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ätiedot1 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ätiedotElinar 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ätiedotAutomaattinen 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ätiedotOhjelmistojen 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ätiedotKä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ätiedotAluksi. 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ätiedotObject 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ätiedotTietoEnator 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ätiedotVaatimusmää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ätiedotProsessimalli. 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ätiedotTIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO
TIETOKONEYLIASENTAJAN ERIKOISAMMATTITUTKINTO TEHTÄVÄ 2: Symantec Endpoint Protection Manager, SEPM keskitetyn tietoturva hallintaohjelmiston asennus, sekä vaadittavien palveluiden/roolien käyttöönottaminen
LisätiedotISEB/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ätiedotDIPLOMITYÖ 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ätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
LisätiedotOhjelmointikielet 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ätiedotOhjelmointi 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ätiedotLiite 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ätiedotOhjelmistoarkkitehtuurit 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 3 Enfo Suomessa Markkinat: Suomessa IT-palvelumarkkinan koko on noin 2,5 miljardia euroa ja sen arvioidaan kasvavan pitkällä
LisätiedotHelia 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ätiedotKä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ätiedotOnnistunut 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ätiedotCase 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ätiedotCollaborative & 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ätiedotMoniulotteisten 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ätiedotYlläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
LisätiedotOnnistunut 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ätiedotOhjelmistoarkkitehtuurit, syksy
Ohjelmistoarkkitehtuurit Tuoteperheet Tuoterunkoarkkitehtuurit Perinteisessä ohjelmistotuotannossa on keskitytty uusien ohjelmistojen laadukkaaseen tuottamiseen Erikoistuneista ainutlaatuisista vaatimuksista
LisätiedotOhjelmistojen 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ätiedotProsessiajattelu. 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ätiedotVisma 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ätiedotPower 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ätiedotIBM 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ätiedotHITSAUKSEN 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ätiedotA 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ätiedotXML 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