25
Tarkvara projekt – seminar II 16.veebruar 2006 Ivo Mägi

Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

Tarkvara projekt – seminar II

16.veebruar 2006

Ivo Mägi

Page 2: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 2

Seminari kava

� Klientide jaotus

� Keskkonna, arendusprotssi ja vahendite tutvustus

� I iteratsiooni artefaktid: tutvustus

Page 3: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 3

Projektirühmad - kliendid

� AJU - TÜ (Margus Treumuth I)

� Darth Vader - PRIA (Imre Lall)

� inVitro - TÜ (Reimo Palm)

� Hades23 - Mait Kaup

� Kosmos - oma klient

� Lendoravad - AS Regio (Ragmar Riismaa)

� Macrosoft – Eksamikeskus (Aivar Ilves)

� Spectrum - TÜ (Margus Treumuth II)

Page 4: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 4

Töökorraldus� Valmivad dokumendid peavad olema ühes järgmistest

formaatidest:� PDF, HTML, DOC, XLS, PPT

� Kõik dokumendid peavad järgima ühtset stiili –soovitav on projekti alguses panna paika ühtsed templated

� Meeskond võib võtta juurde ja heita välja liikmeid� Enne III iteratsiooni lõppu� Enamuse häältega� Kirjalikult põhjendatud selgitusega

� Realiseeritud koodi maht peab olema vähemalt meeskonna_suurus*1000. Kood peab olemamõistlikult formaaditud. Vastasel juhul kaotatakse proportsionaalselt punkte kogusummast.

Page 5: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 5

Teie uus sõber: Ats

� Täisnimega ats.cs.ut.ee� CVS server� Andmebaasiserver� Rakendusserver� Changelogic server� Wiki host� Dokumentide hoidla� Hellitusnimi: krokodell

Page 6: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 6

Ats: kataloogistruktuur

� /home/username alla on mounditud teieülikooli kodukataloog

� Aine kodukataloog asub /projects/home/tvp2006

� Rühmadel vajalik spetsiaaltarkvara asub /projects/home/tvp2006/bin

� Rühma kodukataloog /projects/home/tvp2006/ryhm

� Rühma CVSROOT /projects/home/tvp2006/cvsroot/ryhm

Page 7: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 7

Ats: CVS

� Versioonihaldus

� Klient

� Server

� Projekt

� Kogu projekti dokumentatsioon ja lähtekood peab asuma Atsi CVSis

� CVSROOT=:pserver:[email protected]:/projects/home/tvp2006/cvsroot/ryhm

Page 8: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 8

Ats: CVS käsud

� set CVSROOT=…, export CVSROOT=

� cvs import -I ! -W "*.jar -k 'b'" -W "*.zip -k 'b'" -m "investor" investor vt rt

� cvs add

� cvs remove

� cvs commit

� cvs update

� cvs checkout –r tag

Page 9: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 9

Näidisprojekt: projekti struktuur

investor/conf/doc/

deployment/management/modelling/requirements/

lib/src/war/release/

investor-release-1.zipinvestor-snapshot-1.zip

Page 10: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 10

Näidisprojekt: ehitamine

� ANT

� build.xml

� Kohustuslikud targetid� release

� snapshot

� clean

� test

� Näide

Page 11: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 11

Ats: Wiki� http://ats.cs.ut.ee/courses/2006/tvp/Groups/Main� Igal projektil peab olema oma Wiki leht. Seal peab

sisalduma vähemalt järgnev:� Info kliendi kohta� Info projekti kohta� Projekti liikmete nimekiri ja liikmete rollid� Projektijuhi kontaktandmed� Kõikide iteratsioonide tulemid (snapshot+release)� Viited

� Koodi dokumentatsioon (javadoc, …)� ViewCVS� Changelogic

� Kõik valminud dokumendid� Näide

Page 12: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 12

Ats: Changelogic

� Konfiguratsioonihaldustarkvara. Lähemalt järgmises seminaris.

� http://ats.cs.ut.ee/changelogic

� Kasutaja [email protected]

� Kõik said samale kontole kirja parooliga.

� Igal grupil on oma projekt

� Igal grupil on üks liige projektijuhi õigustes, teised minimaalsete õigustega.

Page 13: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 13

Ats: seadistamine:.login faili:if (`hostname` == krokodell) then

newgrp groupnameendif

.tcshrc faili:set path = (/projects/home/tvp2006/bin/apache-ant-1.6.5/bin

$path)setenv CVSROOT

:pserver:[email protected]:/projects/home/tvp2006/cvsroot/groupname

if (`hostname` == krokodell) thenumask 002

endif

Page 14: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 14

Kõigi tulemite esitamine� Integreerida uus versioon� cvs co –r ver-2_1_1_1� ant snapshot� ant release� Kopeeride release ja snapshot

