"Uden en køreplan, er du måske køre i cirkler."
- Bryce's lov
INDLEDNING
Okay, har du kører dit program fejlsøger gentagne og alt rigtig ud. Men for nogle ukendt årsag, er hele systemet ubrugeligt. Både software og data base design ser fint, men du skal skarp-rablende gale forsøger at lokalisere problemet. Har du overvejet, at det ikke kunne være en fejl i udformningen af software eller data base på alle? At det måske problemet ligger i det samlede system arkitektur, eller eventuelt dens netop dig?
I mange tilfælde er diagnosticere et problem mere smertefuldt end at rette det. Mens jeg har gennemgået grundlæggende test principper i fortiden, se;
Nr. 41 - "Test 1, 2, 3 ..." - 12 September 2005
http://www.phmainstreet.com/mba/ss050912.pdf
Her vil jeg diskutere nogle tips til diagnosticering problemer.
TRE TIPS
1. Walk gennem systemet og kontrollere mand / maskine-grænseflader.
År siden, var vi optaget af et stort firma i den nordøstlige der var der problemer med at gennemføre deres nye shop-gulv kontrolsystem. Systemet blev state-of-the-art i form af programmering og DBMS teknologi. Men de kunne simpelthen ikke få det til at virke uanset hvad de forsøgte. Frustreret, selskabet hyret os til at se, om vi kunne finde problemet. I stedet for at studere kildekode, som udviklingen personale havde gjort, begyndte vi ved at kortlægge det samlede system arkitektur.
Jeg har beskrevet den "PRIDE" Standard System Structure koncept for mere end én gang, men i en nøddeskal, kan et system tegnes som en fire-differentierede hierarki som repræsenterer et produkt struktur. Der henviser til et produkt struktur består af fire niveauer, der repræsenterer produkter, samlinger, underenheder, og operationer, "PRIDE" ligeledes nedbrydes systemet til:
LEVEL 1 - SYSTEM
NIVEAU 2 - SUB-SYSTEM (Business Processes)
Niveau 3 - PROCEDURER (Administrative og Computer)
LEVEL 4 - operationelle trin (for administrative procedurer) og programmer (Computer procedurer)
Denne generel anvendelse tilgang til at definere systemarkitekturen giver en bekvem køreplan for vandre gennem alle aspekter af systemet og validering sin integritet. Sådanne hierarki diagrammer kan enten være fremstillet af IRM Repositories eller fra nogle simple grafiske værktøjer. I vores rådgivning opgave selv om, vi bare skitseret det ved hjælp af papir og blyant. Dybest set, vi gik igennem systemet, samplede arbejde og så en mand / maskine-grænseflader. Det er uundgåeligt, at vi kom på en sub-system, hvor computeren vises fejl i gulvplan kræver opmærksomhed fra formanden. Arbejdslederen var at tage de korrigerende foranstaltninger og reagere på computeren. Der var kun et problem med dette: Ingen havde fortalt Bestyreren om noget af dette. Vi skrev så en simpel forvaltningsloven for Bestyreren, der tog de nødvendige foranstaltninger og systemet fungerede korrekt derefter ("mirakuløst" som vores klient sagde).
Dette bringer op et vigtigt punkt: systemer vil ikke mere for den manglende administrative procedurer end godt programmeret computer procedurer. Selv om produktionsselskab havde produceret nogle ret elegant software, de havde fuldstændig overset den mand / maskine interface. Igen, den "PRIDE" Standard System Structure Concept havde givet de nødvendige
køreplan, men fordi kunden ikke forstår nødvendigheden af en sådan top-down blueprinting teknik, de havde ingen anelse om, hvor alting var.
2. Arbejde baglæns.
Når diagnosticere business processer, procedurer og programmer, der er en naturlig tilbøjelighed til at gå fra start til slut i at diagnosticere et problem. Nogle gange kan du finde en hikke at bruge denne fremgangsmåde, andre gange kan du ikke. Prøv i stedet at arbejde baglæns fra ende til start, fra output til input. Igen, kort design med en flowchart eller anden grafisk teknik. Hvis behandlingen omfatter betydelige afgørelser, udarbejde en beslutning træ eller en tabel. Sådanne grafik er uvurderlig for validering
design logik.
3. Har et andet par øjne ser mere end dit arbejde.
Som vi bliver gennemsyret i mekanik af et design, alt for ofte er indlysende bliver mindre indlysende for os. Her kan et andet sæt øjne let se et problem, vi har overset. Dette er især en fordel i forretninger, der drives i overensstemmelse med visse design standarder. Ensartet design praksis gør
det lettere at få øje på uregelmæssigheder end uden sådanne normer.
Når den anden person kommer fra, er også vigtig. Hvis personen kommer fra din arbejdsgruppe, og er fortrolig med din stil design, han / hun kan meget vel være i stand til at spotte et problem. Så igen, måske ikke. Måske problemet vil blive usynlig for dem. I dette tilfælde kan du høre en neutral
tredje person med et nyt perspektiv på problemet. Dette kan enten være en person inde fra virksomheden eller eventuelt en ekstern konsulent.
KONKLUSION
Grafisk hjælpemidler, såsom flowcharts og diagrammer er nyttige til at diagnosticere et problem, men også huske at udfordre den grafiske. Dens ikke ualmindeligt, at grafikken ikke at matche, hvad der sker i virkeligheden. En god IRM Repository er også uvurderlig for underbygget design. Designet er enten registreres korrekt
i IRM Repository eller er det ikke. Desuden et sådant redskab giver mulighed for at studere forholdet mellem informationsressourcer (aka "konsekvensanalyse"), som kan afsløre ukendte komponenter, der påvirker et design.
Hvad vigtigere er, tanken om at opretholde et system arkitektur (som gennemført med "PRIDE" Standard System Structure Concept) giver de nødvendige køreplan til at finde vej gennem et system, uanset dens kompleksitet. Mange programmører se sådanne søkort som useriøst primært fordi de kun beskæftiger sig med deres lille brik i det puslespil, og er ubekymret om det samlede billede. Men for dem af jer, der har brug for at se det samlede billede, er det systemarkitektur den logiske første skridt til diagnosticering problemer.
For mere information om "PRIDE" Standard System Structure Concept, se:
http://www.phmainstreet.com/mba/pride/is.htm