project name offer - academia de software · web viewacest material este proprietate exclusiva a sc...

24
Specificatie software Specificatie Software Client: Universitatea Politehnica Bucuresti – Facultatea de Automatica si Calculatoare Proiect: Aplicatie Orar www.essensys.ro Essensys Software 2005 - 2017

Upload: others

Post on 01-May-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Specificatie software

Specificatie Software

Client: Universitatea Politehnica Bucuresti – Facultatea de Automatica si Calculatoare

Proiect: Aplicatie Orar

www.essensys.ro Essensys Software 2005 - 2017

Page 2: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Acest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub numarul J40/5499/2005 la Registrul Comertului, in Bucuresti, ROMANIA.

Respectarea si aplicarea legilor referitoare la drepturile de autor cad in resposabilitatea persoanelor indreptatite sa foloseasca prezentul document.

Nicio parte din acest document nu poate fi reprodusa, stocata sau introdusa intr-un sistem unde poate fi accesata, sau transmisa in orice forma, prin orice mijloace (electronice, mecanice, postale, de inregistrare, de foto-copiere sau de alt tip), in niciun scop, fara permisiunea in scris a unui reprezentant autorizat al Essensys Software.

Essensys Software poate detine patente, patente in curs de inregistrare, marci inregistrate, drepturi de autor, sau alt tip de proprietate intelectuala care acopera cele prezentate in acest document. Cu exceptia acelor situatii in care Essensys Software emite un document de licentiere in scris pentru patente, patente in curs de inregistrare, marci inregistrate, drepturi de autor sau alt timp de proprietate intelectuala pe care le detine, acest document nu da dreptul detinatorului asupra lor.

Descrierea produselor altor companii din acest document, daca exista, serveste spre a ajuta detinatorul in a intelege anumite concepte sau situatii. Orice referire la astfel de produse nu trebuie considerata o forma de reclama din partea Essensys Software. Essensys Software nu garanteaza acuratetea descrierii produselor, iar aceste produse se pot modifica in timp. Pentru o mai buna intelegere asupra acestor produse va rugam sa consultati producatorii lor.

Toate drepturile rezervate. Orice folosire sau distribuire a acestui material fara permisiunea in scris a unui reprezentant autorizat al Essensys Software este strict interzisa.

Numele companiilor sau al produselor mentionate in acest document se afara in proprietatea detinatorilor de drept.

Page 3: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Continut1 - Scop............................................................................................................4

3 – Model entitati.............................................................................................5Descrierea relatiilor......................................................................................6Entitatea Student..........................................................................................6Entitatea Grupa............................................................................................6Entitatea Profesor.........................................................................................7Entitatea Materie..........................................................................................7Entitatea Locatie...........................................................................................7Entitatea Orar...............................................................................................8Entitatea Mesaj.............................................................................................8

4 - Cerinte functionale.....................................................................................9Aplicatia mobila............................................................................................9Aplicatia de administrare............................................................................12

5 - Cerinte nefunctionale...............................................................................15Audit...........................................................................................................15Backup........................................................................................................15Monitorizare................................................................................................15Volume de date..........................................................................................15Performanta................................................................................................16Disponibilitate.............................................................................................16Documentatie.............................................................................................16Garantie......................................................................................................16Localizare...................................................................................................16Securitate...................................................................................................16Scalabilitate................................................................................................16Tehnologie..................................................................................................16

Specificatie SoftwarePage | 2

Page 4: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Usurinta in utilizare....................................................................................17

Specificatie SoftwarePage | 3

Page 5: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

1 - ScopScopul principal al proiectului este implementarea unei aplicatii mobile prin intermediul careia studentii facultatii sa poata consulta orarul.

Pentru a putea sustine aceasta aplicatie este de asemenea necesara implementarea unei baze de date centrale unde va fi stocat orarul, precum si o aplicatie web de administrare, prin intermediul careia personalul administrativ al facultatii sa incarce datele legate de orar si sa efectueze modificari asupra acestuia.

Sistemul va fi astfel folosit de doua categorii de utilizatori: Studenti si Administratori.

StudentiStudentii vor avea acces doar la aplicatia mobila. Scopul principal al acestora este consultarea orarului. De asemenea acestia vor putea accesa o camera de chat disponibila pentru fiecare grupa.

