1 / 16

Objekt-orienteeritud projekteerimine

Objekt-orienteeritud projekteerimine. Sissejuhatus Objekt-Orienteeritud projekteerimisse UML – skeemide süntaks ja semantika, lihtne metoodika UML-i kasutamiseks Kasutusmetoodika Unified Process Kasutusmetoodikad Unified Process, Select Perspective. Andres Järviste

joan-gross
Download Presentation

Objekt-orienteeritud projekteerimine

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objekt-orienteeritud projekteerimine • Sissejuhatus Objekt-Orienteeritud projekteerimisse • UML – skeemide süntaks ja semantika, lihtne metoodika UML-i kasutamiseks • Kasutusmetoodika Unified Process • Kasutusmetoodikad Unified Process, Select Perspective Andres Järviste AS Assert Tartu osakonna juhataja I aasta magistrant andres.jarviste@assert.ee Sissejuhatus OO projekteerimisse

  2. Śissejuhatus – muutuv maailm • Arvutid muutuvad kiiremaks • Programmid keerukamaks • Programmide arendustsüklid kiiremaks • 2/3 tarkvaraprojektidest ei anna soovitud resultaati • Struktuursed projekteerimismeetodid ei rahulda muutunud vajadusi Sissejuhatus OO projekteerimisse

  3. Struktureeritud projekteerimismeetodite põhilised iseloomujooned ja puudused • Programm valmib tervikuna korraga. • Erinevad arendusfaasid on selgelt eristatud. Kodeerimine ei alga enne kui on lõppenud süsteemi analüüs ja disain • Suur tõenäosus, et projekti lõppfaasis ilmevad kriitilised vead • Programmi eri osade vahel on seosed, mis tingivad tervete programmide ümberkirjutamist • Ei toeta koodi taaskasutust • Kasutamine muutub väga keerukaks mahu kasvades Lahendus : Objekt Orienteeritud (OO) projekteerimine Sissejuhatus OO projekteerimisse

  4. Objekt-orienteeritud projekteerimise iseloomujooned • Disaini ja modelleerimise meetodid, mis toetavad programmide loomist OO – vahenditega (OOD&M) • Koosnevad tavaliselt • mudelite kirjelduse süntaksist ja semantikast • protsessi kirjeldusest, kuidas mudeleid luua ning neid tarkvara arendamise käigus kasutada Kuidas teha efektiivselt kindlaks kliendi vajadused? Vahendid ülesande püstituse kirjeldamiseks • Mis realiseerib püstitatud eesmärke? • -Klassimudeli kirjeldus • - Dünaamika modelleerimine ehk kirjeldus, kuidas klassid omavahel suhtlevad. Sissejuhatus OO projekteerimisse

  5. OOP ajalugu • 1988 – 1996 Metodoloogiate sõda (Methodology wars) • Peter Coad, Ed Yourdon – 1991 Orienteeritud prototüüpidele • Beck, Cunningham – 1989 CRC kaardid • Grady Booch –1994 Rational Approach • Jim Rumbaugh General Electric R&D - 1991 Object Modeling Technique OMT • Ivar Jacobson - Objectory 1994 ( Ericsson Approach) Kasutuslood (Use Cases) Sissejuhatus OO projekteerimisse

  6. OOP ajalugu • 1994 – esimesed standardiseeerimise katsed OMG poolt • 1995: Booch, Rumbaugh – “Meie võitsime” • Unified Process – ver 0.8 • Ühines Jacobson -> Kolm amigot • Asusid põhiliselt OMT ja Objectory alusel looma modelleerimiskeelt Unified Modelling Process (UML) ja arendusprotsessi kirjeldust selle kasutamiseks Rational Unified Process • 1997 UML muudetakse OMG poolt “vaikimisi standardiks” • 1998 . Protsesside kirjeldused, mis kasutavad UML-i • Rational Unified Process • Select Perspective Sissejuhatus OO projekteerimisse

  7. Objekt-orienteeritud projekteerimise tehnikad • CRC kaardid – Lihtne meetod kasutajavajaduste kaaridastmiseks • Suurte ja keeruliste projektide jagamine väiksemateks terviklikeks alamprojektideks – komponentide arendamine • Iteratiivne ja inkrementaalne arendusprotsess • Riskide maandamine kasutajate kaasamisega kõigis arendamisprotsessi faasides • Stsenaariumite koostamine • Prototüüpimine • Kujundid Sissejuhatus OO projekteerimisse

  8. Iteratiivne ja inkrementaalne arendusprotsess Programm ei valmi tervikuna ühel hetkel. Konstrueerimine jagatakse paljudeks arendustsükliteks. Iga tsükkel koosneb kõigist arendusfaasidest (analüüs, disain, kodeerimine, testimine, aktsepteerimine). Tsükli tulemusena lisandub valmivale süsteemile uued funktsioaalsed omadused Sissejuhatus OO projekteerimisse

  9. Iteratiivne ja inkrementaalne arendusprotsess • Lisatööd projekti alguses. Tsüklid peavad olema planeeritud! • Projektijuhtimine tsüklite käigus on lihtsam • Tellijal/kasutajatel on pidevalt olemas ülevaade tööde olukorrast/progressist • Vead ilmenvad varem. Vead ilmnevad pidevalt, need ei kuhju. Sissejuhatus OO projekteerimisse

  10. Iteratiivne ja inkrementaalne arendusprotsess Kriitiliste vigade tekkimise tõenäosus on projekti lõppfaasis väiksem Sissejuhatus OO projekteerimisse

  11. Iteratiivne ja inkrementaalne arendusprotsess Kose meetodil ei hakka arendajad kodeerimisega enne pihta, kui nad on lõplikult valmis saanud analüüsi ja süsteemi kui terviku disainiga. Programmeerimine edeneb kiiresti, kuna puudub tagasiside kasutajaga. Integreerimise faasis ilmevad probleemid. Sissejuhatus OO projekteerimisse

  12. Kasutajate kaasamine • Peab olema selgelt teadvustatud tellijale • Eeldab suurte süsteemide arendamise puhul vähemalt ühe inimese osavõttu projekti meeskonnast täisajaga Sissejuhatus OO projekteerimisse

  13. Stsenaariumid (Storyboards) Kasutajaliidese kirjeldamine stsenaariumite abil Iga vormi kohta paberileht kirjeldusega, milliseid operatsioone sellelt vormilt täidetakse, millistele teistele vormidele on võimalik liikuda Sissejuhatus OO projekteerimisse

  14. Prototüüpimine (Rapid Prototyping) Ekraanikujude loomine mingi arenduskeskkonna vahendiga. Stsenaariumite alusel täpsemate ekraanivormide loomine, nende kirjeldamine Töötav programm, mis justkui täidab tegevusportsesse Realiseeritakse ainult “võtmetähtsuega” vormid. Prototüübi ekraanivorme EI TOHI võtta aluseks tegelike ekraanivormide kodeerimisel. Sama funktsionaalsus tuleb realiseerida projekti tehnilise arhitektuuri tingimuste kohaselt Sissejuhatus OO projekteerimisse

  15. CRC kaardid(CRC cards) Class-Responsibility-Collaboration Registrikaardid klassi nime, kohustuste ja koostööde spetsifitseerimiseks. Põhiidee: Klassi eesmärgi kirjeldamine paari lausega Selle asemel, et kujutada klasse graafiliselt, kujutatakse neid tabelitena 4x6 tollistel kaartidel. Klassi atribuute ja meetodeid asemel kirjeldatakse vastutusalasid (responsibilities) Aitab kujundada klassi kui terviku käitumist/olemust. Aitab mõista klassidevahelisi suhteid. Sissejuhatus OO projekteerimisse

  16. Kujund (Pattern) Kujund on üldlevinud probleemi tavalahend antud kontekstis.Kujund kirjeldab (UML keeles), kuidas komponent teha. Näiteks, kas olem “Klient” tuleks realiseerida ühe klassina või põhiklassi ja ühe, kahe või kolme alamklassiga Jagunevad kaheks. Üldised – Näiteks Tellimuste sisestamise programm Spetsiifilised – Näiteks Kujund mis kirjeldab ühe süsteemi Alamosa käitumist. Kui süsteemi kasutatakse erinevatel platvornidel, siis võib selle realisatsioon olla erinev Analoog – stereotüübid programmeerimiskeeltes Sissejuhatus OO projekteerimisse

More Related