Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




INGINERIA PROGRAMARII Instant Messenger

Informatica


Universitatea Politehnica Bucuresti


Ingineria Programarii

Instant Messenger

Software Design Document

Raport de predare

(se va preda o data cu tema)

Nume Grupa Realizarea temei [%,motiv] Semnatura

______ _____ _______ ______ _____________ _________

_____ _______ ______ _____________

_____ _______ ______ _____________

______ _____ _______ ______ _____________ _________

_____ _______ ______ _____________

_____ _______ ______ _____________

______ _____ _______ ______ _____________ _________

_____ _______ ______ _____________

_____ _______ ______ _____________

Data predarii:

Semnat,

Proiectarea sistemului

Conform cu standardul IEEE STD-1016-1998, IEEE Recommended Practice for Software Design Descriptions.

Istoria modificarilor documentului

In functie de tipul de dezvoltare ales, poate fi utila o retinere a tuturor modificarilor aduse acestui document. De exemplu, pentru un proiect in metodologie Waterfall w/ milestones, vor fi retinute toate modificarile aduse intre doua momente de evaluare a proiectului (milestones). O sortare a listei de modificari in ordine cronologica (data cea mai recenta prima) este indicata.

Versiune

Data

Autorul/Autorii modificarilor

Detalii asupra modificarilor

Alexandru IOSUP

Varianta de baza (template)

Noi

Varianta actuala

1. Introducere

1.1. Scopul documentului

Documentul de fata prezinta sructura de ansamblu a proiectuli software "Instant Messenger".El va constitui un punct de referinta in implementarea proiectului.

1.2. Public tinta

Acest document se adreseaza echipei de dezvoltare al aplicatiei software pentru posibile viitoare modificari sau completari.

1.3. Definitii, acronime si abrevieri

Java

Tehnologie software dezvoltata de compania Sun care permite dezvoltarea de aplicatii portabile pe diverse sisteme de operare, avand insa ca cerinta minima de sistem instalarea unei aplicatii denumita Java Runtime Engine (sau Java Virtual Machine).

Client

Entitate a produsului nostru ce corespunde utilizatorului; permite comunicarea cu alti clienti

Server

Entitate a produsului nostru ce trebuie sa ruleze pe unul dintre calculatoarele retelei pentru a media comunicarea intre clienti, fara a putea in sine sa comunice textual.

1.4. Structura documentului

2. Referinte

[1] IEEE STD-1016-1998, IEEE Recommended Practice for Software Design Descriptions

Site-ul oficial al firmei Sun: https://java.sun.com/

[3] Jabber Software Foundation: https://www.jabber.org/

[4] Sourceforge: https://sourceforge.net/

3. Descriere structurala

Acest capitol corespunde capitolului 6.2.1, Decomposition description, din [1].

3.1. Descriere module

Descrierea modulelor se face conform 5.3.1 - 5.3.10, din [1]. Modulele pot fi identificate pe diagrama/diagramele de utilizare (use case diagram(s)) din documentul de specificare a cerintelor.

3.1.1. Descriere modul 1

Nume

Creare cont

Tip

Proces

Scop

Crearea unui cont de utilizator nou prin retinerea unui ID si a unei parole aferente

Mod de operare

Un formular de inscriere in care se va completa userul si parola sub forma unei ferestre.Daca userul este deja existent in sistem, unserul nou este rugat sa isi aleaga at username

Subordonari

Autentificare

Dependente

Resurse

Java AWT

3.1.2. Descriere modul 2

Nume

Autentificare

Tip

Procedura

Scop

Logarea in sistem pentru a putea conversa cu ceilalti prieteni online

Mod de operare

Se completeaza inttr-un formular numele si parola care sunt trimise serverului pentru autentificare.

Subordonari

Adaugare|Stergere , Comunicare ,Delogare

Dependente

Creare cont

Resurse

Java AWT

3.1.3. Descriere modul 3

Nume

Adaugare|Stergere

Tip

Proces

Scop

Actualizarea listei de prieteni

Mod de operare

La adaugare apare o fereastra in care se completeaza ID-ul cerut sa fie adaugat.Se cere confirmarea acestui user inainte de adaugarea efectiva.La stergere se da click drapta pe prieten si se confirma stergerea.

Subordonari

Dependente

Autentificare

Resurse

Java AWT

3.1.4. Descriere modul 4

Nume

Comunicare

Tip

Proces

Scop

Trimiterea mesajelor intre useri

Mod de operare

Se da dublu click pe un prieten si prin intermediul ferestrei care apare se trimit si primesc mesaje

Subordonari

Dependente

Autentificare

Resurse

Java AWT

3.1.5. Descriere modul 5

Nume

Delogare

Tip

Procedura

Scop

Iesirea din sistem si anuntarea celorlati clienti ca nu mai suntem disponibili la convorbiri

Mod de operare

Se apasa butonul Sign OUT

Subordonari

Dependente

Autentificare

Resurse

Java AWT

3.2. Descriere procese concurente

Descrierea proceselor concurente se face conform 5.3.1 - 5.3.10, din [1]. Procesele pot fi identificate pe diagrama/diagramele de secvente de utilizare (sequence diagram(s)) din documentul de specificare a cerintelor.

3.2.1. Descriere proces 1

Nume

Creare cont

Tip

Proces

Scop

Crearea unui cont de utilizator nou prin retinerea unui ID si a unei parole aferente

Mod de operare

Se trimite cererea de inscriere si daca datele sunt valide se confirma sau nu inscrierea.

Resurse

Java

3.2.2. Descriere proces 2

Nume

Adaugare|Stergere

Tip

Proces

Scop

Actualizarea listei de prieteni

Mod de operare

Se trimite cererea de adaugare catre server ,acesta instiinteaza celalalt user de aceasta actiune si daca este de acord serverul i va permite primului user sa il adauge in lista lui de prieteni si va updata listele de prieteni ale celor 2.

La stergere se alege userul care vrea sa fie sters si se instiinteaza serverul care updateaza listele de prieteni.

Resurse

Java

3.2.3. Descriere proces 3

Nume

Comunicare

Tip

Proces

Scop

Trimiterea mesajelor intre useri

Mod de operare

Conectarea intre 2 useri se va face peer to peer acesti comunicand direct intre ei.

Resurse

Java

3.3. Descriere module de date

Descrierea modulelor de date se face conform 5.3.1 - 5.3.10, din [1]. Modulele de date pot fi identificate pe diagrama/diagramele de utilizare (use case diagram(s)) din documentul de specificare a cerintelor.

3.3.1. Descriere modul de date 1

Nume

Lista de prieteni

Tip

Modul de date

Scop

Retinerea prietenilor unui user

Mod de operare

Se introduc si se scot useri din lista

Subordonari

Modul user

Dependente

Resurse

Spatiu hardware ,java.io

3.3.2. Descriere modul de date 2

Nume

User

Tip

Modul de date

Scop

Retinerea datelor unui client(user,parola,port,IP ,logat, etc.)

Mod de operare

Se retin datele unui user

Subordonari

Dependente

Resurse

Spatiu hardware ,java.io

3.3.3. Descriere modul de date 3

Nume

Lista useri

Tip

Modul de date

Scop

Retinerea tuturor clientilor care au cont in sistem

Mod de operare

Se updateaza in momentul creearii unui cont nou si se salveaza intr-un fisier.

Subordonari

Dependente

Resurse

Spatiu hardware ,java.io

4. Descriere dependente

Acest capitol corespunde capitolului 6.2.2, Dependency description, din [1].

4.1. Dependente intre module

4.2. Dependente intre procese

4.3. Dependente intre date

Atat lista de prieteni corespunzatoare fiecarui user, cat si lista generala de useri sunt alcatuite din structuri de date de tip User. Listele de prieteni sunt particularizari ale listei generale de useri in functie de userul careia corespunde fiecare. Atat unele cat si celelalte vor contine toti useri indiferent daca sunt sau nu logati.

5. Descriere interfete

Acest capitol corespunde capitolului 6.2.3, Interface description, din [1].

5.1. Interfete module

Se descriu pe larg interfetele modulelor descrise in capitolul 3.1. Diagramele detaliate sunt recomandate.

5.1.1. Interfata modul 1

Nume

Creare cont (vezi 3.1.1)

Tip

(vezi 3.1.1)

Scop

(vezi 3.1.1)

Mod de operare

(vezi 3.1.1)

Interfata 1

Descriere

Ex: result CreateAccount(user_name, password)

Intrari

Ex:

user_name: string - numele utilizatorului, citit de la tastatura

password: string - parola de acces a utilizatorului, citita de la tastatura

Iesiri

Ex:

result:string - OK sau FAILED, in functie de rezultatul cautarii(user_name) in lista de clienti retinuta in server.

Descriere

Descrierea modului in care functioneaza interfata

Ex:

Operatia de creare cont se face prin introducerea, de la tastatura, a unui nume de utilizator si a unui cuvant de acces; se verifica existenta acestui user in baza de date a utilizatorilor; se va intoarce rezultatul cautarii in baza de date a utilizatorilor sub forma de string.Daca e OK se va crea contul si serverul va adauga in lista sa de clienti noul user.Daca am primit FAILED utilizatorul e rugat sa introduca noi date.

5.1.2. Interfata modul 2

Nume

Autentificare(vezi 3.1.2)

Tip

(vezi 3.1.2)

Scop

(vezi 3.1.2)

Mod de operare

(vezi 3.1.2)

Interfata 2

Descriere

Ex: result Login(user_name, password)

Intrari

Ex:

user_name: string - numele utilizatorului, citit de la tastatura

password: string - parola de acces a utilizatorului, citita de la tastatura

Iesiri

Ex:

result:string - OK sau FAILED, in functie de rezultatul cautarii tuplului (user_name, password) in lista de clienti retinuta in server .

Descriere

Descrierea modului in care functioneaza interfata

Ex:

Operatia de inregistrare in sistem se face prin introducerea, de la tastatura, a unui nume de utilizator si a unui cuvant de acces; se verifica existenta acestui tuplu in baza de date a utilizatorilor; se va intoarce rezultatul cautarii in baza de date a utilizatorilor sub forma de string.Daca e OK userul va intra online si ii va aparea o noua fereastra .Daca e FAILED userul este instiintat de faptul ca usernamul sau parola sunt gresite.

