(Mentenabilitatea software) ©

Toată lumea vorbeşte despre mentenanţă, dar foarte puţină lume ştie că în dezvoltarea de software una este să gândeşti un produs mentenabil şi cu totul altfel sat lucrurile când produsul este construit la voia întâmplării.
Produsul software care este construit mentenaqbil va avea drept rezultat:
- efort scăzut în efectuarea modificărilor,
- efect de ondulanţă de lungime controlabilă,
- păstrarea nivelurilor de performanţă iniţiale,
- accesul oricărui programator la derularea mentenanţei,
- costuri şi durate scăzute pentru obţinerea modificărilor.
De regulă, mentenanţa este făcută de cei care dezvoltă produsul,. Dacă ei înşişi doresc acest lucru, deşi ca strategie, un astfel de obiectiv îi ajută să recupereze costurile de producţie cu mult mai lejer decât dacă ar gândi produsul doar în ideea de a-l vinde şi de mentenaqnţă să se ocupe alţii.
Dacă dezvoltatorul are în atenţie să se ocupe el însuşii de mentenenţă:
- va pune preţuri atractive la vânzarea produsului noi,
- va fi stimulativ în a face mentenanţă la costuri bune,
- va construi produsul extrem de mentenabil,
- îşi va asigura profituri generoase din mentenanţă ieftină.
Paradoxul constă din faptul că produsul extrem de mentenabil are costuri de mentenanţă efective foarte mici, dar plăţile efectuate de utilizator sunt cu mult mai mari, dar totuşi mici dacă utilizatorul face comparaţii cu ceea ce se întâmplă în piaţa de software.
Mentenanţa pentru date trebuie gândită în ideea de:
- a adăuga date de intrare pentru a face noi prelucrări,
- a elimina variabile care nu mai sunt prelucrate,
- a modifica tipul datelor existente, în concordanţă cu noi cerinţe.
Dacă dezvoltatorul intuieşte care vor fi noile cerinţe, va lua măsuri care să-i permită inserarea de noi câmpuri în articole fără a modifica lungimea articolelor, prin definirea unei rezerve sub forma unei variabile de tip caracter de câteva zeci de baiţi.
Pentru situaţia în care se doreşte eliminarea de câmpuri, se va avea în vedere conservarea vechii structuri de articol, pentru că probabil în viitor se va reveni asupra acelei forme şi va fi foarte dificilă reconstruirea. Câmpurile care nu vor mai fi necesare nu vor mai face obiectul prelucrărilor, fără a influenţa dramatic lungimea fişierului sau a bazei de date, chiar dacă ele rămân acolo unde au fost, fără a mai se lucra cu ele.
Ceva mai dificilă este situaţia în care se va schimba tipul de dată care are consecinţă schimbarea lungimii câmpului. Soluţiile sunt numeroase, dar ideal este ca modificarea aceasta să nu antreneze redefinirea articolului, prin glisarea celorlalte câmpuri aflate în dreapta câmpului a cărui lungime se modifică. Eu aş defini un alt câmp dar cu acelaşi nume, diminuând zona de rezervă şi aş lucra cu el, schimbând numele câmpului iniţial pentru a elimina ambiguitatea.
Mentenanţa la nivel de secvenţe de text sursă include:
- inserarea de linii sursă pentru calculul de noi indicatori, folosind noi variabile de intrare,
- inserarea de linii sursă care efectuează noi selecţii pentru noi cazuri de prelucrare,
- schimbarea unor operanzi sau a unor operatori din expresii aritmetice existente,
- schimbarea structurii expresiilor condiţionale cu variabile sau noi operatori,
- eliminarea de secvenţe de prelucrare.
Pentru toate situaţiile este de dorit să se introducă multe comentarii, căci orice s-ar zice, mentenanţa este o cârpeală pe textul sursă, oricât de elevată ar fi intervenţia.
Eu nu aş şterge secvenţele care trebuie eliminate în cadrul procesului de mentenanţă, ci le-aş transforma în comentarii, scriind acolo şi unele detalii, căci nu puţine sunt situaţiile în care utilizatorii revin asupra unor vechi formule de calcul.
Mentenanţa la nivel de rezultate finale se vede în structura rezultatelor, ceea ce se concretizează prin:
- interschimbarea poziţiei de rezultate ca să se facă plăcerea utilizatorilor,
- îmbogăţirea de rezultate, prin adăugarea de noi rezultate obţinute din noi calcule,
- eliminarea de rezultate, atunci când acestea nu mai sunt necesare.
Este de dorit ca să se acorde mare atenţie acestor cazuri, căci rezultatele sunt extrem de importante în economia unei aplicaţii informatice oricare ar fi ea. Pe utilizator îl interesează finalitatea.
Procesul de mentenanţă are în atenţie ondulanţa, adică volumul de modificări ce trebuie făcute pentru a fi atinse obiectivele cerute.
Dacă se schimbă formule de calcul care necesită noi operanzi, trebuie procedat astfel:
- se definesc noii operanzi,
- se fac validările de date,
- se modifică secvenţele de prelucrare,
- se inserează variabilele rezultat în secvenţa unde se fac afişările sau imprimările sau salvările.
Dacă din întâmplare, ceva este neglijat, cu siguranţă, nu se va obţine rezultatul dorit, iar procesul de mentenanţă se va prelungi cu noi iteraţii, până când solicitarea utilizatorilor va fi satisfăcută.
Aici trebuie să spun că sunt obligatorii comentarii legate de identificarea celor care au efectuat mentenanţă specificând:
- numele programatorului,
- obiectivul urmărit
- data când s-a efectuat,
- ce modificări s-au făcut,
- cu se identifică modificările făcute de programator.
Eu sunt împotriva derulării de activităţi sub anonimat. Cine face o modificare, să şi-o asume. Nu este greu. Va tasta două slash-uri după care pune numele său. Se face o responsabilizare şi nu se va mai lucra la grămagă ca în comunismul crâncen al Bumbeşti-Livezenilor.



                                                                                                                                                                                                    Înapoi