62
Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi

Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tarkvara projekt – seminar III

28.veebruar 2008Ivo Mägi

Page 2: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Seminari kava

� Kliendisuhtlusest� Infrastruktuur� I iteratsiooni tulemite nõuded

Projektiplaan

28. veebruar 2008 Ivo Mägi, Webmedia AS 2

� Projektiplaan� Riskide maandamise plaan� Ainemudel� Nõuete dokument� Testide plaan� Süsteemi arhitektuur� Esimese iteratsiooni kokkuvõte� Teise iteratsiooni plaan

Page 3: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Kliendisuhtlus

� Suhtluskanali tähtsus� Näost näkku� Telefon/Skype� Instant messenger

28. veebruar 2008 Ivo Mägi, Webmedia AS 3

� Instant messenger� E-mail

� Nõuete kogumine� Tagasiside hankimine

Page 4: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Kliendisuhtlus: võimalikud probleemid

� Mahuhinnang� Klient peab aru saama et töömaht peab

olema vahemikus 480-720h

� Klient peab olema valmis osalema

28. veebruar 2008 Ivo Mägi, Webmedia AS 4

� Klient peab olema valmis osalema nõuete täpsustamisel ning tagasiside andmisel

� Konfliktide tekkimisel palun otsekohe aine korraldajatele märku anda

Page 5: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Infrastruktuur

� Erinevad keskkonnad. Miks?� Arenduskeskkond� Testkeskkond

� Toodangukeskkond

28. veebruar 2008 Ivo Mägi, Webmedia AS 5

� Toodangukeskkond

� Propageerimine

Page 6: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Operatsioonisüsteem

� CentOS Linux 5.0� MS Windows XP� Eksootilisemaid variante (Solaris, HP-

UX, …) prooviksime elimineerida

28. veebruar 2008 Ivo Mägi, Webmedia AS 6

UX, …) prooviksime elimineerida

Page 7: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

ats.cs.ut.ee

� Autentimine teie ülikooli kasutajatunnusega

� Grupikuuluvus on määratud grupi koosseisu järgi. Grupi nimi on võetud koosseisu järgi. Grupi nimi on võetud wikist

� Grupi kodukataloog (tulemite publitseerimiseks)� /projects/home/tvp2008/<group_name>

28. veebruar 2008 Ivo Mägi, Webmedia AS 7

Page 8: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Andmebaas

� MySQL� MS SQL Server� Postgres

28. veebruar 2008 Ivo Mägi, Webmedia AS 8

� Oracle

Page 9: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

MySQL� Igal rühmal on olemas MySQL baas:

� server: mysql.cs.ut.ee� database: tvp2008_<project_name>� username: tvp2008_<project_name>� password: vaata � password: vaata

/projects/home/tvp2008/<project_name>/mysqlpasswd

� phpMyAdmin on kasutatav URLilt http://ats.cs.ut.ee/utils/phpmyadmin/

28. veebruar 2008 Ivo Mägi, Webmedia AS 9

Page 10: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

PostgreSQL

� Igal rühmal on olemas Postgresibaas:� server: ats.cs.ut.ee� database: tvp2008_<project_name>� database: tvp2008_<project_name>� username: tvp2008_<project_name>� password: look at

/projects/home/tvp2008/<project_name>/postgresqlpasswd

28. veebruar 2008 Ivo Mägi, Webmedia AS 10

Page 11: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Rakendusserver

� Apache Tomcat� MS IIS

28. veebruar 2008 Ivo Mägi, Webmedia AS 11

Page 12: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tomcat

� Igal rühmal on kasutada üks Tomcatiinstants� server: ats.cs.ut.ee� Väline proxy (via AJP) to URL: � Väline proxy (via AJP) to URL:

http://ats.cs.ut.ee/tvp2008/<project_name>� instance path:

/usr/share/tomcat5/instances/tvp2008_<project_name>

� start-stop script: /usr/share/tomcat5/instances/tvp2008_<project_name>/catalina.sh

28. veebruar 2008 Ivo Mägi, Webmedia AS 12

Page 13: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Veebiserver

� Apache HTTP Server� MS IIS

28. veebruar 2008 Ivo Mägi, Webmedia AS 13

Page 14: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Virtuaalmasinad

� JVM for Java� CLR for C#

28. veebruar 2008 Ivo Mägi, Webmedia AS 14

Page 15: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tugitarkvara

� Versioonihaldus: SVN� Ehitamine: ANT for Java projects� Knowledge management: Wiki

28. veebruar 2008 Ivo Mägi, Webmedia AS 15

� Taskihaldus: Changelogic� Juhtumeid kus ülaltoodud komplekt ei

sobi käsitleme case-by-case

Page 16: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

SVN

� Igal rühmal on repositooriumsvn://ats.cs.ut.ee/courses/tvp2008 /<project_name>

� Kasutajakontod on samad mis ülikooli � Kasutajakontod on samad mis ülikooli serverite omad

� Paroolid leiate /projects/home/tvp2008/<project_name>/svnpasswd

28. veebruar 2008 Ivo Mägi, Webmedia AS 16

Page 17: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Changelogic

� http://ats.cs.ut.ee/changelogic� Kasutajanimed ja paroolid on samad

mis SVN puhul� Projektid on loomisel� Projektid on loomisel

28. veebruar 2008 Ivo Mägi, Webmedia AS 17

Page 18: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Ehitusskriptid: kohustuslikud targetid

� snapshot: kogu lähtekood ja dokumentatsioon pakituna

� release: käivitatav rakendus, installatsioonijuhend ning muu

28. veebruar 2008 Ivo Mägi, Webmedia AS 18

installatsioonijuhend ning muu installatsiooniks vajalik

� build: arenduses ehitamine� test: automaattestide käivitamine� clean: puhastus

Page 19: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Wiki� http://courses.cs.ut.ee/2008/tvp/Teams/Teams� 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

28. veebruar 2008 Ivo Mägi, Webmedia AS 19

� Projektijuhi kontaktandmed� Kõikide iteratsioonide tulemid (snapshot+release)� Viited

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

� Kõik valminud dokumendid� Näide eelmisest aastast

Page 20: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Struktuur: nõuded

28. veebruar 2008 Ivo Mägi, Webmedia AS 20

Page 21: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemite esitamine� Märgendada versioonihalduses uus haru� Võtta vastav versioon versioonihaldusest� Java projektides:

� ant snapshot� ant release

� Kopeeride release ja snapshot

28. veebruar 2008 Ivo Mägi, Webmedia AS 21

� Kopeeride release ja snapshot /projects/home/tvp2008/<groupname>/public_html kataloogi ning viidata neile projekti Wikist

� Saata kursuse üldlisti kiri kus sisaldub� SHA1 räsi snapshotist. Miks?� SHA1 räsi releasest. Miks?� Viit grupi wikile kus on lingitud valminud tulemid ning

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

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

Page 22: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

sha1sum: näide arvutamisest

28. veebruar 2008 Ivo Mägi, Webmedia AS 22

Page 23: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Nõuded I iteratsiooni tulemitele� Meeldetuletusena: me ei õpeta siin aines midagi

� Anname võimaluse õpitut rakendada� Aitame lahendada rakendamisel tekkivaid probleeme� Anname tagasisidet tehtud tööle

� Et hoida meeskondi mingis kindlas rütmis kirjutame ette � Et hoida meeskondi mingis kindlas rütmis kirjutame ette tehtavad tulemid� Juhul kui mõni tehnoloogia ei võimalda antud tulemit

teostada või soovib klient mingit alternatiivset tulemit siis palun kohe kontakteeruda aine korraldajatega.

28. veebruar 2008 Ivo Mägi, Webmedia AS 23

Page 24: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: projekti plaan

� Aine eripärad projektijuhtimise seisukohalt� Teie tiimi liikmed paiknevad hajali� Teie tiimi liikmed teevad tööd ainult ühe � Teie tiimi liikmed teevad tööd ainult ühe

päeva nädalas� Teie tiimi liikmed on erinevates

ajavööndites� Teil puudub otsene võimalus oma

tiimiliikmeid motiveerida

28. veebruar 2008 Ivo Mägi, Webmedia AS 24

Page 25: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Projekti plaan: sisu

� Arendusmetoodika� Rollide jaotus� Ajagraafik

28. veebruar 2008 Ivo Mägi, Webmedia AS 25

Page 26: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Projekti plaan: arendusmetoodika� 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 � Mis moel valitud metoodikat praktikas rakendada kavatsetakse

arvestades aine eripärasid võrreldes “tavalise” tarkvaraarendusega� Kuidas toimub suhtlus. Kasutatavad suhtlusvahendid

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

� Metoodika osas peab olema näha et teema on enese jaoks läbi mõeldud

