CLOPOTUL

Sunt cei care citesc aceasta stire inaintea ta.
Abonați-vă pentru a primi cele mai recente articole.
E-mail
Nume
Nume de familie
Cum ți-ar plăcea să citești Clopoțelul
Fără spam

Ar trebui să începem prin a definiCiclul de viață al software-ului(Software Life Cycle Model) este o perioadă de timp care începe din momentul în care este luată decizia de a crea un produs software și se termină în momentul în care acesta este complet retras din serviciu. Acest ciclu este procesul de construire și dezvoltare a software-ului.

Modele de ciclu de viață software

Ciclul de viață poate fi reprezentat sub formă de modele. În prezent, cele mai frecvente sunt:în cascadă, incrementale (model în etape cu control intermediar ) și spiralămodele de ciclu de viață.

Model în cascadă

Model în cascadă(ing. model de cascadă) este un model al procesului de dezvoltare software, al cărui ciclu de viață arată ca un flux care trece secvenţial prin fazele de analiză a cerinţelor, proiectare. implementare, testare, integrare și suport.

Procesul de dezvoltare este implementat folosind o secvență ordonată de pași independenți. Modelul prevede că fiecare pas ulterior începe după finalizarea pasului anterior. La toate etapele modelului, sunt efectuate procese și lucrări auxiliare și organizaționale, inclusiv managementul proiectelor, evaluarea și managementul calității, verificarea și certificarea, managementul configurației și dezvoltarea documentației. Ca urmare a parcurgerii etapelor, se formează produse intermediare care nu pot fi modificate în etapele ulterioare.

Ciclul de viață este împărțit în mod tradițional în următoarele principaleetape:

  1. Analiza cerințelor,
  2. Proiecta,
  3. Codare (programare),
  4. Testare și depanare,
  5. Operare și întreținere.

Avantajele modelului:

  • stabilitatea cerințelor pe tot parcursul ciclului de viață al dezvoltării;
  • la fiecare etapă, se formează un set complet de documentație de proiect care îndeplinește criteriile de completitudine și coerență;
  • certitudinea și comprehensibilitatea etapelor modelului și simplitatea aplicării acestuia;
  • etapele de lucru efectuate într-o succesiune logică vă permit să planificați momentul finalizării tuturor lucrărilor și resursele corespunzătoare (monetare, materiale și umane).

Dezavantajele modelului:

  • complexitatea formulării clare a cerințelor și imposibilitatea schimbării lor dinamice pe parcursul întregului ciclu de viață;
  • flexibilitate scăzută în managementul proiectelor;
  • succesiunea structurii liniare a procesului de dezvoltare, ca urmare, revenirea la pașii anteriori pentru rezolvarea problemelor emergente duce la o creștere a costurilor și la perturbarea programului de lucru;
  • neadecvarea produsului intermediar pentru utilizare;
  • imposibilitatea modelării flexibile a sistemelor unice;
  • detectarea tardivă a problemelor legate de construcție datorită integrării simultane a tuturor rezultatelor la sfârșitul dezvoltării;
  • participarea insuficientă a utilizatorilor la crearea sistemului - la început (în timpul dezvoltării cerințelor) și la sfârșit (în timpul testelor de acceptare);
  • utilizatorii nu pot fi convinși de calitatea produsului dezvoltat până la sfârșitul întregului proces de dezvoltare. Ei nu au posibilitatea de a evalua calitatea, deoarece nu pot vedea produsul finit de dezvoltare;
  • utilizatorul nu are posibilitatea de a se obișnui treptat cu sistemul. Procesul de învățare are loc la sfârșitul ciclului de viață, când software-ul a fost deja pus în funcțiune;
  • fiecare fază este o condiție prealabilă pentru execuția acțiunilor ulterioare, ceea ce face ca o astfel de metodă să fie o alegere riscantă pentru sistemele care nu au analogi, deoarece. nu se pretează modelării flexibile.

Este dificil de implementat modelul ciclului de viață în cascadă din cauza complexității dezvoltării PS fără a reveni la pașii anteriori și a le modifica rezultatele pentru a elimina problemele emergente.

Domeniul de aplicare al modelului în cascadă

Limitarea domeniului de aplicare al modelului în cascadă este determinată de deficiențele acestuia. Utilizarea sa este cea mai eficientă în următoarele cazuri:

  1. la dezvoltarea proiectelor cu clare, neschimbabileciclu de viață cerințe înțelese prin implementare și metodologii tehnice;
  2. la dezvoltarea unui proiect axat pe construirea unui sistem sau a unui produs de același tip cu cel dezvoltat anterior de dezvoltatori;
  3. la dezvoltarea unui proiect legat de crearea și lansarea unei noi versiuni a unui produs sau sistem existent;
  4. la dezvoltarea unui proiect legat de transferul unui produs sau sistem existent pe o nouă platformă;
  5. la realizarea unor proiecte mari care implică mai multe echipe mari de dezvoltare.

model incremental

(model treptat cu control intermediar)

model incremental(ing. creştere- creştere, creştere) presupune dezvoltarea unui software cu o succesiune liniară de etape, dar în mai multe trepte (versiuni), adică. cu îmbunătățiri planificate ale produsului atâta timp cât ciclul de viață al dezvoltării software se încheie.


Dezvoltarea software-ului se realizează în iterații cu bucle de feedback între etape. Ajustările între etape fac posibilă luarea în considerare a influenței reciproce reale a rezultatelor dezvoltării la diferite etape, durata de viață a fiecăreia dintre etape fiind extinsă pe întreaga perioadă de dezvoltare.

La începutul lucrărilor la proiect, sunt determinate toate cerințele de bază pentru sistem, împărțite în unele mai mult și mai puțin importante. După aceea, dezvoltarea sistemului se realizează pe o bază incrementală, astfel încât dezvoltatorul să poată utiliza datele obținute în timpul dezvoltării software-ului. Fiecare increment ar trebui să adauge anumite funcționalități sistemului. În acest caz, lansarea începe cu componentele cu cea mai mare prioritate. Când părțile sistemului sunt definite, luați prima parte și începeți să o detaliați folosind cel mai potrivit proces pentru aceasta. În același timp, este posibilă rafinarea cerințelor pentru alte părți care au fost înghețate în setul actual de cerințe ale acestei lucrări. Dacă este necesar, puteți reveni la această parte mai târziu. Daca piesa este gata, aceasta este livrata clientului, care o poate folosi in munca sa. Acest lucru va permite clientului să clarifice cerințele pentru următoarele componente. Apoi dezvoltă următoarea parte a sistemului. Pașii cheie în acest proces sunt simpla implementare a unui subset de cerințe software și rafinarea modelului pe o serie de lansări succesive până când software-ul este implementat complet.

Ciclul de viață al acestui model este tipic pentru dezvoltarea de sisteme complexe și complexe pentru care există o viziune clară (atât din partea clientului, cât și a dezvoltatorului) a ceea ce ar trebui să fie rezultatul final. Dezvoltarea versiunii se realizează din mai multe motive:

  • lipsa capacității clientului de a finanța imediat întregul proiect costisitor;
  • lipsa resurselor necesare pentru ca dezvoltatorul să implementeze un proiect complex într-un timp scurt;
  • cerințe pentru implementarea și dezvoltarea în faze a produsului de către utilizatorii finali. Introducerea întregului sistem deodată poate provoca respingere în rândul utilizatorilor săi și doar „încetinește” procesul de tranziție la noile tehnologii. Figurat vorbind, ei pur și simplu „nu pot digera o bucată mare, așa că trebuie zdrobită și dată în părți”.

Avantajeși limităriale acestui model (strategie) sunt aceleași cu cele ale cascadei (modelul clasic al ciclului de viață). Dar spre deosebire de strategia clasică, clientul poate vedea rezultatele mai devreme. Pe baza rezultatelor dezvoltării și implementării primei versiuni, el poate modifica ușor cerințele de dezvoltare, poate să o abandoneze sau să ofere dezvoltarea unui produs mai avansat cu încheierea unui nou contract.

Avantaje:

  • costurile suportate ca urmare a schimbării cerințelor utilizatorilor sunt reduse, reanalizarea și colectarea documentației sunt reduse semnificativ în comparație cu modelul în cascadă;
  • este mai ușor să obțineți feedback de la client despre munca depusă - clienții își pot exprima comentariile cu privire la piesele finite și pot vedea ceea ce a fost deja făcut. pentru că primele părți ale sistemului sunt prototipul sistemului ca întreg.
  • clientul are capacitatea de a achiziționa și stăpâni rapid software-ul - clienții pot obține beneficii reale din sistem mai repede decât ar fi posibil cu modelul în cascadă.

Dezavantajele modelului:

  • managerii trebuie să măsoare constant progresul procesului. în cazul dezvoltării rapide, nu merită să creați documente pentru fiecare modificare minimă a versiunii;
  • structura sistemului tinde să se deterioreze atunci când sunt adăugate noi componente - schimbările constante perturbă structura sistemului. Pentru a evita acest lucru, sunt necesare timp și bani suplimentari pentru refactorizare. Structura slabă face ca software-ul să fie dificil și costisitor de modificat ulterior. Iar ciclul de viață întrerupt al software-ului duce la pierderi și mai mari.

Schema nu permite luarea în considerare promptă a modificărilor și clarificărilor emergente ale cerințelor software. Coordonarea rezultatelor dezvoltării cu utilizatorii se realizează numai în punctele planificate după finalizarea fiecărei etape de lucru, iar cerințele generale pentru software sunt fixate sub forma unei sarcini tehnice pentru întreaga perioadă de creare a acestuia. Astfel, utilizatorii primesc adesea software care nu le satisface nevoile reale.

model în spirală

Model spiralat:Ciclul de viață - la fiecare tură a spiralei, se creează următoarea versiune a produsului, se precizează cerințele proiectului, se determină calitatea acestuia și se planifică activitatea următoarei ture. O atenție deosebită este acordată etapelor inițiale de dezvoltare - analiză și proiectare, unde fezabilitatea anumitor soluții tehnice este testată și justificată prin realizarea de prototipuri.


Acest model este un proces de dezvoltare software care combină atât proiectarea, cât și prototiparea în etape pentru a combina beneficiile conceptelor de jos în sus și de sus în jos, punând accent pe etapele inițiale ale ciclului de viață: analiză și proiectare.Trăsătură distinctivă Acest model acordă o atenție deosebită riscurilor care afectează organizarea ciclului de viață.

La etapele de analiza si proiectare se verifica fezabilitatea solutiilor tehnice si gradul de satisfacere a nevoilor clientilor prin realizarea de prototipuri. Fiecare rotație a spiralei corespunde creării unui fragment sau a unei versiuni funcționale a sistemului. Acest lucru vă permite să clarificați cerințele, obiectivele și caracteristicile proiectului, să determinați calitatea dezvoltării și să planificați activitatea următoarei ture a spiralei. Astfel, detaliile proiectului sunt aprofundate și concretizate în mod consecvent și, ca urmare, este selectată o opțiune rezonabilă care să corespundă cerințelor reale ale clientului și să fie adusă la implementare.

Ciclul de viață pe fiecare tură a spiralei - pot fi aplicate diferite modele ale procesului de dezvoltare software. Rezultatul final este un produs finit. Modelul combină capacitățile unui model de prototipare șimodel de cascadă. Dezvoltarea prin iterații reflectă ciclul spiral existent în mod obiectiv al creării sistemului. Finalizarea incompletă a lucrărilor la fiecare etapă vă permite să treceți la următoarea etapă fără a aștepta finalizarea completă a lucrărilor pe cea curentă. Sarcina principală este de a arăta utilizatorilor sistemului un produs funcțional cât mai curând posibil, activând astfel procesul de clarificare și completare a cerințelor.

Avantajele modelului:

  • vă permite să arătați rapid utilizatorilor sistemului un produs funcțional, activând astfel procesul de clarificare și completare a cerințelor;
  • permite modificări ale cerințelor în timpul dezvoltării software, ceea ce este tipic pentru majoritatea dezvoltărilor, inclusiv cele standard;
  • modelul oferă posibilitatea de proiectare flexibilă, deoarece întruchipează avantajele modelului în cascadă și, în același timp, sunt permise iterații pe toate fazele aceluiași model;
  • vă permite să obțineți un sistem mai fiabil și mai stabil. Pe măsură ce software-ul evoluează, erorile și punctele slabe sunt găsite și remediate la fiecare iterație;
  • acest model permite utilizatorilor să participe activ la planificare, analiza riscurilor, dezvoltare, precum și la realizarea activităților de evaluare;
  • reduce riscul clientului. Clientul poate finaliza dezvoltarea unui proiect nepromițător cu pierderi financiare minime;
  • feedback-ul de la utilizatori către dezvoltatori este efectuat la o frecvență ridicată și la începutul modelului, ceea ce asigură că produsul dorit este de înaltă calitate.

