LDP lecture 5

353 views
246 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
353
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LDP lecture 5

  1. 1. DITF LDILietišķo datorsistēmu programmatūrasprofesora grupaLietišķo datorsistēmu programmatūra5.lekcijaMateriālu sagatavoja: V.KotovsAtbildīgais pasniedzējs: prof. L.Novickis
  2. 2. 22…… PI tendences – sarežģītības un abstrakcijas līmeņa paaugstināšana; izstrādes procesauzlabošana, automatizēšanas un uzturamības atvieglošana; efektīvu un pierādīturisinājumu atkārtota izmantošana; prasību mainīgums Atkārtotā lietošana - process, kura ietvaros organizācija definē sistemātiski pielietojamoprocedūru kopu, lai specificētu, izveidotu, klasificētu, dabūtu un adaptētu programmatūrasartefaktus, ko var pielietot lietojumu izstrādes procesā Projektēšanas šablons - nosauc, abstrahē un identificē galvenos projektēšanasstruktūras aspektus, vērtīgus atkārtoti lietojama objektorientēta projektējuma izstrādē Aspektorientētā programmēšana - programmatūras izstrādes paradigma koncepciju unšķērsojošās funkcionalitātes specificēšanai skaidri definētās programmatūras struktūrās(aspektos) LDP Piemēri - github.com/rk13/rtu-ldp-course
  3. 3. 33 Ieskats uz komponentiem balstītās programmatūrasizstrādes metodēs Ieskats modeļvadāmā programmatūras izstrādē Lekciju kursa pamata koncepcijas
  4. 4. 1.Uz komponentiem balstītāprogrammatūras izstrāde44●1968 - idejas par programmatūras komponentu apakš-industrijas nepieciešamību (McIlroy, “Mass ProducedSoftware Components”)●Programmatūras krīze (strauja datoru jaudas attīstība,risināto problēmu sarežģītība)●Secinājumi par programmatūras industrijas vājiempamatiem●Analoģija ar aparatūras inženierzinātņu disciplīnām●1990 – Microsoft OLE/COM, IBM SOM●Enterprise JavaBeans, COM+, OSGI
  5. 5. 1.Uz komponentiem balstītāprogrammatūras izstrāde55Uz komponentiem balstītā programmatūras izstrāde(CBSE) – programmatūras inženierijas disciplīna, orientētauz programmatūras sistēmu dekompozīciju funkcionālajosvai loģiskajos komponentos ar stingri definētām saskarnēm,ar kuru palīdzību tiek nodrošināta sadarbība starpkomponentiem
  6. 6. 2.Programmatūras komponents,komponentu modelis66Programmatūras komponents●kompilēta programmatūras daļa (Microsoft COM)●kompozīcijas vienība ar stingri specificētām saskarnēmun skaidrām kontekstuālām atkarībām (Szyperski)●neatkarīgi izstrādāta atkārtoti lietojama programmatūrasdaļa, kura ir kombinējama ar citiem komponentiem(D.Souza)
  7. 7. 2.Programmatūras komponents,komponentu modelis77Programmatūras komponentsir programmatūras elements●atkārtoti lietojama izvēršanas un kompozīcijas vienība●neatkarīgi izvēršams un izmantojams kompozīcijā arcitiem bez papildus izmaiņām atbilstoši standartam●atbilst komponentu modelim●skaidri definēta standartizēta saskarne, atdalīta norealizācijas●izpildes laika kompozīcija
  8. 8. 2.Programmatūras komponents,komponentu modelis●Komponentu modelis definē komponentu sadarbības,savietojamības un kompozīcijas standartu●Komponentu modeļa realizācija ir izpildāmoprogrammatūras elementu kopa, kas nodrošina komponentuizpildīšanu●definē noteikumus individuālā komponenta konstruēšanai●nosaka pamata mehānismus komponentu mijiedarbībai●nodrošina komponentu paplašināšanas mehānismus88
  9. 9. 2.Programmatūras komponents,komponentu modelis●CBSE un OOP●OOP - Programmatūras izstrāde notiek saskaņā arfaktisko vai iedomājamo objektu mentālo modeli●CBSE – Orientējās uz programmatūras izstrādi nogataviem komponentiem (līdzīgi aparatūras inženierijasnozarēs)●Komponentiem piemīt lielāka granularitāte●Komponentiem ir plašākā mijiedarbības mehānismu kopa99
  10. 10. 3.Programmatūras komponentu saskarnes●Komponenta piekļuves punktu specifikācija●Komponenta uzvedības abstrakcija, kas apraksta tāmijiedarbības un ierobežojumus.●Nodrošināta saskarne – komponents nodrošina visusaskarnes operāciju realizāciju.– Paslēpj komponenta implementēšanas detaļas.– Nosaka komponenta funkcionālas īpašības●Nepieciešama saskarne – komponents izmanto saskarnēaprakstīto funkcionalitāti un sagaida kāda citaprogrammatūras elementa pastāvēšanu, kurš nodrošinātusaskarnes realizāciju1010
  11. 11. 3.Programmatūras komponentu saskarnes●Komponentu mijiedarbības standarts●nosaka komponenta saskarnes elementus●aptver tiešās un netiešās mijiedarbības starpkomponentiem●nosaka saskarnes reģistrēšanas/uzturēšanas aspektus1111
  12. 12. 4.Programatūras komponentusaskarnes1212
  13. 13. 4.Programatūras komponentusaskarnesKomponenti UML valodā1313
  14. 14. 5.Tīmekļa pakalpes (Web services)1414● Nodrošina augstuatkārtotās lietošanasiespējamību - sistēmasprojektētāji izveidoprogrammatūru kā servisukopu, kuri var būt izmantotino jebkuras platformas unizpildes vides● Tīmekļa pakalpessaskarne ir definētadatoram saprotamāformātā (WSDL).
  15. 15. 6.Modeļvadāma programmatūrasizstrāde (MDE)●Sistemātiskā modeļu pielietošana programmatūras izstrādesdzīves ciklā●Programmatūras modeļu izmantošana primāro izstrādesartefaktu un izteiksmes formu veidā●Zināšanu atspoguļošana strukturētā veidā ar modelēšanasvalodas palīdzību1515
  16. 16. 7.Modeļvadāma arhitektūra (MDA)●OMG (Object Management Group) iniciatīva●No platformas neatkarīga pieeja programmatūrasprojektēšanai un izstrādei●Nodrošina karkasu un vadlīnijas programmatūras izstrādesprocesam●Mērķis●izstrādes procesa uzlabošana, ātri realizējamas procesāiekļautas aktivitātes, kvalitāte●sistēmas funkcionalitātes atdalīšana no detaļām, kāsistēma izmanto izvēlētas platformas iespējas●pārnesamība, sadarbspēja un atkārtotā lietošana1616
  17. 17. 7.Modeļvadāma arhitektūra (MDA)●MDA izstrādes dzīves cikls●pēc būtības neatšķiras no tradicionāla●atšķirība izpaužas izstrādes procesa artefaktu būtībā1717
  18. 18. 8.MDA karkass● CIM (Computation Independent Model)PIM (Platform Independent Model, Platformnearkarīgsmodelis) – sistēmas funkcionēšanas modelis neatkarīgi noizvēlētās realizācijas vides. Ļauj izvairīties no pārāk agrasizpildāmas platformas tehniskās detalizēšanas● PSM (Platform Specific Model, platformas specifisksmodelis) – sistēmas funkcionēšanas modelisimplementēšanas platformas jēdzienos1818
  19. 19. 9.Modelēšana un meta-modelēšana●Modelis - sistēmas vai tās daļas apraksts valodā ar skaidridefinētu formu (sintaksi) un nozīmi (semantiku), kura varētubūt automātiski interpretēta ar datora palīdzību (piem. UML)●reālas pasaules parādību abstrakcija●Meta-modelis – modelēšanas valodas modelis; atspoguļopati modeļa īpašības; definē struktūru, semantiku unierobežojumus vairāku modeļu kopai●Meta-modelēšana - tehnika modeļu sintakses un toelementu kopsakarību definēšanai1919
  20. 20. 10.MDA tehnoloģiskais pamatsOMG četru slāņu arhitektūraMeta-meta-modelis (M3)Meta-modelis (M2)Modelis (M1)Informācija (M0)2020
  21. 21. 2121
  22. 22. 11.MDA tehnoloģiskais pamats●MOF (Meta Object Facility) - OMG meta-modeļu specificēšanasstandarts, kurš ietver noteiktu konstrukciju kopu objektorientētasinformācijas modelēšanai●ļauj definēt (modelēšanas) valodas struktūras un uzvedībasaspektus●nespecificē modeļu apspoguļošanas vai saglabāšanas standartu●XMI (XML Metadata Interchange) – OMG Meta-datņu Apmaiņasstandarts, ļauj standartizēt MOF sakritīgo modeļu apmaiņu un piekļuvi<XMI xmi.version="1.1"xmlns:UML="omg.org/UML/1.4"><XMI.header> ...<UML:Model xmi.id="1"><UML:Namespace.ownedElement><UML:Stereotype xmi.id="2" isRoot="false"isLeaf="false“ ...2222
  23. 23. 12.Modeļu transformācija●Viena modeļa pārveidošanas process citā sistēmas modelī●Automātiskā mērķa modeļa ģenerēšana no avota modeļaatbilstoši transformāciju definīcijai (transformācijas noteikumukopai)●Transformācijas noteikums - apraksta kādā veidā viena vaivairākas konstrukcijas (elementi) avota modeļa valodā varbūttransformētas mērķa valodāAvota meta-modelisAvota meta-modelisAvota modelisAvota modelisMērķa meta-modelisMērķa meta-modelisMērķa modelisTransformācijasnoteikumiTransformācijasnoteikumiAtbilst AtbilstIzmanto VeidoIzmanto IzmantoTransformācijasrīks2323
  24. 24. 12.Modeļu transformācijaTransformācijas process un MDA● zemākā līmeņa modeļu un koda ģenerēšana no augstākālīmeņa modeļiem● modeļu atspoguļošana un sinhronizēšana vienā vai vairākosabstrakcijas līmeņos● modeļu evolūcijas un uzlabošanas procesi● augstākā līmeņa modeļu ģenerēšana no zemāka līmeņamodeļiem● M2T (no modeļa uz tekstu), M2M (no modeļa uz modeli)
  25. 25. Novērtējums●Nodrošina augstāko izstrādātāju produktivitāti, piedāvājotlīdzekļus PIM transformācijas automatizēšanai●Konkrētas transformācijas loģika tiek definēta vienreiz, un tāvarbūt izmantojama vairāku sistēmu izstrādē●PIM ļauj izstrādātājiem izvairīties no pārāk agras izpildāmasplatformas tehniskās detalizēšanas – tehnoloģijas specifiskasdetaļas tiek aprakstītas transformācijas līmenī●PSM un koda līmenī izstrādātajam paliek mazāk darba, jonoteikts koda apjoms tiek automātiski ģenerēts2525
  26. 26. Lekciju kursa jēdzienu tīkls

×