28. veebruar 2008 Ivo Mägi, Webmedia AS 26

Page 27: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

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

28. veebruar 2008 Ivo Mägi, Webmedia AS 27

� Projektijuht� Projekti plaan ja kokkuvõte� Riskide tuvastamise ja maandamise dokument� Iteratsiooni plaan ja kokkuvõte� Üleandmise-vastuvõtmise akt� Tööülesannete jälgimine ja planeerimine

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

Page 28: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

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

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

� Arhitekt� Arhitektuuridokument

� Arendaja� Kood (kommenteeritud)

28. veebruar 2008 Ivo Mägi, Webmedia AS 28

� Kood (kommenteeritud)� Ühiktestid� Ehitusskriptid

� Testija� Testimise plaan� Süsteemitestid� (Tööülesannete jälgimine ja planeerimine)

� Dokumenteerija� Kasutajajuhend� Installatsioonijuhend� Rakenduse esitlus

Page 29: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

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

� Tööülesanded� Nimekiri� Sõltuvused. Te ei saa näiteks testida

enne kui kood on valmis

28. veebruar 2008 Ivo Mägi, Webmedia AS 29

enne kui kood on valmis� Mahtude hinnangud tundides

(planeeritud, tegelik)� Teostajad

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

Page 30: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Projekti plaan: tööülesanded

� “Kood” – 30h ei ole tööülesanne� Igal tööülesandel peab olema

mõõdetav tulem, näiteks:� Kõrvaldada “NullPointer Exception” arve � Kõrvaldada “NullPointer Exception” arve

salvestamisel� Realiseerida arvete väljatrüki komponent� Lisada arve vaatamise kuvale link

kreeditarvele (kui kreeditarve eksisteerib)

28. veebruar 2008 Ivo Mägi, Webmedia AS 30

Page 31: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: iteratsiooni plaan

� Eesmärgid� Tööülesanded

� Tööülesannete seos konkreetse teostajaga

28. veebruar 2008 Ivo Mägi, Webmedia AS 31

teostajaga� Mõõdetava tulemiga (jällegi – “Testimine

20h” ei ole mõõdetav� Ülesannete vahelised seosed

� Mahtude hinnangud

Page 32: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: iteratsiooni kokkuvõte

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

� Reaalsed tegevuste mahud� Probleemid, mis tekkisid

28. veebruar 2008 Ivo Mägi, Webmedia AS 32

� Probleemid, mis tekkisid� Järeldused tulevikuks� Võtke iteratsioon kokku meeskonna

koosolekul, mitte ärge imege tund enne tähtaega pastakast välja

Page 33: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: riskide haldamine

� Millised võimalikud ohud projekti edukat täitmist ähvardavad?

� Mis on riski realiseerumise mõju projektile

28. veebruar 2008 Ivo Mägi, Webmedia AS 33

projektile� Milline on riski realiseerumise

tõenäosus.� Kuidas ja milliseid riske maandatakse ning milliste riskidega elatakse

Page 34: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: Nõuete dokument

28. veebruar 2008 Ivo Mägi, Webmedia AS 34

Page 35: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

FURPS

� Functionality (funktsionaalsus)� Usability (kasutatavus)� Reliability (käideldavus)

28. veebruar 2008 Ivo Mägi, Webmedia AS 35

� Performance (jõudlus)� Supportability (toetus)

Page 36: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Funktsionaalsed nõuded

� Esitatakse kasutussituatsioonidena� Alternatiivsete esitussoovide korral

lepime eraldi kokku

28. veebruar 2008 Ivo Mägi, Webmedia AS 36

Page 37: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Kasutussituatsioon

� Tegutseja� Stsenaarium

� Põhivoog� Alternatiivsed vood

28. veebruar 2008 Ivo Mägi, Webmedia AS 37

� Alternatiivsed vood

� Tulemus� Näide � Tekst või diagramm?

Page 38: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Kasutussituatsioonid I

� Formaalsuse astmed� Ainult põhivoog� Lisada alternatiivsed vood� Lisada eel- ja järeltingimused

28. veebruar 2008 Ivo Mägi, Webmedia AS 38

� Lisada eel- ja järeltingimused

� Kliendile arusaadavas keeles� HALB: Tehakse uus Oracle baasi kirje

tabelisse new_orders ning seotakse see välisvõtmega uue order_process külge

� HEA: Süsteem salvestab kasutaja paketivahetuse andmed

Page 39: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Näide: lift

� Peab saama lifti kutsuda� Peab saama korrust valida

28. veebruar 2008 Ivo Mägi, Webmedia AS 39

� Peab saama abi kutsuda� Peab saama uksi sulgeda� Peab saama uksi avada� Peab saama lifti peatada

Page 40: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Kasutatavus (usability)

� Sobivus kasutaja mõttemudeliga� Esteetika (disain, pildid, ikoonid)� Õpitavus

28. veebruar 2008 Ivo Mägi, Webmedia AS 40

� Tagasiside aeg (response time)� Lihtne navigeerimine� Kasutajaliidese ühtlus� Abiinfo, dokumentatsioon

Page 41: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Näide: lift

� Lihtne kutsumine� Selge korruse valik� Info käesoleva korruse kohta

28. veebruar 2008 Ivo Mägi, Webmedia AS 41

� Info kutsenupu seisundi kohta� Valitud korruse indikaator peab olema

eristatav ka värvipimedale

Page 42: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Käideldavus (reliability)

� Lubatav vigade arv ning tõsidus� Vigade esinemisele vahele jääv

ajavahemik (MTBF – mean time between failures)

28. veebruar 2008 Ivo Mägi, Webmedia AS 42

between failures)� Taastatamisele kuluv aeg� Väga kriitilised ärirakendused,

