Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid....

30
Kui on tahe, on ka võimalus! Erkki Leego (1/30) Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Transcript of Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid....

Page 1: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(1/30)

Spetsifitseerimise meetodid. Lähteülesande koostamine

Erkki Leego

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 2: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(2/30)

Spetsifitseerimise põhimõtted

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 3: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(3/30)

Kasutajaliidese spetsifikatsioon

• Kirjeldab arendusmeeskonnale süsteemile seatud nõudeid

• Ühiselt kokku leppida lahendus, kuidas päriselu äriprotsessid üle kanda infosüsteemi konteksti

• Visualiseerib süsteemi funktsionaalsust

• Eesmärk on tagada tellijate ja tegijate ühtne arusaam süsteemi käitumisest ja välimusest

• Mahukamates arendustest eraldatakse disaini kirjeldus süsteemi funktsionaalsuse ja arhitektuuri kirjeldusest

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 4: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(4/30)

Spetsifitseerimismeetodid

• Loomulikus keeles

– Kõige tavapärasem viis

– Paindlik

– Raske tõestada korrektsust, terviklikkust ja täielikkust

• Formaalses keeles

– Kindel grammatika, võimalik kontrollida sõne vastavust sellele grammatikale

• Muud spetsifitseerimisvahendid

– Menüü- ja dialoogipuud

– Üleminekudiagrammid

– Olekudiagrammid

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 5: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(5/30)

Loomulikus keeles kirjeldamine

• Ülesehitus varieeruv

– Eesmärk ühtse arusaama tekitamine tellija ja arendaja vahel

• Kirjelduse osi

– Funktsionaalsus

– Stsenaariumid, tegevused

– Kasutajad, rollid

– Andmed, andmete grupid

– Disaini elementide kirjeldused

– Suhtluse kirjeldus

– Koolituse, õppimise ja abisaamise võimalused

– Andmekaitse meetmed

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 6: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(6/30)

Backus-Naur Form (BNF)

• Levinud programmeerimiskeelte kirjeldamisel

• Kõrgema taseme komponendid koostatakse madalama taseme komponentidest

• Terminaalid – atomaarsed komponendid

• Mitteterminaalid koosnevad madalama taseme mitteterminaalidest ja/või terminaalidest

• Näide 1: Positiivne täisarv <integer> ::= <digit>|<integer>

<digit> ::= 0|1|2|3|4|5|6|7|8|9

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 7: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(7/30)

BNF grammatika näide

• Telefoniraamatu sissekanded

<Telephone book entry>::= <Name><Telephone number>

<Name> ::= <Last name>, <First name>

<Last name> ::= <string>

<First name> ::= <string>

<string> ::= <character>|<character><string>

<character> ::= A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z

<Telephone number>::= (<area code>) <exchange>-<local number>

<area code>::= <digit><digit><digit>

<exchange>::= <digit><digit><digit>

<local number>::= <digit><digit><digit><digit><digit>::= 0|1|2|3|4|5|6|7|8|9

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 8: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(8/30)

Menüü- ja dialoogipuud

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

• Esitavad graafiliselt menüüde hierarhia

• Annavad täieliku ja detailse ülevaate süsteemist

• Sarnane metoodika ka dialoogiakende puude visualiseerimisel

Page 9: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(9/30)

Üleminekudiagrammid

• Transition diagrams

• Kirjeldab tegevuste järjekorda

• Suunatud graaf

– tippudeks on kõikvõimalikud süsteemi olekud

– kaarteks kõik lubatud üleminekud nende olekute vahel

– iga kaar on tähistatud kasutaja tegevusega

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

© Pearson Education Inc.

Page 10: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(10/30)

Üleminekudiagramm (koos sagedusega)

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

© Pearson Education Inc.

Page 11: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(11/30)