AdministratoriAdministratorii vor accesa doar aplicatia web de administrare in scopul editarii orarului din fiecare an.

NOTA:

Acest document de specificatii este scris in scopul derularii unui curs introductiv adresat studentilor in scopul familiarizarii acestora cu procesul de dezvoltare software folosit in industrie. Pe parcursul cursului, studentii vor implementa diversele componente ale acestei aplicatii, astfel incat la finalul cursului vor avea o mica aplicatie mobila functionala, precum si o aplicatie web functionala.

Scopul acestui document este familiarizarea cursantilor cu structura unui document de specificatii.

Din aceste motive cerintele aplicatiei sunt foarte simpliste. Astfel nu sunt acoperite functionalitati cum ar fi inregistrarea utilizatorilor, autentificare, securitate, precum si multe alte functionalitati necesare unei astfel de

Specificatie SoftwarePage | 4

Page 6: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

aplicatii: posibilitatea de a suporta mai multe facultati, mai multi ani de studii, validare studenti, aplicatie mobila utilizata si de profesori, samd.

Specificatie SoftwarePage | 5

Page 7: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

3 – Model entitatiInformatiilor ce trebuie stocate in sistem sunt associate urmatoarelor entitati: Studenti, Grupe, Profesori, Orar, Locatii, Materii, Mesaje si inregistrari de orar.

Diagrama conceptuala a acestor entitati si relatiile dintre ele sunt descrise in diagrama de mai jos.

Entitatile de mai jos vor fi stocate intr-o baza de date relationala. La momentul proiectarii detaliate se va realiza diagrama detaliata a bazei de date.

Specificatie SoftwarePage | 6

Page 8: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Descrierea relatiilor1. O grupa are asociati mai multi studenti.2. Un profesor poate sa predea mai multe materii si in acelasi timp o

materie este predata de mai multi profesori. Relatia reprezinta doar competenta unui profesor de a preda o anumita materie, nu si faptul ca profesorul preda materia respectiva. Acest ultim aspect este asigurat de entitatea orar.

3. O intrare de orar are asociata o grupa sau o grupa are asociate mai multe inregistrari de orar.

4. O intrare de orar are asociat un profesor, respectiv un profesor are mai mai multe inregistrari in orar.

5. O intrare de orar are asociata o materie, respectiv o materie este predata la mai multe ore (inregistrari orar)

6. O intrare de orar are asociata o locatie, respectiv o locatie este folosita la mai multe ore

7. O grupa are mai multe mesaje (camera chat)8. Un mesaj este asociat unui student, respecti un student are mai multe

mesaje.

Entitatea StudentEntitatea reprezinta un student care poate accesa sistemul, iar atributele relevante sunt:

Atribut Tip Validare DescriereNume Text ObligatoriuPrenume Text ObligatoriuEmail Text Obligatoriu

Format email corect

Data nasterii

Data Obligatoriu

Telefon TextGrupa Referinta

grupaObligatoriu Reprezinta grupa din care

face parte studentul

Entitatea GrupaReprezinta o grupa de studenti a facultatii. Atributele relevante sunt:

Specificatie SoftwarePage | 7

Page 9: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Atribut Tip Validare DescriereNumar Numeric Obligatoriu Denumirea grupei. Ex:

322AAAn Numeric Obligatoriu

Valoare intre 1 si 5

Anul din care face grupa

Entitatea ProfesorReprezinta un profesor in cadrul facultatii. Atributele relevante sunt:

Atribut Tip Validare DescriereNume Text ObligatoriuPrenume Text ObligatoriuEmail Text Obligatoriu

Format email corect

Telefon Text ObligatoriuGrad Lista Obligatoriu Un element din lista de

grade posibile: profesor, asistent, laborant.

Anul angajarii

Numeric Obligatoriu> 1900

Activ Logic Obligatoriu Indica daca profesorul este activ si poate fi alocat pentru cursuri

Entitatea MaterieReprezinta o materie ce face parte din curicula facultatii. Atributele relevante sunt:

Atribut Tip Validare DescriereDenumire Text ObligatoriuPrescurtare Text Obligatoriu Denumirea scurta a

materieiDetalii Text Obligatoriu Detalii despre continutul

cursului / seminarului /etc.

Specificatie SoftwarePage | 8

