PI_8paskaita
Upcoming SlideShare
Loading in...5
×
 

PI_8paskaita

on

  • 1,466 views

 

Statistics

Views

Total Views
1,466
Views on SlideShare
1,376
Embed Views
90

Actions

Likes
0
Downloads
13
Comments
0

3 Embeds 90

http://paskaitos.roleka.lt 87
http://roleka.elekta.lt 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PI_8paskaita PI_8paskaita Presentation Transcript

  • Program ų inžinerija Programinės įrangos projektavimas Bazinės projektavimo sąvokos
  • Turinys
    • PĮ projektavimo procesas, jo metodikos ir sprendžiamos problemos
    • PĮ architektūros samprata
    • PĮ projektavimo notacijos
    • PĮ projektavimo metodai
  • PĮ projektavimo procesas, jo metodikos ir sprendžiamos problemos
  • Kas tai yra PĮ projektavimas?
    • PĮ projektavimas apibrėžiamas kaip sistemos/komponento architektūros, interfeisų ir ją/jį sudarančių komponentų išskyrimo procesas bei šio proceso rezultatas
  • PĮ projektavimas - programų inžinerijos proceso dalis
    • PĮ projektavimo procesas yra viena iš programų inžinerijos proceso veiklų, kurios metu:
      • nagrinėjami PĮ reikalavimai
      • sudaromas būsimos sistemos struktūros aprašymas, kuris vėliau naudojamas PĮ programavimo metu
  • PĮ projektavimo svarba
    • PĮ projektavimo procesas vaidina svarbų vaidmenį PĮ kūrimo procese:
      • jo metu sukurti įvairūs PĮ architektūrą atvaizduojantys modeliai naudojami kaip sistemos realizacijos planas
      • turimi modeliai leidžia įvertinti, ar suprojektuota PĮ architektūra leis realizuoti visus jai keliamus funkcinius ir nefunkcinius reikalavimus
      • remiantis sudarytu PĮ architektūros projektu galima pateikti alternatyvius jos realizacijos pasiūlymus
  • PĮ projektavimo proceso etapai
    • PĮ projektavimo procesą sudaro 2 etapai:
      • architektūros projektavimas ( architectural design ) – jo metu PĮ yra išskaidoma į atskirus komponentus
      • detalus projektavimas ( detailed design ) – jo metu yra aprašomas PĮ sudarančių komponentų funkcionavimas
  • PĮ projektavimo proceso rezultatas
    • PĮ projektavimo proceso rezultatas yra modelių , aprašančių priimtus projektavimo sprendimus, rinkinys
  • PĮ projektavimo metodikos (1)
    • Abstrakcija:
      • tai atitrūkimas nuo neesminių nagrinėjamo dalyko pusių, siekiant susikoncentruoti ties svarbiausiais jo bruožais
      • PĮ projektavime naudojami du abstrakcijos mechanizmai: parametrizacija ir specifikacija
      • specifikacija naudoja 3 abstrakcijos mechanizmus: procedūrinę, duomenų ir kontrolės abstrakciją
  • PĮ projektavimo metodikos (2)
    • Sujungimas ir ryšių nustatymas:
      • sujungimas nusako ryšius tarp sistemos modulių
      • ryšių nustatymas parodo kiekvieną modulį sudarančių elementų tarpusavio ryšius
    • Dekompozicija: sudėtinga PĮ išskaidoma į nepriklausomus komponentus tam, kad kiekvienas jų galėtų atlikti skirtingas f-jas
  • PĮ projektavimo metodikos (3)
    • Inkapsuliacija: jos metu elementai yra grupuojami ir suskirstomi į paketus, paslepiant vidines abstrakcijos detales tam, kad jos būtų nepasiekiamos iš išorės
    • Interfeiso ir realizacijos atskyrimas: aprašant komponentą, jo realizacija atskiriama nuo viešo interfeiso, prieinamo išoriniams klientams
  • PĮ projektavimo metodikos (4)
    • Pakankamumas, pilnumas ir paprastumas: PĮ komponentas turi pasižymėti visomis svarbiomis abstrakcijos savybėmis ir neturėti jokių papildomų charakteristikų
  • PĮ projektavimo sprendžiamos problemos (1)
    • Lygiagretumas: kaip išskaidyti PĮ į procesus, užduotis ir fredus ( threads ), kad būtų užtikrintas jos našumas, procesų sinchronizacija ir planavimas
    • Komponentų paskirstymas: kaip paskirstyti PĮ komponentus kompiuterinei įrangai, kaip užtikrinti komponentų tarpusavio sąveiką ir t.t
  • PĮ projektavimo sprendžiamos problemos (2)
    • Klaidų ir nenumatytų situacijų valdymas: kaip apdoroti sistemoje pasirodžiusias klaidas ir nenumatytas situacijas
    • Sąveika ir atvaizdavimas: kaip užtikrinti sistemos sąveiką su vartotojais ir atvaizduoti jos generuojamą informaciją
    • Duomenų valdymas: kaip saugoti ir tvarkyti ilgą laiką naudojamus duomenis
  • PĮ architektūros samprata
  • PĮ architektūros apibrėžimas
    • PĮ architektūra – tai PĮ sudarančių posistemių ir komponentų bei ryšių tarp jų aprašymas
  • PĮ architektūros projektavimas
    • PĮ architektūra gali būti projektuojama skirtingais aspektais: kiekvienas jų parodo sistemą iš tam tikro taško, akcentuodamas kokias nors specifines jos savybes
  • PĮ architektūros projektavimo aspektai
    • Loginis – vaizduoja sistemos funkcinius reikalavimus
    • Fizinis vaizdas – parodo sistemos paskirstymą techniniams įrenginiams
    • Realizacijos vaizdas – parodo sistemos išskaidymą į vykdomuosius vienetus
  • PĮ projektavimo notacijos
  • Kas tai yra notacija?
    • PĮ projektavimo notacijos skirtos grafiškai arba tekstu pavaizduoti projektavimo proceso metu priimtiems sprendimams
    • Kai kurios iš egzistuojančių notacijų skirtos aukšto lygio sistemos projektavimui, kitos – detaliam projektavimui
  • Notacijų tipai
    • Struktūrinės notacijos grafiškai aprašo ir atvaizduoja PĮ projektavimo struktūrinius aspektus
    • Dinaminės notacijos grafiškai arba tekstu aprašo ir atvaizduoja PĮ komponentų tarpusavio sąveiką (jos dažniausiai naudojamos detalaus projektavimo metu)
  • Struktūrinės notacijos
    • Klasių ir objektų diagramos
    • Komponentų diagramos
    • Paskirstymo diagramos
    • Esybių-ryšių diagramos ( Entity Relationship Diagrams )
  • Klasių ir objektų diagramos
    • Klasių ir objektų diagramos vaizduoja sistemą sudarančias klases (bei objektus) ir jų tarpusavio ryšius
  • Komponentų diagramos
    • Komponent ų diagrama – tai diagrama vaizduojanti sistem ą sudaran č ius komponentus ir j ų tarpusavio s ą ryš į
  • Paskirstymo diagramos
    • Paskirstymo diagramoje parodyta mazgų, kuriuose funkcionuoja sistema, bei juose patalpintų komponentų konfigūracija
  • Esybių-ryšių diagramos
    • Esybių-ryšių diagrama naudojama atvaizduoti duomenų, saugomų ir apdorojamų informacinėje sistemoje, modeliui
  • Dinaminės notacijos
    • Veiklos diagramos
    • Bendradarbiavimo diagramos
    • Sekų diagramos
    • Būsenų diagramos
    • P seudo kodas ( Pseudo-code )
    • ...
  • Veiklos diagramos
    • Veiklos diagrama parodo per ė jim ų nuo vienos veiklos prie kitos sek ą
  • Bendradarbiavimo diagramos
    • Bendradarbiavimo diagrama parodo sąveiką tarp sistemos objektų, išskirdama objektus, ryšius tarp jų ir ryšio metu perduodamas žinutes
  • Sekų diagramos
    • Sekų diagrama parodo sąveiką tarp sistemos objektų, išskirdama objektus, ryšius tarp jų ir ryšio metu perduodamų žinučių eiliškumą
  • Būsenų diagramos
    • B ū sen ų diagrama vaizduoja objekto per ė jimus iš vienos b ū senos į kit ą
  • Pseudo kodas
    • Pseudo kodas yra programos algoritmo aprašymas, kuriame naudojami programavimo kalbos struktūriniai elementai, tačiau nesilaikoma programavimo kalbos sintaksės
  • Pseudo kodo pavyzdys (1)
    • Turime PHP programos kodo ištrauką:
    <?php if (is_valid($cc_number)) { execute_transaction($cc_number, $order); } else { show_failure(); } ?>
  • Pseudo kodo pavyzdys (2)
    • PHP programos kodo ištrauka, užrašyta pseudo kodu:
    if kredito kortelė galiojanti then vykdyti transakciją, naudojant kortelės nr. ir užsakymo duomenis else rodyti klaidos pranešimą end if
  • PĮ projektavimo metodai
  • Populiariausi PĮ projektavimo metodai
    • Funkcinis arba struktūrinis projektavimas ( function-oriented (structured) design )
    • Objektiškai orientuotas projektavimas ( object-oriented design )
    • Duomenų projektavimas ( data-structure centered design )
  • Funkcinis arba struktūrinis projektavimas
    • Tai vienas iš klasikinių PĮ projektavimo metodų, kurio metu identifikuojamos kuriamos PĮ funkcijos
    • Jos kruopščiai išanalizuojamos ir išskaidomos į smulkesnes funkcijas, šios į dar smulkesnes ir t.t., kol gaunamas išsamus būsimos sistemos modelis
    • Šalia gauto modelio labai dažnai yra pateikiamos duomenų srautų diagramos ir su jomis susiję vykdomų procesų aprašymai
  • Objektiškai orientuotas projektavimas
    • Šiuo metu siūloma nemažai objektiškai orientuoto (OO) projektavimo technikų
    • Jo pradžia siekia 1980 m., kuomet buvo pasiūlytas pats paprasčiausias OO projektavimo būdas: daiktavardis = objektas; veiksmažodis = metodas; “būdvardis” = atributas
    • Dabar siūlomos sudėtingos OO projektavimo technikos, kuriose naudojami paveldėjimas, polimorfizmas ir kt.
  • Duomenų projektavimas
    • Duomenų projektavimas sistemos projektavimą pradeda ne nuo jos atliekamų f-jų, bet nuo duomenų, kuriais manipuliuoja sistema, analizės
    • Projektuotojas pirmiausia identifikuoja įėjimo ir išėjimo duomenų struktūras ir tik po to projektuoja programos, apdorosiančios sumodeliuotas duomenų struktūras, architektūrą