/home/projects/groupname/public_html kataloogining viidata neile projekti Wikist

� Saata kursuse artefaktide listi kiri kus sisaldub� SHA1 räsi snapshotist� SHA1 räsi releasest� Viit grupi wikile kus on lingitud valminud artefaktid

ning viited snapshotile ja releasele.� Kirja subjekt peab olema [ryhm] iteratsioon <iter.

nr> tulemus, näiteks [kosmos] iteratsioon 1 tulemus

Page 15: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 15

I iteratsiooni artefaktid

� Projekti plaan

� Riskide tuvastamise ja maandamise dokument

� 1. iteratsiooni kokkuvõte

� Täiendatud visioonidokument

Page 16: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 16

Projekti plaan: metoodika� Metoodika peab olema iteratiivne ja kergekaaluline.

Soovitame ühte järgnevaist:� Scrum� Crystal Clear� dX� XP

� Projekti plaanis peab olema kirjeldatud� Mis moel valitud metoodikat praktikas rakendada

kavatsetakse.� Kuidas toimub suhtlus. Kasutatavad suhtlusvahendid

� Wiki� E-mail� Instant Messenger� Telefon� Näost-näkku kohtumine

Page 17: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 17

Projekti plaan: rollide jaotus I� Meeskonna liikmed� Liikmete CVd� Roll(-id) mida liige projektis täidab. Üks liige ei pea olema ainult

ühes rollis! Kõik rollid peavad olema täidetud. Võib vajadusel tekitada lisarolle� Projektijuht

� Projekti plaan ja kokkuvõte� Riskide tuvastamise ja maandamise dokument� Iteratsiooni plaan ja kokkuvõte� Testimise plaan� Üleandmise-vastuvõtmise akt� Toote presentatsioon

� Analüütik� Visioon� Nõuete dokument (Funktsionaalsed nõuded)� Ainemudel (koostöös disaineriga)� Prototüüp

Page 18: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 18

Projekti plaan: rollide jaotus II� Rollid: jätkub

� Disainer� Ainemudel (koostöös analüütikuga)� Disainidokument

� Arhitekt� Arhitektuuridokument

� Arendaja� Kood (kommenteeritud)� Ühiktestid� Ehitusskriptid

� Testija� Süsteemitestid� Tööülesannete jälgimine ja planeerimine

� Dokumenteerija� Kasutajajuhend� Installatsioonijuhend

� Konfiguratsiooni haldaja� Integreerimine� Väljalasete planeerimine

Page 19: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 19

Projekti plaan: tööde planeerimine ja jälgimine

� Tegevused� Nimekiri

� Sõltuvused

� Mahtude hinnangud tundides (planeeritud, tegelik)

� Teostajad

� Tähtsad verstapostid (milestones). Meie puhul iteratsioonide lõpud.

Page 20: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 20

Projektijuhtimine: riskid

� Millised võimalikud ohud projekti edukat täitmist ähvardavad? Millised on nende realiseerumise tõenäosused.

� Kuidas neid tõenäosusi minimiseerida?

Page 21: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 21

Projektijuhtimine: iteratsiooni plaan

� Eesmärgid

� Tegevused

� Mahtude hinnangud

� Kes mida teeb

� Eeldatavad tulemused

Page 22: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 22

Projektijuhtimine: iteratsiooni kokkuvõte

� Kas eesmärgid olid saavutatud? (tulemused vs eesmärgid)

� Reaalsed tegevuste mahud

� Probleemid, mis tekkisid

� Järeldused tulevikuks

Page 23: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 23

Analüüs: täiendatud visioon

� Mida rakenduse loomisega saavutatakse?

� Millised probleemid lahendatakse?

� Kes on lõppkasutajad?

� Mis on põhifunktsionaalsuseks?

� Mis on tähtsamad mittefunktsionaalsed nõuded?

Page 24: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 24

Järgmiseks seminariks

� Kõik proovivad oma ülikooli kasutajatunnuse ja parooliga atsi sisse logida

� Kõik seadistavad oma töökeskkonna (.login ja .tcshrc)

� Kõik proovivad CVS käske – tehke katseprojekt ning proovige

� Kõik logivad sisse Changelogic keskkonda ning vaatavad seal ringi. Projektijuht vaatab üle liikmete õigused.

� Kõik loevad vahendite kodulehekülgi, vaata viidete slaide.

Page 25: Tarkvara projekt –seminar II - ut › 2006 › tvp › uploads › Main › seminar_2.pdf · Tarkvara projekt –seminar II 16.veebruar 2006 Ivo Mägi. 22.02.2006 Ivo Mägi, Webmedia

22.02.2006 Ivo Mägi, Webmedia AS 25

Viited:

� CVS – http://ximbiot.com/cvs/wiki/

� ANT – http://ant.apache.org

� Changelogic – http://www.changelogic.com