Page 10: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Entitatea LocatieReprezinta o locatie in cadrul facultatii in care se pot tine cursuri sau seminarii. Atributele relevante sunt:

Atribut Tip Validare DescriereDenumire Text Obligatoriu Denumirea salii. Ex: EC

101Capacitate Numeric Obligatoriu Numarul de locuri

disponibileActiva Logic Obligatoriu Este activa sau nuAdresa Text Obligatoriu

Entitatea OrarIntrarea de orar reprezinta o intrare in orar si are asociata o grupe, o materie, un profesor, o locatie si intervalul orar in care se va desfasura respectivul curs sau seminar.

Atribut Tip Validare DescriereGrupa Referinta Grupa ObligatoriuMaterie Referinta Materie ObligatoriuProfesor Referinta

ProfesorObligatoriu

Locatie Referinta Locatie ObligatoriuData inceput

Data Obligatoriu

Ora inceput Ora ObligatoriuData sfarsit Data ObligatoriuOra sfarsit Ora ObligatoriuDetalii Text Detalii optionale despre

curs

Entitatea MesajFiecare grupa va avea o camera de chat accesibila tuturor studentilor. O entitate mesaj reprezinta un mesaj al unui student transmis in aceasta camera la un moment de timp.

Atribut Tip Validare DescriereStudent Referinta student Obligatoriu Studentul care a transmis

mesajulTimp Data si timp Obligatoriu Timpul exact la care a

fost transmis cu precizie

Specificatie SoftwarePage | 9

Page 11: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

cat mai mare (e.g. milisecunde). Precizia este necesara pentru ordonare cronologica.

Text Text Obligatoriu Textul mesajuluiGrupa Referinta grupa Obligatoriu Camera de chat (grupa)

unde a fost transmis mesajul

Specificatie SoftwarePage | 10

Page 12: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

4 - Cerinte functionale

Aplicatia mobila

Aplicatia de mobil va fi utilizata de studenti pentru vizualizarea orarului si pentru conversatii in camera de chat asociata grupei din care fac parte.

NOTA: Din motive de timp si pentru simplificare, aplicatia de mobil va fi disponibila doar pe Android. Aplicatia de iOS ar avea aceleasi functionalitati dar tehnologia de implementare ar fi diferita.

Macheta nefunctionala

Pentru intelegerea completa a functionalitatii este recomandata consultarea specificatiilor functionale in parale cu parcurgerea machetei utilizator.

Inregistrare automata

In momentul in care un student deschide pentru prima oara aplicatia i se vor solicita informatiile personale descrise in atributele entitatii student. Pentru grupa studentul va putea alege o optiune dintr-o lista.

Daca datele introduse respecta criteriile de validare pentru fiecare atribut sistemul va verifica daca adresa de email exista deja in baza de date.

Daca adresa NU exista sistemul va crea automat o inregistrare de tip student si va permite accesul studentului in aplicatie. Daca adresa exista deja (studentul deja s-a inregistrat) aplicatia va permite direct accesul studentului in aplicatie (fara a mai crea o inregistrare).

Dupa ce utilizatorul trece de ecranul de inregistrare si are acces in aplicatie, acest ecran nu va mai fi afisat chiar daca utilizatorul inchide aplicatia.

NOTA: In mod uzual o astfel de aplicatie presupune functionalitati de inregistrare a studentilor, validare a acestora si apoi login cu user & parola si

Specificatie SoftwarePage | 11

Page 13: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

diverse masuri de securitate. Pentru a simplifca cerintele, aplicatia de mobil nu va avea acest functionalitati ci o inregistrare automata.

Vizualizare calendar

Folosind aceasta functie studentii vor putea vizualiza calendarul de cursuri pentru o anumita zi. Implicit aplicatia va afisa orarul pentru ziua curenta.

Selectie dataUtilizatorul va putea selecta o data din calendar pentru vizualizarea orarului.

Gesturi swipe pentru schimbarea dateiDe asemenea folosind gesturi (swipe left/right) vor putea schimba ziua.

Afisare orar in format tabularInregistrarile din orar vor fi afisate in format tabelar. Fiecare celula reprezentand o ora. Prima celula va corespunde orei 8:00 iar ultima celula orei 22:00 (14 ore in total).

