neljapäev, 12. jaanuar 2017

Neljapäev 12.01.2017

Tarkvara disain:
protsess, kus agent loob tarkvaratehise spetsifikatsiooni, kasutades algseid komponente

1) Algoritmi disain

Algoritmid:
1) Probleemi määraimine

Jada liikmed käivad loogeliste sulgude vahele

CASE vahendid: Eclipse, NetBeans
CASE: tööriistade valdkond, mida kasutatakse tarkvara loomiseks ja disainimiseks

CASE kolm gruppi:
1) Tööriistad
2) Tööpingid
3) Keskkonnad

Tööriistad:
1) Äri ning analüüsi modelleerimine
2) Arendus, debuggerid
3) Verifitseerimine ning valideerimine; koodi analüsaatorid
4) Seadistuste haldus
5) Mõõtmine; koodi analüsaatorid koodi keerukuse suhtes
6) Projektijuhtimine

Tööpingid: 
integreerivad kaks või rohkem CASE tööriista

Fundamentaalsed modelleerimis kontseptid (FMC)
1) Süsteemi struktuur
2) Protsess süsteemis
3) Domeeniväärtused süsteemis

*Liitstruktuuri skeem ehk FMC plokk-skeem
*Dünaamilise struktuuri skeem ehk FMC Petri-net
*Väärtuste raadiuse struktuuri skeem ehk FMC E/R skeem

FMC plokkskeem
Pilt (link eelmisel real) on liitstruktuuri skeemi näide. Selles on agendid tellimuse protsessor (Order Processor), tarnija haldur (Supplier Manager), tarnija (Supplier), veebipood (Online Shop), ning nimetu inimagent (Human Agent)

DAVIS 
1) Disainiprotsess ei tohiks kannatada "silmaklappidest", peaks proovima erinevaid lähenemisi
2) Disain peaks olema seotud ning jälitatav
3) Ära leiuta jalgratast
4) Disain peaks näima ühtlane,
5) Peaks olema struktuurne ning peaks võimaldama muutuste sisseviimist
6) Peaks olema disainitud nii, et suudaks ootamatustele vastata
7) Disain pole koodimine, koodimine pole disain
8) Peaks hindama disaini kvaliteetsust
9) Disaini peab üle vaatama, et minimiseerida põhimõttelisi vigu

Disaini põhimõtted
1) Abstraktsioon - üldistamine
2) Viimistlemine/täpsustamine:
3) Modulaarsus- tarkvara arhitektuur võiks olla jaotatud komponentideks
4) Tarkavara arhitektuur
5) Juhtimise hirearhia
6) Jaotiste ülesehitus- programmi ülesehitus tuleks jagada horisontaalselt ning vertikaalselt juppideks
7) Andmestruktuur
8) Tarkvaraprotseduur
9) Polümorfism

Disaini kaalutlused
1) Ühilduvus: tarkvara peab töötama teiste toodetega koos
2) Laiendatavus: võimalus lisada uusi võimekusi
3) Modulaarsus
4) Hooldatavus
5) Taaskasutatav
6) Robustne
7) Turvalisus
8) Kasutatavus
9) Jõudlus: asi ei tohi venima jääda
10) Porditavus
11) Mastaapsus

Arhitektuuri kirjeldamise keel
https://github.com/osate
camunda.org/bpmn/tutorial/
https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation#Overview
EEML
Vooskeem
IDEF: Modelleerimiskeelte perekond
Jackson
LePUS3: Kuulub objekt-orienteeritud programmeerimiskeelte hulka
Alloy: On loodud keeruliste struktuursete piirangute kirjeldamiseks
Service-oriented modeling framework (SOMF)
Disaini mustrid

Kommentaare ei ole:

Postita kommentaar