Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Samankaltaiset tiedostot
Työkalut ohjelmistokehityksen tukena

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmointi 1 / syksy /20: IDE

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

Matematiikan oppifoorumi Projektisuunnitelma

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Menetelmäraportti - Konfiguraationhallinta

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

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

Johdantoluento. Ohjelmien ylläpito

Tietojärjestelmän osat

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

4. Luokan testaus ja käyttö olion kautta 4.1

Ohjelmistojen mallintaminen, mallintaminen ja UML

11/20: Konepelti auki

Opettajatuutorointi-kurssin syksyn 2006 kyselyjen tulokset

Avointen ohjelmistojen käyttö ohjelmistokehityksessä

PLA Mobiiliohjelmointi. Mika Saari

Viestit-palvelun viranomaisliittymän ohjelmointiohje. Java-esimerkki

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

PLA Mobiiliohjelmointi. Mika Saari

C# 3.0:n uudet ominaisuudet Language Integrated Query...45

Onnistunut Vaatimuspohjainen Testaus

Turvakriittisen projektin menetelmät ja työkalut

Lohtu-projekti. Testaussuunnitelma

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistotekniikka - Luento 2

P e d a c o d e ohjelmointikoulutus verkossa

TIETOKANNAN SUUNNITTELU

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

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Tuottavuutta sovelluskehitykseen Oraclen työkaluilla: JDeveloper 10g ja HTML DB OUGF Syysseminaari

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

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

Suunnitteluvaihe prosessissa

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistojen mallintaminen

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

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

Ohjelmistojen testaus ja hallinta. Gradle

5. HelloWorld-ohjelma 5.1

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

P e d a c o d e ohjelmointikoulutus verkossa

Opinto-oppaiden rakenteistaminen JY:ssä

Työkalujen merkitys mittaamisessa

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmistojen mallintaminen. Luento 11, 7.12.

58160 Ohjelmoinnin harjoitustyö (4 op, 2ov)

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Valppaan asennus- ja käyttöohje

Tähtitieteen käytännön menetelmiä Kevät 2009

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

HELSINGIN YLIOPISTO TIETOJENKÄSITTELYTIETEEN LAITOS OHJELMISTOTUOTANTOPROJEKTI HABA Projektisuunnitelma versio 0.1

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

5. HelloWorld-ohjelma 5.1

Tietotekniikan Sovellusprojektit

VisualAge for Java-sovelluskehitin

opiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.

Myös opettajaksi aikova voi suorittaa LuK-tutkinnon, mutta sillä ei saa opettajan kelpoisuutta.

BL40A1810 Mikroprosessorit, harjoitus 1

HELIA 1 (17) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu

Kurssin aihepiiri: ohjelmistotuotannon alkeita

- Jarjestelmaasiantuntija Markku Jaatinen

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Ylläpito. Ylläpidon lajeja

Automatisoinnilla tehokkuutta mittaamiseen

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Kurssin hallinta -työväline

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Semanttinen Web. Ossi Nykänen Tampereen teknillinen yliopisto (TTY), DMI / Hypermedialaboratorio W3C Suomen toimisto

Pedacode Pikaopas. Web-sovelluksen luominen

Pakkauksen kokoaminen

Ohjelmistojen mallintaminen, kesä 2010

KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Ohjelmistotekniikka. Krista Nevalainen TOIMISTO-OHJELMAT LINUXISSA

4. Lausekielinen ohjelmointi 4.1

TIETOTEKNIIKKA Koodi Vanha opintojakso op ov Vastuuhenkilö LV vastaavat opinnot tai korvaava suoritustapa TTE.

2 Ohjelmistoarkkitehtuurien kuvaus

Oleelliset vaikeudet OT:ssa 1/2

Käännös, linkitys ja lataus

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Ohjelmistojen mallintaminen. Matti Luukkainen

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Java- RekryKoulutus. Module Descriptions

Aspektiohjelmointiympäristöt

Pedacode Pikaopas. Web Service asiakasohjelman luominen

L models. Tekninen määrittely. Ryhmä Rajoitteiset

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

Transkriptio:

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) Nykyaikainen IDE (esim. Eclipse) ohjelmointi ja erilaiset näkymät koodiin suoritus ja virheenjäljitys (debugging) testaus (esim. JUnit) Järjestelmänrakennus (esim. Ant) Ylläpito & ryhmätyön tuki 2

Yleistä työkaluista Työkalut voidaan jakaa kahteen pääryhmään henkilökohtaista työskentelyä tukevat työkalut ryhmätyötä (computer-supported collaborative work, CSCW) tukevat työkalut Työkalun ja sen käyttöorganisaation oltava riittävän kypsiä tietotaito, ohjeistus, johtaminen & hallinto muuten työkalusta enemmän haittaa kuin hyötyä 3

CASE- ja mallinnustyökalut Ominaista visuaalisia, esittävät mallin useilla eri abstraktiotasoilla tukevat ryhmätyötä Jaottelu vaatimusten hallinta visuaalinen UML-mallinnus raporttien generointi tietokannan mallinnus [ei käsitellä] 4