5.1.3. Interfata modul 3

Nume

Adaugare(vezi 3.1.3)

Tip

(vezi 3.1.3)

Scop

(vezi 3.1.3)

Mod de operare

(vezi 3.1.3)

Interfata 3

Descriere

Ex: add_user(user_name)

Intrari

Ex:

user_name: string - numele utilizatorului ce se vrea adaugat.

Iesiri

Ex:

result:string - OK sau FAILED, in functie de rezultatul cautarii user_name in lista de clienti retinuta in server si acceptul acestuia.

Descriere

Descrierea modului in care functioneaza interfata

Ex:

Operatia de adaugare prieten in lista de prieteni se face prin introducerea, de la tastatura, a unui nume de utilizator; se va intoarce rezultatul cautarii in   lista de clienti a serverului sub forma de string.Daca e OK userul va aparea in lista de prieteni.Daca e FAILED userul este instiintat de faptul ca userul nu exista sau nu vrea sa accepte cererea de adaugare.

5.1.4. Interfata modul 4

Nume

Comunicarea(vezi 3.1.4)

Tip

(vezi 3.1.4)

Scop

(vezi 3.1.4)

Mod de operare

(vezi 3.1.4)

Interfata 4

Descriere

Ex: send_message(user,message)

receive_message(user)

Intrari

Ex:

user: string - numele utilizatorului caruia ii trimitem mesaj

message- string-mesajul pe care il trimitem

Iesiri

Ex:

user: string - numele utilizatorului de la care primim mesaj

message- string-mesajul pe care il primim

Descriere

Descrierea modului in care functioneaza interfata

Ex:

Operatia de comunicare se face prin intermediul unei noi ferestre in care vor aparea mesajele primite si trimise.

5.1.5. Interfata modul 5

Nume

Delogare  (vezi 3.1.5)

Tip

(vezi 3.1.5)

Scop

(vezi 3.1.5)

Mod de operare

(vezi 3.1.5)

Interfata 2

Descriere

Ex: LogOut(user)

Intrari

Ex:

user: string - numele utilizatorului

Iesiri

Descriere

Descrierea modului in care functioneaza interfata

Ex:

Serverul este instiinta de faptul ca userul s-a delogat.

6. Proiectare detaliata

Acest capitol corespunde capitolului 6.2.3, Interface description, din [1].

6.1. Proiectare detaliata module

Se descriu pe larg modulele descrise in capitolul 3.1. Diagramele detaliate sunt recomandate.

6.1.1. Modul 1

Nume

Nume modul 1 (vezi 3.1.1)

Tip

(vezi 3.1.1)

Scop

(vezi 3.1.1)

Mod de operare

(vezi 3.1.1)

Clase

Identificarea claselor componente

6.1.1.1. Modul 1, clasa 1

Nume

Nume clasa 1

Scop

Descrierea scopului acestei clase in cadrul modulului

Membri

Identificarea campurilor din cadrul clasei

Metode

Identificarea metodelor componente

Diagrama clasei (vezi class diagrams din documentul de specificare a cerintelor).

6.1.1.1.1. Modul 1, clasa 1, metoda 1

Nume

Nume metoda 1

Scop

Descrierea scopului acestei metode in cadrul clasei

Prototip

Descrierea prototipului acestei metode

Intrari

Descrierea intrarilor acestei metode

Iesiri

Descrierea iesirilor acestei metode

Apelant

Rutine care apeleaza aceasta metoda.

Apeleaza

Alte rutine apelate de aceasta metoda

Algoritm

Descrierea algoritmului / procedurii de functionare.

6.1.2. Modul 2

6.2. Proiectare detaliata module de date

Se descriu pe larg modulele de date descrise in capitolul 3.3. Diagramele detaliate sunt recomandate.

6.2.1. Modul de date 1

6.2.2. Modul de date 2

Anexe

A1. Diagrame cazuri de utilizare (use cases diagrams)

A2. Diagrame clase (class diagrams)

Client

+ nume : String

+ portAscultare: int

+ socket ascultare : socket

+ socket server : socket

+ lista prieteni : Client[]

- trimite (Mesaj, entitate)

- primeste (entitate)

- createAccount (userName: String, pass: String)

- login (userName:String, pass:String)

- addFriend (user:Client)

- deleteFriend (user:Client)

- logout (userName:String)

- comunica (user:Client)

Server

+ portAscultare: int

+ socket ascultare : socket

+ lista useri : Client[]

+ lista prieteni: Client[][]

- trateazaAuth (userName: String, pass: String)

- trateazaCreareCont (userName: String, pass: String)

- trateazaDelogareClient (userName: String)

- trateazaLogin (userName: String, pass: String)

- addFriendForUser (user: Client, userFriend: Client)

- delFriendFromUser (user: Client, userFriend: Client)

- updateListaPrieteni (user: Client)

A3. Diagrame de secvente de utilizare (sequence diagrams)


Document Info


Accesari: 3175
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )