Free Online Articles Directory
18.11.2008 Sign In Register Hello Guest
Email:
Password:
Remember Me 
forgot your password?


Diagnosing System Problems

Author: Tim Bryce Author Ranking Gold | Posted: 26-06-2006 | Comments: 0 | Views: 565 | Rating:  (51) Article Popularity - Blue (?) Got a Question? Ask.
Sign Up Now!

"Without a road map, you might be driving in circles."
- Bryce's Law

INTRODUCTION

Okay, you've run your program debugger repetitively and everything checks out fine. But for some unknown reason, the whole system is inoperable. Both the software and data base design looks fine, but you are going stark-raving mad trying to locate the problem. Have you considered that it might not be a flaw in the design of the software or data base at all? That perhaps the problem resides in the overall system architecture, or possibly its just you?

In many cases, diagnosing a problem is more painful than correcting it. Whereas I have reviewed basic testing principles in the past, see;

No. 41 - "Testing 1, 2, 3..." - Sept 12, 2005
http://www.phmainstreet.com/mba/ss050912.pdf

Here, I want to discuss some tips for diagnosing problems.

THREE TIPS

1. Walk through the system and check the man/machine interfaces.

Years ago, we were contracted by a large manufacturing company in the northeast who was having trouble implementing their new shop-floor control system. The system was state-of-the-art in terms of programming and DBMS technology. But they simply couldn't get it to work no matter what they tried. Frustrated, the company hired us to see if we could find the problem. Instead of studying source code, as the development staff had done, we began by mapping the overall system architecture.

I've described the "PRIDE" Standard System Structure Concept on more than one occasion, but in a nutshell, a system can be drawn as a four-tiered hierarchy representing a product structure. Whereas a product structure consists of four levels representing products, assemblies, subassemblies, and operations, "PRIDE" likewise decomposes the system into:

LEVEL 1 - SYSTEM
LEVEL 2 - SUB-SYSTEM (Business Processes)
LEVEL 3 - PROCEDURES (Administrative and Computer)
LEVEL 4 - OPERATIONAL STEPS (for Administrative Procedures) and PROGRAMS (for Computer Procedures)

This universally applicable approach for defining the system architecture makes a convenient road map for walking through all aspects of the system and validating its integrity. Such hierarchy diagrams can either be produced from IRM Repositories or from some simple graphic tools. In our consulting assignment though, we simply sketched it out using paper and pencil. Basically, we walked through the system, sampled work and looked for man/machine interfaces. Inevitably, we came upon a sub-system whereby the computer displayed errors in the shop-floor requiring attention by the foreman. The foreman was to take the corrective action and respond to the computer. There was only one problem with this: nobody had told the foreman about any of this. We then wrote a simple Administrative Procedure for the foreman who took the necessary actions and the system operated correctly thereafter ("miraculously" as our client said).

This brings up an important point: systems will fail more for the lack of administrative procedures than for well programmed computer procedures. Although the manufacturing company had produced some rather elegant software, they had completely overlooked the man/machine interface. Again, the "PRIDE" Standard System Structure Concept had provided the necessary
road map, but because the client didn't appreciate the need for such a top-down blueprinting technique, they had no idea where everything was.

2. Work backwards.

When diagnosing business processes, procedures and programs, there is a natural inclination to go from start to end in diagnosing a problem. Sometimes you can find a hiccup using this approach, other times you cannot. Instead, try working backwards from end to start, from output to input. Again, map the design using a flowchart or some other graphical technique. If processing involves considerable decisions, draw a decision tree or table. Such graphics are invaluable for validating
design logic.

3. Have a second pair of eyes look over your work.

As we become imbued in the mechanics of a design, too often the obvious becomes less obvious to us. Here, another set of eyes can readily see a problem we have overlooked. This is particularly beneficial in shops operating in accordance with certain design standards. Uniform design practices makes
it easier to spot anomalies than without such standards.

Where the second person comes from is also important. If the person comes from your work group and is familiar with your style of design, he/she may very well be able to spot a problem. Then again, maybe not. Perhaps the problem will be invisible to them as well. In this case, you might want to consult a neutral
third person with a fresh perspective on the problem. This can either be a person from within the company or possibly an outside consultant.

CONCLUSION