Dezavantajele modelului:

  • dacă proiectul are un risc scăzut sau mic, modelul poate fi costisitor. Evaluarea riscului după fiecare spirală este costisitoare;
  • Ciclul de viață al modelului are o structură complicată, astfel încât aplicarea acestuia de către dezvoltatori, manageri și clienți poate fi dificilă;
  • spirala poate continua la nesfârșit, deoarece răspunsul fiecărui client la versiunea creată poate genera un nou ciclu, care întârzie finalizarea proiectului;
  • un număr mare de cicluri intermediare poate duce la necesitatea procesării documentației suplimentare;
  • utilizarea modelului poate fi costisitoare și chiar inaccesibilă, deoarece timp. cheltuielile pentru planificare, redirecționare, efectuarea analizei de risc și crearea de prototipuri pot fi excesive;
  • poate fi dificil să se definească obiectivele şi reperele care indică disponibilitatea de a continua procesul de dezvoltare la următoarea şi

Problema principală a ciclului spirală este determinarea momentului de tranziție la etapa următoare. Pentru a o rezolva, se introduc limite de timp pentru fiecare dintre etape.ciclu de viață iar tranziția se desfășoară conform planului, chiar dacă nu toate lucrările planificate sunt finalizate.Planificarese realizează pe baza datelor statistice obținute în proiectele anterioare și a experienței personale a dezvoltatorilor.

Domeniul de aplicare al modelului în spirală

Utilizarea modelului în spirală este recomandată în următoarele cazuri:

  • la dezvoltarea proiectelor folosind noile tehnologii;
  • la dezvoltarea unei noi serii de produse sau sisteme;
  • atunci când se dezvoltă proiecte cu modificări semnificative așteptate sau completări la cerințe;
  • pentru implementarea proiectelor pe termen lung;
  • atunci când se dezvoltă proiecte care necesită demonstrarea calității și a versiunilor unui sistem sau produs într-o perioadă scurtă de timp;
  • la dezvoltarea proiectelor. pentru care este necesar să se calculeze costurile asociate cu evaluarea și rezolvarea riscurilor.
în inginerie electrică). Acest standard definește structura ciclului de viață, conținând procesele, activitățile și sarcinile care trebuie efectuate în timpul creării PS.

În acest standard PS (sau software) este definit ca un set de programe de calculator, proceduri și, eventual, documentație și date asociate. Procesul este definit ca un set de acțiuni interconectate care transformă unele date de intrare în date de ieșire (G. Myers numește această traducere a datelor). Fiecare proces este caracterizat de anumite sarcini și metode pentru rezolvarea lor. La rândul său, fiecare proces este împărțit într-un set de acțiuni, iar fiecare acțiune este împărțită într-un set de sarcini. Fiecare proces, acțiune sau sarcină este inițiată și executată de un alt proces după cum este necesar și nu există secvențe de execuție predeterminate (desigur, menținând conexiunile de date de intrare).

Trebuie remarcat faptul că în Uniunea Sovietică și apoi în Rusia, crearea de software (software) a fost inițial, în anii 70 ai secolului trecut, reglementată de standardele GOST ESPD (Sistem unificat pentru documentarea programelor - GOST 19.XXX). serie), care s-au concentrat pe clasa de programe relativ simple de volum mic create de programatori individuali. În prezent, aceste standarde sunt depășite conceptual și în formă, valabilitatea lor a expirat și utilizarea lor este inadecvată.

Procesele de creare a sistemelor automatizate (AS), care includ și software, sunt reglementate de standardele GOST 34.601-90 „Tehnologia informației. Un set de standarde pentru sisteme automate. Etapele creării”, GOST 34.602-89 „Tehnologia informației. A. set de standarde pentru sisteme automate. Sarcina tehnică pentru crearea unui sistem automatizat" și GOST 34.603-92 "Tehnologia informației. Tipuri de teste ale sistemelor automate". Cu toate acestea, multe prevederi ale acestor standarde sunt depășite, în timp ce altele nu sunt suficient de reflectate pentru a fi utilizate pentru proiecte serioase de creare a PS. Prin urmare, este recomandabil să se utilizeze standarde internaționale moderne în evoluțiile interne.

În conformitate cu standardul ISO / IEC 12207, toate procesele ciclului de viață al software-ului sunt împărțite în trei grupuri (Fig. 5.1).


Orez. 5.1.

Cinci procese principale sunt definite în grupuri: achiziție, furnizare, dezvoltare, operare și întreținere. Opt subprocese asigură executarea proceselor principale și anume documentație, managementul configurației, asigurarea calității, verificarea, validarea, evaluarea comună, auditul, rezolvarea problemelor. Cele patru procese organizaționale asigură guvernare, construirea infrastructurii, îmbunătățire și învățare.

5.2. Principalele procese ale ciclului de viață al PS

Procesul de achiziție constă în activitățile și sarcinile clientului care achiziționează software-ul. Acest proces acoperă următorii pași:

  1. inițierea achiziției;
  2. pregătirea propunerilor de aplicații;
  3. intocmirea si ajustarea contractului;
  4. supravegherea activitatilor furnizorului;
  5. acceptarea și finalizarea lucrărilor.

Inițierea achiziției include următoarele sarcini:

  1. determinarea de către client a nevoilor sale în achiziția, dezvoltarea sau îmbunătățirea sistemului, produselor software sau serviciilor;
  2. luarea unei decizii cu privire la achiziționarea, dezvoltarea sau îmbunătățirea software-ului existent;
  3. verificarea disponibilității documentației necesare, garanții, certificate, licențe și suport în cazul achiziționării unui produs software;
  4. pregătirea și aprobarea planului de achiziții, inclusiv cerințele de sistem, tipul de contract, responsabilitățile părților etc.

Ofertele trebuie să conțină:

  1. Cerințe de sistem;
  2. lista de produse software;
  3. termenii de achiziție și acord;
  4. limitări tehnice (de exemplu, asupra mediului de operare al sistemului).

Ofertele sunt trimise unui furnizor selectat sau mai multor furnizori în cazul unei licitații. Un furnizor este o organizație care încheie un contract cu un client pentru furnizarea unui sistem, software sau serviciu software în condițiile specificate în contract.

Pregătirea și ajustarea contractului include următoarele sarcini:

  1. determinarea de către client a procedurii de selectare a unui furnizor, inclusiv a criteriilor de evaluare a propunerilor posibililor furnizori;
  2. selectarea unui anumit furnizor pe baza analizei propunerilor;
  3. pregătire și încheiere contracte de furnizori;
  4. efectuarea de modificări (dacă este necesar) la contract în procesul de implementare a acestuia.

