"Zonder een wegenkaart, zou je rondjes rijden."
- Bryce's Law
INLEIDING
Oke, je hebt draaien uw programma debugger en alles herhaalde controles prima. Maar voor sommige onbekende reden, het hele systeem werkt niet. Zowel de software en database design ziet er prima uit, maar je gaat Stark-stapelgek proberen het probleem te lokaliseren. Ben je van mening dat het wellicht niet een fout in het ontwerp van de software of data base op alle? Dat misschien het probleem schuilt in de totale systeemarchitectuur, of eventueel haar zojuist hebt?
In veel gevallen is de diagnose van een probleem is pijnlijker dan te corrigeren. Overwegende dat heb ik onderzocht, fundamentele principes testen in het verleden, zie;
Nr. 41 - "Het testen van 1, 2, 3 ..." - 12 09 2005
http://www.phmainstreet.com/mba/ss050912.pdf
Hier wil ik enkele tips voor het diagnosticeren van problemen te bespreken.
Drie tips
1. Loop door het systeem en controleer de mens / machine-interfaces.
Jaren geleden werden wij gecontracteerd door een groot productiebedrijf in het noordoosten, die had moeite met de uitvoering van hun nieuwe shop-floor-controle-systeem. Het systeem is state-of-the-art op het gebied van programmering en DBMS-technologie. Maar ze simpelweg niet kon krijgen om niet uit wat ze probeerden te werken. Gefrustreerd, het bedrijf ons gehuurd om te kijken of we konden het probleem te vinden. In plaats van het bestuderen van de broncode, omdat de ontwikkeling staf had gedaan, we begonnen met het in kaart brengen van de algemene systeemarchitectuur.
Ik heb de "Pride" Standard System Concept Structuur beschreven op meer dan een keer, maar in een notendop, een systeem kan worden getrokken als een vier-tiered hiërarchie die een product structuur. Overwegende dat een produkt structuur bestaat uit vier niveaus die producten, samenstellingen, onderdelen, en operaties, "TROTS" op dezelfde manier ontleedt het systeem:
Niveau 1 - SYSTEEM
Niveau 2 - SUB-systeem (Business Processen)
LEVEL 3 - procedures (Administratieve en Computer)
Level 4 - De operationele stappen (voor Administratieve Procedures) en programma's (Computer Procedures)
Deze universeel toepasbare benadering voor het definiëren van de architectuur van het systeem maakt een handige routekaart voor wandelingen door alle aspecten van het systeem en de validering van de integriteit ervan. Dergelijke hiërarchische diagrammen kan zowel worden geproduceerd uit IRM Repositories of uit een eenvoudige grafische tools. In overleg met onze opdracht, willen we gewoon schetste het uit met behulp van papier en potlood. Eigenlijk liepen we door het systeem, bemonsterd werk en keek voor de mens / machine-interfaces. Onvermijdelijk, stuitten we op een sub-systeem waarbij de computer fouten in de shop-floor die aandacht door de voorman weergegeven. De voorman was om de corrigerende maatregelen te nemen en op de computer te reageren. Er was maar een probleem met dit: niemand had verteld de voorman over een van deze. We hebben toen schreef een eenvoudige administratieve procedure voor de ploegbaas die nam de nodige maatregelen en het systeem daarna correcte bediening ("wonder" als onze klant gezegd).
Dit brengt een belangrijk punt: systemen zal niet meer voor het ontbreken van administratieve procedures dan de procedures goed geprogrammeerde computer. Hoewel de verwerkende bedrijf had een nogal geproduceerd elegante software, hadden ze volledig over het hoofd van de mens / machine-interface. Nogmaals, de "Pride" Standard System Structuur Concept had verstrekt de nodige
wegenkaart, maar omdat de cliënt niet waarderen de noodzaak van een dergelijke top-down BluePrinting techniek, ze hadden geen idee waar alles was.
2. Terug te werken.
Bij het diagnosticeren van business processen, procedures en programma's, is er een natuurlijke neiging om te gaan van begin tot eind in de diagnose van een probleem. Soms kunt u met behulp van een tegenvaller van deze aanpak vinden, de andere keer kun je niet. Probeer in plaats daarvan naar achteren werken van eind tot begin, van output naar input. Nogmaals, de kaart van het ontwerp met behulp van een flowchart of een andere grafische techniek. Wanneer de verwerking gaat met veel beslissingen, stelt een beslisboom of tafel. Die graphics zijn van onschatbare waarde voor het valideren van
design logica.
3. Heeft u een tweede paar ogen kijken over je werk.
Naarmate we ons doordrongen in de mechanica van een ontwerp, maar al te vaak voor de hand liggende wordt minder duidelijk voor ons. Hier kunt u een andere set van de ogen gemakkelijk zien we hebben een probleem over het hoofd gezien. Dit is vooral gunstig in de winkels die in overeenstemming met bepaalde normen design. Uniform design maakt praktijken
het gemakkelijker om afwijkingen dan zonder dergelijke normen ter plaatse.
Wanneer de tweede persoon vandaan komt is ook belangrijk. Als de persoon afkomstig is van uw werk-groep en is vertrouwd met uw stijl van ontwerpen, kan hij / zij heel goed in staat zijn om een probleem ter plaatse. Dan weer, misschien ook niet. Misschien is het probleem zal worden voor hen onzichtbaar ook. In dit geval, wilt u misschien een neutrale raadplegen
derde persoon met een frisse kijk op het probleem. Dit kan een persoon, hetzij van binnen de onderneming of eventueel een externe consultant.
CONCLUSIE
Grafische hulpmiddelen, zoals flowcharts en schema's, zijn nuttig voor de diagnose van een probleem, maar ook niet vergeten om de grafische uitdaging. Het is niet ongewoon voor afbeeldingen niet overeenkomen met wat er gebeurt in feite. Een goede IRM Repository is eveneens van onschatbare waarde voor de gegrondheid ontwerpen. Het ontwerp is op adequate wijze worden geregistreerd
IRM in de Repository of is het niet. Verder een dergelijk instrument biedt de middelen om de relatie van informatiebronnen (aka "analyse van de gevolgen studie"), die kan uitwijzen onbekende componenten gevolgen hebben voor een ontwerp.
Belangrijker is dat de idee van handhaving van een systeem architectuur (zoals geïmplementeerd door de "Pride" Standard System Structuur Concept) biedt de routekaart nodig om uw weg te vinden door middel van een systeem, ongeacht de complexiteit ervan. Veel programmeurs bekijken zoals grafieken als frivool in de eerste plaats omdat ze slechts betrekking hebben op hun kleine stukje van de puzzel en zijn onverschillig over het totale beeld. Maar voor degenen onder u die behoefte hebben om het totale plaatje te zien, het systeem architectuur is de logische eerste stap voor het diagnosticeren van problemen.
Voor meer informatie over de "Pride" Standard System Structuur Concept, zie:
http://www.phmainstreet.com/mba/pride/is.htm