Graphic aids, such as flowcharts and diagrams, are helpful for diagnosing a problem but also remember to challenge the graphic. Its not uncommon for graphics not to match what is happening in fact. A good IRM Repository is also invaluable for substantiating designs. The design is either properly recorded
in the IRM Repository or it is not. Further, such a tool provides the means to study the relationship of information resources (aka "impact analysis") which may reveal unknown components affecting a design.

More importantly, the idea of maintaining a system architecture (as implemented by the "PRIDE" Standard System Structure Concept) provides the needed road map to find your way through a system regardless of its complexity. Many programmers view such charts as frivolous primarily because they are only concerned with their small piece of the puzzle and are unconcerned about the total picture. But for those of you who need to see the total picture, the system architecture is the logical first step for diagnosing problems.

For more information on the "PRIDE" Standard System Structure Concept, see:
http://www.phmainstreet.com/mba/pride/is.htm

Rate this Article: Current: 5 / 5 stars - 3 vote(s).

Article Tags: Tim, Bryce, Mba, Problems, Systems

Article Source: http://www.articlesbase.com/programming-articles/diagnosing-system-problems-37762.html

Print this Article Print article   Email to a Friend Send to friend   Publish this Article on your Website Publish this Article   Send Author Feedback Author feedback  
Tim BryceAbout the Author:

Tim Bryce is the Managing Director of M. Bryce & Associates (MBA) of Palm Harbor, Florida, a management consulting firm specializing in Information Resource Management (IRM). Mr. Bryce has over 30 years of experience in the field. He is available for training and consulting on an international basis. His corporate web page is at:
http://www.phmainstreet.com/mba/

He can be contacted at: timb001@phmainstreet.com

Copyright © 2006 MBA. All rights reserved.

Submitting articles has become one of the most popular means to drive traffic to your website and promote yourself and your business. Join us today - It's Free!

Article Comments

Comment on this article Comment on this article
Your Name
Your Email:
Comment Body
Enter Validation Code: Captcha


Related Articles

Craftsmanship in Business Systems Analysis
By: Tim Bryce | 26/02/2008 | Programming
Discusses how craftsmanship applies specifically to Business Systems Analysis.

Implementing a Methodology
By: Tim Bryce | 11/10/2006 | Programming
The use of organized methodologies for the development of systems and software have been around for 35 years. Today, there are dozens, if not hundreds, of methodologies available for use. Regardless of what methodology you elect to use, there are some serious implementation considerations to ponder and it would be foolish not to look before you leap into one.

A Short History of Systems Development
By: Tim Bryce | 01/06/2006 | Computers
Like computer hardware, the trend over the last fifty years in systems development is to think smaller. Developers operate in a mad frenzy to write programs within a 90 day time frame. Interestingly, they all know that their corporate systems are large, yet they are content to attack them one program at a time.

Methodologies versus Techniques and Tools
By: Tim Bryce | 02/06/2006 | Software
There are essentially two interpretations for the term "methodology" in the IT industry. One interpretation is as a disciplined process for developing information resources, from inception to conclusion. Another is as a technique for performing a specific task of work. These are subtle but significant differences, particularly if a company is analyzing their development environment.

Is Systems Development an Art or a Science?
By: Tim Bryce | 13/03/2008 | Programming
Good question; what do you think?

When You Hit a Wall, Go Around it
By: Tim Bryce | 21/05/2008 | Programming
What to do when you strike a seemingly impossible problem to solve.

On-line Banking Systems
By: Tim Bryce | 12/10/2007 | Internet
Describes how I feel about the latest generation of banking systems.

Who Makes the Best Systems Analysts?
By: Tim Bryce | 26/03/2008 | Software
Describes the attributes of Systems Analysts, both good and bad.

Got a Question? Ask.

Ask the community a question about this article:

Frequently Asked Questions

I am a tenant under a regular lease in an ...
By: zyx | 16-10-2008
I am a tenant under a regular lease in an apartment building in Westchester County, New York I just got a Housing Choice Voucher (section 8). I would like to apply it to my current rental which meets all the HUD criteria. Can my Landlord refuse to receive the Voucher payments because he does not want Section 8?

Global distribution system
By: karan | 10-10-2008
how many centralized resevation systems are there ? how many global distribution systems are there around the world and what is ihotelier and travel click are they reservation systems or central reservation systems?