Activitățile furnizorului sunt supravegheate în conformitate cu acțiunile prevăzute în procesele comune de evaluare și audit. În timpul procesului de acceptare sunt pregătite și efectuate testele necesare. Finalizarea lucrărilor conform contractului se realizează în cazul îndeplinirii tuturor condițiilor de acceptare.

Procesul de livrare acoperă activitățile și sarcinile efectuate de un furnizor care furnizează unui client un produs sau serviciu software. Acest proces include următorii pași:

  1. inițierea livrării;
  2. pregătirea unui răspuns la oferte;
  3. intocmirea contractului;
  4. planificarea lucrărilor prin contract;
  5. efectuarea și controlul lucrărilor contractuale și evaluarea acestora;
  6. livrarea si finalizarea lucrarilor.

Inițierea furnizării constă în luarea în considerare de către furnizor a ofertelor și decizia de a fi de acord cu cerințele și condițiile stabilite sau de a le oferi propriile lor (acordate). Planificarea include următoarele sarcini:

  1. luarea unei decizii de către furnizor cu privire la executarea lucrărilor pe cont propriu sau cu implicarea unui subcontractant;
  2. elaborarea de către furnizor a unui plan de management al proiectului care să cuprindă structura organizatorică a proiectului, delimitarea responsabilităților, cerințele tehnice pentru mediul și resursele de dezvoltare, managementul subcontractanților etc.

Procesul de dezvoltare prevede activitățile și sarcinile efectuate de dezvoltator și acoperă munca de creare a software-ului și a componentelor acestuia în conformitate cu cerințele specificate. Aceasta include pregătirea documentației de proiectare și operaționale, pregătirea materialelor necesare pentru testarea performanței și calitatea produselor software, materiale necesare organizării pregătirii personalului etc.

Procesul de dezvoltare include următorii pași:

  1. munca pregatitoare;
  2. analiza cerințelor pentru sistem;
  3. proiectarea arhitecturii sistemului;
  4. analiza cerințelor pentru software;
  5. proiectarea arhitecturii software;
  6. proiectare detaliată a software-ului;
  7. codificare și testare software;
  8. integrare software;
  9. testarea calificării software-ului;
  10. integrarea sistemului;
  11. testarea de calificare a sistemului;
  12. instalarea software-ului;
  13. acceptarea software-ului.

Lucrarea pregătitoare începe cu selectarea unui model de ciclu de viață al software-ului adecvat dimensiunii, semnificației și complexității proiectului. Activitățile și sarcinile procesului de dezvoltare ar trebui să fie în concordanță cu modelul ales. Dezvoltatorul trebuie să selecteze, să se adapteze la condițiile proiectului și să utilizeze standardele, metodele și metodele convenite cu clientul. instrumente de dezvoltare, precum și să întocmească un plan de lucru.

Analiza cerințelor pentru sistem implică determinarea funcționalității acestuia, cerințe personalizate, cerințe de fiabilitate, securitate, cerințe pentru interfețe externe, performanță etc. Cerințele de sistem sunt evaluate pe baza criteriilor de fezabilitate și de verificabilitate în timpul testării.

Proiectarea arhitecturii sistemului constă în determinarea componentelor echipamentului acestuia (hardware), software-ului și operațiunilor efectuate de personalul care operează sistemul. Arhitectura sistemului trebuie să respecte cerințele sistemului și standardele și practicile de proiectare acceptate.

Analiza cerințelor software implică determinarea următoarelor caracteristici pentru fiecare componentă software:

  1. funcționalitatea, inclusiv caracteristicile de performanță și mediul de operare al componentei;
  2. interfețe externe;
  3. specificații de fiabilitate și siguranță;
  4. cerințe ergonomice;
  5. cerințe pentru datele utilizate;
  6. cerințe de instalare și acceptare;
  7. cerințe pentru documentația utilizatorului;
  8. cerinte de operare si intretinere.

Cerințele software sunt evaluate pe baza criteriilor de conformitate cu cerințele pentru întregul sistem, fezabilitate și verificabilitate în timpul testării.

Proiectarea arhitecturii software include următoarele sarcini pentru fiecare componentă software:

  1. transformarea cerințelor software într-o arhitectură care definește structura software-ului și compoziția componentelor acestuia la un nivel înalt;
  2. dezvoltare și documentare de interfețe de programe pentru software și baze de date (DB);
  3. dezvoltarea unei versiuni preliminare a documentației utilizatorului;
  4. dezvoltarea și documentarea cerințelor preliminare pentru teste și plan de integrare software.

Proiectarea detaliată a software-ului include următoarele sarcini:

  1. descrierea componentelor software și a interfețelor dintre ele la un nivel inferior, suficientă pentru codarea și testarea ulterioară;
  2. dezvoltarea și documentarea unui proiect detaliat al bazei de date;
  3. actualizarea (dacă este necesar) documentația utilizatorului;
  4. dezvoltarea și documentarea cerințelor de testare și un plan pentru testarea componentelor software;

Codarea și testarea software-ului include următoarele sarcini:

  1. codificarea și documentarea fiecărei componente a software-ului și a bazei de date, precum și pregătirea unui set de proceduri de testare și date pentru testarea acestora;
  2. testarea fiecărei componente a software-ului și a bazei de date pentru conformitatea cu cerințele pentru acestea, urmată de documentarea rezultatelor testelor;
  3. actualizarea documentației (dacă este necesar);
  4. actualizarea planului de integrare software.

Integrarea software prevede asamblarea componentelor software dezvoltate în conformitate cu planul de integrare și testare pentru componentele agregate. Pentru fiecare dintre componentele agregate, se dezvoltă suite de testare și proceduri de testare pentru a testa fiecare dintre competențe în testele ulterioare de competență. O cerință de calificare este un set de criterii sau condiții care trebuie îndeplinite pentru a se califica. software ca fiind conformă cu specificațiile sale și gata de utilizare în teren.

Testarea de calificare a software-ului este efectuată de dezvoltator în prezența clientului (

Procesul de operare acoperă activitățile și sarcinile organizației operatorului care operează sistemul. Procesul de operare include următorii pași.

  1. Lucrări pregătitoare, care includ îndeplinirea următoarelor sarcini de către operator:

    1. planificarea activităților și lucrărilor efectuate în timpul funcționării și stabilirea standardelor operaționale;
    2. determinarea procedurilor de localizare și rezolvare a problemelor apărute în timpul funcționării.
  2. Testarea operațională efectuată pentru fiecare ediție următoare a produsului software, după care această ediție este transferată în funcțiune.
  3. Funcționarea efectivă a sistemului, care se realizează în mediul destinat pentru aceasta, în conformitate cu documentația utilizatorului.
  4. analiza problemelor și solicitărilor de modificare a software-ului (analiza mesajelor despre o problemă apărută sau o cerere de modificare, evaluarea baremului, costul modificării, efectul rezultat, evaluarea fezabilității modificării);
  5. modificarea software-ului (efectuarea de modificări la componentele produsului software și la documentație în conformitate cu regulile procesului de dezvoltare);
  6. verificare și acceptare (în ceea ce privește integritatea sistemului care se modifică);
  7. transferul software-ului într-un alt mediu (conversia programelor și datelor, operarea paralelă a software-ului în mediul vechi și nou pentru o anumită perioadă de timp);
  8. scoaterea din funcțiune a software-ului prin decizia clientului cu participarea organizației de exploatare, a serviciului de întreținere și a utilizatorilor. În același timp, produsele software și documentația sunt supuse arhivării în conformitate cu contractul.

Adnotare.

Introducere.

1. Ciclul de viață al software-ului

Introducere.

Etapele procesului de programare Riley

Introducere.

1.1.1. Formularea problemei.

1.1.2. Proiectarea soluției.

1.1.3. Codarea algoritmului.

1.1.4. Suport program.

1.1.5. Documentația software.

Concluzie la punctul 1.1

1.2. Definiția ZhTsPO conform Lehman.

Introducere.

1.2.1 Definirea sistemului.

1.2.2. Implementarea.

1.2.3. Serviciu.

Concluzie la punctul 1.2.

1.3. Fazele și lucrările programului ciclului de viață conform Boehm

1.3.1. model în cascadă.

1.3.2. Fundamentarea economică a modelului în cascadă.

1.3.3. Îmbunătățirea modelului în cascadă.

1.3.4. Definirea fazelor ciclului de viață.

1.3.5. Lucrări de bază pe proiect.

Literatură.

Introducere

Aplicația industrială a computerelor și cererea în creștere pentru programe au stabilit sarcini urgente pentru o creștere semnificativă a productivitatea dezvoltării software, dezvoltarea metodelor industriale de planificare și proiectare a programelor, transferul metodelor, modelelor și metodelor organizatorice, tehnice, tehnice, economice și socio-psihologice din sfera producției materiale în sfera calculatoarelor. O abordare complexă procesele de dezvoltare, operare și întreținere a software-ului au prezentat o serie de probleme presante, a căror soluție va elimina „gâturile de sticlă” în proiectarea programelor, va reduce timpul de finalizare, va îmbunătăți selecția și adaptarea programelor existente și poate determina soarta sistemelor cu computere încorporate.

În practica dezvoltării de proiecte software mari, adesea nu există abordare unificată la evaluarea costurilor cu forța de muncă, a termenilor de muncă și a costurilor materiale, ceea ce împiedică creșterea productivității dezvoltării software și în cele din urmă gestionarea eficientă a ciclului de viață al software-ului. Deoarece un program de orice tip devine un produs (cu excepția, probabil, a programelor educaționale, modele), abordarea producției sale ar trebui să fie similară în multe privințe cu abordarea producției de produse industriale, iar problemele de proiectare a software-ului devin extrem de importante . Această idee stă la baza B.U. Boehm „Engineering Software Design”, pe care l-am folosit când am scris acest termen de lucrare. În această carte, proiectarea software se referă la procesul de creare a unui design pentru un produs software.

1 Ciclul de viață al software-ului

INTRODUCERE

LCPE este un proces continuu care începe din momentul în care se ia o decizie privind necesitatea creării unui software și se termină în momentul în care acesta este complet retras din exploatare.

Există mai multe abordări pentru definirea fazelor și activităților ciclului de viață al software-ului (SLLC), etapelor procesului de programare, modelelor în cascadă și spirală. Dar toate conțin componente fundamentale comune: enunțarea problemei, proiectarea soluției, implementarea, întreținerea.

Cel mai faimos și complet, poate, este structura ciclului de viață conform lui Boehm, care include opt faze. Acesta va fi prezentat mai detaliat ulterior.

Una dintre opțiunile posibile poate fi descrierea nivelului superior după Lehman, care include trei faze principale și reprezintă descrierea programului ciclului de viață în cazul cel mai general.

Și, pentru o schimbare, iată care sunt etapele procesului de programare prezentate de D. Riley în cartea „Using the Modula-2 Language”. Această idee, după părerea mea, este foarte simplă și familiară și vom începe cu ea.

1.1 Etapele procesului de programare Riley

Introducere

Procesul de programare include patru pași (Fig. 1):

declarația problemei, adică obținerea unei idei adecvate despre ce sarcină ar trebui să îndeplinească programul;

proiectarea unei soluții la o problemă deja pusă (în general, o astfel de soluție este mai puțin formală decât programul final);

codificarea programului, adică traducerea soluției proiectate într-un program care poate fi executat pe o mașină;

suport de program, de ex. un proces continuu de remediere a erorilor din program și de adăugare de noi caracteristici.

Orez. 1.Patru pași de programare.

Programarea începe din momentul în care utilizator, adică cineva care are nevoie de un program pentru a rezolva o problemă pune o problemă analist de sistem. Utilizatorul și analistul de sistem definesc împreună declarația problemei. Acesta din urmă este apoi transferat algoritmist care este responsabil pentru proiectarea soluției. O soluție (sau algoritm) este o succesiune de operații, a căror execuție duce la rezolvarea unei probleme. Deoarece algoritmul nu este adesea adaptat pentru a fi executat pe o mașină, ar trebui tradus într-un program de mașină. Această operație este efectuată de codificator. Menținătorul este responsabil pentru modificările ulterioare ale programului. programator. Și analistul de sistem, și algoritmistul, și codificatorul și programatorul însoțitor - toți sunt programatori.

În cazul unui proiect software mare, numărul de utilizatori, analiști de sistem și algoritmi poate fi semnificativ. În plus, poate fi necesar să reveniți la pașii anteriori din cauza unor circumstanțe neprevăzute. Toate acestea servesc ca un argument suplimentar în favoarea unui proiect software atent: rezultatele fiecărui pas ar trebui să fie complete, precise și de înțeles.

1.1.1 Enunțarea problemei

Unul dintre cei mai importanți pași în programare este setarea unei probleme. Funcționează ca un contract între utilizator și programator(i). La fel ca un contract prost redactat din punct de vedere legal, o declarație de misiune proastă este inutilă. Cu o declarație bună a problemei, atât utilizatorul, cât și programatorul reprezintă în mod clar și fără ambiguitate sarcina care trebuie efectuată, de exemplu. în acest caz, sunt luate în considerare atât interesele utilizatorului, cât și ale programatorului. Utilizatorul poate planifica utilizarea software-ului care nu a fost încă creat, pe baza cunoștințelor pe care le poate. O enunțare bună a problemei servește ca bază pentru formarea soluției acesteia.

Formularea problemei (specificarea programului); în esență înseamnă o descriere precisă, completă și de înțeles a ceea ce se întâmplă atunci când este executat un anumit program. Utilizatorul privește de obicei computerul ca pe o cutie neagră: pentru el nu contează cum funcționează computerul, dar este important ca computerul să poată face ceea ce îl interesează utilizatorul. Accentul se pune pe interacțiunea dintre om și mașină.

Caracteristicile unei declarații bune de problemă:

Precizie, adică excluderea oricărei ambiguități. Nu ar trebui să existe nicio întrebare cu privire la care va fi rezultatul programului pentru orice intrare dată.

completitudine, adică luarea în considerare a tuturor opțiunilor pentru o anumită intrare, inclusiv intrarea eronată sau neașteptată și determinarea ieșirii corespunzătoare.

Claritate, adică ar trebui să fie de înțeles atât pentru utilizator, cât și pentru analistul de sistem, deoarece declarația problemei este singurul contract între ei.

Adesea, cerințele pentru acuratețe, completitudine și claritate sunt în conflict. Astfel, multe acte juridice sunt greu de înțeles deoarece sunt scrise într-un limbaj formal care vă permite să formulați anumite prevederi cu cea mai mare precizie, excluzând chiar și cele mai nesemnificative discrepanțe. De exemplu, unele întrebări de pe lucrările de examen sunt uneori formulate atât de precis încât studentul petrece mai mult timp înțelegând întrebarea decât răspunzând la ea. Mai mult, studentul poate să nu înțeleagă deloc sensul principal al întrebării din cauza numărului mare de detalii. Cea mai bună enunțare a problemei este cea care realizează un echilibru între toate cele trei cerințe.

Forma standard a enunțului problemei.

Luați în considerare următoarea afirmație a problemei: „Introduceți trei numere și scoateți numerele în ordine”.

O astfel de afirmație nu îndeplinește cerințele de mai sus: nu este nici precisă, nici completă, nici de înțeles. Într-adevăr, numerele trebuie introduse câte unul pe linie sau toate numerele pe o singură linie? Expresia „în ordine” înseamnă ordonarea de la cel mai mare la cel mai mic, de la cel mai mic la cel mai mare sau aceeași ordine în care au fost introduse.

Este evident că o astfel de afirmație nu răspunde la multe întrebări. Dacă luăm în considerare răspunsurile la toate întrebările, atunci enunțul problemei va deveni pronunțat și greu de înțeles. Prin urmare, D. Riley propune utilizarea formularului standard pentru stabilirea problemei, care asigură acuratețe maximă, completitudine, claritate și include:

numele sarcinii (definiție schematică);

descriere generală (enunțare pe scurt a sarcinii);

erori (opțiunile de intrare neobișnuite sunt enumerate în mod explicit pentru a arăta utilizatorilor și programatorilor acțiunile pe care le va întreprinde mașina în astfel de situații);

exemplu (un exemplu bun poate transmite esența problemei, precum și poate ilustra diferite cazuri).

Exemplu. Enunțarea problemei în forma standard.

TITLU

Sortați trei numere întregi.

DESCRIERE

Intrarea și ieșirea a trei numere întregi, sortate de la cel mai mic la cel mai mare.

Se introduc trei numere întregi, câte un număr pe linie. În acest caz, un număr întreg este una sau mai multe cifre zecimale consecutive, care pot fi precedate de un semn plus „+” sau de un semn minus „-”.

Cele trei numere întregi introduse sunt afișate, toate trei fiind afișate pe aceeași linie. Numerele adiacente sunt separate printr-un spațiu. Numerele sunt afișate de la cel mai mic la cel mai mare, de la stânga la dreapta.

1) Dacă sunt introduse mai puțin de trei numere, programul așteaptă introducerea suplimentară.

