"Vind
alleen het wiel opnieuw uit, als deze vierkant is."
- Sam Rain
- Sam Rain
Het ontwerpen van industriële toepassingen
vereist een paar vaardigheden, die een professional moet beheersen om te kunnen
schetsen op de tekentafel. Zo kan een ontwerper simpelweg niet zonder schema's
en diagrammen — het landschap van een oplossing moet ontworpen worden en de
processen in kaart brengen zijn zonder schema's en diagrammen een bijna
onmogelijke taak. Maar ook achtergrond kennis van een aantal concepten en
strategieën zijn voor een ontwerper onmisbaar.
De database
is een gegevensbron waar een ontwerper niet persé het fijne van hoeft te weten
als specialisme, maar wel waar de industriële database (vaak een relationele
variant) in uitblinkt. Termen als replicatie, transacties, `stored procedures',
views en CRUD-bewerkingen (Create, Read, Update, Delete), mogen niet onbekend
zijn voor de ontwerper. Naast de opbouw van een database zijn
gebruikersrechten, indexen en sleutels voor een software ontwerper cruciaal.
Een ontwerper die niets weet van databases in de industriële software-industrie
zal zelden een oplossing kunnen ontwerpen zonder deze know-how.
Gegevenstransport over netwerken brengt de
nodige kennis met zich mee — hoewel vele ontwerpers het concept encryptie (versleuteling) wel
begrijpen, snappen ze zelden de toepassingsgebieden. Een ontwerper moet het
verschil begrijpen tussen symmetrische en asymmetrische encryptie; met name
wannéér en waaróm deze vormen gebruikt worden. Gegevens in industriële
toepassingen hebben namelijk vaak gevoelige gegevens — zonder enige kennis van
versleuteling is een oplossing bij voorbaat te beschouwen als onveilig.
Een ontwerper hoort begrippen als encapsulatie, object oriëntatie en overerving te begrijpen. Industriële software is incrementeel —
vaak worden oplossingen uitgebreid met nieuwe mogelijkheden (features). Een
ontwerper hoeft geen 'echte' programmeur te zijn, maar hoort minimaal een vorm
van pseudo-code te kennen. Een
oplossing dat niet vertaald kan worden naar technisch ontwerp, zal nooit het
levenslicht zien — want inmiddels hebben bedrijven al decennia geleden ontdekt
dat deze vertaling onderschatten hetzelfde betekent als het aanschaffen van
Pandora's doos.
Veiligheid is een cruciaal onderwerp — een ontwerper die niet op de hoogte is van
aanvalsmethodieken van hackers, kan een ontwerp daar ook niet tegen weren.
Implementatie wordt vaak gedaan door techneuten die het grote plaatje niet
zien, waardoor er grote gaten kunnen ontstaan in het hekwerk om de oplossing.
Ontwerpers moeten begrijpen hoé toegangspunten omzeilt worden en met welk doel;
zodoende kunnen zij de oplossing voorzien van de nodige bewaking of kennis
inwinnen van veiligheidsexperts.
Bedrijfsprocessen
worden vaak onderschat — en met name hoe deze precies
werken. Informatie gaat in processen niet alleen in cycli — ze gaan soms
parallel, splitsen zich of transformeren zich meerdere malen. Ook hebben ze
vaak te maken met 'bottlenecks', waardoor een ontwerper bij zaken als
routering, synchronisatie (en asynchrone taken!) of wachtrijen soms het wiel
opnieuw probeert uit te vinden. Een bedrijfsoplossing is vaak complexer dan men
in eerste instantie denkt, wat vaak leidt tot een 'dure grap' vanwege
onderschatting.
Gebruik bestaande
strategieën. Originaliteit is binnen de industriële software industrie niet
altijd de juiste strategie — hoewel innovatie zeker gewaardeerd wordt, is een
'winning formula' eerder de regel dan de norm. Vind alleen het wiel opnieuw
uit, wanneer het wiel vierkant is — de robuustheid
van een ontwerp valt vaak over exotische ideeën, die achteraf vaak niet voldoen
aan de verwachtingen.
Industriële toepassingen vragen veel kennis,
maar dat hoeft niet altijd evenredig te zijn dat men ook deze vakgebieden moet
beheersen als een specialist. Weten is zilver, begrijpen is goud.
Meer lezen over Informatie Technologie? Klik hier voor de inhoudsopgave van alle
artikelen!
©SamRain
Professional
Professional
Geen opmerkingen:
Een reactie posten