Sunday, December 12, 2010

Project 11 - Problems Solving Techniques: Elementary Program Design Structure Model

The Elementary Program Design Structure Model in programming:

The Elementary Program Design Structure Model consists of a 3 step process of which a program accomplishes its task(s). The Elementary Program Design Structure Model is an end to end process of:

  1. Setup
  2. Process
  3. Wrap Up

To understand the Elementary Design Structure Model is to understand each parts role within the process.

Setup

Setup is the initial one time process at the beginning of the program. This process declares the variables in Random Access Memory (RAM), as well as opening the necessary files with which the program will perform its function(s). Once this process is complete, the program moves to the next step…

Process

The Process is the step in which the program accomplishes its desired tasks. The process is the step in which the open files are read and (as it name states) processed or in which the other functions, with the contained fields, are performed. The process is often looped (repeated); each iteration progressing the program towards generating the desired outputs. Once this is completed, the program moves to the next step.

Wrap-Up

The Wrap-Up is the one time step that is ran to end the program. One can think of the clean-up section as the step at the end to program that returns (closes) the files and releases the Random Access Memory (RAM) that was used.

In the end, it is these steps, run back-to-back, that encompasses the makings of the program.

The Elementary Program Design Structure Model outside of programming:

Now, I tend to be wrong about many things, but much of what revolves around applying troubleshooting structures to real life is the interpretation of the information, and its application to life.

To explain how this problem solving technique applies to life, I will have to relate it to my very own job. Much of what I have attempted to portray in these blog posts applies to what I do on a daily basis; although it is not related to programming per se.

I have been working as a technical support specialist for over 5 years, for Intuit (the makers of QuickBooks, Quicken, and Turbo Tax). The overall purpose of my job is to solve problems that customers experience while working with our products.

One of the 2 most important aspects of our job is preparing our customers of what we are about to do, BEFORE we do it. We refer to this concept as setting customer expectations, and it is a crucial part of Setup. Along with "Setting Expectations", we also gather the information necessary to begin solving the problem

The actions performed within troubleshooting are our process portion. This is where we run tests, research options, and use logic to correct the issues.

The final step is the Wrap-Up. This may be the most important step of technical support, as this is all about cleaning up your footsteps. Whenever a technical support agent is working with a customer (whether it be over the phone or using a remote access tool), we must ensure that we leave the customer's system as we found it. Technically, we want to leave them better than when we found them, but we don't want to leave the tools we used to get them there sitting on their system taking up room.

This end to end process ensures that we have accomplished our interaction (program).

No comments:

Post a Comment