Uudelleenkäyttö. Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim.

Slides:



Advertisements
Samankaltaiset esitykset
Tietopaketti Big Datasta
Advertisements

Testaus ja testausympäristöt
Monimediaista sisältöä verkkokursseille ideoita sisällöntuotantoon Kajaani Terho Kontioinen Joensuun yliopisto.
Ohjelmistotekniikka Tuotteenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Toimittaja – Sovellusarkkitehtuuritas on pilkkominen Kalle Launiala, ProtonIT Oy
Tietojärjestelmät ja Systeemisuunnittelu
© 2010 IBM Corporation1 Sisältö  Uusi sisältö luodaan aina sisällönhallinnassa –Uusi -> Sisältö –Tallenna nimellä olemasta olevasta sisällöstä  Tavallinen.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Tekninen suunnit-telu
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
13. Pakkaukset.
Constructing scalable services Ville Kyrki 1757 Rinnakkaislaskennan jk Kevät 2000.
Ohjelmiston toteutus (teknisestä näkökulmasta)
Tietojärjestelmän suunnittelu
Käyttöjärjestelmät Johdanto. Kurssimateriaalista 15 lukua, jotka vastaavat enemmän tai vähemmän 15 kahden tunnin pakettia Perustuu Gary Nuttin Operating.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  PÄIVÄOPISKELIJAT: – KAKSI LUOKAA (SUOMI) –YKSI LUOKKA (ENGLANTI)
Korkeakoulujen ja opetusministeriön yhteinen tietohallintohanke, jota CSC koordinoi RAkenteellisen KEhittämisen Tukena TIetohallinto RAKETTI-XDW Käsitemäärittely,
Kanuuna seminaari Seinäjoki  Aiemmissa malleissa lähtökohta, jossa määriteltiin hyvinvoinnin esteitä, joita sitten voitiin ratkoa  Toimintavalmius.
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
T Personal SE assignment Project progress tracking and control.
Oliosuunnittelu.
Prosessin kehittäminen
Suunnittelu.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
1 Invalidiliiton Järvenpään koulutuskeskus Työvalta / Kaarnakorpi, Laine, Muotka, Ovaska ”Tekemällä oppii!” - Liiketalouden perustutkinto.
 Tutkimuksemme kantavana ajatuksena on uskomus siitä, että yhdistämällä matematiikan opetus johonkin konkreettiseen asiaan saavutetaan syvällisempää.
(mukaellen Haikala & Mikkonen 2011, 29)
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
Nexus Pasi Aho Henrik Härkönen Miikka Lahti Minna Rajala.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia
Heikki Salokanto Valvoja: prof. Jukka Manner Ohjaaja: DI Pekka Pajuoja, TEKES Sovelluskehitysympäristön virtualisoinnin tuomat edut ja haitat.
* Miksi ja kenelle www-sivut halutaan tehdä? * Mitkä ovat tavoitteet? * Kohderyhmän käyttäjien määritely ! SUUNNITTELUN PERUSTEITA.
Projektisuunnitelma A12-08 Beckhoff-teollisuustietokoneen käyttöönotto Lauri Lötjönen Mikko Pulkki.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
© Conformiq Software Ltd. | The Future of Software Testing Kuormitustestaus.
Pariohjelmointi Personal SE - Vesa Oinonen. Yleistä pariohjelmoinnista kaksi ohjelmoijaa istuu saman koneen ääressä ohjelmoimassa samaa ohjelmaa Tavoitteena.
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia 2011,2012.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
Mi Menetelmä tosiaikaiseen sivustomuokkaukseen Sulake Dynamoid | Strictly confidential – legally protected and privileged information Ilari Tuominen Software.
Sovelluskehittimet Nikolaos Avanidis oh5.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Toteutus. Ohjelmointikielen valinta Käytetään samaa kuin muutkin Työkalujen laatu Usein asiakas määrää Yleensä valittu jo ennen toteutusta Osaaminen vs.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Diplomityöseminaari Ohjelmistokehysten erikoistamistutoriaalit Fred-ympäristössä Pekka Savolainen
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Graafinen käyttöliittymä, osa 1
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmöijän nimi Systeemitieteiden kandidaattiseminaari – Syksy/Kevät 200X Virheraportoijien jakaumat.
Ohjelmistotekniikka kevät 2003 CASE-välineet. Ohjelmistotekniikka kevät 2003 Mitä ovat CASE-välineet? Computer Aided Software Engineering Tietokoneavusteinen.
Refaktorointi ”Te olette tehneet tätä ennenkin”. Mitä on refaktorointi? (1/2) prosessi ohjelmakoodin laadun parantamiseksi ohjelman sisäisen rakenteen.
Software product lines. Suomeksi ohjelmistotuotelinja Kuvaa metodeja ja työkaluja tuottaa yhteiskäytettävää koodia samankaltaisissa sovelluksissa Tarkoituksena.
Koostekaavio– composite structure diagram Mikko Näpänkangas.
OMT Design System design –design technical environment Object design –design class diagram.
S11-08 Workflow-tuote tuotantojärjestelmien integraatiossa Projektisuunnitelma.
Julkiset tietoaineistot hyötykäyttöön 4VOITTO. I) Ongelman asettelu –Miten käyttäjäryhmien motiivit ja tarpeet saadaan tyydytettyä julkisen datan avulla?
Julkisen hallinnon yhteinen tuki- ja ylläpitotehtävien eAMS-malli Christian Jämsen
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
Prosessimallinnuksen kehittäminen JHKA-jaosto Jari Kallela.
Laadunhallintajärjestelmä/ laatujärjestelmä
Saavutettavuus/esteettömyys   Tilat, tuotteet ja palvelut suunnitellaan kaikkia käyttäjiä varten. Design for all / Universal design.
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
1. Olio-ohjelmointi.
OHJELMOINTITAITO ICT02D 12 ECTS.
Ristiinopiskelun kehittäminen -hanke
Esityksen transkriptio:

Uudelleenkäyttö

Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta on tehty aiemmin, tästä merkittävä osa samassa organisaatiossa Onnistunut uudelleenkäyttö on yksi tehokkaimmista tavoista parantaa tuottavuutta.

Uudelleenkäytön jako kahteen Kehitinpohjainen uudelleenkäyttö –Sovelluskehittimet –Vain harvoille sovellusalueille Komponenttien uudelleenkäyttö –Koko sovellus (Uudet versiot) –Osajärjestelmä –Sovelluskehykset –Moduuli tai olio –Funktio –Suunnitelmat –Testidata

Komponenttien luokittelu Yleiskäyttöiset komponentit –Tietorakenteet, käyttöliittymäkomponentit Sovellualuekohtaiset –Esim. Televerkon hallinta Sovelluskohtaiset komponentit –Käytetään samassa sovelluksessa useaan kertaan. –Yleiset luokat

Edellytykset uudelleenkäytölle Sopivia komponentteja täytyy voida löytää järkevässä ajassa Komponenteista täytyy olla riittävästi informaatiota –Tarkoitus, toiminnan kuvaus yms. dokumentaatio –Havaitut ongelmat Täytyy pystyä omaksumaan edellisestä riittävä informaatio kohtuullisessa ajassa Täytyy pystyä luottamaan dokumentaation oikeellisuuteen

Uudelleenkäytön ongelmat 1/2 Uudelleenkäytettävien komponenttien tuottaminen vaatii lisäresursseja –Täytyy yleistää, luetteloida, testata ja dokumentoida Tarvittavaa komponenttia on usein vaikea löytää kohtuullisessa ajassa Dokumentoinnin puutteellisuus Asenneongelmat –Haluttomuus käyttää toiseten tekemiä komponentteja –Haluttomuus luottaa toisten työhön Komponentit liian yleiskäyttöisiä (tehokkuus, asenne)

