Ciclul de viață al software-ului: Concept, Standarde, Procese

Dezvoltarea de software este imposibilă fără înțelegerea așa-numitului ciclu de viață al programelor. Este posibil ca acest lucru să nu fie necesar pentru a fi cunoscut unui utilizator obișnuit, dar este de dorit să stăpânească standardele de bază (va fi discutată și de ce este necesar acest lucru).

Ciclul de viață software: ce este în sensul formal?

În cadrul ciclului de viață al oricărui produs software, este obișnuit să se înțeleagă timpul de existență, începând de la etapa de dezvoltare și până în momentul refuzului complet de a fi utilizat în sfera de aplicare aleasă până când aplicația este complet eliminată din uzul cotidian.

ciclul de viață al software-ului

În mod simplu, sistemele informatice sub formă de programe, baze de date sau chiar "sisteme de operare" sunt solicitate numai dacă datele și capacitățile oferite de acestea sunt relevante.

Se crede că definiția ciclului de viață nu se aplică în nici un caz aplicațiilor de testare, de exemplu, versiunilor beta, care sunt cele mai instabile în lucrare. Ciclul de viață al unui software depinde de mulți factori, dintre care unul dintre rolurile principale este jucat de mediul în care va fi folosit programul. Cu toate acestea, este posibil să se identifice condițiile generale utilizate pentru determinarea conceptului ciclului de viață.

Cerințe inițiale

După cum se crede, pentru orice produs software se folosesc mai multe condiții, în ceea ce privește dezvoltarea și aplicarea acestuia, și anume:

  • declararea problemei;
  • analiza cerințelor reciproce ale viitorului software în sistem;
  • proiectare;
  • programare;
  • codificare și compilare;
  • testare;
  • depanare;
  • implementarea și întreținerea produsului software.

Dezvoltarea de software cuprinde toate etapele menționate mai sus și nu se poate realiza fără cel puțin una dintre ele. Dar pentru controlul acestor procese sunt stabilite standarde speciale.

Standardele proceselor ciclului de viață software

Printre sistemele care predetermină condițiile și cerințele pentru astfel de procese, astăzi există doar trei principale:

  • GOST 34.601-90;
  • ISO / IEC 12207: 2008;
  • Oracle CDM.

ciclu de viață pentru

Pentru cel de-al doilea standard internațional există un analog rusesc. Acesta este GOST R ISO / IEC 12207-2010, responsabil pentru inginerie de sistem și software. Dar ciclul de viață al software-ului descris în ambele reguli este identic în esență. Acest lucru este explicat foarte simplu.

Tipuri de programe și actualizări

Sistemele moderne de informare sunt de așa natură încât ele stabilesc concepte general acceptate ale domeniului de aplicare.

De exemplu, există programelor de sistem și utilitare, instrumente multimedia, drivere de dispozitiv, aplicații de birou etc. Pentru orice tip de produse software, puteți defini etapele ciclului de viață al existenței.

Pentru reînnoire, instrumentele de upgrade sunt cel mai adesea folosite (atât pentru sistemele de operare, cât și pentru platforme și aplicații software). Probabil, nu este nevoie să explicăm că orice utilizator al unui sistem informatic bazat pe Windows a suferit o etapă de actualizare a sistemului în sine sau a unor componente cum ar fi Microsoft .NET Framework sau mașina virtuală Java.

Stadiul de proiectare

Acum câteva cuvinte despre etapele de dezvoltare. Ciclul de viață al software-ului include inițial planificarea proiectului, analiza cerințelor sistemului și țintă, posibilitatea de proiectare preliminară sau detaliată, codificare și testare, posibilitatea de a folosi programe în sisteme specializate și așa mai departe.

Modelele ciclului de viață al software-ului presupun că sarcina inițială de a crea software-ul ar trebui să fie dezvoltarea de aplicații universale sau produse software care utilizează un anumit mediu de lansare.

desen

Sistemele de dezvoltare sunt limbi de programare. Proiectarea software-ului în prima etapă poate fi redusă la aceasta.

dezvoltarea de

Fie că este C + / C ++, Java, Delphi, sau aceleași Pascal învechite nu este atât de important. Întrebarea este cât de mult poate fi aplicația creată să se integreze în sistemul de operare și să funcționeze fără eșecuri.

În acest sens, 1 ciclu de viață al software-ului este momentul testării sale de la instalarea inițială a produsului la îndepărtarea completă din cauza nerespectării cerințelor de sistem, incapacității sau imposibilității de a efectua sarcinile stabilite inițial.

Pașii următori

Întreținerea ulterioară, care determină ciclul de viață al software-ului, este redusă la codarea și obținerea codului sursă al aplicației.

sisteme informatice

