View
3
Download
0
Category
Preview:
Citation preview
Tarkvara projekt – arhitektuur, prototüüpimine ja testimine
8. märts 2007
Ivo Mägi, Karel Kravik, Rein Raudjärv
Tänased teemad
� Administratiivne
� Arhitektuur
� Prototüüpimine
� Testimine
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
2
� Näitetulemite esitlus
Administratiivne: tulemid
� Järgmised tulemid tuleb esitada snapshoti ja releasena
� Link ja räsi (SHA) kursuse listi
� Näited selle seminari lõpus
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
3
Administratiivne: infrastruktuur
� Kõik kellel on täna teada nõuded infrastruktuurile� Operatsioonisüsteemid
� Programmeerimiskeeled
� Andmebaasid
� Rakendusserverid
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
4
� Rakendusserverid
� …
� Kui need nõuded ei lange kokku kursuse raames vaikimisi pakutavaga siis andke sellest kohe korraldajate listi märku
Arhitektuur: sisu
� Rakenduse struktuur� Füüsiline
� Loogiline
� Alamsüsteemid, nendevaheline suhtlus.
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
5
suhtlus.
� Sidussüsteemid
� Evolutsiooni kirjeldus
Arhitektuur: valikud
� Palju valikuid on arhitekti eest juba visiooni koostamisel tehtud� Missioonikriitiline suure kasutajate arvuga veebirakendus
� Operatsioonisüsteem
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
6
� Operatsioonisüsteem
� Kopeerida olemasolevat? - EI
Arhitektuur: kihid
� Peaaegu iga rakenduse korral on kasulik jaotada kood loogiliselt ja/või füüsiliselt eraldatud kihtidesse
� Tüüpilised kihid:� Presentatsioonikiht
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
7
� Presentatsioonikiht
� Loogika kiht
� Andmekiht
� Kihtide piiril kasutada kindlasti abstraktsioone ja/või facade.
Arhitektuur: evolutsioon
� Pea iga arhitektuur elab oma loojast kauem – arhitektuur peab olema teie järeltulijatele arusaadav!� Fakt: loojad 1-3 aastat
� Fakt: süsteem 3-30 aastat
� Iga arhitektuur vananeb:
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
8
� Iga arhitektuur vananeb:� client-server
� Corba
� EJB
� Web-Services
� ?
Arhitektuur: probleemid
� Näited: method invocation
� Synchronous vs asynchronous
� Millal?
� JMS
� Local vs remote
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
9
� Local vs remote
� Millal?
� Kuidas� Web Services
� RMI
� Corba
Arhitektuur: ärirakendused
� Arhitektuuri eripärad
� Integratsioon
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
10
Tulem: arhitektuuridokument I
� Loogiline arhitektuur
� Füüsiline arhitektuur
� Arhitektuursed otsused� Platvorm, tehnoloogiad
� Kasutatavad teegid, viited
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
11
� Kasutatavad teegid, viited� Vabavaralised
� Ostetavad
� Laienduse ja edasiarenduse võimalused
Tulem: arhitektuuridokument II
� Kihid (horisontaalne)
� Funktsionaalsus (vertikaalne)
� Aspektid (läbilõige)
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
12
Prototüüpimine
Karel Kravik
Prototüüp – eesmärgid
� Riskide maandamine
� Püüame uurida asju, millest me midagi ei tea (proof of concept)
� Efektiivsem kommunikatsioon
� Tulemi näitamine
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
14
� Tulemi näitamine
Muud aspektid
� Prototüüp peab olema lihtsasti realiseeritav
� Prototüüp peab olema kergesti muudetav
� Throw-away proto vs edasiarendatav
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
15
� Throw-away proto vs edasiarendatav prototüüp
Mida prototüüpida?
� Arhitektuur
� Keerulised algoritmid
� Integratsioon/andmevahetus
� Kasutajaliides
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
16
Arhitektuur
� Framework’ide sobivus
� Tehnoloogiate sobivus
� Teekide sobivus
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
17
Algoritmid
� Sessiooni haldamine
� Interpoleerimine Newtoni valemiga
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
18
Integratsioon
� Välised süsteemid
� Suhtlusprotokollid
� Failiformaadid
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
19
Kasutajaliides
� Disain
� Navigatsioon
� Sisuline loogika
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
20
Näited
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
21
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
22
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
23
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
24
Teie tulem: prototüüp
� Soovitav (aga mitte kohustuslik) on prototüüpida kasutajaliidest
� Tuleb esitada:� HTML lehtedena veebirakenduse puhul
� Desktop rakendused?
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
25
� Desktop rakendused?
� Arhitektuuri/algoritmide prototüüp lähtekoodina
Teie tulem: prototüüp
� UI prototüüp ei pea (praegu) katma kõiki kasutussituatsioone
� Prototüüpe tuleb esitleda 29. märtsil, enne III iteratsiooni lõppu
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
26
Testimine
Eeldused testimiseks
� Testkeskkond
� Uuendusprotseduur
� Installeerimisjuhend
� Muud eeldused
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
28
Testimismeetodid
� Automaatne vs manuaalne testimine� Koodi ülevaatus� Tööde ja vigade järelkontroll� Ühiktestid� Verifitseerimine
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
29
� Verifitseerimine� Kas teostasime õieti? Kas vastab nõuetele?
� Valideerimine� Kas tegime õige asja? Kas on see mis klient tahtis?
Kuidas siis ikkagi testida?
"Just do it."
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
30
— Nike
Aga tegelikult?
� Võrrelge rakendust detailse kasutuslooga
� Võrrelge rakendust sellega, mis sai kirja mittefunktsionaalsete nõuete alla
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
31
alla
� Küsige iga iteratsiooni lõpus kasutajatelt tagasisidet
Veel vihjeid
� Väljade/argumentide piir/erijuhud
� Suuruse kontrollid
� Veatöötlus
� Paralleelne töö
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
32
� Lokaliseerimine
� Erinevad keskkonnad/platvormid/ brauserid
Tööde ja vigade haldus
� Changelogic’u demo
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
33
Teie tulem: testimisplaan
� Kes, millal, kuidas ning mida testitakse?
� Milliseid automaatseid testimise vahendeid kasutatakse? Mis otstarbel?� NB! Ühiktestid on kohustuslikud!
� Mis hetkedel ning mida testitakse käsitsi
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
34
� Kuidas teostatakse ülevaatusi?
� Kuidas raporteeritakse ning parandatakse vigu?
Teie tulem: süsteemitestid
Nõue Testi tulem
Sisselogimine OK
Klientide nimekirja vaatamine OK
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
35
Kliendi lisamine OK
Kliendi andmete muutmine OK
Teenindada 500 kasutajat korraga SNAFU
II iteratsiooni tulemid
� Nõuete dokument
� Testimisplaan
� Prototüüp
� Arhitektuuridokument
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
36
� Ainemudel
� II iteratsiooni kokkuvõte
� III iteratsiooni plaan
Näitetulemite esitlus ja Eclipse
Rein Raudjärv
Eclipse plugins� Eclipse (3.2.2)
� http://download.eclipse.org/eclipse/downloads/� EMF-SDO-XSD SDK (2.3)
� http://www.eclipse.org/modeling/emf/downloads/?project=emf
� GEF runtime (3.2.2)� http://download.eclipse.org/tools/gef/downloads/
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
38
� http://download.eclipse.org/tools/gef/downloads/� Java EMF (JEM) runtime (1.2.3)
� http://download.eclipse.org/tools/ve/downloads/� WTP release (1.5.3)
� http://download.eclipse.org/webtools/downloads/
Eclipse plugins (2)
Subclipse (Subversion)� http://subclipse.tigris.org/install.html
� Spring IDE (Spring Framework)� http://springide.org/project/wiki/SpringideInstall
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
39
deInstall
Mõisted
� Snapshot
� Kogu projekti kaust v.a genereeritav osa (build, release, javadoc, ...)
� Release
� War-fail
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
40
� War-fail
� Paigaldusjuhend
Tulemite esitamine
� build.xml targetid snapshot ja release genereerivad vastavad zip-failid
� Kopeerida zip-failid ATS-i public_html kausta
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
41
� Lisada Wikisse lingid� Genereerida räsid
� sha1sum (failinimi)
� Saata kiri üldlisti
Kirja näide
Subject: [Jedi] iteratsioon 2 tulemusFrom: jedi@starwars.comTo: aine.mtat.03.138@lists.ut.ee
7ef24b014dd1e78188ae1f86cebf9e1ecbc8e228 jedi-snapshot-2.zip
15.03.2007 Ivo Mägi, Karel Kravik, Rein Raudjärv, Webmedia AS
42
jedi-snapshot-2.zipcaf5cc84dd7860907fcf010a56dd971a81b3418d
jedi-release-2.zip
http://courses.cs.ut.ee/2007/tvp/Groups/Jedi
Recommended