Sunteți pe pagina 1din 7

Document de specificare a cerințelor software

Versiunea 4.0
08.01.2018

SCOTT
Shockingly Cooperative Outstanding Talking Terminal

Echipa Scott:
Băjenaru Cristian, 343 C5
Brînzea Răzvan-Ștefan, 342 C4
Ciucă Theodora, 343 C5
Popa Andrei, 343 C5

Facultatea de Automatică și Calculatoare


Universitatea Politehnica București
Cuprins

1. Scopul documentului........................................................................................................... 1
2. Conținutul documentului..................................................................................................... 1
3. Descrierea generală a produsului ........................................................................................ 1
a. Situația curentă ................................................................................................................ 1
b. Misiunea proiectului ........................................................................................................ 2
c. Contextul proiectului ....................................................................................................... 2
d. Beneficii .......................................................................................................................... 2
4. Cerințe funcționale .............................................................................................................. 3
a. Actori ............................................................................................................................... 3
b. Diagrama de sistem ......................................................................................................... 3
c. Descrierea cazurilor de utilizare ...................................................................................... 4
5. Cerințe nefuncționale .......................................................................................................... 5
a. Cerințe de interfață .......................................................................................................... 5
b. Cerințe de performanță .................................................................................................... 5
c. Cerințe de fiabilitate ........................................................................................................ 5
d. Cerințe de securitate ........................................................................................................ 5
1. Scopul documentului

Documentul de față centralizează toate specificațiile din cerința proiectului pentru a oferi o
descriere completă a comportamentului sistemului software ce urmează a fi implementat de
către echipa Scott. În următoarele secțiuni se vor explica funcționalitățile sistemului, cazurile
de utilizare ale acestuia și diversele cerințe impuse, cu scopul de a oferi o privire de ansamblu
unitară asupra proiectului, atât pentru dezvoltatori, cât și pentru celelalte părți implicate.

2. Conținutul documentului

Prezentul document este împărțit în 5 secțiuni, cerințele și specificațiile efective regăsindu-se


începând cu secțiunea 3, care realizează descrierea generală a produsului, prezentând contextul
proiectului și misiunea acestuia, având în vedere situația curentă și potențialele beneficii.

În secțiunea 4 sunt descrise cerințele funcționale ale sistemului, prin intermediul unei diagrame
de sistem și a unei serii de cazuri de utilizare, împreună cu actorii implicați în acestea.

Documentul se încheie cu secțiunea 5, în care sunt centralizate categoriile de cerințe


nefuncționale: cerințe de interfață, cerințe de performanță, cerințe de fiabilitate, cerințe de
securitate.

3. Descrierea generală a produsului

a. Situația curentă

Produsul constă într-un sistem software pentru desktop (platforma vizată este Microsoft
Windows) care poate interpreta și răspunde la comenzile vocale ale utilizatorului. Aplicația
funcționează non-stop, atât timp cât este activă, preluând comenzi de la microfon,
interpretându-le și oferind răspunsuri, eventual efectuând și diferite operații pentru a îndeplini
funcțiile unui asistent personal.

Programul va avea o interfață grafică minimală și funcția de ascultare nu va trebui pornită sau
oprită, aceasta fiind activă pe toată durata funcționării programului. Categoriile de funcții ce
pot fi îndeplinite de asistentul vocal vor fi următoarele:

i. Comenzi de sistem (să anunțe data/ora, conectivitatea la internet, adresa IP curentă, să


anunțe gradul de încărcare a bateriei, să închidă aplicația)

1
ii. Comenzi de pornire sau oprire a aplicațiilor (task manager, browser web – diferite
pagini, Windows explorer – diferite directoare, player muzical)
iii. Comenzi care presupun utilizarea Internetului (schimb valutar între două monede
specificate, să citească lista notificărilor de pe Facebook, să anunțe starea vremii)

Unele dintre comenzile menționate anterior vor putea primi anumiți parametri care să specifice
exact obiectul comenzii. În exemplul schimbului valutar, comanda trebuie să conțină valoarea
care trebuie schimbata, precum și cele două monede între care se realizează conversia („how
much USD is 3.8 EUR”, de exemplu).

b. Misiunea proiectului

Echipa își propune ca produsul realizat să fie ușor de folosit și să nu aducă un overhead
semnificativ asupra resurselor sistemului. Deși numărul de funcții va fi unul limitat, asistentul
vocal va fi ușor de folosit, va avea o precizie bună în recunoașterea comenzilor cunoscute și va
putea aduce un plus de eficiență în felul în care utilizatorul își folosește calculatorul.

c. Contextul proiectului

Pe piața asistenților vocali există deja un număr de alternative populare pentru diferite sisteme:
Siri pentru dispozitive iOS, Google Assistant pentru dispozitive Android, Alexa pentru
dispozitive de tip Amazon Echo, Cortana pentru dispozitive care rulează Windows. Aceste
produse îndeplinesc o gamă foarte largă de funcții, fiind construite pe baza unor volume uriașe
de date și a unor algoritmi puternici de inteligență artificială, însă nu au întotdeauna o precizie
foarte bună. În plus, în toate produsele menționate anterior, există îngrijorări serioase în rândul
utilizatorilor în ceea ce privește stocarea și prelucrarea datelor cu caracter personal.