În cazul unui liber (deschis) răspândirea așa-numitul certificat este aplicat în baza licenței GNU care permite schimbări în software-ul în sine, la cererea utilizatorului, familiarizat cu limbajul de programare cu care a fost creat cererea.

Dacă este un cod închis, puteți utiliza utilitare cum ar fi Disassembler. Dar, în acest caz, puteți realiza decodarea executabilului fișier EXE și, desigur, DLL-urile dinamice asociate.

Dar aceasta este o teorie. În practică, etapele ciclului de viață al software-ului includ mult mai multe elemente în lista lor. Chiar și cea mai simplă situație simulată constă în examinarea standardelor și formularea de observații (cerințe de arhitectură la nivel înalt, conformitatea codului executabil, mijloace și metodologie de verificare). Acesta este ciclul de viață al software-ului. Dar este important să înțelegem câteva principii de gestionare a acestor programe și sisteme.

Fundamentele managementului

Gestionarea ciclului de viață al software-ului se realizează pe baza divizării programelor în componente, ceea ce oferă o gamă destul de largă de instrumente pentru crearea acestora.

Există, de asemenea, un dezavantaj al monedei. Alegerea modulelor este limitată la dezvoltatorul platformei inițiale, pe baza căreia se realizează programarea. Desigur, dacă luăm în considerare unificarea și scrierea instrumentelor de dezvoltare folosite (în special modulele reutilizabile), nu există întrebări.

Dar etapele ciclului de viață al software-ului includ în mod necesar crearea de protocoale de procesare a datelor, subrutine, biblioteci standard și multe altele.

Module utilizate

Și nici un singur ciclu de viață al software-ului nu este complet fără utilizarea unor componente foarte specifice. Dintre acestea, următoarele sunt considerate prioritare:

  • modulul principal (capul) responsabil pentru lansarea produsului software;
  • un modul de control responsabil pentru a apela componentele atașate sau bibliotecile dinamice;
  • funcționale și de servicii pentru prelucrarea datelor și utilități suplimentare.

modele de ciclu de viață software

Fișierul executabil, de regulă, pentru sistemele Windows este prezentat sub forma "exeshnika". Componentele de control au o extensie de configurator (config.sys pentru sistemele de operare), bibliotecile conectate în plus au o extensie DLL. Este posibil să se arate comenzile și procesarea funcțiilor și setărilor anumitor aplicații Fișiere XML.

Apropo, pentru majoritatea programelor multimedia cunoscute, acestea reprezintă mijloace de păstrare a parametrilor de configurare de bază. Utilizarea software-ului de acest tip, desigur, este destul de limitată, însă înțelegerea principiilor generale de lucru cu aceiași jucători media nu va face rău. Și de asta.



De fapt, în ele ciclul de viață al software-ului este pus doar la nivelul versiunii actualizate a jucătorului în sine sau instalarea codec-urilor și decodoarelor. Și transcoderele audio și video sunt atributele esențiale ale oricărui sistem audio sau video.

Exemplu bazat pe FL Studio

Inițial, secvențialul virtual Studio FL Studio a fost numit Loops Fruity. Ciclul de viață al software-ului în modificarea sa primară a expirat, dar aplicația a fost oarecum transformată și a dobândit forma actuală.

1 ciclu de viață al software-ului

Dacă vorbim despre etapele ciclului de viață, mai întâi în etapa de stabilire a sarcinii, au fost stabilite mai multe condiții obligatorii:

  • crearea unui tambur de tip tambur modul de mașini, cum ar fi Yamaha RX, dar cu o singură lovitură-mostră sau secvență în format WAV, înregistrate direct în studio;
  • integrarea în sistemele de operare Windows;
  • capacitatea de a exporta proiectul în formatele WAV, MP3 și OGG;
  • Proiecte de compatibilitate cu o aplicație suplimentară Fruity Tracks.

În stadiul de dezvoltare, s-au folosit limbile de programare C. Dar platforma părea destul de primitivă și nu a dat utilizatorului final calitatea necesară a sunetului.

În acest sens, la etapa de testare și depanare, dezvoltatorii au trebuit să urmeze calea societății germane Steinberg și să aplice suportul pentru modul Full Duplex în cerințele pentru driverul principal de sunet. Calitatea sunetului a devenit mai mare și a permis modificarea tempo-ului, pitch-ului și suprapunerea efectelor FX suplimentare în timp real.

standardele proceselor ciclului de viață al software-ului

Finalizarea ciclului de viață al software-ului este considerată a fi de ieșire din prima versiune oficială a FL Studio, care, spre deosebire de strămoșii lor, au fost o interfață cu drepturi depline de secvențiere, cu posibilitatea de a modifica setările de pe virtuale de amestecare consola 64-canal, cu adaos nelimitat de piese audio și MIDI-piste.

