{"id":5,"date":"2012-02-15T20:51:47","date_gmt":"2012-02-15T19:51:47","guid":{"rendered":""},"modified":"2018-09-17T21:59:02","modified_gmt":"2018-09-17T19:59:02","slug":"podstatna-otazka-dokumentacie","status":"publish","type":"post","link":"https:\/\/spireng.sk\/en\/podstatna-otazka-dokumentacie\/","title":{"rendered":"Podstatn\u00e1 ot\u00e1zka dokument\u00e1cie"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"imgp_img\" style=\"float: left; margin: 2px 5px;\" src=\"\/sites\/default\/files\/imagepicker\/1\/4567uj.jpg\" alt=\"Obr\u00e1zok\" width=\"200\" height=\"200\" \/>P\u00edsanie syst\u00e9movej dokument\u00e1cie je vo v\u00fdpo\u010dtovej technike ob\u013e\u00faben\u00e1 t\u00e9ma. N\u00e1zory na to, ko\u013eko by jej malo by\u0165, sa pohybuj\u00fa v \u0161irokom spektre od nuly (teda vedomosti sa pred\u00e1vaj\u00fa medzi \u010dlenmi t\u00edmu) po rozsiahle a presn\u00e9 popisy sp\u013a\u0148aj\u00face \u0161tandardy. Mno\u017estvo je ale len jedn\u00fdm z faktorov. Omnoho zauj\u00edmavej\u0161\u00ed je obsah.<!--more--><\/p>\n<p><!--break-->Syst\u00e9mov\u00e1 dokument\u00e1cia ako tak\u00e1 predstavuje s\u00fabor inform\u00e1ci\u00ed, ktor\u00fd sa pou\u017e\u00edva v \u010dase, kedy je potrebn\u00e9 n\u00e1js\u0165 odpovede na ot\u00e1zky. Typick\u00fdm pr\u00edkladom je, ak sa k v\u00fdvoju syst\u00e9mu dostane \u010dlovek, ktor\u00fd sa na \u0148om doteraz nepodie\u013eal a potrebuje sa v syst\u00e9me zorientova\u0165. Inokedy m\u00f4\u017ee sl\u00fa\u017ei\u0165 ako zdroj inform\u00e1ci\u00ed o \u0161pecifickom procese, ktor\u00fd v syst\u00e9me prebieha alebo sc\u00e9nary jeho pou\u017eitia. Bez oh\u013eadu na to v\u0161etko m\u00e1 dokument\u00e1cia jednu nev\u00fdhodu. Je to popis rie\u0161enia. Jeho zdvojene alebo duplicita. Z toho d\u00f4vodu je potrebn\u00e9 ju aktualizova\u0165, ak sa rie\u0161enie (syst\u00e9m) zmen\u00ed, pri\u010dom t\u00e1to aktualiz\u00e1cia je bremenom, ktor\u00e9 si so sebou dokument\u00e1cia nesie a ktor\u00e9 je nevyhnut\u00e9. \u010c\u00edm je dokument\u00e1cia v\u00e4\u010d\u0161ia, t\u00fdm je toto bremeno rozsiahlej\u0161ie, \u010do automaticky vedie k ot\u00e1zke: \u010co v\u0161etko treba dokumentova\u0165? Aby sa to vyjasnilo, je potrebn\u00e9 si uvedomi\u0165, \u017ee vo v\u0161etk\u00fdch spomenut\u00fdch pr\u00edpadoch pou\u017eitia sa v dokument\u00e1cii h\u013eadaj\u00fa odpovede na jednu alebo viac ot\u00e1zok. Pozna\u0165 tieto ot\u00e1zky a vedie\u0165, ktor\u00e9 s\u00fa nato\u013eko d\u00f4le\u017eit\u00e9, \u017ee musia by\u0165 dokumentovan\u00e9, m\u00f4\u017ee by\u0165 pri ur\u010dovan\u00ed rozsahu dokument\u00e1cie k\u013e\u00fa\u010dov\u00e9.<\/p>\n<p>Ak h\u013ead\u00e1te odpove\u010f na nejak\u00fa ot\u00e1zku, tak ve\u013emi pravdepodobne predstavuje vari\u00e1ciu na niektor\u00fa zo z\u00e1kladn\u00fdch ot\u00e1zok: <em>\u010co? Ko\u013eko? Kde? Kedy? Ako? Pre\u010do?<\/em> Dokument\u00e1cia v akejko\u013evek forme (diagram, text, koment\u00e1r) zase v\u017edy sl\u00fa\u017ei na to, aby dala odpove\u010f na jednu (alebo viac naraz) z nich. Ak si prezriete r\u00f4zne typy diagramov, ktor\u00e9 sa na dokumentovanie pou\u017e\u00edvaj\u00fa a budete sk\u00fama\u0165 inform\u00e1cie, ktor\u00e9 obsahuj\u00fa, zist\u00edte, \u017ee v\u017edy d\u00e1vaj\u00fa odpove\u010f na jednu z t\u00fdchto z\u00e1kladn\u00fdch ot\u00e1zok. Napr\u00edklad diagram tried odpoved\u00e1 na ot\u00e1zky \u010co? (je z neho vidie\u0165 ak\u00e9 triedy dan\u00fd probl\u00e9m rie\u0161ia) a Kde? (vidno jednotliv\u00e9 vz\u0165ahy medzi triedami \u2013 na diagram sa d\u00e1 pozera\u0165 ako na mapu). Napr\u00edklad Use case diagram odpoved\u00e1 na ot\u00e1zky \u010co? (ak\u00ed pou\u017e\u00edvatelia syst\u00e9m pou\u017e\u00edvaj\u00fa), Kedy? (ak\u00e1 je postupnos\u0165 oper\u00e1ci\u00ed \u2013 v pr\u00edpade scen\u00e1ra) a Ako? (ako sa \u00fadaje z poh\u013eadu pou\u017e\u00edvate\u013ea v syst\u00e9me spracuj\u00fa).<\/p>\n<p>Ak sa bav\u00edme o programovac\u00edch jazykoch ako je Java, C++, C#, tak zauj\u00edmav\u00fdm faktom je, \u017ee na skoro v\u0161etky tieto ot\u00e1zky vie odpoveda\u0165 aj samotn\u00e9 rie\u0161enie \u2013 teda k\u00f3d. Nemus\u00ed to by\u0165 samozrejme tak jednoducho nakreslen\u00e9, a teda m\u00f4\u017ee to vy\u017eadova\u0165 trochu p\u00e1trania, ale na v\u00e4\u010d\u0161inu t\u00fdch ot\u00e1zok sa odpove\u010f d\u00e1 n\u00e1js\u0165. D\u00e1 sa pozrie\u0165, ako je k\u00f3d usporiadan\u00fd, ako v \u0148om prebiehaj\u00fa spr\u00e1vy a ak\u00e9 akcie vyvol\u00e1vaj\u00fa prvky rozhrania. K\u00f3d vie odpoveda\u0165 skoro na v\u0161etky ot\u00e1zky, ale na v\u0161etky nie. Najz\u00e1kernej\u0161ou zo v\u0161etk\u00fdch ot\u00e1zok je toti\u017e ot\u00e1zka Pre\u010do?<\/p>\n<p>Pre\u010do? nie je v\u00f4bec trivi\u00e1lna ot\u00e1zka. Skr\u00fdvaj\u00fa sa za \u0148ou pohn\u00fatky k zvoleniu niektor\u00e9ho z mno\u017einy rie\u0161en\u00ed. To znamen\u00e1, \u017ee nie je z jednoduch\u00e9ho poh\u013eadu do k\u00f3du jasn\u00e9, pre\u010do sa dan\u00e9 rie\u0161enie zvolilo, preto\u017ee t\u00e1 inform\u00e1cia tam jednoducho nie je (rovnako ako tam nie s\u00fa obsiahnut\u00e9 ostatn\u00e9 potenci\u00e1lne rie\u0161enia). \u010casto tieto pohn\u00fatky na v\u00fdber alternat\u00edvy m\u00f4\u017eu prameni\u0165 z faktov, ktor\u00e9 sa v zadan\u00ed nenach\u00e1dzaj\u00fa (alebo nie priamo). Tie\u017e nie je zrejm\u00e9, \u010di v \u010dase v\u00fdberu rie\u0161enia boli jasn\u00e9 v\u0161etky alternat\u00edvy a pod. Na ot\u00e1zke Pre\u010do? je z\u00e1kern\u00e9 aj to, \u017ee sa ned\u00e1 z k\u00f3du vygenerova\u0165 dokument\u00e1cia, ktor\u00e1 by ju popisovala, \u010do u\u017e je len d\u00f4sledok toho, \u017ee sa tam t\u00e1 inform\u00e1cia nenach\u00e1dza.<\/p>\n<p>\u010co je teda najd\u00f4le\u017eitej\u0161ia ot\u00e1zka dokument\u00e1cie. Je to ot\u00e1zka: <em>Pre\u010do bolo zvolen\u00e9 dan\u00e9 rie\u0161enie?<\/em> Ak sa v\u00e1m dostane do r\u00fak k\u00f3d, ktor\u00fd p\u00edsal in\u00fd \u010dlovek (alebo v\u00e1\u0161 vlastn\u00fd po roku, dvoch) a ktor\u00fd nie je okomentovan\u00fd, zo samotn\u00e9ho k\u00f3du viete postupom \u010dasu z\u00edska\u0165 odpovede na v\u0161etk\u00fdch prv\u00fdch 5 ot\u00e1zok (\u010co? Ko\u013eko? Kde? Kedy? Ako?). Ak to ale v\u0161etko pochop\u00edte, tak sa m\u00f4\u017eete zarazi\u0165 na ot\u00e1zke: Pre\u010do bolo zvolen\u00e9 tak\u00e9 rie\u0161enie ak\u00e9 zvolen\u00e9 bolo? A pr\u00edde e\u0161te ob\u013e\u00fabenej\u0161ia ot\u00e1zka v\u00fdvoja softv\u00e9ru: Je to naschv\u00e1l alebo je to chyba? A to je nie\u010do, \u010do by mohlo a asi aj malo by\u0165 obsiahnut\u00e9 v dokument\u00e1cii.<\/p>\n<p>Z toho v\u0161etk\u00e9ho vypl\u00fdva, \u017ee z mno\u017einy inform\u00e1ci\u00ed, ktor\u00e9 viete do syst\u00e9movej dokument\u00e1cie zap\u00edsa\u0165, by ste tam ur\u010dite mali zap\u00edsa\u0165 tie, ktor\u00e9 odpovedaj\u00fa na ot\u00e1zku:<em> Pre\u010do?<\/em> Na v\u0161etko ostatn\u00e9 vie odpoveda\u0165 k\u00f3d. Podstatn\u00e9 je, aby sa nestratili d\u00f4vody, ktor\u00e9 viedli k dan\u00e9mu rozhodnutiu. Ak sa nem\u00fdlim, tak v s\u00fa\u010dastnosti neexistuje diagram, ktor\u00fd by d\u00e1val odpove\u010f na t\u00fato ot\u00e1zku (ak uva\u017eujem be\u017ene pou\u017e\u00edvan\u00e9 diagramy, ako s\u00fa napr\u00edklad diagramy UML).\u010co znamen\u00e1, \u017ee \u010dasto je popis tejto inform\u00e1cie prenechan\u00fd na jednoduch\u00fd text. Bez oh\u013eadu na to s\u00fa niekedy toto asi najcennej\u0161ie inform\u00e1cie, ktor\u00e9 dok\u00e1\u017ee dokument\u00e1cia poskytn\u00fa\u0165.<\/p>","protected":false},"excerpt":{"rendered":"<p>P\u00edsanie syst\u00e9movej dokument\u00e1cie je vo v\u00fdpo\u010dtovej technike ob\u013e\u00faben\u00e1 t\u00e9ma. N\u00e1zory na to, ko\u013eko by jej malo by\u0165, sa pohybuj\u00fa v \u0161irokom spektre od nuly (teda vedomosti sa pred\u00e1vaj\u00fa medzi \u010dlenmi t\u00edmu) po rozsiahle a presn\u00e9 popisy sp\u013a\u0148aj\u00face \u0161tandardy. Mno\u017estvo je ale len jedn\u00fdm z faktorov. Omnoho zauj\u00edmavej\u0161\u00ed je obsah.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-vyvoj-softveru"],"_links":{"self":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":1,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":250,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/5\/revisions\/250"}],"wp:attachment":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}