d. Beneficii

Piața produselor de acest tip pentru platforma Microsoft Windows este una restrânsă, motiv
pentru care considerăm că este oportună dezvoltarea unei alternative viabile la Cortana. În plus,
produsul pe care îl vom realiza oferă un răspuns și cerințelor utilizatorilor avansați, care sunt
mai atenți în legătura cu aplicațiile pe care le folosesc și cu datele pe care le expun.
În acest sens, soluția dezvoltată va consuma puține resurse de sistem, pentru a putea fi folosită
pe o gamă cât mai largă de configurații hardware. Mai mult, deși folosește o conexiune la
internet pentru a putea interpreta comenzile utilizatorului, aplicația nu va expune informațiile
folosite altor persoane și nu le va stoca, pentru a putea păstra anonimitatea utilizatorului.

2
4. Cerințe funcționale

a. Actori

Entitatea principală umană care interacționează cu sistemul este utilizatorul, care poate să
deschidă aplicația, să lanseze comenzi către aceasta (prin intermediul microfonului) și, ulterior,
să închidă aplicația.

Ceilalți actori implicați sunt:

i. Un serviciu de recunoaștere vocală (speech-to-text) a mesajelor utilizatorului, care le


transformă în secvențe text ce pot fi interpretate de aplicație
ii. Un serviciu de redare a răspunsurilor sistemului (text-to-speech), care va transforma
secvențele text ce conțin răspunsurile asistentului vocal în fișiere audio ce pot fi redate
în difuzoare.
iii. Sistemul de operare (și aplicațiile instalate pe acesta), care vor primi comenzi de la
asistentul vocal, pentru a îndeplini diferite sarcini cerute de utilizator.
iv. Servicii web, care, prin apelarea unor API-uri, furnizează informații despre cursul
valutar, starea vremii, etc.

b. Diagrama de sistem

Diagrama de sistem prezintă legăturile dintre aplicația software și entitățile externe acesteia.

3
c. Descrierea cazurilor de utilizare

i. Lansarea unei comenzi vocale

Nume Deschiderea aplicației


Descriere Operația de bază prin care utilizatorul
folosește funcționalitățile asistentului vocal.
Prioritate Esențială
Declanșator Utilizatorul rostește o comandă la microfon
Precondiție Volumul înregistrat de microfon este
suficient de ridicat, comanda este una
recunoscută și există o conexiune la internet.
Pașii de bază 1. Utilizatorul rostește o comandă la
microfon
2. Sistemul înregistrează secvența audio și
o trimite serviciului speech-to-text,
primind o secvență text drept răspuns
3. Sistemul interpretează răspunsul primit
și îl validează ca fiind o comandă
recunoscută
4. Sistemul efectuează operația descrisă de
comandă
5. Sistemul alcătuiește un răspuns și îl
trimite serviciului text-to-speech pentru
obține o secvență audio
6. Sistemul redă secvența audio primită.
Pas alternativ 4a. În cazul unei comenzi care folosește un
serviciu web, se apelează API-ul
corespunzător pentru a obține informația
cerută.
Postcondiție Depinde de comanda lansată
Excepție 1. Dacă nu există o conexiune la internet,
sistemul va anunța printr-un mesaj
predefinit.

4
5. Cerințe nefuncționale

a. Cerințe de interfață

Interfața este minimalistă, cuprinzând doar sigla aplicației și o casetă text în care vor fi scrise
comenzile interpretate cu succes, precum și răspunsurile date de aplicație (î n vederea
îmbunătățirii experienței utilizatorului și a transparenței acțiunilor efectuate).

b. Cerințe de performanță

Sistemul va funcționa în timp real, ascultând microfonul non-stop dar declanșând acțiunea de
interpretare a unei comenzi numai atunci când volumul detectat la microfon depășește un
anumit prag. Din acest motiv, impactul asupra performanței sistemului de operare va fi minim.

Orice comandă lansată de utilizator trebuie tratată în maximum 5 secunde, timp în care aceasta
va fi interpretată, va fi validată, va fi efectuată și se va emite un răspuns sonor.
Utilizatorul trebuie să aștepte finalizarea unei comenzi înainte să lanseze o altă comandă care
poate fi recunoscută.

c. Cerințe de fiabilitate

Fiabilitatea sistemului depinde atât de factori interni, cât și externi. Este necesară o conexiune
la internet, în lipsa acesteia neputându-se executa comenzi. În plus, serviciile externe speech-
to-text, text-to-speech, și chiar sistemul de operare trebuie să răspundă în timp util cererilor
provenite de la aplicație.

d. Cerințe de securitate

Mesajele preluate de aplicație prin intermediul microfonului trebuie să nu fie vizibile nici unei
alte persoane, înafara serviciilor speech-to-text și text-to-speech. Istoricul comenzilor
utilizatorului trebuie să nu fie salvat și să nu fie trimis către exterior, întrucât poate conține date
pe care utilizatorul nu vrea să le expună.