2) Liniile de intrare altele decât primele trei sunt ignorate.

3) Dacă oricare dintre primele trei linii conține mai multe numere întregi, atunci programul se închide și emite un mesaj.

Adnotare.

Introducere.

1. Ciclul de viață al software-ului

Introducere.

Etapele procesului de programare Riley

Introducere.

1.1.1. Formularea problemei.

1.1.2. Proiectarea soluției.

1.1.3. Codarea algoritmului.

1.1.4. Suport program.

1.1.5. Documentația software.

Concluzie la punctul 1.1

1.2. Definiția ZhTsPO conform Lehman.

Introducere.

1.2.1 Definirea sistemului.

1.2.2. Implementarea.

1.2.3. Serviciu.

Concluzie la punctul 1.2.

1.3. Fazele și lucrările programului ciclului de viață conform Boehm

1.3.1. model în cascadă.

1.3.2. Fundamentarea economică a modelului în cascadă.

1.3.3. Îmbunătățirea modelului în cascadă.

1.3.4. Definirea fazelor ciclului de viață.

1.3.5. Lucrări de bază pe proiect.

Literatură.


Introducere

Aplicația industrială a computerelor și cererea în creștere pentru programe au stabilit sarcini urgente pentru o creștere semnificativă a productivitatea dezvoltării software, dezvoltarea metodelor industriale de planificare și proiectare a programelor, transferul metodelor, modelelor și metodelor organizatorice, tehnice, tehnice, economice și socio-psihologice din sfera producției materiale în sfera calculatoarelor. O abordare complexă procesele de dezvoltare, operare și întreținere a software-ului au prezentat o serie de probleme presante, a căror soluție va elimina „gâturile de sticlă” în proiectarea programelor, va reduce timpul de finalizare, va îmbunătăți selecția și adaptarea programelor existente și poate determina soarta sistemelor cu computere încorporate.

În practica dezvoltării de proiecte software mari, adesea nu există abordare unificată la evaluarea costurilor cu forța de muncă, a termenilor de muncă și a costurilor materiale, ceea ce împiedică creșterea productivității dezvoltării software și în cele din urmă gestionarea eficientă a ciclului de viață al software-ului. Deoarece un program de orice tip devine un produs (cu excepția, probabil, a programelor educaționale, modele), abordarea producției sale ar trebui să fie similară în multe privințe cu abordarea producției de produse industriale, iar problemele de proiectare a software-ului devin extrem de importante . Această idee stă la baza B.U. Boehm „Engineering Software Design”, pe care l-am folosit când am scris acest termen de lucrare. În această carte, proiectarea software se referă la procesul de creare a unui design pentru un produs software.


