Lataa esitys
Esittely latautuu. Ole hyvä ja odota
JulkaistuRitva Honkanen Muutettu yli 7 vuotta sitten
1
1 582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista
2
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
3
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
4
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
5
Vaatimusten hallinta: vaatimusdokumentti Vaatimukset (requirements) esitetään yleensä tekstinä vaatimusdokumentissa –jaoteltu tyypillisesti käyttötapauksittain –voidaan käyttää useita abstraktiotasoja, jolloin muodostuu vaatimushierarkia 5
6
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
7
Esimerkki vaatimustyökalusta: IBM Rational Requisite Pro 7
8
IBM Rational Requisite Pro 8
9
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
10
Esimerkki UML-mallinnuksesta: IBM Rational Rose 10
11
Esimerkki UML-mallinnuksesta: Poseidon 11
12
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
13
Esimerkki raporttien generoinnista: MagicDraw ja IBM Rational Suite 13
14
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
15
IDE-esimerkki: rutiiniohjelmointia (Sun One Studio) 15
16
IDE-esimerkki: rutiiniohjelmointia (Sun One Studio) 16
17
IDE-esimerkki: suoritus ja virheenjäljitys 17
18
IDE-esimerkki: suoritus ja virheenjäljitys 18
19
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
20
Integrointi mallinnukseen: Together ControlCenter 20
21
IDE-esimerkki: Testaus (Eclipse & JUnit) 21
22
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
23
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
24
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
25
Esimerkki rakennustyökalusta: Apache Ant 25
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.