Proiect "My Project"
Solution design document
Aici se prezinta sistemul in ansamblu. Foarte high level. Arhitectura de mai jos este de la un proiect foarte complex.
Nu e necesar (si nici recomandat) sa se respecte chiar notatiile din exemplul de mai jos. El e dat numai pentru a vedea 'nivelul' la care se discuta (ex: acest sistem are 10-15 servere in spate).
Acest nivel de prezentare este foarte necesar mai ales atunci cand sunt mai multe echipe / companii ce lucreaza impreuna la o solutie.
Figura - Macro-arhitectura proiect
Aici se prezinta vizual modulele principale ale aplicatiei. Modulele pot fi aplicatii, procese, componente majore ale unei aplicatii. etc.
Iata cateva exemple:
Figura - Interactiune componente captura scanare
Figura - Flux procesare captura scanare
Aici se precizeaza ce componente si produse third-party sunt necesare. Pornind de la sistemele de operare pana la royalty-urile / tehnologiile ce trebuie incluse. Explicitand versiunile (pana la cea minora).
Modulul de captura scanare va utiliza urmatoarele componente software:
ABBYY Finereader 7.1
numar nelimitat de pagini
modul import/export PDF
Diverse 'considerente tehnice' de interes pentru echipa de dezvoltare (in plus fata de cele de mai sus).
Modulul de captura scanare va fi implementat folosind urmatoarele componente de dezvoltare software:
Microsoft Visual Studio v6.0 SP1
IBM DB2 Information Integrator for Content v8.3 FP4
IBM DB2 Runtime Client v8.2 FP7
Baza de date "STARCAPT" utilizata de catre modulul de captura va avea suport UNICODE.
Caz de utilizare = o descriere a une actiuni
realizata de utilizator SAU de catre sistem prin care se realizeaza o functiune
semnificativa a sistemului.
Alte definitii alternative:
- The specification of tests that are conducted from the end-user perspective.
Use cases tend to focus on operating software as an end-user would conduct
their day-to-day activities
- https://en.wikipedia.org/wiki/Use_case
Includeti o reprezentare vizuala a listei de use-case-uri si a relatiilor de 'dependenta' dintre ele (ex. pot sa fac use-case-ul X numai dupa ce l-am facut pe Y).
Figura - Diagrama cazuri de utilizare (UseCase model)
Pentru a defini use-case-urile, in primul rand trebuie sa definiti actorii. Un actor este un tip de utilizator ce realizeaza o operatie.Tipurile de utilizatori sunt cel putin rolurile predefinite in aplicatie. Atentie ca un utilizator poate avea roluri diferite in aceeasi aplicatie, de multe ori in contextul datelor existente. De exemplu, pot sa am 2 roluri definite: 'creator' si 'cititor', dar sa existe si conceptul de 'autor' al unui document, ca fiind 'creatorul' ce a generat acel document. SI care se poate schimba in timp (Ex. un 'autor' poate sa spuna ca altcineva este autorul documentului, care nu este neaparat un alt creator). Si daca permisiunile sunt cumva date si de calitatea de 'autor' atunci clar un actor posibil este si 'autorul' (in plus fata de 'creator' si 'cititor').
Actori identificati
Nr |
Codificare actor |
Denumirea actorului |
Descriere activitati |
SCN_A_001 |
Operator scanare |
scaneaza materialele pe suport de hartie ajusteaza parametrii de calitate ai imaginii scanate |
|
SCN_A_002 |
Operator culegere scanare |
separa articolele OCR-izeaza materialele scanate valideaza, corecteaza si completeaza metadescriptori pentru paginile scanate monitorizeaza fondul de documente scanate si implementeaza datele de interes in fondul de culegere |
|
SCN_A_003 |
Operator stergere |
sterge documente din fondul de documente scanate sterge documente din fondul de fotografii de interes |
|
GEN_A_001 |
Explorator |
valideaza, corecteaza si completeaza metadescriptori pentru paginile scanate monitorizeaza fondul de documente scanate si implementeaza datele de interes in fondul de culegere |
Matrice de activitati
In aceasta matrice se trec activitatile (use-case-urile) impreuna cu bife asociate actorilor ce o pot efectua. E bine sa codificati simplu fiecare use-case.
Identificator |
Descriere activitate |
SCN_A_001 |
SCN_A_002 |
SCN_A_003 |
GEN_A_001 |
GEN_UC_02 |
Acceseaza sistem |
x |
x |
x |
x |
GEN_UC_04 |
Vizualizeaza document |
x |
x |
||
GEN_UC_05 |
Creeaza colectie |
x |
Cazuri de utilizare
Aici descrieti in detaliu fiecare use-case.
Hint de editare document: folositi pentru fiecare titlu de use-case un 'heading' pentru a putea genera ulterior un cuprins la document astfel incat sa navigati mai rapid prin el.
NUME USE - CASE |
|
Actor |
Listati aici toti actorii ce pot executa acest use-case |
Preconditii |
Ce lucruri trebuie indeplinite pentru a se executa acest UC (ce date trebuie sa existe, ce aplicatii trebuie sa ruleze.) |
Intrari |
Ce date de intrare trebuie introduse / trebuie sa fie disponibile |
Iesiri |
Ce date ies |
Scenarii de succes |
Ce se intampla daca actiunea se desfasoara cu succes |
Scenarii de insucces |
Ce se intampla daca actiunea nu are succes? Sau ce 'scenariu' poate duce la insuccesul operatiei. |
Pasi de desfasurare |
O descriere a pasilor ce trebuie realizati in timpul executarii acestui UC. |
Exceptii de la scenariul de baza |
Eventuale note si observatii legate de situatii de exceptie ce trebuie tratate special. |
Observatii pentru design |
Informatii ce trebuie luate in considerare la design-ul interfetei (stil text, iconite, feedback catre utilizator la actiuni) |
Intefata grafica de utilizare |
Descrierea interfetei grafice de utilizare. Captura de ecran de mock-up / prototip. |
Detalii de implementare |
Sugestii de la arhitect catre echipa de dezvoltare cu privire la modul in care ar trebui implementate functionalitatile din spate (chestii low level sau chiar simple atentionari legate de performanta - 'atentie ca sunt 100000 de inregistrari de obicei in lista X') |
Iata cateva exemple:
GEN_UC_02 - Acceseaza sistem |
|
Actor |
Toti actorii |
Preconditii |
Ø Conexiune la sistem Ø Utilizatorul este declarat in sistem si are asociate roluri si drepturi corespunzatoare Ø Nume si parola de acces in sistem |
Intrari | |
Iesiri | |
Scenarii de succes |
Utilizatorul a introdus corect parola si poate accesa sistemul |
Scenarii de insucces |
Utilizatorul a introdus gresit nume si/sau parola |
Pasi de desfasurare | |
Exceptii de la scenariul de baza | |
Observatii pentru design |
Ø Identificarea grafica a tipului sursei print-un set de icon-uri sugestive - pt. documente Ø Optiunile de interfata (tab-uri, butoane) sunt contextuale. Acestea sunt disponibile in functie de: caracteristicile obiectului deschis in interfata (tip document, colectie, set documente) rolurile si drepturile utilizatorului curent Ø Interfata contine diacritice Ø Interfata contine pe fiecare ecran informatii despre utilizatorul curent autentificat in sistem si data curenta (ora, zi, an) Ø Interfata se adapteaza la rezolutia setata pe monitorul utilizatorului si elementele de interfata se adapteaza rezolutiei cerute |
Intefata grafica de utilizare |
<Descrierea interfetei grafice de utilizare> |
Detalii de implementare |
Sugestii de la arhitect catre echipa de dezvoltare cu privire la modul in care ar trebui implementate functionalitatile din spate (chestii low level sau chiar simple atentionari legate de performanta - 'atentie ca sunt 100000 de inregistrari de obicei in lista X') |
|
GEN_UC_04 - Vizualizeaza document |
|||||||||
|
Actor |
SCN_A_002, GEN_A_001 |
||||||||
|
Preconditii |
Ø Set filtrat de documente regasit si afisat - GEN_UC_03 Pas 10 Ø Setul filtrat de documente regasit si afisat contine cel putin un document |
||||||||
|
Intrari | |||||||||
|
Iesiri |
Documentul selectat |
||||||||
|
Scenarii de succes | |||||||||
|
Scenarii de insucces | |||||||||
|
Pasi de desfasurare |
Pas |
Actor/Sistem |
Actiune |
Date implicate |
Validare date |
Consideratii de utilizare |
Comentarii |
||
|
|
SCN_A_002 GEN_A_001 |
Selecteaza document |
Document selectat | ||||||
|
Sistem |
Afiseaza documentul selectat pentru consultare |
Document selectat |
Document selectat deschis in mod read-only | ||||||
|
Sistem |
Iesire cu succes | ||||||||
|
Exceptii de la scenariul de baza | |||||||||
|
Observatii pentru design |
Ø In functie de tipul documentului deschis se afiseaza butoane/link-uri ce permit efectuarea anumitor actiuni asupra acestuia (creare nota, creare pastila, marcare document ca prelucrat etc) Ø Marcarea documentului ca prelucrat este valabila pentru toti utilizatorii care vor vedea apoi acel document. Utilizatorul trebuie sa poata sa regaseasca (in cadrul sistemului) si sa localizeze usor (in cadrul interfetei) documentele marcate ca prelucrate Ø Atributele documentului se vor afisa cu fonturi mici intr-o zona care sa incomodeze cat mai putin utilizatorul iar continutul documentului va ocupa restul suprafetei de utilizare |
||||||||
|
Intefata grafica de utilizare |
<Descrierea interfetei grafice de utilizare> |
||||||||
Detalii de implementare |
Sugestii de la arhitect catre echipa de dezvoltare cu privire la modul in care ar trebui implementate functionalitatile din spate (chestii low level sau chiar simple atentionari legate de performanta - 'atentie ca sunt 100000 de inregistrari de obicei in lista X') |
|
||||||||
|
GEN_UC_05 - Creeaza colectie |
|||||||||
|
Actor |
GEN_A_001 |
||||||||
|
Preconditii |
Ø Set filtrat de documente regasit si afisat - GEN_UC_037 Pas 10 Ø Setul filtrat de documente regasit si afisat contine cel putin un document |
||||||||
|
Intrari | |||||||||
|
Iesiri |
Colectie de documente |
||||||||
|
Scenarii de succes |
Colectia noua a fost creata cu succes GEN_UC_05_SC01 |
||||||||
|
Scenarii de insucces |
Ø Colectia noua nu a fost creata pentru ca numarul colectiilor create de utilizatorul curent depaseste limita admisa in sistem GEN_UC_05_SC02 Ø Colectia noua nu a fost creata din cauza unor erori de sistem GEN_UC_05_SC03 |
||||||||
|
Pasi de desfasurare |
Pas |
Actor/Sistem |
Actiune |
Date implicate |
Validare date |
Consideratii de utilizare |
Comentarii |
||
|
SCN_A_002 GEN_A_001 |
Apasa buton "Creare colectie" | ||||||||
|
Sistem |
Valideaza faptul ca numarul colectiilor create de catre utilizator nu depaseste limita maxima admisa in sistem |
Numar maxim de colectii admise pentru un utilizator |
Numarul maxim de colectii/utilizator se seteaza in zona de administrare | ||||||
|
SCN_A_002 GEN_A_001 |
Introduce numele colectiei |
Atribut colectie: - nume colectie - lista de utilizatori cu drept de citire colectie |
Numar maxim de caractere | ||||||
|
Sistem |
Creeaza o colectie noua continand legaturi (link-uri) la documentele componente ale setului filtrat rezultat in pasul curent de cautare |
- set filtrat de documente - nume colectie - data creare colectie | |||||||
|
Sistem |
Iesire cu succes | ||||||||
|
Exceptii de la scenariul de baza |
GEN_UC_05_SC02 |
Colectia noua nu a fost creata pentru ca numarul colectiilor create de utilizatorul curent depaseste limita admisa in sistem: Sistemul afiseaza mesaj de avertizare Iesire insucces |
|||||||
|
GEN_UC_05_SC03 |
Colectia noua nu a fost creata din cauza unor erori de sistem: Sistemul afiseaza mesaj de eroare Iesire insucces |
||||||||
|
GEN_UC_05_SC04 |
Colectia noua are acelasi nume cu o colectie existenta: Sistemul afiseaza mesaj de avertizare La continuare, se suprascrie colectia veche cu cea noua Iesire cu succes |
||||||||
|
Observatii pentru design | |||||||||
|
Intefata grafica de utilizare | |||||||||
Detalii de implementare |
Sugestii de la arhitect catre echipa de dezvoltare cu privire la modul in care ar trebui implementate functionalitatile din spate (chestii low level sau chiar simple atentionari legate de performanta - 'atentie ca sunt 100000 de inregistrari de obicei in lista X') |
|
||||||||
Diagrama entitate-relatie (la nivel fizic sau logic, depinde de abordare) cu modelul de date al solutiei (incluzand si interactia cu alte modele de date daca e cazul.
Figura - Model de date
Lista tabele
Descriere in detaliu a fiecarei 'tabele'('relatie' pentru cunoscatori) de mai sus.
Denumire |
ARTICOL |
||||
Schema |
DICTION |
||||
Descriere |
Contine valorile din proprietatea "nume"a dictionarelor |
||||
Coloane |
Nume |
Descriere |
Tip data |
Req? |
Comentarii |
ID |
Id unic articol |
INTEGER |
Da |
Generat prin sequence |
|
DENUMIRE |
Denumire articol |
VARCHAR(250) |
Nu | ||
N_DIMPL |
Data implementare |
TIMESTAMP |
Da |
Completata automat cu data curenta |
|
STATUS |
Status inregistrare |
INTEGER |
Nu |
Activ = 1, Inactiv = 0 |
|
Alte informatii |
Yeah! Facem concurs cine o scrie mai bine.
Figura - Diagrama de clase
Aici este prezentat prototipul aplicatiei. Intai la un nivel high-level ca inlantuire a interfetelor de utilizare, si apoi fiecare interfata in parte.
Figure - Inlantuirea interfetelor de utilizare (aka 'harta' interfetelor)
Urmeaza o descriere in cuvinte a inlantuirii dintre interfete (ex: din X treci in Y atunci cand.).
Apoi, ca si capturi de ecran sau mini-aplicatie urmeaza mock-up-ul efectiv:
Figura - Interfata de autentificare
Figura - Interfata de vizualizare articol ziar
Figura - Interfata modificare articol
Politica de confidentialitate |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |