
{"id":353,"date":"2009-11-24T15:27:31","date_gmt":"2009-11-24T20:27:31","guid":{"rendered":"http:\/\/www.ikriv.com\/blog\/?p=353"},"modified":"2009-11-24T15:27:31","modified_gmt":"2009-11-24T20:27:31","slug":"data-flow-diagrams","status":"publish","type":"post","link":"https:\/\/ikriv.com\/blog\/?p=353","title":{"rendered":"Data flow diagrams"},"content":{"rendered":"<p>Just explained my project to a new team member and realized UML does not have standard way of expressing data flow diagrams. Indeed, it is an object-oriented toolset, and data flow is so-o-o 1970s.<\/p>\n<p>Yet, even in our perfectly object oriented systems we do have a data flow. Our objects may be viewed as a bunch of filters that crunch data (trade data) translating it from format to format. If you make it a communication, or a sequence diagram, it would look pretty dull:<\/p>\n<p>x <sup><u>___ProcessTrade___<\/u><\/sup>&rarr; y <sup><u>___ProcessTrade___<\/u><\/sup>&rarr; z<\/p>\n<p>That&#8217;s the parameter type of ProcessTrade that changes, and this is what makes it interesting. A totally not object-oriented data flow diagram like this:<\/p>\n<p>FixTrade <sup><u>___x____<\/u><\/sup>&rarr; XML <sup><u>___x____<\/u><\/sup>&rarr; Database<\/p>\n<p>would be much more to the point. More and more often I recall Steve Yegge&#8217;s &#8220;<a href=\"http:\/\/steve-yegge.blogspot.com\/2006\/03\/execution-in-kingdom-of-nouns.html\">Execution in the Kingdom of Nouns<\/a>&#8220;&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just explained my project to a new team member and realized UML does not have standard way of expressing data flow diagrams. Indeed, it is an object-oriented toolset, and data <a href=\"https:\/\/ikriv.com\/blog\/?p=353\" class=\"more-link\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"Layout":"","footnotes":""},"categories":[5],"tags":[],"class_list":["entry","author-ikriv","post-353","post","type-post","status-publish","format-standard","category-dev"],"_links":{"self":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/353","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=353"}],"version-history":[{"count":0,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/353\/revisions"}],"wp:attachment":[{"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=353"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=353"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ikriv.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=353"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}