spetsifitseerimise meetodid. lähteülesande koostamine€¦ · spetsifitseerimise meetodid....
TRANSCRIPT
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
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
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
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
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
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
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
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
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.
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.
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
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
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.
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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