In cazul in care nu exista cursuri programate la o anumita ora. Celula respectiva va fi goala. Astfel tabelul va avea aceeasi structura indiferent de orar.

In cazul in care exista un curs programat la o anumit ora, in celula se va afisa denumirea scurta a materiei.

Vizualizare detaliiLa gestul Tap (atingere) a unei cellule se vor afisa detaliile cursului, respectiv:

- Prescurtarea materiei- Denumirea materiei - Profesor- Locatie- Adresa locatiei- Capacitatea locatiei- Detalii despre materie

Utilizatorul va putea inchide detaliile pentru a reveni la calendar.

ConversatieFolosind aceasta functionalitate studentii din aceeasi grupa vor putea conversa intre ei.

Specificatie SoftwarePage | 12

Page 14: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Vizualizare conversatieSe vor afisa mesajele in ordine cronologica a transmiterii cu posibilitatea de scroll intre mesaje (swipe sus/jos). Pentru fiecare mesaj se va afisa:

- Numele studentului- Textul transmis- Data si ora transmiterii

Preferabil dar nu obligatoriu mesajele care apartin utilizatorului curent sa fie afisate in dreapta, in timp ce mesajele celorlalti utilizatori sa fie afisate in stanga (stil Facebook messenger, Whatsapp, etc.)

Refresh automat si manual Lista de mesaje va fi actualizata automat la un anumit interval. De asemenea utilizatorul va putea sa actualizeaza lista si manual (refresh). Pentru a nu incarca foarte mult aplicatia, trebuie dezvoltat un mecanism de protectie cu timer (cool-down), astfel dupa ce un utilizator face refresh manual sa nu poata face un nou refresh decat dupa ce trece un interval de timp.

NOTA: in mod normal o aplicatie de mesageri trebuie sa foloseasca si notificari. Spre exemplu in momentul in care apare un mesaj nou in chat, utilizatorul trebuie notificat printr-o notificare push. Din pacate notificarile presupun o infrastructura mult mai complexa si nu vom putea sa le acoperim in acest curs.

Mesaj nouUn utilizator va putea adauga un text nou pentru a transmite un mesaj.

LogoutUtilizatorii se vor putea deconecta de la aplicatia. In acest caz se va reafisa ecranul de inregistrare si utilizatori vor fi obligati sa ii reintroduce datele.

Specificatie SoftwarePage | 13

Page 15: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Aplicatia de administrareScopul principal al aplicatiei de administrare este sa permita personalului administrativ configurare orarului, a materiilor, samd.

In mare aplicatia de administrare va permite adaugarea (Create), vizualizare (Read) modificare (Update) si stergerea de entitati (Delete) din baza de date. Ceea ce este numit in general comportament crud. Astfel in descriere functiilor aplicatiei de administrare, pentru a nu incarca documentul de specificatii, vom denumi acest set de functii “Comportament CRUD” fara a mai oferi alte detalii decat acolo unde este necesar.

La adaugare si modificare vor fi editabile toate atributele inregistrarii si se vor aplica toate regulile de validare.

La vizualizare, listele de inregistrari vor fi paginate afisand un numar parametrizabil de inregistrari (parametrizabil din configurarile de sistem ale aplicatiei). Utilizatorii vor avea posibilitatea de a parcurge lista de pagini.

La vizualizare, listele de inregistrari vor fi sortabile si in anumite cazuri documentat filtrabile.

La stergere trebuie aplicate diverse verificari si asigurata consistenta relationala a bazei de date. Spre exemplu nu se poate sterge o grupa daca are studenti asociati.

Administrare studentiComportament CRUDFunctia de creat studenti nu este neaparat necesara deoarece studentii se inregistreaza singuri.

Stergere

Se va sterge inregistrare dar mesajele studentului se vor pastra. In dreptul mesajelor se va afisa textul „Student sters“

Vizualizare filtrata dupa grupLa vizualizarea (R) administratorii trebuie sa poata filtra lista de studenti dupa grupa.

Specificatie SoftwarePage | 14

Page 16: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Administrare grupeComportament CRUDLa vizualizare grupele trebuie ordonate implicit alfabetic.

Stergere

O grupa nu poate fi stearsa daca are studenti asociati. Acestia trebuie inainte de stergere mutati in alta grupa. La stergerea unei grupe se vor sterge toate mesajele si toate inregistrarile de orar asociate.

