Sunteți pe pagina 1din 25

Ciclul de via al SI

Considerente de ordin general


SI se deosebesc n ceea ce privete scopul, complexitatea, dimensiunea, tehnologiile utilizate i n consecin metodologiile i instrumentele folosite pot varia, plecnd de la identificarea cerinelor i ncheind cu operarea sistemului. Toate acestea formeaz ciclul de via al SI. Ciclul de via al SI este structurat n faze. Coninutul i numrul acestora este determinat de modelul de dezvoltare folosit. Unele proiecte pot impune comasarea unor faze.

Considerente de ordin general


Nu toate proiectele vor impune executarea secvenial a fazelor. Fazele sunt interdependente. In funcie de dimensiunea i complexitatea proiectului, fazele se pot combina sau suprapune. Dezvoltarea unui SI este un proces iterativ.

Fazele ciclului de via ale SI


Planificare Analiza sistemului i stabilirea cerinelor SI Proiectare Codificare Integrare i testare Acceptare, instalare, implementare ntreinere

Planificarea
ncepe dup aprobarea proiectului i resurselor realizeaz o viziune general i stabilete obiectivele este stabilit abordarea care va asigura realizarea scopului proiectului i include discutarea metodelor, instrumentelor, activitilor, resurselor i elaborarea calendarului pentru realizarea proiectului. include i studiul de fezabilitate (cerut de management) se realizeaz o analiz cost-beneficiu

ntrebri la care rspunde faza de planificare


Care sunt problemele pe care SI le va rezolva? Cum va rezolva sistemul problemele? Sunt tehnologiile cerute de proiect disponibile? Cum va fi acceptat sistemul de diverii utilizatori? Proiectul se justific din punct de vedere economic? Este SI aliniat la prioritile stabilite n baza strategiei? Este organizaia pregtit pentru SI?

Analiza sistemului i definirea cerinelor


Stabilete funciile i operaiile viitorului sistem pe baza scopurilor formulate. Analizeaz nevoia de informaii ale utilizatorilor SI. Cerinele sunt stabilite n termeni de : date, performana sistemului, securitate, ntreinere. Detalierea cerinelor trebuie s fie suficient astfel nct echipa de proiectare s poat lucra n baza lor.

Proiectare
Se stabilesc principalele subsisteme i pentru fiecare dintre acestea intrrile i ieirile. Are loc alocarea resurselor pe procese. Subsistemele definite permit crearea unei structuri detaliate a SI. Fiecare subsistem este descompus n uniti sau module. Proiectarea se refer la: Ieiri Intrri Fiiere i BD Metodele de procesare a datelor Pregtirea specificaiilor pentru programatori Soluia obinut n faza de proiectare este prezentat pentru aprobare managementului i utilizatorilor.

Codificarea (scrierea programelor)

Scrierea programelor n baza specificaiilor Se folosesc date de test pentru a vedea n ce msur programele prelucreaz corect datele

Integrare i testare
Se reunesc toate componentele realizate n vederea rulrii ntr-un mediu de pentru identificarea eventualelor erori i/sau probleme de interoperabilitate Utilizatorul valideaz soluia dac testele au evideniat respectarea cerinelor funcionale. Sistemul intr n exploatare curent.

Acceptare, instalare, implementare


Are loc instalarea SI in mediu de producie Variante pentru conversie: Noul sistem nlocuie vechiul sistem Vechiul i noul sistem vor rula n paralel Vechile fiiere vor fi trecute pe noile medii de stocare, vor opera noi mecanisme de acces i noi metode de organizare a fiierelor.

ntreinere
SI necesit modificri n timp sau trecerea pe alte platforme Se impune datorit: erorilor identificate neidentificate la testare sau generate de evenimente rare modificri cerute de utilizatori, management sau cerine de reglementare Este monitorizat performana sistemului.

Modele de dezvoltare a SI
1. Modele care parcurg fazele ciclului de via secvenial: Modelul cascad: const n descompunerea ciclului de via n faze secventiale. La rndul lor, fazele sunt structurate pe activiti i subactiviti. Trecerea de la o etap la alta se realizeaz dup ce precedenta a fost parcurs n ntregime.

Modelul cascad
Avantajele modelului: un control total asupra fazelor, n sensul c ele sunt ordonate i, firesc, previzibile, prin evidenierea clar a ariei de ntindere a fiecrei etape sau subcomponente a ei; este uor de nsuit de ctre membrii echipelor de analiz i proiectare, inclusiv de cei noi, cu o experien mai puin vast; fiecare etap este nsoit de o documentaie perfect structurat (controlat).

