Tuesday, October 19, 2010

Project 11 - Problems Solving Techniques (part 3)

A common technique when working out a solution to a problem is to use systems and program mapping tools. These are visual representations of the problem and how to solve it. Planning out the program in this manner allows for relationships and functionality between parts of the problem and solution to be shown early on, so the programmer will know how things interrelate, which is crucial to know for larger programs involving several thousands of lines of code. There are a few different ways in which you can map out a problem. One way is to map out how the process or system flows. Using this method, there is a starting point, and from there you follow lines in a step-by-step manner through to the end of the program. A structure chart shows how each component relates. It looks similar to a systems flow chart, however, it really is more of a hierarchical representation of the problem. Program logic models detail out the logic behind the program. This is also a visual schematic, and is used to convey the process of logic inputs, factors, processes and outcomes. These are best used to manipulate the program to see how it will function under different conditions, which is helpful to improve the overall design of a complex program. Mapping out the program beforehand is good to convince someone that you have a good idea for a programmed solution to their problem. It is also well used to get a team working on the same project all on the same page as to how this program should run.

One could use a flow chart for many things outside of programming. Most commonly, it is used as a troubleshooting guide, the starting point is what the problem is and usually follows a methodology of trying one solution, than depending on what result you got, moving on to either one of two continuations. Usually one branch of is: okay it's fixed now, and the other is: try this thing next and see what happens.  This transitioning of solution to solution is good for new people trying to do basic troubleshooting, perhaps in mechanics or getting a computer to work. A good example of another use of a structure chart would be explaining the internal workings of a fairly complex machine, such as a car. Making a structure chart would be a good way to train people in showing them how each part connects and effects the others. This is a good way to troubleshoot, as sometimes the obvious problem is just a symptom of the actual problem, but you could only figure this out if you knew how that other thing may be related, as sometimes it seems to the novice to have absolutely no connection. A detail program logic model would best be used when in uncertain circumstances, such as a game of football. In this, you never perfectly know how the other team is going to play, so you need to have some ability to allow the quarterback to make decisions out on the field during the play. This way, he can compensate for different circumstances, and if the whole team knows the plan than you can all have a good idea of what the quarterback will do and therefore play well as a whole.

    No comments:

    Post a Comment