Etapele de realizare a unui sistem

Proiectarea unei aplicaţii implică colaborarea unor echipe de specialişti hardware şi software. In procesul de implementare putem identifica urmatoarele etape:

  1. Analiza cerinţelor – în această fază se pune accent pe înţelegerea sistemului şi modului în care acesta va interacţiona cu mediul înconjurător. Sunt identificate principalele funcţionalităţi ale sistemului.
  2. Proiectarea sistemului – în această fază sunt identificate principalele componente ale sistemului şi interacţiunile dintre acestea. Sunt definite structura şi comportamentul sistemului.
  3. Implementare – în această fază sunt implementate componentele software şi sunt construite modulele hardware.
  4. Testarea – în această fază sunt testate componentele implementate.
  5. Instalare – in aceasta faza sistemul este pus in functiune.

Analiza cerintelor

În acest pas analistul de sistem studiază problema formulată şi produce un set complet de cerinţe funcţionale şi nefuncţionale. În acest pas sunt identificate şi definite în mod clare funcţiile şi caracteristicile sistemului ce urmează a fi dezvoltat. Acest pas este necesar întrucât de multe ori problema este formulată de către persoane care nu sunt în mod obligatoriu familiarizaţi cu limbajul specific sistemelor hardware şi software. De asemenea este posibil ca problema formulată iniţial să nu poată fi realizată fie datorită resurselor disponibile (umane sau materilae) fie datorită constrângerilor hardware sau software. Rezultatul acestei etape este un set de cerinţe funcţionale şi nonfuncţionale care vor fi folosite mai departe în cadrul etapei de proiectare şi implementare a sistemului.

Cerinţele funcţionale specifică funcţiile pe care sistemul în ansamblu sau părţi ale sistemului trebuie să le îndeplinească. Aceste cerinţe definesc comportamentul sistemului - care se referă la modul în care sistemul, format din ansamblul componentelor software şi hardware, reacţionează la intrări şi produce ieşirile dorite.

Cerinţele nefunctionale se referă la toate acele caracteristici ale sistemului legate de performanţă şi calitate pe care acesta trebuie să el îndeplinească. Aceste cerinţe nu se referă la funcţiile sistemului ci la performanţele cu care funcţiile sistemului sunt îndeplinite. Cerinţe nefuncţionale tipice sunt: scalabilitatea, flexibilitatea, costurile, etc.

Proiectare

În această etapă este identificată structura sistemului atât din punct de vedere hardware cât şi software. Pentru sistemele de timp-real complexe cele mai importante decizii cu privire la structura sistemului sunt luate în faza de început a proiectării. Cu toate acestea pot apărea schimbări în arhitectură în cadrul ciclului de dezvoltare al sistemului.

În situaţiile în care sistemul dezvoltat presupune şi existenţa unor echipamente hardware trebuie să se decidă ce funcţii vor fi implementate la nivel hardware şi ce funcţii vor fi implementate la nivel software – pentru aceasta trebuie să se ţină cont de performanţele dorite, resursele materiale, umane şi materiale disponibile.

Sunt identificate constrângerile de timp pe care sistemul trebuie să le respecte. Este important ca acestea să fie identificate într-o fază cât mai incipientă a procesului de proiectare pentru a putea alege cele mai potrivite soluţii constructive.

Sunt definite mecanismele de comunicare între sistem şi mediul înconjurător şi între componentele interne ale sistemului. În cadrul procesului de selectare a mecanismelor de comunicare trebuie să se ţină cont de constrângerile temporare pe care sistemul trebuie să le îndeplinească deoarece sistemele de comunicaţie introduc întârzieri în cadrul procesului de transmitere a mesajelor.

În această etapă trebuie să se răspundă aşadar la următoarelor întrebări:

  • Câte procese\procesoare vor fi utilizate?
  • Cum vor fi interconectate procesele\procesoarele?
  • Ce module software vor rula pe fiecare procesor?
  • Ce funcţii va îndeplini fiecare modul?
  • Ce tip de arhitectură va fi folosită în scopul îndeplinirii performanţelor dorite?

UML pentru analiza si proiectare software

În versiunea UML 2.0 sunt definite trei tipuri de diagrame: - Diagrame structurale: sunt utilizate pentru a descrie elementele componente ale sistemului. - Diagrame de comportament: sunt utilizate pentru a descrie ce se întâmplă în interiorul sistemului. - Diagrame de interacţiune: reprezintă un sub-set al diagramelor de comportament şi sunt folosite pentru a evidenţia fluxurile de informaţii din interiorul sistemului modelat.

Figura 1 prezintă tipurile de diagrame UML clasificate în conformitate cu criteriile prezentate mai sus.