Promovarea programului nu sa oprit aici. La etapa de management a proiectului, a fost introdus suportul pentru conectarea plug-in-urilor VST (prima, a doua și a treia versiune), dezvoltat de Steinberg la momentul respectiv. Aproximativ, orice sintetizator virtual care suportă VST-gazdă se poate conecta la program.

inginerie software

Nu este surprinzător că, în curând, orice compozitor ar putea folosi analogii de modele de "fier", de exemplu, seturi complete de sunete ale popularului Korg M1. Mai mult - mai mult. Folosirea unor module cum ar fi Addictive Drums sau plug-in-ul universal Contact a făcut posibilă reproducerea sunetelor live de instrumente reale înregistrate cu toate nuanțele de articulare în studiouri profesionale.

În același timp, dezvoltatorii au încercat să obțină o calitate maximă prin crearea suportului pentru driverele ASIO4ALL, care s-au dovedit a fi mai mari decât modul Full Duplex. În consecință, bitrate-ul a crescut de asemenea. Până în prezent, calitatea fișierului audio exportat poate fi de 320 kbit / s la o rată de eșantionare de 192 kHz. Și acesta este un sunet profesionist.

În ceea ce privește versiunea inițială, ciclul său de viață ar putea fi numit complet complet, însă o astfel de declarație este relativă, deoarece aplicația și-a schimbat numele și a câștigat noi oportunități.

Perspectivele dezvoltării

Care sunt etapele ciclului de viață al software-ului, este deja clar. Dar merită să menționăm dezvoltarea unor astfel de tehnologii separat.

Nu este necesar să se spună că niciun dezvoltator de software nu este interesat să creeze un produs trecătoare care este puțin probabil să rămână pe piață timp de mai mulți ani. Pe termen lung, toată lumea se uită la utilizarea pe termen lung. Acest lucru se poate realiza în mai multe moduri. Dar, de regulă, aproape toți se aruncă la lansarea actualizărilor sau a noilor versiuni ale programelor.

Chiar și în cazul sistemului de operare Windows, astfel de tendințe pot fi văzute cu ochiul liber. Este puțin probabil ca astăzi să existe cel puțin un utilizator care utilizează sisteme cum ar fi modificările 3.1, 95, 98 sau Millennium. Ciclul lor de viață sa încheiat după lansarea versiunii XP. Dar versiunile de servere bazate pe tehnologiile NT sunt încă relevante. Chiar și Windows 2000 până în prezent nu este doar foarte relevant, ci și pentru anumiți parametri de instalare sau de securitate, chiar depășind ultimele evoluții. Același lucru este valabil și pentru sistemul NT 4.0, precum și pentru modificarea specializată a Windows Server 2012.

etapele ciclului de viață pentru

Dar în ceea ce privește aceste sisteme, sprijinul la cel mai înalt nivel este încă declarat. Dar senzațional în vremea lui Vista se confruntă clar cu ciclul de apus de soare. Nu numai că, era neterminată, deci încă și de eroare în sine, precum și deficiențe în sistemul său de securitate a fost atât de mult încât putem ghici doar despre modul în care a fost posibil de a lansa o soluție software este de neconceput.

Dar dacă vorbim despre faptul că dezvoltarea de software de orice tip (manager sau aplicație) nu se oprește, putem spune doar faptele. La urma urmei, astăzi nu numai sistemele informatice, ci și dispozitivele mobile, unde tehnologiile depășesc adesea sectorul informatic. Apariția de cipuri de procesoare bazate pe opt nuclee - nu este cel mai bun exemplu? Și totuși nu fiecare laptop se poate lăuda că are un astfel de "fier".

Câteva întrebări suplimentare

În ceea ce privește înțelegerea ciclului de viață al software-ului, să spunem că sa încheiat la un moment dat, acesta poate fi foarte arbitrar, deoarece produsele software au încă sprijin din partea dezvoltatorilor care le-au creat. Mai degrabă, încheierea se referă la aplicații moștenite care nu îndeplinesc cerințele sistemelor moderne și nu pot funcționa în mediul lor.

Dar chiar și ținând cont de progresul tehnic, multe dintre ele deja în viitorul apropiat s-ar putea dovedi a fi incontestabile. Atunci trebuie să decideți dacă să lansați actualizări sau să revizuiți complet întregul concept, inițial încorporat în produsul software. Prin urmare - și un nou ciclu care implică schimbarea condițiilor inițiale, mediul de dezvoltare, testarea și posibila utilizare pe termen lung într-o anumită zonă.

Dar, în tehnologia informatică de astăzi, se preferă dezvoltarea sistemelor automate de control (ACS) care sunt utilizate în producție. Chiar și sistemele de operare, în comparație cu programele specializate, pierd.

Aceleași medii bazate pe Visual Basic rămân mult mai populare decât sistemele Windows. Și software-ul de aplicație pentru sistemele UNIX nu vorbește deloc. Ce să spun, dacă aproape toate rețelele de comunicații ale aceleiași State Unite lucrează exclusiv pentru ei. Apropo, pe această platformă au fost create inițial sisteme precum Linux și Android. Prin urmare, cel mai probabil, UNIX are perspective mult mai multe decât alte produse combinate.

În loc de total

Rămâne să adăugăm că în acest caz sunt date doar principiile generale și etapele ciclului de viață al software-ului. De fapt, chiar și sarcinile inițiale pot fi foarte diferite. În consecință, diferențele pot fi observate în etapele rămase.

Dar tehnologiile de bază pentru dezvoltarea produselor software cu întreținerea ulterioară trebuie să fie clare. Altfel, ar trebui să țineți cont de natura specifică a software-ului creat și de mediul în care acesta se presupune că funcționează, precum și de capacitățile programelor furnizate utilizatorului final sau producției și multe altele.

În plus, uneori ciclurile de viață pot depinde de relevanța instrumentelor de dezvoltare. Dacă, de exemplu, o anumită limbă de programare devine caducă, nimeni nu va scrie programe bazate pe ea și chiar mai mult - să le introducă în sisteme automatizate de control în producție. Au venit deja în prim-plan chiar și programatori, și de marketing care au nevoie pentru a reacționa prompt la schimbările de pe piața de calculator. Și nu există atât de mulți specialiști în lume. Personalul foarte calificat, capabil să țină mâna pe pulsul pieței, devine cel mai solicitat. Și ei sunt adesea așa-numitele „cardinali gri“, care depinde succesul sau înfrângerea anumitor produse software în domeniul IT.

Să nu înțeleagă întotdeauna esența programării, însă ei sunt în măsură să determine modelele ciclului de viață al software-ului și durata aplicării acestora, pe baza tendințelor globale din acest domeniu. Gestionarea eficientă produce adesea rezultate mai tangibile. Da, cel puțin tehnologii PR, publicitate etc. Poate că o aplicație nu are nevoie de un utilizator, dar dacă este anunțată în mod activ, utilizatorul o va instala. Acesta este deja, ca să spunem așa, nivelul subconștient (același efect al celui de-al 25-lea cadru, când informația este stocată în conștiința utilizatorului, indiferent de el însuși).

Desigur, astfel de tehnologii din lume sunt interzise, ​​dar mulți dintre noi nici măcar nu cred că pot fi folosiți și influențează subconștientul într-un anumit fel. Aceasta este doar o „zombie“ canale de știri sau site-uri de internet, nu mai vorbim de utilizarea unor instrumente mai puternice, cum ar fi expunerea la infrasunete (acest lucru a fost aplicat în aceeași producție de operă), astfel încât o persoană poate experimenta frica sau emotii nepotrivite.

Revenind la software, merită adăugat faptul că unele programe utilizează un semnal sonor atunci când pornesc, atrăgând atenția utilizatorului. Și, după cum arată studiile, astfel de aplicații sunt mai viabile, în comparație cu alte programe. Bineînțeles, ciclul de viață al software-ului crește, indiferent de ce funcție este atribuită inițial. Și acest lucru, din nefericire, este folosit de mulți dezvoltatori, ceea ce ridică îndoieli cu privire la valabilitatea unor astfel de metode.

Dar nu este pentru noi să judecăm acest lucru. Poate că în viitorul apropiat vor fi elaborate instrumente care determină astfel de amenințări. Până în prezent, aceasta este doar o teorie, dar, potrivit unor analiști și experți, rămân puține lucruri în practică. Dacă creați deja copii ale rețelelor neuronale ale creierului uman, atunci ce să spun?

Distribuiți pe rețelele sociale:

înrudit
Lista celor mai bune programe antivirus din 2015Lista celor mai bune programe antivirus din 2015
Care este caracteristica specială a software-ului cross-platform?Care este caracteristica specială a software-ului cross-platform?
Crearea și utilizarea de programe de calculator. Un program de calculator este ...Crearea și utilizarea de programe de calculator. Un program de calculator este ...
Care este numele pachetului software care gestionează funcționarea calculatorului și asigură…Care este numele pachetului software care gestionează funcționarea calculatorului și asigură…
Proprietatea este ... Software-ul proprietarProprietatea este ... Software-ul proprietar
Ce este PAK și pentru ce este?Ce este PAK și pentru ce este?
Software-ul este ce? Ce fel de program este Software-ul?Software-ul este ce? Ce fel de program este Software-ul?
Prezentare generală a software-ului util: program pentru eliminarea completă a programelorPrezentare generală a software-ului util: program pentru eliminarea completă a programelor
Cum se găsește un telefon de către IMEI.Cum se găsește un telefon de către IMEI.
Clasificarea sistemelor de operareClasificarea sistemelor de operare
» » Ciclul de viață al software-ului: Concept, Standarde, Procese