Need to find Mrs. Smith - husband passed away
By: Cheri Garnett Furr | 09-10-2008
Smith, Havana, FL

How long for a tooth to come out
By: kayla | 06-10-2008
how long does it take a tooth to come out once its loose

Where to fish in Cocoa
By: Lucille A. Ryczer | 04-10-2008
Where to fish in Cocoa

Gas shortage...RV travel from NH to FL
By: bekemeyerbluesky@aol.com | 30-09-2008
rv travel gas shortage september 30, 2008- I am attempting to travel from New Hampshire to Orlando, FL. There is little coverage in the Northeast , except to say that there are gasoline shortages in the Southeast and avoid Charlotte, NC and Atlanta, Ga. My route will be I-81 to I-77 to I-95. I plan to stop in Greensboro, NC to see family. I would appreciate any and all assistance in finding out the real time situation for acquiring gas. I would like to leave NH asap and head south. Please assist?

Q&A Powered by:
Powered by Yedda 

Latest Programming Articles

Cool Desktop Wallpapers
By: Danny | 18/11/2008
Cool desktop wallpaper is accomplishments arrangement that displayed in the computer operating system. The wallpapers usually be acclimated in JPEG, BMP and GIF book formats. That wallpaper can be acclimated with Microsoft Windows, Linux and Macintosh Mac OS. Each adviser can be altered requirements, alike admitting wallpaper images advised for accepted monitors can be scaled up or bottomward to the fit size. Those are accessible on the internet for free. Some categories of wallpapers are a

Tips for Buying Software Online
By: Daniel Jowssey | 17/11/2008
Buying software online not only helps save the planet, it also has other benefits, including: * Ease and Simplicity. You can purchase software in your underwear at 4am if you really want to. Shopping online doesn’t have to be done within regular business hours, nor do you need to look your best to do it. It’s also easy to shop around for the best prices and takes less time than driving to the shops.

Mvc Design Pattern
By: TuVinhSoft .,JSC | 14/11/2008
Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (View) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface.

Advantages of Low Cost Contract Programmers in Freelance Programming
By: Joanna Gadel | 12/11/2008
It observed that web industry is getting tougher thus the necessity of freelance contract programmer is required for developing more effective website with flexible features. This article states the fruitful advantages of freelance programmers in contract programming.

A Guide to Cnc Kits
By: Martin Applebaum | 09/11/2008
CNC kits are a way in which to construct your CNC machine. This article will provide some information on these machines.

A Guide to Cnc Tube Bending Machines
By: Martin Applebaum | 08/11/2008
Are you familiar with a CNC tube bending machine? This article will shed some light on the main function and components of this machine.

Ways to Hire Dedicated Php Programmers
By: Jucick | 08/11/2008
It’s not at all easy to hire dedicated PHP programmers unless you know where and how to find them. Whether you need to fix, update or enhance your website you naturally want the job done quick and right.

Top 4 Reasons Why Addressing Web Accessibility is Important
By: Matt Cave | 05/11/2008
There are very high chances that web accessibility is more important to the performance of your web site than you realize. Article takes a look at the top 4 reasons why it would be important to address the issue of web accessibility.

More from Tim Bryce

Matrimonial Territorialism
By: Tim Bryce | 29/10/2008 | Marriage
Understanding the boundaries in a marriage.

Moral Decay
By: Tim Bryce | 14/10/2008 | Ethics
Discusses how Moral Decay affects business.

Going it Alone?
By: Tim Bryce | 26/09/2008 | Entrepreneurship
Discusses the differences in working for Big/Small businesses.

Recognizing the Peter Principle
By: Tim Bryce | 16/07/2008 | Management
Describes how to identify the attributes of the Peter Principle.

A Corporate Policy for Personal Electronic Devices
By: Tim Bryce | 09/07/2008 | Management
Describes a proposed policy for controlling personal electronic devices in the workplace.

Socialistic Management
By: Tim Bryce | 02/07/2008 | Management
Describes the problems of "flexible management."

System Design Backwards
By: Tim Bryce | 04/06/2008 | Programming
System Design technique which promotes "design correctness."

Stepwise Refinement
By: Tim Bryce | 29/05/2008 | Programming
Discusses the concept of refining a design using a blueprint-like approach.

Article Categories





Give Feedback

Sign up for our email newsletter

Receive updates, enter your email below