reaalajasüsteemid� Service Level Agreement

Page 43: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Näide: lift

� Ei tohi juhtuda rohkem kui üks selline tõrge aastas, mille tulemusena inimesed jäävad lifti lõksu

� Sellist tüüpi vead tuleb lahendada 30

28. veebruar 2008 Ivo Mägi, Webmedia AS 43

� Sellist tüüpi vead tuleb lahendada 30 minuti jooksul

Page 44: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Jõudlus (performance)

� Tegevuse kestus (keskmine, maks)� Tegevuste arv (tegevusi sekundis)� Võimsus (maks samaaegsete klientide

arv)

28. veebruar 2008 Ivo Mägi, Webmedia AS 44

arv)� Piirkoormus, lubatavad jõudluse

languse piirid kõrge koormuse tingimustes

Page 45: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Näide: lift

� Lift peab suutma teenindada 300 inimest tunnis

� Lifti keskmine tulekuaeg peab jääma alla 1 minuti, tippajal kuni 2 minuti

28. veebruar 2008 Ivo Mägi, Webmedia AS 45

alla 1 minuti, tippajal kuni 2 minuti jooksul

Page 46: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Toetatavus (supportability)

� Kui palju raha peab kulutama süsteemi käigus hoidmisele?

� Testitavus (vigade diagnoosimise lihtsus)

28. veebruar 2008 Ivo Mägi, Webmedia AS 46

lihtsus)� Hooldatavus (regulaarsed uuendused)� Konfigureeritavus (runtime vs koodis)� Laiendatavus� Lokaliseeritavus

Page 47: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Näide: lift

� Lifti tarkvara uuendamine ei tohi võtta üle 10 minuti

� Lift ei tohi nõuda hooldust tihemini kui kord aastas

28. veebruar 2008 Ivo Mägi, Webmedia AS 47

kui kord aastas

Page 48: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Nõuded: kommunikeerimine

� Kes viitsib lugeda 500 lk dokumenti?� Prototüüp

28. veebruar 2008 Ivo Mägi, Webmedia AS 48

Page 49: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Nõuded: prioritiseerimine

� Väärtus kliendile� Makse tegemine internetipangas

� Suur risk� Integreerimine välise süsteemiga

28. veebruar 2008 Ivo Mägi, Webmedia AS 49

� Integreerimine välise süsteemiga

� Mõju arhitektuurile� Peab teenindama 5000 samaaegset

kasutajat

Page 50: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Nõuded: seos projektiplaaniga

� Seega järjestage töid projektiplaani lihtsa valemi järgi� Tellija äri jaoks olulisemad protsessid

esmajärjekorras. Prioriteedid määrab esmajärjekorras. Prioriteedid määrab tellija esindaja.

� Riskantsemad komponendid esmajärjekorras. Komponent loetakse riskantseks kui ta on kas tehniliselt keerukas või on äriprotsess ebaselge.

28. veebruar 2008 Ivo Mägi, Webmedia AS 50

Page 51: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Teie tulem: nõuete dokument

