Sunteți pe pagina 1din 9

Universitatea Vasile Alecsandri Bacău

Facultatea de Științe
Program de studii Informatică – IFR

Ingineria programării

Coordonator,
Lect univ dr VÂRLAN Simona Student,

Frunza Ioan Cristian


Anul III, Grupa I IFR

BACĂU 2016
CUPRINS

INTRODUCERE
1. Descrierea și analiza cerințelor
1.1 Necesități hardware
1.2 Necesități software
2. Proiectarea aplicației
2.1 Diagramele UML
2.1.1 Diagrama cazurilor de utilizare (Use Case Diagram)
2.1.2 Diagrama de activitate (Activity Diagram)
3. Testarea aplicației
4. Bibliografie
INTRODUCERE
Unul dintre aspectele cele mai importante ale tehnologiei elaborării programelor este
reprezentat de ingineria programării. Un program, ca orice alt produs, trebuie să aibă anumite
caracteristici în așa fel încât să poată fi exploatat și întreținut în condiții cât mai bune.
Ingineria programării este un domeniu al informaticii care are ca obiectiv stabilirea celor
mai adecvate concept, principia, reguli, metode, tehnici, soluții, procedee și instrumente care să
conducă la elaborarea, utilizarea, întreținerea și perfecționarea produselor program în condiții de
maximă eficiență, asigurându-le o înaltă calitate, atât în utilizare cât și la întreținere/ dezvoltare,
în conformitate cu specificațiile de definire.
Activitatea de elaborarea a aplicației începe în momentul în care există o problem de
rezolvat bine definite. Acest lucru se concretizează de obicei prin tema de proiectare. Etapa
elaborării temei de proiectare influențează în mod essential rezultatul final.
Pentru proiectarea unei problem trebuie parcurse următoarele etape:
 definiția problemei;
 selecția algoritmilor și a structurilor de dare;
 specificarea structurii și a logicii programelor;
 codificarea;
 depanarea și testarea;
 documentarea;
 întreținerea programului.
Deși au fost parcurse aceste etape, multe programe nu sunt gata chiar dacă apparent au
fost depanate. În general există câteva erori care se descoperă de un anumit utilizator în anumite
circumstanțe neobișnuite. De aceea este recomandat ca programatorul să facă toate corelațiile
necesare și să se ocupe de întreținerea programului, de o corectare permanent, în funcție de
erorile semnalate.

3
1. Descrierea și analiza cerințelor

Dezvoltarea unei aplicații mobile reprezintă un instrument util pentru a putea ajunge ușor
la un public devorator în acest sens.. 90% din utilizatorii din România, în special adolescenții,
preferă telefoanele smartphone pentru absolut orice tip de activitate precum căutarea unui
cinema, a unui restaurant sau a magazinului lor preferat. 89% dintre aceștia achiziționează sau
contactează compania respectivă conform rezultatelor căutărilor. Din acest motiv, am realizat o
aplicatie mobilă care vine în ajutorul acestor utilizatori în sensul că iși pot salva rapid ideile, doar
rostindu-le.

1.1 Necesități software

Ingineria software are ca scop obținerea de sisteme funcționale chiar atunci când teoriile
și instrumentele disponibile nu oferă răspuns la toate provocările ce apar. Problema fundamental
a ingineriei software este satisfacerea cerințelor utilizatorului. Aceasta trebuie realizată nu
punctual, nu imediat, ci într-un mod flexibil și pe termen lung.
Produsele software nu vor fi solicitate și utilizate dacă nu răspund unor nevoi ale
utilizatorilor. Cu cât sunt mai bine acoperite cerințele celor care beneficiază de facilitățile
produsului software respectiv și cu cât produsul va răspunde mai bine acestor solicitări, cu atât
cererea pentru aplicația respectivă va fi mai mare.
Android este o platformă software și un sistem de operare pentru dispozitive și telefoane
mobile bazată pe nucleul Linux, fiind un model de arhitectură MVC.
Dezvoltarea aplicațiilor Android se face în limbajul Java, dezvoltatorul ajutându-se de
bibliotecile (API-uri) dezvoltate de Google. Se pot scrie și aplicații în limbajul C, apoi fiind
compilate în cod mașina ARM și executate, dar Google nu are suport oficial pentru acest lucru.
Pentru realizarea sistemului am utilizat arhitectura Model-View-Controller (MVC). Controlerul
gestionează comenzile primite de la aplicație și utilizează diferite clase pentru a realiza
conexiunea cu baze de date și de a gestiona datele. Aceste clase reprezintă modelul sistemului,
ele realizând prelucrările de date, stocarea și colectarea acestora în/din baza de date. Partea de
View este dată de aplicația Android, acesta fiind modul interacțiune a sistemului cu utilizatorul.