Modelul cascad
Dezavantajele modelului: sistemul se pred doar dup parcurgerea etapelor anterioare, ceea ce nseamn o lung perioada de timp, suficient ca utilizatorii s-i modifice cerinele; nu corespunde inteniilor de abordare dinamic a sistemelor; nu este deschis schimbrilor ce pot interveni pe parcurs.

Modelul cascad

Modelul n V
Modelul n V: este o variant a modelului cascad, prin care se introduc conceptele de sistem i componente (subsisteme). Acest model puncteaz cu mai mult claritate separrile dintre ceea ce implic participarea utilizatorului, modelul arhitectural i cel al implementrii. Utilizatorul este implicat doar n fazele din partea superioar a V-ului. Arhitectura sistemului este surprins n partea de mijloc a literei V, iar partea inferioar a ei se refer la faze de implementare, care ar putea consta fie din asamblarea componentelor software, fie din codificarea unor componente.

Modelul n V

Modele iterative i incrementale


2. Modele iterative i incrementale: Metode moderne Produsul software este produs prin parcurgerea mai multor iteraii, fiecare iteraie oferind o versiune mbuntit. O nou iteraie nu adaug o nou component (subsistem) ci mbuntete funcionalitatea existent, modul de utilizare, performana.

Modelul spiral

Modelul spiral
Model de referin pentru procesele de dezvoltare iterative i incrementale; Dezvoltarea sistemului urmeaz mai multe cadrane ale unei spirale: ncepe cu activitile de planificare care implic: studiul de fezabilitate, specificaiile iniiale, planificri ale proiectului, bugete. Analiza riscurilor proiectului. Riscurile reprezint circumstane adverse sau incertitudini aferente dezvoltrii software-ului. Evalueaz rezultatele ateptate ale proiectului i stabilete nivelurile de toleran acceptabile pentru probabilitile atingerii acestor rezultate. Engineering: include modele ale sistemului, programare, integrare, aducerea sistemului n stare operaional (deployment). naintea trecerii la o nou iteraie sistemul este supus evalurii de ctre client.

IBM Rational Unified Process


II. IBM Rational Unified Process (RUP) este definit ca platform a procesului de dezvoltare; platforma ofer un cadru pentru dezvoltare constnd din ghiduri, template-uri pentru bun practic, faciliti web; RUP organizeaz proiectul pe dou coordonate: Dimensiunea orizontal care presupune o succesiune de faze (pentru fiecare iteraie a proiectului): nceput, elaborare, construire i tranziie. Dimensiunea vertical reprezint discipline de dezvoltare a softului: modelarea afacerii, cerine, analiz i proiectare, implementare, testare i aducerea sistemului n stare operaional (deployment). Disciplinele reprezint fluxul de lucru. Exist i activiti suport: configurare i modificarea managementului, managementul proiectului i mediul. Ca i modelul n spiral, RUP subliniaz dezvoltarea iterativ i importana analizei riscurilor ca i proces continuu

Rational Unified Process

Model-driven architecture
III. Model-driven architecture (MDA) urmrete s ofere modele independente de platforme, ceea ce include specificaii complete privind starea i comportamentul sistemului. Plecnd de la specificaii se scrie direct cod. permite separarea aplicaiilor de business de modificrile n plan tehnologic.

Agile Software Development


IV. Agile software development unul dintre cele mai recente modele; promoveaz iteraiile, munca n echip, colaborarea, adaptarea proceselor de-a lungul ciclului de via al proiectului; prefer iteraii mici (4 sptmni) cu planificare minim n loc de planificare pe termen lung; o iteraie este executat de o echip (din care face parte i un reprezentat al beneficiarului) de-a lungul unui ciclu de dezvoltare incluznd: planificare, analiza cerinelor, proiectare, scrierea programelor, testarea componentei, acceptarea testului. Permite limitarea riscurilor i permite o adaptare mai rapid la modificri. o iteraie nu trebuie s aduc un plus important de funcionalitate dar s reprezinte un aport, un plus adus proiectului. La sfritul unei iteraii reprezentatul beneficiarului evalueaz rezultatele i se precizeaz prioritile iteraiei viitoare n raport cu cerinele beneficiarului. fiind promovat comunicarea echip client se redacteaz puin documentaie; se promoveaz software de lucru (instrumente i tehnici): continuous integration (practic prin care se grbete finalizarea software-ului reducnd timpul afectat integrrii), pair programing (doi programatori lucreaz la acelai program: unul scrie cod i cel de al doilea verific n acelai timp), test driven development, design patterns (modalitate formal de a documenta o soluie plecnd de la o schi), code refactoring (modificarea codului pentru a deveni mai uor de neles, cu structur simplificat dar conservndu-i funcionalitatea).