Administrare profesoriComportament CRUDLa vizualizare profesorii trebuie ordonati implicit alfabetic in ordinea numelui.

StergereUn profesor nu poate fi sters daca are inregistrari de orar asociate. Inainte de stergere este necesara inlocuirea profesorului. La stergerea unui profesor se vor sterge si toate asocierile cu materiile pe care le poate preda (evident fara a sterge materiile).

Administrare materiiComportament CRUDLa vizualizare materiile trebuie ordonate implicit alfabetic in ordinea prescurtarii.

StergereO materie nu poate fi stearsa daca este asociata unei inregistrari de orar. La stergerea unei materii se vor sterge asocierile cu profesorii.

Administrare locatiiComportament CRUDLa vizualizare locatiile trebuie ordonate implicit alfabetic in ordinea numelui.

StergereO locatie nu poate fi stearsa daca este asociata unei inregistrari de orar.

Specificatie SoftwarePage | 15

Page 17: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Administrare orarComportament CRUD

StergereO inregistrare de orar poate fi stearsa fara constrangeri.

Filtrare La vizualizare administratorii trebuie sa poata filtra inregistrarile din orar dupa grupa si/sau profesor si/sau materie si/sau locatie.

Vizualizare mesajeVizualizareAdministratorii trebuie sa poata vedea mesajele din fiecare grupa.

Stergere mesajeAdministratorii vor putea sterge mesajele nepotrivite.

Specificatie SoftwarePage | 16

Page 18: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

5 - Cerinte nefunctionaleNOTA: Sectiunea de cerinte nefunctionale contine cerinte despre alte aspecte si comportamente pe care sistemul trebuie sa le respecte. In scopul cursului am dat doar cateva exemple de astfel de cerinte, dar in general acest capitol este mult mai complex si are o importanta foarte mare in arhitectura sistemului.

AuditOUT OF SCOPE

BackupOUT OF SCOPE

MonitorizareOUT OF SCOPE

Volume de dateEste estimat un numar de maxim 5000 studenti.

Nr administratori maxim 20

Nr grupe maxim 50 (pentru 5 ani de studiu, 10 grupe/an)

Nr inregistrari orar maxim 7000 (50 grupe x 14 saptamani / semestru x 2 semestre)

Numarul de mesaje este greu de estimat. Dar vom presupune ca un student va da 3 mesaje pe zi in medie. Avand in vedere volumul mare este posibil sa fie necesare masuri de optimizarea a functionalitatii de mesagerie.

Estimari de utilizareEstimam ca un student va deschide aplicatia in medie de 3 ori pe zi.

Utilizarea aplicatiei va fi probabil distribuita aproximativ egal pe perioada unei zile in intervalul orar 7 – 23 (16 ore).

Specificatie SoftwarePage | 17

Page 19: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

PerformantaAplicatia mobile ar trebuie sa afiseze calendarul pentru o zi in mod uzual in cel mult 2 secunde in conditii normale de utilizare si in maxim 5 secunde in conditii atipice de utilizare.

DisponibilitateOUT OF SCOPE

DocumentatieSe vor furniza urmatoare documente:

- Specificatie Software- Macheta nefunctionala- Diagrama bazei de data- Document de arhitectura- Document de instalare- Document de utilizare pentru aplicatia de administare- Procedura de backup

GarantieGarantia oferita va fi de 1 an de la lansarea in productie. In perioada de garantie furnizorul va fixa fara costuri eventualelel defecte descoperite

LocalizareInterfata aplicatiilor va fi in limba romana. Nu sunt prevazute localizari in alte limbi in viitor.

SecuritateOUT OF SCOPE

ScalabilitateOUT OF SCOPE

Tehnologie Aplicatiile vor folosi urmatoarele tehnologii: Microsoft SQL Server, .Net Framework, Entity Framework, ASP.Net MVC, Web.Api, Java, JavaScript, Json

Specificatie SoftwarePage | 18

Page 20: PROJECT NAME OFFER - Academia de software · Web viewAcest material este proprietate exclusiva a SC ESSENSYS SOFTWARE SRL, avand Cod Unic de Inregistrare RO1739382, inregistrata sub

Usurinta in utilizareOUT OF SCOPE

Specificatie SoftwarePage | 19