Одржување на софтвер

Од Википедија, слободната енциклопедија
Прејди на: содржини, барај

Одржувањето на софтверот, во софтверското инженерство, претставува секоја активност која се прави на софтверскиот продукт откако ќе биде испорачан на клиентот. Таа активност може да биде изменување на продуктот поради некои недостатоци, промена поради подобрување на перформансите, променување по барање на корисниците и друго.[1] Одржувањето на софтверот и еволуцијата на системите беше истражувано од страна на Мер Леман (англиски: Meir M. Lehman) кој што ги напишал Лeменовите закони за еволуција на софтверот.[[2]] Во неговото истражување тој заклучил дека одржувањето е вистински еволуциски развој. Исто така тој покажал дека системите постојано еволуираат и како што еволуираат стануваат се покомплексни се додека не им се направи рефакторирање.

Значење на одржувањето на софтверот[уреди]

Во една студија на Лентц и Свансон (англиски: Lientz and Swanson) е покажано дека најмногу пари се има потрошено во фазата на одржувањето на софтвер. Активностите за одржување на софтверот тие ги поделени на четири класификации и тоа:

  • Активности за прилагодување – се оние активности со кои софтверот се прилагодува на нова околина (промена на оперативен систем, промена на хардвер).
  • Активности за перфектно одржување – сите промени кои се прават по барање на клиентите, дали било тоа за измена или додавање на ново функциско барање.
  • Активности за корекција – справување со недостатоците, нивно отстранување откако се пронајдени.
  • Активности за превенција – активности кои ја зголемуваат одржливоста на софтверот и превентивно делуваат за појавување на понатамошни проблеми.

Според нивната студија околу 75 проценти од сите активности се од првите два типа, активности зa прилагодување и перфектно одржување, додека 21 проценти се од активностите за корекција. И другите студии кои излегле подоцна сите биле слични. Сите студии покажуваат дека крајните корисници имаат значаен придонес во собирањето на анализи и нови барања. Токму тоа е главна причина за проблемите кои настануваат при одржувањето и еволуцијата на софтверот. Одржувањето е доста значајна поддисциплина на софтверското инженерство, не само поради тоа што се троши голем дел од буџетот, туку и поради фактот што клиентите би загубиле значајни приходи доколку софтверот не биде одржуван брзо и правилно.[3] [4] [5]

Планирање на одржување на софтвер[уреди]

Значаен дел од одржувањето на софтверот е неговото планирање, кое треба да биде подготвено уште во развојот на софтверот. Во него треба да се нагласи како корисниците ќе ги пријавуваат грешките на софтверот и како ќе бараат да се направат промени. Треба да се испланира и колкав дел од буџетот ќе бидат одвоени за таквите активности. [6]

Таквите барања за промени и грешки, од страна на корисниците, повторно ќе бидат доставени до тимот задолжен за развој. Одржувањето на софтверот е долг процес и може да трае години, па дури и декади и токму поради тоа потребно е да се направи ефективен план во кои ќе бидат дефинирани целите на одржувањето, ќе биде дефинирано како ќе се одвива испораката, трошоците, кој ќе биде задолжен за одржување и друго.

Процеси кај одржувањето на софтвер[уреди]

Постојат шест процеси кај одржувањето на софтверот и тоа:[7]

  1. Имплементациски процес – процес во кој се прави подготовката на софтверот и планирање на активностите за следните фази, како што се правење на план за одржување и негов концепт, подготовки за справување со проблемите кои се откриени во развојот и следење на управувањето со конфигурацијата на продуктот.
  2. Процес на проблеми и анализа – започнува веднаш откако софтверот е спремен за одржување. Инженерите задолжени за одржување, прават анализа на секое барање, кажуваат дали може да биде исполнето, бараат решение како би можело да биде исполнето, го документираат и барањето и решението и бараат авторизација за да можат да го модифицираат софтверот и прилагодат на новите барања.
  3. Процес на разгледување на модификацијата – се разгледува како ќе биде имплементирана модификацијата, дали е возможно да се направи тоа.
  4. Процес на одобрување на модификацијата – се гледа дали е модифицирано како што треба заедно со клиентот кој што ја го поставил барањето.
  5. Процес на миграција (пример мигрирање кон нова платформа) е поразличен процес и не се извршува постојано. Се применува кога софтверот треба да биде пренесен на друга платформа, без притоа да биде променета неговата функционалност. Доколку ова треба да се направи, тогаш тоа ќе биде спроведено од страна на тимот од инженери задолжени за одржување.
  6. Процес на пензионирање – се ,,пензионира‘‘ некој дел од софтверот, некоја негова функционалност.


Наводи[уреди]

  1. SWEBOK CHAPTER 6 SOFTWARE MAINTENANCE проверена на 01.04.2012
  2. Wikipedia: Software evolution проверена на 01.04.2012
  3. Lientz B., Swanson E., 1980: Software Maintenance Management. Addison Wesley, Reading, MA
  4. Lehman M. M., 1980: Program, Life-Cycles and the Laws of Software Evolution. In Proceedings of IEEE, 68, 9,1060-1076
  5. Penny Grubb, Armstrong A. Takang, 2003: Software Maintenance: Concepts and Practice. World Scientific Publishing Company
  6. Characteristics of application software maintenance by B. P. Lientz, E. B. Swanson, G. E. Tompkins проверена на 01.04.2012
  7. Wikipedia: Software maintenance processes проверена на 01.04.2012