Analytický diagram tried PB007 Softwarové inženýrství I Stanislav Chren 17. 10. 2012 Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 1 / 10 Analytický diagram tried Diagram tried predstavuje statický pohľad na triedy, ich atribúty, operácie a vzťahy. Analytický diagram tried zobrazuje analytické triedy, ktoré zrozumiteľne reprezentujú pojmy z obchodnej domény modelovaného systému, t.j. nezachádza do implementačných detailov. Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 2 / 10 Vlastnosti analytických tried Dobrá analytická trieda by mala mať nasledovné vlastnosti: názov dobre vyjadruje jej účel má malý počet(3-5) zodpovedností/operácií nie je izolovaná od ostatných tried má vysokú súdržnosť(cohesion) Príklad: trieda NákupnyKosik, operácie pridatPolozku(), odobratPolozku(), zobrazitObsah(), prijatPlatbu(),vytlacitFakturu() má málo väzieb na iné triedy(coupling) Dajte si pozor na: veľký počet malých tried malý počet veľmi veľkých tried funktoidy - funkcie/procedúry, ktoré sa vydávajú za samostatnú triedu zložité triedy, ktoré riadia/spravujú iné triedy. Často majú v názve system, controller, príp manager. zložitú hierarchiu dedičnosti (max 2 úrovne). Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 3 / 10 Hľadanie analytických tried Analýza podstatných mien a slovies: zhromaždenie dostupných zdrojov (špecifikácia, dokumenácia prípadov užitia, ...) podstatné mená predstavujú kandidátov na triedy alebo atribúty slovesá alebo slovesné väzby predstavujú kandidátov na zodpovednosti triedy pozor na „skryté triedy CRC (class, responsibilities, collaborators) analýza rozšírenie analýzy podstatných mien a slovies skupinová aktivita zahŕňajúca brainstorming na listky sa zapisujú kandidátne triedy. Skladá sa z troch časti - názov triedy, zodpovednosti a spolupracovníci (iné triedy, s ktorými nejakým spôsobom spolupracuje). Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 4 / 10 Vzťahy medzi triedami Medzi základné vzťahy patrí: Generalizácia Asociácia Závislosť Asocácia je sémantický vzťah medzi triedami. Môže mať atribúty: názov názvy rolí násobnosť navigovateľnosť Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 5 / 10 Vzťahy medzi triedami II Názov asociácie, názvy rolí: Poznámka: Súčasne sa používa vždy len jedna z možnosťí. Doporučuje sa využívať názov asociácie. Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 6 / 10 Vzťahy medzi triedami III Viacnásobné a reflexívne asociácie: Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 7 / 10 Vzťahy medzi triedami IV Asociačná trieda: Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 8 / 10 Úlohy Opravte si chyby z predošlej úlohy Vyhľadajte podľa špecifikácie analytické triedy, ich atribúty, operácie a spolupracovníkov Triedy zakreslite do analytického diagramu tried, vrátane dedičnosti a pomenovania asociácií. Odovzdajte pdf report do odovzdávarne(Týden 05). Deadline: 27.10. 23:59 (Skupina 14) 22.10. 23:59 (Skupiny 15, 16) Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 9 / 10 Nastavenie reportu VP Softwarové inženýrství I (PB007) Analytický diagram tried 17. 10. 2012 10 / 10