Vaatimusten hallinta: vaatimusdokumentti Vaatimukset (requirements) esitetään yleensä tekstinä vaatimusdokumentissa jaoteltu tyypillisesti käyttötapauksittain voidaan käyttää useita abstraktiotasoja, jolloin muodostuu vaatimushierarkia 5

Vaatimusten hallinta: työkalutuki Erityisesti ryhmätyö edellyttää työkalutukea Tyypillistä työkalutukea vaatimusten kirjoittaminen oikeassa muodossa vaatimusten kategorisointi ja vaatimushierarkian hallinta vaatimusten muutosten hallinta vaatimusten esittäminen eri sidosryhmille (esim. kehittäjille ja asiakkaille) vaatimusten jäljitettävyys 6

Esimerkki vaatimustyökalusta: IBM Rational Requisite Pro 7

IBM Rational Requisite Pro 8

Visuaalinen UML-mallinnus UML-työkalut yksinkertaisimmillaan pelkkiä kaavionpiirtovälineitä Kehittyneimmät UML-työkalut tarjoavat mallien semantiikan ja keskinäisen ristiriidattomuuden tarkastamisen liitynnät muihin työkaluihin jaettuun tietovarastoon perustuvan ryhmätyötuen ja versioinnin muunneltavat graafiset esitystavat koodingeneroinnin eri ohjelmointikielille 9

Esimerkki UML-mallinnuksesta: IBM Rational Rose 10

Esimerkki UML-mallinnuksesta: Poseidon 11

Raporttien generointi Tarvitaan visuaalisten mallien ja malleihin liittyvien dokumenttien jakamiseen kehittäjien ohella myös muille projektin sidosryhmille Voidaan yleensä tuottaa erilaisten vakiomuotojen (templates) mukaisesti erilaisissa tiedostoformaateissa esim. HTML, Word, PDF, 12

Esimerkki raporttien generoinnista: MagicDraw ja IBM Rational Suite 13

Integroidut kehitysympäristöt: ohjelmoinnin rutiinitehtävien tuki Koodin kirjoittaminen syntaksin korostaminen ja tarkistaminen, navigointi, automaattinen täydentäminen ja generointi, Kääntäminen ja linkittäminen integroitu Ant, make tai vastaava (tästä lisää myöhemmin) Suorittaminen ja virheenjäljitys (eli debuggaus) pysäytyspisteet (breakpoint) ja askellus, muuttujien arvojen ja muiden lausekkeiden evaluointi, säikeiden ja kutsupinon tarkastelu, 14

IDE-esimerkki: rutiiniohjelmointia (Sun One Studio) 15

IDE-esimerkki: rutiiniohjelmointia (Sun One Studio) 16

IDE-esimerkki: suoritus ja virheenjäljitys 17

IDE-esimerkki: suoritus ja virheenjäljitys 18

Integroidut kehitysympäristöt: muita yleisiä ominaisuuksia Integrointi (UML-)mallinnustyökaluun koodingenerointi mallista, takaisinmallinnus koodista Erityyppisten sovellusalueiden tuki vrt. esim. J2SE, J2EE, J2ME Komponenttikirjastojen ja kehysten tuki graafisen käyttöliittymän piirtäminen, tietokantaintegraatio, liiketoimintakomponentit, Hajautetun ryhmätyön tuki ja versionhallinta Testaustuki 19

Integrointi mallinnukseen: Together ControlCenter 20

IDE-esimerkki: Testaus (Eclipse & JUnit) 21

Järjestelmänrakennus (system building) Järjestelmänrakennuksella tarkoitetaan prosessia, jossa tietylle kohdekonfiguraatiolle tarkoitettu ohjelma koostetaan kääntämällä ja linkittämällä yhteen sopivat ohjelmistokompo-nentit. [Sommerville] Lopullisena tarkoituksena on tuottaa ohjelmasta käyttäjille jaettavissa oleva suorituskelpoinen versio (distributable) 22

Järjestelmänrakennuksessa määriteltävät asiat Ohjelmiston osien väliset riippuvuussuhteet (build dependency) esim. käännettyjen tiedostojen (.class) riippuminen lähdekooditiedostoista (.java) Riippuvuussuhteiden mukaiset tehtävät (build task, build target) esim. kääntäminen Tehtävien suorittamisesta vastaavat työkalut esim. kääntäjä 23

Esimerkki rakennustyökaluista: Apache Ant Suosituin Java-ympäristön rakennustyökalu Tukee kattavaa valikoimaa valmiiksi määriteltyjä tehtäviä, jotka annetaan XML-muotoisissa konfiguraatio- eli build-tiedostoissa, mm. tiedostojen hallinta (copy, delete, chmod, ) kääntäminen ja tulkinta (javac, java, ) pakkaaminen ja asentaminen (jar, war, zip, gzip, ) Voidaan laajentaa vapaasti kirjoittamalla lisäykset Java-luokkina 24

Esimerkki rakennustyökalusta: Apache Ant 25