Uudelleenkäytön ongelmat 2/2 Komponentit liian monimutkaisia –Käytettävyys, ymmärrettävyys –Opittavuus Tuotteenhallinnan ongelmat –Komponentti ei usein kelpaa sellaisenaan Merkittävän hyödyn saamiseksi uudelleenkäyttö pitäisi toteuttaa prosessin alkuvaiheessa

Uudelleenkäytön tukemisen keinot Uudelleenkäyttösuunnitelman laatiminen organisaatiossa Edellisen yhdistäminen henkilöstökoulutukseen Uudelleenkäyttöä tukevien välineiden hankkiminen Uudelleenkäyttöä tukevien menetelmien ja työkalujen tukeminen organisaatiossa Mittaustieto, metriikat – vaikutuksen mittaaminen Johdon sitoutuminen

Uudelleen käytettävän komponentin kehittäminen Suunnittelu usein hankalaa ja työlästä tehdä komponentista riittävän yleiskäyttöinen Olio-ohjelmointi (perintä) parantanut mahdollisuuksia uudelleenkäyttöön –Vähentää myös versio-ongelmia. Peritään luokka kokonaan, eikä muuteta alkuperäistä. Tyypillisesti luodaan yleiskäyttöinen ylemmän tason luokka ja peritään siitä oikeasti käytettävä luokka. –> Ylemmän tason luokka helposti uudelleenkäytettävissä –Esim. Windows-komponentit

Uudelleenkäytön etuja Suunnittelu- ja tuotantokustannusten vähentyminen (huom! ei mikään automaatio) Luotettavuuden parantuminen. Komponentit ovat jo ”oikeassakin käytössä” testattuja. Kokonaisriskin pienentyminen. Ei epävarmuutta aiheutuvista kustannuksista. Erikoistietämystä koteloidaan komponentteihin (esim. matemaattiset kirjastot) Sisäisiä standardeja voidaan toteuttaa komponentteina Kehitysaikaa voidaan lyhentää (vrt. kustannukset)

Tavallinen etenemistapa 1.Määritellään vaatimukset 2.Suunnitellaan järjestelmän arkkitehtuuri 3.Määritellään tarvittavat komponentit 4.Etsitään komponentteja omista kirjastoista ja markkinoilta 5.Mahdollisesti sovitetaan vaatimukset mahdollisuuksiin käyttää tietyn tyyppisiä komponentteja (Kuinka onnistuu?) 6.Muokataan komponentit ja liitetään ne ohjelmaan

Komponenttien siirrettävyys Lähdekoodin siirrettävyys –Mahdollisuus siirtyä käyttöjärjestelmästä toiseen rajallinen –Kuitenkin mahdollista Java,.NET, Delphi/Kylix Suoritettavan ohjelman siirrettävyys –Onnistuu käyttöjärjestelmästä toiseen välikieltä käyttämällä –Ei saa käyttää käyttöjärjestelmäriippuvaisia toimintoja

Kaksi lähestymistapaa komponenttien uudelleenkäyttöön 1.Muuntava uudelleenkäyttö –Peritään komponentti –Perittyä käyttäytymistä voidaan haluttaessa muuttaa 2.Kokoava uudelleenkäyttö –Valmiin komponentin käyttö sellaisenaan –Yhteyksien rakentaminen

Suunnittelumallit Suunnittelumalli on dokumentoitu tapa suunnitella ohjelmiston osa usein esiintyvän ongelman ratkaisemiseksi. Dokumentaatiossa seuraavat asiat: –Mallin tarkoitus –Mahdolliset sovelluskohteet –Rakenne (esim. luokkakaavio) –Edut ja haitat (miksi ratkaisu on jotain toista parempi) –Toteutukseen liittyviä seikkoja –Toteutusesimerkkejä

Sovelluskehykset Kiinteästi toisiinsa liittyviä luokkia, joista sopivasti täydentämällä ja kokoamalla saadaan valmis sovellus. Rakennetaan tietylle sovellusalueelle Voidaan kehittää sovelluskehitin toteutusta varten Esim. –Integraattori –Toiminnanohjausjärjestelmä –WWW-kauppa –Windows-sovelluskehittimet