home *** CD-ROM | disk | FTP | other *** search
/ PC World 2004 January / PCWorld_2004-01_cd.bin / Novinky / Interval / clanek04.htm < prev    next >
Encoding:
Extensible Markup Language  |  2003-12-04  |  15.2 KB  |  163 lines

  1. <?xml version='1.0' encoding='windows-1250'?>
  2. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  3. <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='cs' lang='cs'>
  4. <head>
  5. <meta http-equiv='Content-Type' content='text/html; charset=windows-1250' />
  6. <meta http-equiv='Content-language' content='cs' />
  7. <meta http-equiv='Cache-control' content='no-cache' />
  8. <meta http-equiv='Pragma' content='no-cache' />
  9. <meta http-equiv='Expires' content='0' />
  10. <meta name='robots' content='index, follow' />
  11. <meta name='description' content='Interval.cz - Internetov² magazφn o webdesignu, v²voji webov²ch aplikacφ a e-komerci. VÜe podstatnΘ o technologiφch XHTML, HTML, CSS, DHTML, JavaScript, XML, .NET, ASP, PHP, Java, J2ME, SQL, WAP...' />
  12. <meta name='keywords' content='Interval' />
  13. <meta http-equiv='imagetoolbar' content='no' />
  14. <meta http-equiv='MSThemeCompatible' content='no' />
  15. <meta name='MSSmartTagsPreventParsing' content='true' />
  16. <title>Interval.cz - denn∞ o tvorb∞ webu a e-komerci</title>
  17. <style media='all' type='text/css'>
  18. @import '__services/styles/interval_articles.css';
  19. </style>
  20. </head>
  21. <body class='interval interval-articles'>
  22. <div id='page-header'><div id='interval-logo'><h1 title='Interval.cz - denn∞ o tvorb∞ webu a e-komerci (logo & index link)'><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Interval.cz<span></span></a></h1></div><div id='advertising-page-header'></div><div class='page-maker'> </div></div>
  23. <div id='page-topmenu'><h2 class='textversion'>Navigace</h2><div id='page-mainmenu'><h3 class='textversion'>Hlavnφ menu</h3><ul><li class='first selected'><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz'>Titulnφ strana</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=14'>Webdesign</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=15'>V²voj aplikacφ</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=18'>E-komerce</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=17'>Nßstroje</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz?idcategory=16'>Magazφn</a></li><li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://diskuse.interval.cz'>Diskusnφ f≤rum</a></li><li class='right'><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.inshop.cz'>Knihkupectvφ</a></li></ul></div><div id='page-mainmenu-maker'> </div></div>
  24. <div id='page-body'><div id='page-left'><div id='article'>
  25.  
  26.  
  27.  
  28. <h2>Nßvrh aplikacφ v jazyce UML</h2>
  29. <p id='prepend'>"Kvalitnφ objektov∞ orientovan² nßvrh aplikace je nezbytn²m p°edpokladem jeho ·sp∞ÜnΘ implementace". Tuto floskuli pravd∞podobn∞ slyÜel ka₧d², kdo se v²vojem aplikacφ zab²vß profesionßln∞. I v p°etechnizovanΘ IT oblasti je m≤dnφ pou₧φvat libozvuΦnß magickß zaklφnadla, je₧ majφ zßkaznφka utvrzovat v profesionalit∞ dodavatele, kter² ale Φasto nenφ schopen dostßt nßrok∙m kvalitnφho nßvrhu, zato se brilantn∞ orientuje v PR frßzφch a znß nazpam∞¥ aktußlnφ slovnφk buzzwords. Ambicφ tΘto sΘrie Φlßnk∙ je oΦistit v∞tu o kvalitnφm nßvrhu od otravn²ch pseudomarketingov²ch zplodin a ukßzat skuteΦnΘ v²hody precizn∞ provedenΘho nßvrhu pomocφ modelovacφho jazyka UML.</p>
  30.  
  31.  
  32. <h3>Kvalita je ideßl</h3>
  33. <p>Kvalitu aplikace nenφ mo₧nΘ empiricky zm∞°it Φi exaktn∞ definovat postupy k jejφmu dosa₧enφ ve form∞ receptu pro lφnΘ nßvrhß°e. Je vÜak mo₧nΘ identifikovat nßroky kladenΘ na aplikaci, kterou bude pova₧ovat za kvalitnφ zßkaznφk i dodavatel.</p>
  34.  
  35. <div class='list'>
  36. <ul>
  37. <li><em>Shoda p∙vodnφch po₧adavk∙ zadavatele s funkΦnφ specifikacφ vyvinutΘ aplikace.</em> Ad hoc ·pravy dodanΘ aplikace na vlastnφ nßklady a ned∙stojnΘ handrkovßnφ se zßkaznφkem si snad nikdo nem∙₧e p°ßt.</li>
  38. <li><em>Spravovatelnost aplikace.</em> Aplikaci je mo₧nΘ snadno rozÜi°ovat na zßklad∞ nov²ch po₧adavk∙ zadavatele. SnadnΘ rozÜφ°enφ opravdu neznamenß, ₧e aplikaci poka₧dΘ v rekordn∞ krßtkΘ dob∞ z devadesßti procent p°epφÜete. RychlΘ ruce "buÜiΦ∙ k≤du" nemohou b²t donekoneΦna adekvßtnφ nßhradou intelektu analytik∙. SΘrie strastipln²ch porod∙ zcela nov²ch verzφ aplikace vede v∞tÜinou k nasazovßnφ zmetk∙, u nich₧ se odstra≥ujφ stßle stejnΘ chyby.</li>
  39. <li><em>Opakovanß pou₧itelnost Φßstφ aplikace.</em> Nemß smysl psßt stßle dokola stejnΘ komponenty, ale je vhodnΘ jejich funkcionalitu zobecnit, aby je bylo mo₧nΘ beze zm∞ny pou₧φvat v dalÜφch aplikacφch.</li>
  40. <li><em>Spolehlivost aplikace.</em> Spolehlivost se definuje jako schopnost aplikace reagovat na stejnou sadu podmφnek stejn²m zp∙sobem. Zßkaznφk v∞tÜinou nechce sv∙j informaΦnφ systΘm provozovat jako vnitrofiremnφ loterii, ze kterΘ vypadßvajφ nßhodnß data.</li>
  41. <li><em>Robustnost aplikace.</em> Dodanß aplikace musφ b²t schopnß zotavit se z r∙zn²ch v²jimek, ani₧ by doÜlo ke ztrßt∞ Φi ·niku dat, nebo dokonce k celkovΘmu dlouhotrvajφcφmu v²padku aplikace.</li>
  42. </ul>
  43. </div>
  44.  
  45. <p>V²Φet vlastnostφ kvalitnφ aplikace jist∞ nenφ ·pln², ale pojem kvalita mß nynφ z°eteln∞jÜφ kontury. Dob°e vytvo°en² nßvrh umo₧≥uje do vyvφjenΘ aplikace zmφn∞nΘ vlastnosti integrovat u₧ na poΦßtku jejφho ₧ivotnφho cyklu.</p>
  46.  
  47. <h3>Spasφ nßs UML?</h3>
  48. <p>Nßvrh aplikace m∙₧e teoreticky vzniknout pouze za pou₧itφ tu₧ky, mozku  a poznßmkovΘho bloku, s jejich₧ pomocφ naΦrtnete jednoduch² model aplikace. Model ale bude pou₧φvat jen vßm znßmou syntaxi a sΘmantiku, tak₧e budete jen t∞₧ko svΘ zßhadnΘ omalovßnky s n∞k²m sdφlet. DalÜφm problΘmem je, ₧e za t∞mito nßΦrty v∞tÜinou nestojφ ₧ßdn² konzistentnφ logick² metamodel ani formßln∞ kodifikovanß sΘmantika jednotliv²ch element∙ modelu, tak₧e p°φpadnß komunikace mezi nßvrhß°i p°ipomφnß situaci v IT Babyl≤nu po zmatenφ jazyk∙ a je protkßna slovy "asi", "mo₧nß" a "jak to vlastn∞ bylo myÜleno".</p>
  49. <p><strong>Unified Modeling Language</strong> (UML) mß ji₧ ve svΘm nßzvu slovo unifikovan², proto₧e jednφm z jeho cφl∙ je sjednocenφ pou₧φvan²ch v²razov²ch prost°edk∙. UML je jazykem s bohatou sΘmantikou a syntaxφ, kter² usnad≥uje nßvrh a vizualizaci r∙zn²ch typ∙ aplikacφ. Navφc tv∙rci jazyka UML nebyli natolik naivnφ ani sebev∞domφ, aby v∞°ili, ₧e standardnφmi elementy jazyka UML pokryli kompletn∞ veÜkerΘ po₧adavky nßvrhß°∙, a p°φmo do jazyka zabudovali mechanismy rozÜφ°enφ, kterΘ usnad≥ujφ °φzenou deklaraci a definici nov²ch element∙ jazyka.</p>
  50. <p>UML je jazyk, kter² umo₧≥uje modelovat jednoduchΘ i slo₧itΘ aplikace pomocφ stejnΘ formßlnφ syntaxe, a proto m∙₧ete v²sledky svΘ prßce sdφlet s ostatnφmi nßvrhß°i. UML ale nenφ vÜemocnΘ. I kdy₧ umφte UML, ovlßdßte pouze nßstroj. Sice velmi v²konn², ale stßle jen nßstroj û ty, kte°φ si myslφ, ₧e UML je cizokrajnΘ ko°enφ, kterΘ pou₧ijφ na dokrvenφ sv²ch anemick²ch nßvrh∙, musφm zklamat. Znalcem UML se Φlov∞k stßvß, nßvrhß°em Φi analytikem se rodφ.</p>
  51.  
  52. <h3>StruΦnß historie cesty k eklektickΘmu UML</h3>
  53. <p>Jazyk UML nevznikl ve vzduchoprßzdnu, p°edchßzelo mu myÜlenkovΘ ·silφ mnoha OOP znalc∙ o vytvo°enφ kvalitnφ metodiky. Nßsledujφcφ struΦn² v²Φet metodik, kterΘ m∞ly nejv∞tÜφ vliv na jazyk UML, si neΦinφ nßrok na ·plnost.</p>
  54.  
  55. <div class='list'>
  56. <ul>
  57. <li>Object modeling technique (Rumbaugh, Premerlani)</li>
  58. <li>Object oriented software development (G. Booch)</li>
  59. <li>Object oriented software engineering (I. Jacobson)</li>
  60. <li>Object oriented structured design notations (Wassermann, Pircher)</li>
  61. </ul>
  62. </div>
  63.  
  64. <p>V roce 1996 pßnovΘ Jacobson, Booch a Rumbaugh, kte°φ ji₧ d°φve v²znamn∞ p°isp∞li k rozvoji OOP metodik, p°eÜli k firm∞ Rational Corp., pro kterou vytvo°ili jazyk UML. V roce 1997 byl jazyk UML akceptovßn jako pr∙myslov² standard a postupn∞ zaΦal vytlaΦovat ostatnφ analytickΘ jazyky na pov∞stnΘ smetiÜt∞ d∞jin. V souΦasnΘ dob∞ se p°ipravuje uvedenφ verze 2.0. V existujφcφch CASE nßstrojφch se m∙₧ete v∞tÜinou setkat s podporou UML verze 1.2, 1.3 nebo dokonce 1.4. Na klφΦovΘ rozdφly mezi jednotliv²mi verzemi vßs v₧dy upozornφm v p°φsluÜnΘ tΘmatickΘ Φßsti o jazyce UML.</p>
  65. <p>V nadpise tΘto Φßsti Φlßnku je UML oznaΦeno jako eklektickΘ. Auto°i UML i podle vlastnφch slov postupovali tak, ₧e z existujφcφch konkurenΦnφch jazyk∙ vybrali nejlepÜφ myÜlenky a adoptovali je do jazyka UML, kter² podtrhl jejich v²znam integracφ do nov∞ promyÜlenΘho celku. Termφn eklektismus nenφ tedy zmi≥ovßn v souvislosti s UML nijak pejorativn∞, ale naopak popisuje nutnou selekci hodnotn²ch myÜlenek z mnohdy obskurnφch nßpad∙ r∙zn²ch metodik.</p>
  66.  
  67. <h3>UML pohledy na systΘm</h3>
  68. <p>JakΘ hlavnφ aspekty modelovanΘ aplikace dovoluje UML zachytit? Model v UML se sklßdß z r∙zn²ch diagram∙, je₧ p°edstavujφ pr∙hledy na r∙znΘ Φßsti sΘmantickΘho zßkladu navrhovanΘ aplikace. SΘmantick²m zßkladem je souhrn specifikacφ aplikace, kter² vymezuje teritorium, v n∞m₧ se m∙₧e nßvrh pohybovat. Diagram ve vizußlnφ form∞ vyprßvφ prßv∞ jeden konkrΘtnφ "p°φb∞h" o aplikaci. Äßdn² dvourozm∞rn² diagram nem∙₧e zachytit komplexnφ aplikaci v celku, ale soust°edφ se v₧dy prßv∞ na jeden d∙le₧it² aspekt. Jazyk UML rozeznßvß p∞t zßkladnφch pohled∙ na systΘm.<p>
  69.  
  70. <div class='list'>
  71. <ul>
  72. <li><em>Pohled p°φpad∙ u₧itφ.</em> V p°φpadech u₧itφ jsou vyjßd°eny zßkladnφ po₧adavky kladenΘ na systΘm. VeÜkerΘ dalÜφ pohledy se pohybujφ v mantinelech vymezen²ch pohledem p°φpad∙ u₧itφ.</li>
  73. <li><em>Logick² pohled</em> se zab²vß zejmΘna pojmy z problΘmovΘ domΘny zadavatele a jejich vzßjemn²mi statick²mi vztahy.</li>
  74. <li><em>Procesnφ pohled</em> se soust°e∩uje na chovßnφ systΘmu, kterΘ musφ spl≥ovat po₧adavky a omezenφ z p°φpad∙ u₧itφ, je₧ jsou kladeny na pr∙b∞h proces∙. Pregnantn∞ °eΦeno, jednß se o procesn∞ orientovan² dopln∞k logickΘho pohledu.</li>
  75. <li><em>ImplementaΦnφ pohled</em> zachycuje fyzickΘ rozd∞lenφ aplikace na samostatnΘ komponenty a jejich zßvislosti.</li>
  76. <li><em>Pohled nasazenφ</em> mapuje komponenty na mno₧inu fyzick²ch v²poΦetnφch uzl∙ v cφlovΘm prost°edφ.</li>
  77. </ul>
  78. </div>
  79.  
  80. <p>Pohledy jsou konkretizovßny v nßsledujφcφch typech diagram∙, jejich₧ detailnφ popis bude p°edm∞tem dalÜφch Φlßnk∙.</p>
  81.  
  82. <div class='list'>
  83. <ul>
  84. <li>Diagram p°φpad∙ u₧itφ</li>
  85. <li>Diagram t°φd</li>
  86. <li>Diagram objekt∙</li>
  87. <li>Diagram komponent</li>
  88. <li>Diagram nasazenφ</li>
  89. <li>SekvenΦnφ diagram</li>
  90. <li>KolaboraΦnφ diagram</li>
  91. <li>Stavov² diagram</li>
  92. <li>Diagram aktivit</li>
  93. </ul>
  94. </div>
  95.  
  96. <p>V nßsledujφcφm Φlßnku se podφvßme podrobn∞, jak je UML jazyk strukturovßn, jak²m zp∙sobem jej m∙₧eme rozÜi°ovat a jak jsou zßkladnφ pohledy na aplikaci sjednoceny v termφn "architektura".</p>
  97.  
  98.  
  99.  
  100. <div id='article-author'>
  101. <a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/autor.asp?author=190'>Stein, RenΘ</a> (5.11. 2003)
  102. <div id='article-about-author'>analytik a v²vojß° spoleΦnosti <a href="http://www.digi-trade.cz">DIGI-TRADE</a></div>
  103. </div>
  104.  
  105.  
  106.  
  107. </div></div>
  108. <div id='page-right'><h2 class='textversion'>Prav² sloupek</h2>
  109. <div id='search'><h3 class='textversion'>Vyhledßvßnφ</h3><form method='get' action='http://interval.cz/search.asp'><div><input type='text' name='hledej' class='text' /><input type='submit' class='submit' value='Najdi!' /></div></form><div><a href='http://interval.cz/search_ex.asp'>RozÜφ°enΘ vyhledßvßnφ</a></div></div>
  110.  
  111.  
  112.  
  113. <div class='page-right-box book'>
  114.     <h3>Kni₧nφ novinka</h3>
  115.     <div class='page-right-box-in'>
  116.         <div class='book-top'>
  117.             <h4><a href='http://interval.cz/redirect/redirect.asp?what=interval_booknews&url=http://interval.inshop.cz/inshop/scripts/detail.asp?ItemID=235'>PostgreSQL: Praktick² pr∙vodce</a></h4>
  118.         </div>
  119.     </div>
  120.     <div class='image'>
  121.         <a href='http://interval.cz/redirect/redirect.asp?what=interval_booknews&url=http://interval.inshop.cz/inshop/scripts/detail.asp?ItemID=235'><img src='podklady/knihy/image.jpg' alt='obßlka' title='obßlka' /></a>
  122.     </div>
  123.     <div class='book-bottom'>Cena: <span class='book-price-old'>447,00 KΦ</span> <span class='book-price-new'>402,30 KΦ</span></div>
  124. </div>
  125.  
  126.  
  127.  
  128. <div class='page-right-box reading'>
  129.     <h3>NejΦten∞jÜφ</h3>
  130.     <div class='page-right-box-in'>
  131.         <ul>
  132. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2856'>ZnakovΘ sady v praxi</a></li>
  133. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2849'>Vytvß°enφ dokument∙ PDF v PHP</a></li>
  134. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2852'>Interval v zajetφ Φφsel</a></li>
  135. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2850'>CSS2 - podpora kaskßdov²ch styl∙ v sedmiΦkovΘ °ad∞ Opery</a></li>
  136. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2844'>P.E.T. - jednoduch² Üablonovacφ systΘm v PHP</a></li>
  137.         </ul>
  138.     </div>
  139. </div>
  140.  
  141.  
  142.  
  143. <div class='page-right-box cauldron'>
  144.     <h3>Diskuznφ kotel</h3>
  145.     <div class='page-right-box-in'>
  146.         <ul>
  147. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2313'>Studenß vßlka prohlφ₧eΦ∙</a><div>222 komentß°∙ </div></li>
  148. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=1573'>Kam jφt studovat?</a><div>108 komentß°∙ </div></li>
  149. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2797'>VyhlßÜenφ sout∞₧e Interzen 2003</a><div>95 komentß°∙ </div></li>
  150. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2827'>Dreamweaver MX 2004</a><div>48 komentß°∙ </div></li>
  151. <li><a href='http://interval.cz/redirect/redirect.asp?what=interval_offline&url=http://interval.cz/clanek.asp?article=2816'>beeasy.cz</a><div>47 komentß°∙ </div></li>
  152.         </ul>
  153.     </div>
  154. </div>
  155.  
  156.  
  157.  
  158. <div class='page-right-box emailserv'><h3>Email servis</h3><div class='page-right-box-in'><form action='prihlaseni.asp' method='post'><div class='shell'><input class='text' type='text' name='adresa' /></div><div class='shell'><input class='radio' type='radio' value='1' name='co' checked='checked' />T²dennφ p°ehled Φlßnk∙</div><div class='shell'><input class='radio' type='radio' value='2' name='co' />HELP konference</div><div class='shell'><input class='submit' type='submit' value='P°ihlßsit' /></div></form></div></div>
  159. </div>
  160. <div class='page-maker'> </div><div class='page-maker-white'> </div></div>
  161. <div id='page-foot'><div id='page-foot-menu'><a href='http://interval.cz/reklama.asp'>Inzerce na Interval.cz</a> | <a href='http://interval.cz/redakce.asp'>Redakce Interval.cz</a> | <a href='http://interval.cz/autori.asp'>Hledßme novΘ autory</a></div><div id='issn'>ISSN 1212-8651</div><div id='page-foot-zoner'>© Zoner software, s.r.o., vÜechna prßva vyhrazena, tento server dodr₧uje <a href='http://interval.cz/privacy.asp'>prßvnφ p°edpisy</a>o ochran∞ osobnφch ·daj∙.</div></div>
  162. </body>
  163. </html>