Põhitegevused rakenduse planeerimisel

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 12: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(12/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

1. Määratle kasutaja oskuste tasemed

• Vanus, sugu, füüsilised ja vaimsed võimed, haridus, kultuuriline või etniline taust, treenitus, motivatsioon, eesmärgid ja isiksus

• 3 taset kasutajaid

– Algajad ja esmakasutajad

– Oskajad juhukasutajad

– Eksperdid regulaarsed kasutajad

• Spiraalne (mitmetasemeline) disain

Page 13: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(13/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

2. Määratle tegevused

• Määra tegevused ja nende sagedus

• Üldisemalt üksikumale (atomaarsele) minek keeruline

• Suhteline tegevuste sagedus ja lahendused disainis

© Pearson Education Inc.

Page 14: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(14/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

3. Vali interaktsioon

1. Otsekäsitlus

2. Menüü kasutamine

3. Vormide täitmine

4. Käsukeel

5. Tavakeel

© Pearson Education Inc.

Page 15: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(15/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Interaktsiooni valikute näide

© Pearson Education Inc.

Page 16: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(16/30)

Mõned üldpõhimõtted

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 17: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(17/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Liidesedisaini 8 “kuldset reeglit”

1. Püüdle ühtluse suunas

2. Arvesta erinevate kasutajatega

3. Paku informatiivset tagasisidet

4. Kujunda dialoogidele selge lõpp

5. Väldi vigu

6. Võimalda lihtsat tegevuste tühistamist (undo)

7. Säilita kontrollitunne

8. Vähenda lühimälu koormust

Page 18: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(18/30)

Lähteülesande koostamine

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 19: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(19/30)

Kodutöö dokumendi ülesehitus

• Funktsionaalsuse ja sisu kirjeldus – Eesmärk, lühikirjeldus, mõisted, nõuded

– Rollid

– Andmete kirjeldus

– Protsesside kirjeldused (BPMN)

– Kasutuslood • Eeldused, kirjeldus, soovitud tulemus

• Disaini nõuded ja juhised – Sõnad, värvid, ikoonid ja graafika

– Ekraanipaigutus ja navigatsioon

– Sisend- ja väljundseadmed, kiirklahvid

– Vigade haldus ja veateated

– Juhised kasutajale

• Prototüüp (ekraanipildid või rakendus)

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 20: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(20/30)

Eesmärk, lühikirjeldus, mõisted

• Eesmärk – Mida peab kasutaja teha saama?

– Miks me seda funktsionaalsust realiseerime?

• Lühikirjeldus – Kuidas see aitab tellijal efektiivsemalt tööd teha kui

käsitsi / tänase lahendusega?

– Millises süsteemis ja süsteemi alamosas funktsionaalsus asuma peab?

• Mõisted – Valdkonnaspetsiifilised „keerulised“ mõisted –

statsionaarne, ambulatoorne, epikriis

– Kontekstitundlikud „lihtsad“ mõisted – pakkimine, paigaldamine

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 21: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(21/30)

Nõuded

• Eeldused – Millised tingimused peavad olema täidetud, et asuda kirjeldatud

funktsionaalsusi kasutama?

• Funktsionaalsed nõuded – Mida peab kasutaja saama teha antud funktsionaalsuse abil? – Mida peab süsteem tegema?

• Mittefunktsionaalsed nõuded ehk kvaliteedinõuded – Kuidas peab süsteem seda tegema?

• Nice to have nõuded – Kosmeetilised parandused, mugavusarendused. Nõuded, mis

realiseeritakse, kui ressurssi jätkub. Funktsionaalsus, mis on „kirss tordil“

• Järgmiste etappide nõuded – Tulevikku planeeritud edasiarendused, millega on arendajal

kasulik kursis olla, et arhitektuur varakult piisava paindlikult planeerida

• Asjaolud – Näiteks kust tulevad nõuded - äriline vajadus ja/või vastav

seadus, määrus, direktiiv

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 22: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(22/30)

Rollid

• Kellel on õigus loodavat funktsionaalsust kasutada?

• Millised rollid täidavad kasutuslugusid?

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Roll Funktsionaalsus

<Rolli nimetus> <Funktsionaalsus kasutuslugude piires>

Tellija Valib pizza. Sisestab kontaktandmed.

Tasub pizza eest.

Vastuvõtja Kinnitab tellimuse.

Kokk Sisestab valmistamisega seotud info

Page 23: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(23/30)

Andmete kirjeldus

• Andmemudel või andmete ülevaade

• Näiteks: kontaktandmed

– Nimi

– Aadress

– Telefon

– E-posti aadress

– Arveldusarve number

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 24: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(24/30)

Kasutuslood

• Eeldused – Millised tegevused / sammud peavad olema eelnevalt

tehtud, et asuda seda konkreetselt kasutuslugu läbi viima?

• Kirjeldus – Millised sammud peab kasutaja läbi tegema, et jõuda

soovitud tulemuseni?

– Millised on alternatiivsed viisid jõuda soovitud tulemuseni?

– Milliste alternatiivsete kulgemiste korral protsess katkeb?

• Soovitud tulemus – Millise tulemuseni jõuame, kui protsessi põhivoog on

korrektselt läbitud?

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 25: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(25/30)

Protsessidiagramm (BPMN)

• Protsessidiagramm ei asenda tekstilist kasutuslugu, vaid täiendab seda

• Hea viis näidata alternatiivseid kulgemisi ja kohti, kus kasutusloo täitmine võib katkeda

• Aitab hästi visuaalselt leida kohti, kus protsessi optimeerida

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

BizAgi, http://www.bizagi.com

Page 26: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(26/30)

Meeskonnatöö dokumentidega (näpunäide)

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 27: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(27/30)

Taust ja eeldused

• Taust – Paljud dokumendid vajavad meeskonna ühist

toimetamist

– Paralleeltoimetamise puhul on eriliselt tähtis dokumentidele unikaalse nime andmine ja erinevate versioonide eristamine

– Lisaks failinime unikaalsusele on vaja tagada ka arusaam versioonide järgnevusest ja autoritest

• Eeldused – Igal dokumendil peab olema vastutav autor – “pealik”

– Pealik hoiab ohjes meeskonnale failiversioonide jagamist ja muudatuste aktsepteerimist

– Dokumendi iga uue versiooni failinimi peab olema unikaalne

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 28: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(28/30)

Failinime reeglid

• Failinime muster - "Pealkiri Versioon Autor“ – Nt. “Dokumentide nimetamine 2013-03-02a

Leego.pptx”

• Pealkiri – normaalne dokumendi täispikk pealkiri

• Versioon – tagurpidi kuupäev tähestiku järgmise tähega – Näiteks "2013-02-24a”, "2013-02-24b“

– Samal kuupäeval tekkiva faili puhul tuleb lisada tähestiku järgmine täht. Muidu järgmine kuupäev ja täht „a“.

• Autor – dokumendi muutja perekonnanimi – Autori nimi versioonis tagab, et paralleelselt toimetades

sama tähega uue versiooni puhul on eristajaks autori perekonnanimi

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 29: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(29/30)

Töökord ühe faili paralleeltööks

1. Anda igale failile unikaalne nimi

– Vt. eelmist slaidi

2. Kasutada dokumendis Track of changes funktsiooni

3. Lisada dokumendi algusesse muudatuste logi tabel

– kuhu kantakse lühiinfo muudatuse kohta (kuupäev, versiooninumber, muudatuste lühikirjeldus, muutja)

4. Dokumendi pealik nopib muudatustega kohad ühte dokumenti kokku ja teeb uue puhta versiooni

MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Page 30: Spetsifitseerimise meetodid. Lähteülesande koostamine€¦ · Spetsifitseerimise meetodid. Lähteülesande koostamine Erkki Leego MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool.

Kui on tahe, on ka võimalus!

Erkki Leego

(30/30) MTAT.03.032. Loeng 4 / 07.03.14 / Tartu Ülikool

Tänan!

Kui on tahe, on ka võimalus!

Erkki Leego, [email protected], http://courses.cs.ut.ee/2014/ui