� FURPS mudeli järgi� Peab sisaldama kõiki sektsioone � Funktsionaalsed nõuded

kasutuslugudena

28. veebruar 2008 Ivo Mägi, Webmedia AS 51

kasutuslugudena� Esialgses versioonis EI PEA ja EI

SOOVITA kirjutada lahti kõiki kasutuslugusid maksimaalse täpsusega. Vähemasti loetleda tuleb kõik.

Page 52: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulemid: Ainemudel

28. veebruar 2008 Ivo Mägi, Webmedia AS 52

Page 53: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Ainemudel (i.k. domain model)

� Reaalse maailma kontseptuaalsete klasside esitus.� Klassid� Seosed

28. veebruar 2008 Ivo Mägi, Webmedia AS 53

� Seosed� Atribuudid

� Esitus: tavaliselt UML klassdiagrammina

� Erinevus andmemudelist

Page 54: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Ainemudel: näide

28. veebruar 2008 Ivo Mägi, Webmedia AS 54

Page 55: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Ainemudel: protsess

� Leia klassid� Joonista leitud klassid

klassdiagrammile� Lisa vajalikud seosed

28. veebruar 2008 Ivo Mägi, Webmedia AS 55

� Lisa vajalikud seosed� Lisa vajalikud atribuudid� Klass või atribuut?

Page 56: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Ainemudel: käitumine

� Isendite võimalike tegevuste kirjeldamine

� Kas peaks olema ainemudeli osa?� Low coupling, high cohesion

28. veebruar 2008 Ivo Mägi, Webmedia AS 56

� Low coupling, high cohesion

� Näited� Arve oskab leida oma käibemaksu� Arve oskab ennast maksta luues uue

Makse� Klient oskab leida oma käibe üle kõigi

oma Arvete

Page 57: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Teie tulem: ainemudel

� Valdkonna mõistete esitus� Visuaalne� Ei pea olema UML� Soovitavalt sisaldab käitumist

28. veebruar 2008 Ivo Mägi, Webmedia AS 57

� Soovitavalt sisaldab käitumist� Võib olla andmemudel

� Ei pea esimeses tarnes veel sisaldama kõiki seoseid ja tunnuseid. Kõik olemid peaksid juba eksisteerima

Page 58: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulem: arhitektuuridokument I

� Loogiline arhitektuur� Füüsiline arhitektuur� Arhitektuursed otsused

28. veebruar 2008 Ivo Mägi, Webmedia AS 58

� Platvorm, tehnoloogiad� Kasutatavad teegid, viited

� Vabavaralised� Ostetavad

� Laienduse ja edasiarenduse võimalused

Page 59: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulem: arhitektuuridokument II

� Kihid (horisontaalne)� Funktsionaalsus (vertikaalne)� Aspektid (läbilõige)

28. veebruar 2008 Ivo Mägi, Webmedia AS 59

Page 60: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tulem: testimisplaan

� Kes, millal, kuidas ning mida testib?� Milliseid automaatseid testimise vahendeid

kasutatakse? Mis otstarbel?� NB! Kas ühiktestid või automaatsed � NB! Kas ühiktestid või automaatsed

kasutajaliidese testid on kohustuslikud!

� Mis hetkedel ning mida testitakse käsitsi� Kuidas teostatakse ülevaatusi?� Kuidas raporteeritakse ning parandatakse

vigu?

28. veebruar 2008 Ivo Mägi, Webmedia AS 60

Page 61: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tähtaeg: märts 2008

� Tuletan meelde: hilinemine ei ole soovitav:� Kuni 24 tundi hilinedes kaotate 25%

punktidest

28. veebruar 2008 Ivo Mägi, Webmedia AS 61

punktidest� Kuni 48 tundi hilinedes kaotate 50%

punktidest� Üle 48 tunni hilinedes kaotate kõik

punktid

Page 62: Tarkvara projekt – seminar III · Tarkvara projekt – seminar III 28.veebruar 2008 Ivo Mägi. Seminari kava Kliendisuhtlusest Infrastruktuur I iteratsiooni tulemite nõuded

Tähtaeg: tarnitavad tulemid

� Teil on kohustus tarnida ainult “paberit”

� Aga: suure tõenäosusega aga need rühmad kes selleks ajaks pole rühmad kes selleks ajaks pole hakanud koodi kirjutama ainest läbi ei saa

28. veebruar 2008 Ivo Mägi, Webmedia AS 62