Työkalut ohjelmistokehityksen tukena



Samankaltaiset tiedostot
Projektityö

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

OTM viikoilla 18 ja 19

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

TIE Ohjelmistojen suunnittelu

Menetelmäraportti - Konfiguraationhallinta

Ohjelmistojen testaus ja hallinta. Gradle

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistotestaus -09

Ohjelmistoprojekti projektipäällikön näkökulmasta

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Versiohallinta ja Subversion Maunu Tuomainen

T SEPA päiväkirja

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Hajautettu versionhallinta Gitillä

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointi 1 / syksy /20: IDE

Versionhallinta MIKSI?

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

arvostelija Konfiguraationhallinta ja Rational ClearCase Juha Kuosmanen Helsinki Ohjelmistotuotantonvälineet-seminaari

UCOT-Sovellusprojekti. Testausraportti

Eclipse 3.1 Pikaopas versio 1.0

TIEA4 Projektityö, 5-10 op.,

CSE-C2610 Software Project I ja Accenture Luento

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Johdantoluento. Ohjelmien ylläpito

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Project-TOP QUALITY GATE

T SEPA - CALIBERRM Aleksi Airola, 39054L Kaarlo Lahtela, 61439P

T Testiraportti - järjestelmätestaus

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Ohjelmistotekniikka - Luento 2

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

TIEA4 Projektityö, 5-10 op.,

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: Projekti : AgileElephant

PLA Mobiiliohjelmointi. Mika Saari

@Tampereen Testauspäivät ( )

Project group Tete Work-time Attendance Software

Käyttövaltuushallinnan hyödyt tehokkaasti käyttöön. Johanna Lampikoski, RM5 Software Juha Arjonranta, TeliaSonera Finland

Tutkittua tietoa. Tutkittua tietoa 1

Julkaisemattomia koulutusmateriaaleja

Convergence of messaging

Eclipse, SVN ja HelloWorld

Ohjelmiston testaus ja laatu. Testaustasot

Versionhallinta MIKSI?

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

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

PLA Mobiiliohjelmointi. Mika Saari

JATKUVA INTEGROINTI. Java-ohjelmistotuotteelle

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

AgilElephant ja CruiseControl

58160 Ohjelmoinnin harjoitustyö (4 op, 2ov)

Onnistunut ohjelmistoprojekti

Ohjelmistotuotteen hallinnasta

COTOOL dokumentaatio Testausdokumentit

Testausoppeja toimialavaihdoksesta

T Loppukatselmus

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Versionhallinta. Matti Paksula ja Esko Luontola Syksy Tietojenkäsittelytieteen laitos Kuje Research Group

Projektin suunnittelu

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

WEB-SOVELLUSTEN TESTAUKSEN AUTOMATISOINTI

JATKUVA INTEGROINTI JAVA ENTERPRISE -KEHITYKSEN APUNA

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Tarjoussuunnitteluun työkalu

File [Otsikko] Projektisuunnitelma. SPT2014 Selvitysprojekti projektihallinnan työkaluista

S11-09 Control System for an. Autonomous Household Robot Platform

KOODAAKO PROJEKTIPÄÄLLIKKÖ?

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

Lohtu-projekti. Testaussuunnitelma

ICT-ALOJEN KOULUTUSTARVEKYSELY tammi-helmikuu Raportti 4/2011. Varsinais-suomen elinkeino-, liikenne ja ympäristökeskuksen julkaisuja

Toteutusvaihe T2 Edistymisraportti

Testaussuunnitelma. Dokumentti: Testaussuunnitelma.doc Päiväys: Projekti: AgileElephant Versio: V0.4

Projektisuunnitelma. Geneerinen kaavioiden piirto-ohjelmisto

LIITE 1 HANKITTAVAT KOULUTUKSET POHJOIS-POHJANMAAN ELY-KESKUS Koulutuksen nimi ja koulutuskuvauksen numero Paikkakunta

Lasse Määttä Prove Expertise Oy. Testauksen- ja projektinhallinnan yhdistämisen edut ja mahdollisuudet

JIRA (& muut Atlassian -työkalut) Insta Response -tuotekehityksessä

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto

Ohjelmistoprojektien johtaminen Projektissa käytettävät työkalut

1 TILATAR. 1.1 Yleistä. 1.2 Projektiorganisaatio

Software engineering

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

DOKUMETTIENHALLINTASUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 1)

Testaussuunnitelma. Dokumentti: Testaussuunnitelma.doc Päiväys: Projekti: AgileElephant

Sulava. Markku Suominen. Puhelin: Käyttöönotto Käyttö

Open Core Engineering Vapauden ja tehokkuuden uusi aste

Transkriptio:

1 Työkalut ohjelmistokehityksen tukena

Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan ja toteuttamaan ohjelmistotuotteita nopeammin, helpommin ja laadukkaammin. Toisaalta työkalun käyttöönotto ja koulutus vie aikaa ja resursseja. Työkaluja, ilmaisia tai maksullisia, on tarjolla nykypäivänä lukematon määrä, joten oikeiden työkalujen valitseminen on haastavaa. Usein valintaan vaikuttaa käytetty ohjelmointikieli. Java vs. C++ Koska työkaluja käytetään teollisuudessa paljon, on niihin tutustuminen hyödyllistä jo koulutuksen aikana. Diplomityön ideana on kehittää TTY:n ohjelmistotekniikan laitoksen koulutusta vastaamaan teollisuuden tarpeisiin työkalujen osalta.

Erään suomalaisen ohjelmistoyrityksen tuotantoprosessi 3 Kehitysympäristö Jatkuva integraatio & automaattinen testaus Build 1 Testausympäristö Tuotantoympäristö Build 2 Build 5 Build 3 Versionhallinta (Subversion) Integraatiopalvelin (Continuum/Hudson, Maven, JUnit) Build 4 Build 5 Virheilmoitukset Asennuspäätös Toiminnallinen testaus, Järjestelmätestaus (JMeter, Selenium) Asennuspäätös Tehtävät Työn ohjaus, seuranta Projektipäällikkö Asiakas Ratkaisumallit, keskustelu Tehtävienseuranta (Jira) Virheet, ongelmat Jatkokehitysideat Dokumentointi (Confluence)

Versionhallinta 4 Tarkoituksena ohjelmistoprojektin tuotosten hallinta ja seuranta koko tuotteen elinkaaren ajan. Tiedostot lisätään versionhallintajärjestelmään, joka tallentaa niistä kaikki versiot. Mahdollisuus palata aiempaan versioon, jos tehdyt muutokset olivatkin eitoivottuja. Useampi ohjelmistokehittäjä voi kehittää rinnakkain samaa ohjelmistokomponenttia ja muutokset voi lopulta yhdistää samaan tiedostoon. Mahdollistaa kehityksen etenemisen eri suuntiin, joka on usein välttämätöntä räätälöitäessä ohjelmistosta eri versiota eri alustoille ja asiakkaille. Versionhallintatyökaluja: Subversion, CVS, Rational ClearCase, Git

Subversion http, https, svn+ssh Palvelin (projektin tietovarasto) svn checkout svn commit svn update svn checkout svn commit svn update

Automaattinen testaus 6 Jos testaus tehdään käsityönä : virheitä saattaa jäädä huomaamatta aikaa menee hukkaan ja työ on tylsää, jolloin se saattaa jäädä tekemättä kokonaan. Automaattinen testaus huolehtii siitä, että usein toistuvat testaukseen liittyvät tehtävät tulevat suoritetuiksi asianmukaisesti aina. testitapausten ajaminen testien tulosten vertailu oletettuihin tuloksiin Raportointi Testaustyökaluja: xunit, JMeter, Selenium, Rational Performance Tester

Jatkuva integrointi 7 Ohjelmakoodi käännetään, integroidaan ja testataan automaattisesti erillisellä palvelimella, kun havaitaan muutos projektin versionhallinnassa. Käytännössä siis useita kertoja päivässä. Verrattuna perinteiseen projektin loppupäässä tapahtuvaan integrointiurakkaan, saadaan seuraavia hyötyjä: Ohjelmiston vaatimustenmukaisuus tarkastetaan päivittäin. Ohjelmistorajapinnan muutoksista johtuvat virheet havaitaan nopeasti. Parantaa tuottavuutta ja helpottaa seurantaa, kun mahdolliset virheet havaitaan nopeasti ja niihin voidaan reagoida heti. Integrointivaiheen ongelmat eivät kasaudu projektin loppupäähän, kun kiire on muutenkin. Työkaluja: Continuum, Hudson, CruiseControl, Bamboo

Työkaluesimerkki: JIRA Useat työkalut kattavat ison osan ohjelmiston elinkaaresta. JIRA on kattava työkalu, jonka avulla voi pitää kirjaa kaikista projektiin liittyvistä asioista, kuten ongelmista, bugeista ja tehtävistä. JIRAa käytetään yrityksissä vaatimustenhallintaan, projektinhallintaan ja muutostenhallintaan. JIRA:n esittelyvideo

Suosittuja työkaluja yritysvierailujen perusteella 9 KATEGORIA Vaatimustenhallinta Dokumentointi Projektinhallinta Mallintaminen Versionhallinta Ohjelmointi Kääntäminen Tarkastaminen Testaus Integrointi Muutostenhallinta Takaisinmallinnus TYÖKALUJA Excel, Word, PowerPoint, JIRA, Rational RequisitePro Excel, Word, PowerPoint, Confluence, Doxygen Excel, Word, Project, JIRA, ScrumWorks Visio, MagicDraw, Rational Rose & Software Architect Subversion, CVS, Rational ClearCase, Git Eclipse, Visual Studio, Emacs, Vi, UltraEdit Make, CruiseControl, ANT, Maven, Javac Findbugs, Metrics (Eclipse-plugin), Cobertura, PMD xunit-työkalut, Selenium, Rational Performance Tester CruiseControl, Hudson, Bamboo, ANT, Continuum Excel, JIRA, Bugzilla, TRAC Javadoc, Doxygen, Rational Software Architect