4
1.2 Necesități hardware:

 Telefon compatibil cu sistemul de operare Android versiunea 4.4.2 sau cu o versiune mai
recentă;
 Tabletă compatibilă cu sistemul de operare Android versiunea 4.4.2 sau cu o versiune
mai recentă;
 Memorie liberă: minim: 2 MB;
 Acces internet;

2. Proiectarea aplicației

Proiectarea aplicației constă în stabilirea structurii modulare a programului cât și a logicii


sale detaliate. În planul de implementare a proiectului trebuie identificate detalii privind
limbajele de programare, mediile de dezvoltare, dimensiunea memoriei, platforma, algoritmii,
structurile de date, definițiile globale de tip, interfețele, etc.

2.1 Diagramele UML

UML este un limbaj grafic pentru vizualizarea, specificarea, construire și documentarea


componentelor unui sistem software. Poate fi utilizat în toate domeniile ingineriei software
oferind un mod standard de a scrie proiecte de sistem, incluzând obiectele conceptuale și
funcțiile de sistem.
Principalele obiective ale UML-ului sunt: să pună la dispoziția utilizatorului un limbaj
vizual pentru dezvoltarea și specificarea sistemului; să suporte concepte de dezvoltare de nivel
superior precum componente, colaborări, modele; să incurajeze utilizarea limbajelor de
programare orientate pe obiect; să furnizeze o bază formală pentru înțelegerea limbajului de
modelare.
Diagramele UML furnizează perspective multiple și diferite asupra sistemului din punctul
de vedere al analizei sau dezvoltării.

5
2.1.1 Diagrama cazurilor de utilizare

Această diagramă prezintă funcționalitatea sistemului din punctul de vedereal


interacțiunilor externe și este utilizată în etapa de analiză. Elementele UML conținute de această
diagramă sunt: cazuri de utilizare, actori, relații de utilizare, relații de extindere, relații de
generalizare și de asociere. Aceste elemente sunt utilizate pentru a defini comportamentul
sistemului, a subsistemelor, a unei entități, fărăa specifica structura internă.

Fig.2.1 Diagrama cazurilor de utilizare

6
În diagrama ilustrată în figura 2.1 este prezentat un caz de utilizare a unei aplicații
android destinată în special utilizatorilor de smartphone, având posibilitatea în acest sens să își
întocmească și să gestioneze o listă de cumpărături.

Utilizatorul accesează aplicația mobilă și poate întocmi lista de cumpărături. Aplicația


este alcătuită dintr-un sistem de notificare cu posibilitatea de a selecta într-un calendar, meniuri
de activități. Modalitatea de control a aplicației poate fi și vocală. Utilizând API-ul de la Google,
se rostește comanda, aceasta este interpretată și transformată într-un string ce este transmis în
memoria aplicație.

2.1.2 Diagrama de activitate

Acest tip de diagrama definește un proces ce evoluează de-a lungul acțiunilor sale.
Această diagramă nu extinde semantica diagramelor UML dar definește forme prescurtatea care
se aplică modelării proceselor. Este utilizată pentru a evidenția legătura fiecărui serviciu. O
activitate rezultă dintr-o anumită acțiune sau evaluarea unei expresii care schimbă starea
sistemului sau întoarce o valoare. Activitățile reprezintă task-uri ce trebuie realizate de către
utilizator și care vor fi tradusee prin intermediul unor metode specifice atașate claselor care vor
îngloba comportament de control.

7
Fig 2.2 Diagrama de activitate

3. Testarea aplicației

Testarea este activitatea de concepție a cazurilor de test, de execuție a testelor și de evaluare


a rezultatelor testelor, în diferite etape ale ciclului de viață al aplicației. Prin testare nu se poate
demonstra corectitudiunea unui program, deoarece în cele mai multe cazuri este imposibil sa se
testeze programul pentru toate seturile de date de intrare care pot conduce la execuții diferite ale
programului. Testarea poate demonstra doar prezența erorilor din programul respectiv.

8
BIBLIOGRAFIE

1. Cornelia Novac Ududec, Ingineria sistemelor de programare, Editura Alma Mater,


Bacău, 2011;
2. Dan Rotar, Ingineria programelor, Bacău, Editura Alma Mater 2007.

S-ar putea să vă placă și