1 Ciclul de viață al software-ului

INTRODUCERE

LCPE este un proces continuu care începe din momentul în care se ia o decizie privind necesitatea creării unui software și se termină în momentul în care acesta este complet retras din exploatare.

Există mai multe abordări pentru definirea fazelor și activităților ciclului de viață al software-ului (SLLC), etapelor procesului de programare, modelelor în cascadă și spirală. Dar toate conțin componente fundamentale comune: enunțarea problemei, proiectarea soluției, implementarea, întreținerea.

Cel mai faimos și complet, poate, este structura ciclului de viață conform lui Boehm, care include opt faze. Acesta va fi prezentat mai detaliat ulterior.

Una dintre opțiunile posibile poate fi descrierea nivelului superior după Lehman, care include trei faze principale și reprezintă descrierea programului ciclului de viață în cazul cel mai general.

Și, spre schimbare, iată care sunt etapele procesului de programare prezentate de D. Riley în cartea „Using the Modula-2 Language”. Această idee, după părerea mea, este foarte simplă și familiară și vom începe cu ea.

1.1 Etapele procesului de programare Riley

Procesul de programare include patru pași (Fig. 1):

declarația problemei, adică obținerea unei idei adecvate despre ce sarcină ar trebui să îndeplinească programul;

proiectarea unei soluții la o problemă deja pusă (în general, o astfel de soluție este mai puțin formală decât programul final);

codificarea programului, adică traducerea soluției proiectate într-un program care poate fi executat pe o mașină;

suport de program, de ex. un proces continuu de remediere a erorilor din program și de adăugare de noi caracteristici.

Orez. 1.Patru pași de programare.

Programarea începe din momentul în care utilizator, adică cineva care are nevoie de un program pentru a rezolva o problemă pune o problemă analist de sistem. Utilizatorul și analistul de sistem definesc împreună declarația problemei. Acesta din urmă este apoi transferat algoritmist care este responsabil pentru proiectarea soluției. O soluție (sau algoritm) este o succesiune de operații, a căror execuție duce la rezolvarea unei probleme. Deoarece algoritmul nu este adesea adaptat pentru a fi executat pe o mașină, ar trebui tradus într-un program de mașină. Această operație este efectuată de codificator. Programatorul însoțitor este responsabil pentru modificările ulterioare ale programului. Și analistul de sistem, și algoritmistul, și codificatorul și programatorul însoțitor - toți sunt programatori.

În cazul unui proiect software mare, numărul de utilizatori, analiști de sistem și algoritmi poate fi semnificativ. În plus, poate fi necesar să reveniți la pașii anteriori din cauza unor circumstanțe neprevăzute. Toate acestea servesc ca un argument suplimentar în favoarea unui proiect software atent: rezultatele fiecărui pas ar trebui să fie complete, precise și de înțeles.

1.1.1 Enunțarea problemei

Unul dintre cei mai importanți pași în programare este setarea unei probleme. Funcționează ca un contract între utilizator și programator(i). La fel ca un contract prost redactat din punct de vedere legal, o declarație de misiune proastă este inutilă. Cu o declarație bună a problemei, atât utilizatorul, cât și programatorul reprezintă în mod clar și fără ambiguitate sarcina care trebuie efectuată, de exemplu. în acest caz, sunt luate în considerare atât interesele utilizatorului, cât și ale programatorului. Utilizatorul poate planifica utilizarea software-ului care nu a fost încă creat, pe baza cunoștințelor pe care le poate. O enunțare bună a problemei servește ca bază pentru formarea soluției acesteia.

Formularea problemei (specificarea programului); în esență înseamnă o descriere precisă, completă și de înțeles a ceea ce se întâmplă atunci când este executat un anumit program. Utilizatorul privește de obicei computerul ca pe o cutie neagră: pentru el nu contează cum funcționează computerul, dar este important ca computerul să poată face ceea ce îl interesează utilizatorul. Accentul se pune pe interacțiunea dintre om și mașină.

Caracteristicile unei declarații bune de problemă:

Precizie, adică excluderea oricărei ambiguități. Nu ar trebui să existe nicio întrebare cu privire la care va fi rezultatul programului pentru orice intrare dată.

completitudine, adică luarea în considerare a tuturor opțiunilor pentru o anumită intrare, inclusiv intrarea eronată sau neașteptată și determinarea ieșirii corespunzătoare.

Claritate, adică ar trebui să fie de înțeles atât pentru utilizator, cât și pentru analistul de sistem, deoarece declarația problemei este singurul contract între ei.

Adesea, cerințele pentru acuratețe, completitudine și claritate sunt în conflict. Astfel, multe acte juridice sunt greu de înțeles deoarece sunt scrise într-un limbaj formal care vă permite să formulați anumite prevederi cu cea mai mare precizie, excluzând chiar și cele mai nesemnificative discrepanțe. De exemplu, unele întrebări de pe lucrările de examen sunt uneori formulate atât de precis încât studentul petrece mai mult timp înțelegând întrebarea decât răspunzând la ea. Mai mult, studentul poate să nu înțeleagă deloc sensul principal al întrebării din cauza numărului mare de detalii. Cea mai bună enunțare a problemei este cea care realizează un echilibru între toate cele trei cerințe.

Forma standard a enunțului problemei.

Luați în considerare următoarea afirmație a problemei: „Introduceți trei numere și scoateți numerele în ordine”.

O astfel de afirmație nu îndeplinește cerințele de mai sus: nu este nici precisă, nici completă, nici de înțeles. Într-adevăr, numerele trebuie introduse câte unul pe linie sau toate numerele pe o singură linie? Expresia „în ordine” înseamnă ordonarea de la cel mai mare la cel mai mic, de la cel mai mic la cel mai mare, sau aceeași ordine în care au fost introduse.

Este evident că o astfel de afirmație nu răspunde la multe întrebări. Dacă luăm în considerare răspunsurile la toate întrebările, atunci enunțul problemei va deveni pronunțat și greu de înțeles. Prin urmare, D. Riley propune utilizarea formularului standard pentru stabilirea problemei, care asigură acuratețe maximă, completitudine, claritate și include:

numele sarcinii (definiție schematică);

descriere generală (enunțare pe scurt a sarcinii);

erori (opțiunile de intrare neobișnuite sunt enumerate în mod explicit pentru a arăta utilizatorilor și programatorilor acțiunile pe care le va întreprinde mașina în astfel de situații);

exemplu (un exemplu bun poate transmite esența problemei, precum și poate ilustra diferite cazuri).

Exemplu. Enunțarea problemei în forma standard.

