[ Pobierz całość w formacie PDF ]
.Osoby te znają wymagania, jakie stawiane są takiemu systemowi.Znają też brakiobecnego systemu.Mogą dostarczyć wartościowych informacji o funkcjach, które Rozdział 1.f& Czym jest programowanie obiektowe? 41pomogłyby im w pracy.Takie doświadczone osoby można nazwać ekspertami w dzie-dzinie.Najczęściej ekspert w danej dziedzinie nie ma pojęcia o programowaniu.Przy wsparciu ekspertów grupa projektantów specjalizujących się w konstruowaniuoprogramowania obiektowego może zacząć tworzyć rozwiązanie problemu.Bez ich po-mocy nie można utworzyć dobrego projektu obiektowego.Każdy rzeczywisty problemwymaga bliskiej współpracy i koordynacji między ludzmi na co dzień zajmującymi siępracą w określonej dziedzinie i ekspertami z obszaru programowania obiektowego.W tym momencie etap analizy obiektowej jeszcze się nie kończy.Jest to dopiero szkieletrozwiązania, który wymaga mnóstwa pracy, zanim będzie można zacząć implementację.Ale jest to już dobry początek.Warto zauważyć, że na etapie analizy obiektowej uwagaskupia się głównie na klasach używanych w obszarze problemu, a nie na implementa-cji.Szczegóły implementacji opracowywane są dopiero na etapie projektowania obiek-towego.Zwróć uwagę, że odkrywanie klas jest dla człowieka naturalną rzeczą.W życiu codzien-nie mamy styczność z klasami, takimi jak poczta, skrzynka na listy, menadżer, kwia-tek, gazeta, kuchenka mikrofalowa, odtwarzacz CD, ojciec, matka, samochód itd.Są toobiekty, z którymi stykamy się na każdym kroku.Wiemy także, co można z nimi zro-bić i do czego służą.Konstruowanie oprogramowania składa się z tworzenia modelutych obiektów, które znamy w dziedzinie problemu.To, co już wiemy o prawdziwychobiektach, przetwarzane jest na logiczną wersję rozwiązania problemu.Jeśli istniejeproblem zarządzania firmą, pracownicy firmy przedstawiani są jako obiekty.Podobnieich wypłaty przedstawiane są jako system płac w postaci klas i obiektów.Taki rodzajsymulacji rzeczywistego świata w postaci rozwiązania programowego ułatwia rozwią-zywanie problemu, ponieważ pozwala dobrze zrozumieć, jakie klasy i obiekty wystę-pują w danej sytuacji.Pomaga to w rozumieniu złożoności problemu i radzeniu sobiez nią.Znane są też ograniczenia obiektów w rzeczywistym świecie.Nie można poprosićlistonosza, aby doręczył kwiatki wujkowi.Nie można też odtwarzać płyt w kuchencemikrofalowej.Znane są możliwości i ograniczenia obiektów, które występują w pro-blemie.Wiedza ta jest wykorzystywana w procesie tworzenia rozwiązania.W pewnychsytuacjach wykorzystanie jej jest proste, na przykład w przypadku systemu zarządzaniafirmą lub systemu zarządzania kontami bankowymi.W innych sytuacjach, szczególniedotyczących specyficznych problemów oprogramowania, określanie obiektów jest dużotrudniejsze, ponieważ przeważnie nie da się ich zidentyfikować w rzeczywistym świe-cie.Za przykład niech posłuży określanie odpowiedniego zestawu klas dla systemuzarządzania przerwaniami.Jest to trudne, ponieważ podobne obiekty nie są znane.Trze-ba wtedy dogłębnie przeanalizować problem przed rozpoczęciem tworzenia rozwią-zania.Podobnie trudne okazują się problemy dotyczące przetwarzania transakcji.Projektowanie obiektoweTen etap następuje po analizie obiektowej i nadaje treść utworzonemu w poprzedniejfazie szkieletowi rozwiązania.Rozparcelowujemy problem na klasy i obiekty, którezostaną wykorzystane w implementacji.Określamy jasne zależności między klasami,powstaje opis dopasowania obiektów do modelu systemu, tworzymy wytyczne dotyczącetego, jak obiekty powinny być rozmieszczone w przestrzeni adresowej, jak system może 42 Część I f& Pojęcia, techniki i aplikacjesię zachowywać itd.Końcowy rezultat tej fazy jest bardziej przejrzysty i łatwiejszy dozrozumienia.Wciąż nie będzie to pełne rozwiązanie, ponieważ brakuje jeszcze im-plementacji i tak naprawdę nie da się nic powiedzieć o rzeczywistym zachowaniurozwiązania.Odkrywanie nie chwytnych obiektówZnajdowanie, a raczej wymyślanie i odkrywanie odpowiedniego zestawu klas do implemen-tacji rozwiązania nie jest prostym zadaniem.Jest to jedna z najtrudniejszych rzeczy.Istniejewiele porad i uznanych metod, które można wykorzystać podczas wykonywania tego zada-nia.Można za ich pomocą utworzyć początkowy zestaw klas.Wymienione elementy prze-ważnie przekształcane są w klasy.Ludzie, miejsca i przedmiotyZdarzenia  wprowadzane dane, narodziny, śmierć itd.Transakcje  przyznanie kredytu, sprzedaż samochodu itd.Role spełniane przez osoby  matka, ojciec itd.Przy rozwiązywaniu łatwiejszych problemów projektanci mogą traktować rzeczowniki jakoklasy i czasowniki jako metody tych klas.Ale opis problemu w języku naturalnym może byćłatwo przekształcony w ten sposób, że rzeczowniki i czasowniki zamieniają się funkcjami.Dlatego też sposób ten powinien służyć jedynie do wytworzenia pomysłów klas, które po-służą do pózniejszej analizy.Zarówno w analizie obiektowej, jak i w projektowaniu obiektowym można wykorzy-stywać istniejące sposoby notacji.Notacja to określony sposób przedstawiania klas,obiektów i relacji między nimi.Umożliwia ona też opis różnych modelów systemu, naprzykład logicznego i fizycznego.Daje nam podstawowe narzędzia, które pomagająw procesie projektowania.Używany zapis dostarcza też wspólnego słownictwa dla ze-społu projektowego.Jest to jakby wspólny język, rozumiany przez wszystkich człon-ków zespołu.Poniżej przedstawiono nazwy kilku popularnych sposobów notacji.1.Notacja Boocha112.Notacja Rumbaugha12 (zwana też OMT  ang.Object Modeling Tool)3.Notacja Shleara i Mellora13Notacje 1.i 2.zostały połączone w język UML, który opisany został w rozdziale 2.Warto zauważyć, że nauczenie się notacji nie czyni z ucznia eksperta w dziedzinie pro-jektowania obiektowego.Notacja to tylko narzędzie do takiego przedstawienia projektu,które pozwoli na zrozumienie go.Pomaga to w procesie projektowania, ale nie możepomóc w wynajdywaniu i implementowaniu klas.Niczym nie można zastąpić wiedzyi doświadczenia zespołu projektowego.11Opisana w książce Grady ego Boocha, Object-Oriented Analysis and Design.12Opisana w książce Rumbaugha, Object-Oriented Modeling and Design.13S.Shlaer, i S.Mellor, Object-Oriented Systems Analysis, Modeling the World in Data. Rozdział 1 [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • katek.htw.pl






  • Formularz

    POst

    Post*

    **Add some explanations if needed