Wednesday, March 9, 2011

Project 11C - Systems and Program Mapping Tools

How to use Computer Programming Diagrams to Figure Out How the Organization in a Company Really Works
It is exceedingly rare for someone to have such an incredible memory that nothing is left out. Though having a photographic memory is a common science fiction plot, in reality it doesnt exist. This is why, unless you are only going to write something as complicated as Hello World, you should leverage tools that will help you keep the program you are writing as cohesive and clean as possible.  The three tools I’ll talk about in this article will be System Flow, the use of a Structure Chart, and the use of Detail Program Logic.

System Flow - A Systems Flow Chart is a visual diagram of each module in the program showing how each module interacts with the others. This diagram shows all of the inputs and outputs for a module, so the programmer can follow the flow of data from one module to the other.

Structure Chart - A Structure Chart is used to view the overall flow of logic between modules in a program, lays out in a hierarchical manner that allows the programmer to see the top-down, branching nature between modules. This visual medium creates a map that will allow the programmer to follow the flow of processes down through the modules.

Detail Program Logic - A Detail Program Logic chart is a diagram of the flow of program logic through the modules, showing the branching of logic in the application. Following the logic from left to right flow of logic, the programmer should be able to see the impact of different logic sets on the variables used in an application.

These three diagrammatic methods together allow the programmer to predict how the program will operate, before the first line of code is written. In order to create these diagrams, the programmer will need an understanding of: the purpose of the program or modules of the program; the logic involved in the program; and the variables being used. Even though things rarely turn out exactly as they are planned, it still creates a fairly high level of certainty that a programs logic will be successful when written.

Outside of computer programming, one of the best examples of how logical and relationship oriented charting can solve problems is when a business consultant comes into a corporate environment to improve the business process. A variety of organization charts are key tools that are used to determine relationships between people, lines of responsibility, and determine if there are inefficient silos within a company that are constricting its ability to be reactive and compete in the market. A consultant might, for instance, take the official organizational chart, and interview key people who are at the nexus point between organizations, and ask them who they report to, and who are their customers. Many times, a consultant will find out that, while there is a simple “official” reporting structure, there are many “dotted line responsibilities” that create inefficiencies in an organization. Once the consultant defines the informal business process, and overlays this discovered business process against the official organization chart, the consultant is able to develop a better organizational structure that accomplishes the same goals for the organization with a much simpler structure. This same process can be accomplished with a complex program with many modules that are interlinked.

No comments:

Post a Comment