TITLU

Sortați trei numere întregi.

DESCRIERE

Intrarea și ieșirea a trei numere întregi, sortate de la cel mai mic la cel mai mare.

Se introduc trei numere întregi, câte un număr pe linie. În acest caz, un număr întreg este una sau mai multe cifre zecimale consecutive, care pot fi precedate de un semn plus „+” sau de un semn minus „-”.

Cele trei numere întregi introduse sunt afișate, toate trei fiind afișate pe aceeași linie. Numerele adiacente sunt separate printr-un spațiu. Numerele sunt afișate de la cel mai mic la cel mai mare, de la stânga la dreapta.

1) Dacă sunt introduse mai puțin de trei numere, programul așteaptă introducerea suplimentară.

La 1 martie 2012, Agenția Federală pentru Reglementare Tehnică și Metrologie a Federației Ruse a adoptat standardul GOST R ISO/IEC 12207-2010 „Tehnologia informației. Inginerie de sistem și software. Procese ale ciclului de viață al software-ului”, identice cu standardul internațional ISO/IEC 12207:2008 „Inginerie de sistem și software - Procese ciclului de viață al software-ului”.

Acest standard, folosind terminologia stabilită, stabilește un cadru comun pentru procesele ciclului de viață al software-ului care poate fi folosit ca ghid în industria software. Standardul definește procesele, activitățile și sarcinile care sunt utilizate în achiziția unui produs sau serviciu software, precum și în livrarea, dezvoltarea, utilizarea prevăzută, întreținerea și întreruperea produselor software.

Procesele ciclului de viață al software-ului

Standardul grupează diferitele activități care pot fi efectuate pe parcursul ciclului de viață al sistemelor software în șapte grupuri de procese. Fiecare dintre procesele ciclului de viață din cadrul acestor grupuri este descris în termeni de scop și rezultate dorite, liste de acțiuni și sarcini care trebuie efectuate pentru a obține acele rezultate.

  • procese de acord - două procese;
  • procese de suport organizațional al proiectului - cinci procese;
  • procese de proiect - șapte procese;
  • procese tehnice - unsprezece procese;
  • procese de implementare software - șapte procese;
  • procese de suport software - opt procese;
  • procese de reutilizare a software-ului - trei procese.
  • Principal:
    • Achiziție (acțiuni și sarcini ale clientului care achiziționează software-ul)
    • Livrare (activități și sarcini ale furnizorului care furnizează clientului un produs sau serviciu software)
    • Dezvoltare (acțiuni și sarcini efectuate de dezvoltator: crearea de software, întocmirea documentației de proiectare și operaționale, pregătirea materialelor de testare și instruire etc.)
    • Operare (acțiuni și sarcini ale operatorului - organizația care operează sistemul)
    • Întreținere (acțiuni și sarcini efectuate de organizația însoțitoare, adică serviciul de întreținere). Întreținere - efectuarea de modificări la software pentru a corecta erorile, a îmbunătăți performanța sau a se adapta la condițiile sau cerințele de operare în schimbare.
  • Auxiliar
    • Documentație (descrierea formalizată a informațiilor create în timpul ciclului de viață al software-ului)
    • Managementul configurației (aplicarea procedurilor administrative și tehnice pe tot parcursul ciclului de viață al software-ului pentru a determina starea componentelor software, a gestiona modificările acestuia).
    • Asigurarea calității (asigurarea faptului că SI și procesele ciclului său de viață sunt conforme cu cerințele specificate și cu planurile aprobate)
    • Verificare (determinarea faptului că produsele software, care sunt rezultatele unei acțiuni, satisfac pe deplin cerințele sau condițiile datorate acțiunilor anterioare)
    • Certificare (determinarea completității conformității cerințelor specificate și a sistemului creat cu scopul lor funcțional specific)
    • Evaluare comună (evaluarea stării lucrărilor la proiect: controlul planificării și gestionării resurselor, personalului, echipamentelor, instrumentelor)
    • Audit (determinarea conformității cu cerințele, planurile și termenii contractului)
    • Rezolvarea problemelor (analiza și rezolvarea problemelor, indiferent de originea sau sursa lor, care sunt descoperite în timpul dezvoltării, exploatării, întreținerii sau altor procese)
  • organizatoric
    • Management (activități și sarcini care pot fi efectuate de orice parte care își gestionează procesele)
    • Crearea infrastructurii (selectarea și întreținerea tehnologiei, standardelor și instrumentelor, selectarea și instalarea hardware-ului și software-ului utilizat pentru dezvoltarea, operarea sau întreținerea software-ului)
    • Îmbunătățirea (evaluarea, măsurarea, controlul și îmbunătățirea proceselor ciclului de viață)
    • Instruire (formare inițială și dezvoltare continuă ulterioară a personalului)

Fiecare proces include o serie de activități. De exemplu, procesul de achiziție acoperă următorii pași:

  1. Inițierea achiziției
  2. Pregatirea ofertelor
  3. Intocmirea si ajustarea contractului
  4. Supravegherea furnizorului
  5. Recepția și finalizarea lucrărilor

Fiecare acțiune include o serie de sarcini. De exemplu, pregătirea ofertelor ar trebui să includă:

  1. Formarea cerințelor pentru sistem
  2. Formarea unei liste de produse software
  3. Stabilirea condițiilor și acordurilor
  4. Descrierea limitărilor tehnice (mediul de funcționare a sistemului etc.)

Etapele ciclului de viață al software-ului, relația dintre procese și etape

Modelul ciclului de viață al software-ului- o structură care determină succesiunea execuției și relația dintre procese, acțiuni și sarcini de-a lungul ciclului de viață. Modelul ciclului de viață depinde de specificul, scara și complexitatea proiectului și de condițiile specifice în care sistemul este creat și funcționează.

Standardul GOST R ISO/IEC 12207-2010 nu oferă un model de ciclu de viață specific. Prevederile sale sunt comune oricăror modele, metode și tehnologii ale ciclului de viață pentru crearea IP. Descrie structura proceselor ciclului de viață fără a specifica modul de implementare sau îndeplinire a activităților și sarcinilor incluse în aceste procese.

Modelul ciclului de viață al software-ului include:

  1. etape;
  2. Rezultatele muncii în fiecare etapă;
  3. Evenimente cheie - puncte de finalizare a lucrărilor și de luare a deciziilor.

CLOPOTUL

Sunt cei care citesc aceasta stire inaintea ta.
Abonați-vă pentru a primi cele mai recente articole.
E-mail
Nume
Nume de familie
Cum ți-ar plăcea să citești Clopoțelul
Fără spam