M. Roost , TTÜ Informaatikainstituut, Loengukonspektid aines Süsteemianalüüs, 2014 IDU 5360 SÜSTEEMIANALÜÜS Loeng 1. Sissejuhatus (kontseptuaalsesse) süsteemianalüüsi. Aine fookus Aine taust Eesmärgid ja õpiväljundid Aine korraldus Aine fookus KONTSEPTUAALNE SÜSTEEMIANALÜÜS VALDKONNA ANALÜÜS TARKVARA NÕUETE ANALÜÜS ITERATIIVNE ARENDUSPROTSESS Fookus: Kontseptuaalse süsteemanalüüsi meetodite rakendamine valdkonna ning tarkvara nõuete detailseks analüüsiks iteratiivses arendusprotsessis
Tarkvaratehnika: Loeng 1: Taust: o Tarkvara iseloom o Kõrgenenud nõudmised: Suuremad süsteemid Keerulisemad süsteemid Kiiremini Erinevad näited vigadest mis on tehtud: o Ariane Crash 1996 kosmosesüstiku alla kukkumine, tuli välja et selle alla kukkumise põhjuseks oli tarkvarasüsteemis viga ilmus trajektoori osas. o Therac-25 kiiritusravi andmises tehti viga kasutaja liideses, kus pandi vale täht ühte kohta, mille tulemusena anti 125 kordne doos patsiendile. o MCO marsi satelliidi maandumise ebaõnnestumine, nimelt tarkvara arvutas vale trajektoori, kuna oli kaks eri pikkusühikut ehk meetreid ja naela. Tarkvaratehnika ajalugu: o Esmakordselt kasutati seda NATO-s 1968, oli mõeldud ideena, kuidas toime tulla tarkvaratehnik
Tarkvaratehnika konspekt. Tarkvaratehnika Tarkvaratehnika e. tarkvara inseneeria on professionaalsele tarkvaraarendusele suunatud distsipliin, mis tegeleb sellega, kuidas organiseerida tarkvaraarendust, arvestades organisatsiooniliste ja rahaliste piirangutega. Tarkvaratooted koosnevad valjatöötatud programmidest ja nende dokumentatsioonist. Tarkvaratehnika eesmärgiks on kuluefektiivne tarkvaraarendus kogu tarkvara elukaare ulatuses. Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see tähendab, inseneriteaduste rakendamine tarkvarale. Tarkvaratehnika „point“: Tarkvaratehnika on suunatud professionaalsele tarkvaraarendusele. Tarkvaratehnika ei tegele tarkvaraarenduse endaga vaid sellega, kuidas organiseerida tarkvaraarendust. Tarkvaratehnika vajadus - kõrgenenud nõudmised: suuremad süsteemid, keerulisemad süsteemid, kiiremini arendatavad süsteemid. Insener suuda
1. Milline alljärgnevatest väidetest on õige? +mõlemad on võrdselt tähtsad Kasutusjuhtude mudeli koostamisel on teksti kirjutamine tähtsam diagrammide joonistamisest Kasutusjuhtude mudeli koostamisel on diagrammide joonistamine tähtsam kui teksti kirjutamine 2. Kas äriprotsess on samal ajal ka tarkvara kasutusjuhtum (use case)? Joonige alla õige vastus. Võib olla küll, kuid kindlate tingimuste täidetuse korral Ei, kindlasti mitte Jah, kindlasti on 3. Millist loetletud diagrammitehnikatest ei kasutata põhimõtteliselt Eriksson-Penkeri ärimodelleerimise notatsioonis? klassidiagramm + ärikasutusjuhtude diagramm olekudiagramm tegevusdiagramm 4. Milliseid kasutusjuhtude mudelis identifitseeritud tegutsejaid (actors) ei ole vaja kasutusjuhtude diagrammis näidata? Valige pakutud vastusevariantide hulgast parim (s.t. täpne) vastus: toetavad tegutsejad vaadeldava süsteemi suhtes huvisid omavad tegutsejad +kõr
1. Milline alljärgnevatest väidetest on õige? mõlemad on võrdselt tähtsad + Kasutusjuhtude mudeli koostamisel on teksti kirjutamine tähtsam diagrammide joonistamisest Kasutusjuhtude mudeli koostamisel on diagrammide joonistamine tähtsam kui teksti kirjutamine 2. Kas äriprotsess on samal ajal ka tarkvara kasutusjuhtum (use case)? Joonige alla õige vastus. Võib olla küll, kuid kindlate tingimuste täidetuse korral Ei, kindlasti mitte Jah, kindlasti on 3. Millist loetletud diagrammitehnikatest ei kasutata põhimõtteliselt Eriksson-Penkeri ärimodelleerimise notatsioonis? klassidiagramm + ärikasutusjuhtude diagramm olekudiagramm tegevusdiagramm 4. Milliseid kasutusjuhtude mudelis identifitseeritud tegutsejaid (actors) ei ole vaja kasutusjuhtude diagrammis näidata? Valige pakutud vastusevariantide hulgast parim (s.t. täpne) vastus: toetavad tegutsejad vaadeldava süsteemi suhtes huvisid omavad tegutsejad +kõr
Kontseptuaalne süsteemianalüüs KT küsimused ja vastused 1. Milline järgnevalt nimetatud analüüsitulemustest on objektorienteeritud analüüsis kõige tähtsam? (Objektorienteeritud analüüsi all on siin mõeldud mitte kogu analüüsitegevust UP nimelises protsessis, vaid objektorienteeritud mõtteviisi selles tegevuses) kasutusjuhtude mudel protsessi mudel eesmärkmudel domeenimudel 2. Kas äriprotsess on samal ajal ka tarkvara kasutusjuhtum (use case)? Joonige alla õige vastus. Jah, kindlasti on Võib olla küll, kuid kindlate tingimuste täidetuse korral Ei, kindlasti mitte 3. Kas RUP Äri Objektmudel (Business Object Model) võib sisaldada dünaamikavaadet? Valige täpselt üks õige vastus: Ei või Jah, võib küll Oleneb asjaoludest 4. Millise allpool nimetatutest võiks olla (ainekonspekti ning C. Larmani raamatu õpetuse järgi) korrektse ning kasuliku skoobiga tarkvara kasutuslugu (use case)? Ainult üks vastusevariantidest vastab korrektse kasutusloo põhitingimu
KORDAMISKÜSIMUSED 1. Kvaliteetse tarkvara atribuudid. eksam 2. Mis on tarkvaratehnika? 3. Üldistatud protsessid tarkvaraarenduses. 4. Tarkvaraprotsesside 2 suuremat liiki. 5. Manifesto for Agile Software Development. 6. Kuidas liigitada nõudeid? eksam 7. Nõude 3 põhiomadust. 8. Nõuete valideerimise tehnikad. 9. Komponentidel põhinev arhitektuur 10.Kihiline arhitektuur eksam 11.Objektorienteeritud arhitektuur 12.Teenusorienteeritud arhitektuur 13.Lihtsa koodi disaini 4 elementi 14.Miks peab nõudeid haldama? 15.Milleks kasutatakse versioonihaldust? eksam 16.Funktsionaalne nõue eksam 17.Mittefunktionaalne nõue eksam 18.Tarkvara elutsükkel 19.Millest koosneb tarkvara? 20.Mis on testimine? 21.Staatiline testimine eksam 22.Dünaamiline testimine eksam 23.Valge kasti testimine 24.Musta kasti testimine 25.Testimise tasemed 26.Re-testmine ja regressioonitestimine 27.eXtreme programmingu alustalad 28.K
TARKVARATEHNIKA KORDAMISKÜSIMUSED 1. Mis on tarkvaratehnika? Software engineering ! “Engineers Australia” definitsioon: Tarkvaratehnika on tiimide poolt rakendatav distsipliin tootmaks kõrgekvaliteedilist, suuremastaabilist ja hinnaefektiivset tarkvara mis rahuldab kasutajate nõudmisi ja mida saab hooldada teatud ajaperioodi vältel. IEEE definitsioon: Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see tähendab, inseneriteaduste rakendamine tarkvarale. Tarkvaraarendus on nõrgem termin, kus tingimata ei kasutata protsesse, tööriistu, standardeid, jne. Tarkvaraarendus on progemine + konfigursatsiooni haldus. Tarkvaratehnika ei ole ainult programmi kirjutamine, vaid teemad hõlmavad ka kvaliteeti, ajakavasid,
Kõik kommentaarid