Ciclul de viață al unui proiect Tematica modelul cascadă; modelul V; fazele proiectarii unei baze de date. PBD –curs- Ionescu Augustin-Iulian.
Download ReportTranscript Ciclul de viață al unui proiect Tematica modelul cascadă; modelul V; fazele proiectarii unei baze de date. PBD –curs- Ionescu Augustin-Iulian.
1 Ciclul de viață al unui proiect Tematica modelul cascadă; modelul V; fazele proiectarii unei baze de date. 2010 PBD –curs- Ionescu Augustin-Iulian 3 Modelul cascadă Actualizare cerinte Analiza cerintelor verificare verificare specificatii verificare proiectare verificare implementare testare integrare testare Fig. 2.1 2010 mentenanta PBD –curs- Ionescu Augustin-Iulian 4 Modelul cascadă analiza cerințelor: formularea obiectivelor proiectului; identificarea restricțiilor specifice problemei rezolvate; financiare; legale; sociale. formularea specificațiilor: elaborarea unui document ȋn care sunt precizate riguros funcțiile produsului. proiectarea produsului: proiectarea structurilor de date; arhitectura software ȋn concordanță cu arhitectura SI; detalierea algoritmilor; proiectarea interfețelor; determinarea cerințelor hardware; alegerea tehnologiilor de implementare. 2010 PBD –curs- Ionescu Augustin-Iulian 5 Modelul cascadă implementarea şi testarea: implementarea structurilor/bazelor de date; scrierea codului; testarea fiecărui modul pentru identificarea erorilor şi a nivelului ȋn care acesta corespunde specificațiilor. integrarea şi testarea de sistem: se testeaza interacțiunea dintre componente; se verifică concordanța ȋntre funcțiile realizate de produs şi cerințele impuse; se validează produsul din punctul de vedere al executantului; se trimite produsul la beneficiar pentru testele de acceptanță; se trece la ȋncărcarea bazelor de date; se trece la exploatarea ȋn condiții reale. mentenanța: de ȋntreținere; de adaptare. de dezvoltare. 2010 PBD –curs- Ionescu Augustin-Iulian 6 Modelul cascadă –avantaje şi dezavantaje Avantaje: Testarea este obligatorie in fiecare fază a modelului; Este impusă o abordare sistematică a proiectării şi utilizării; Este orientată pe documentație ȋn sensul că fiecare fază implică generarea unor documente specifice. Dezavantaje: Format rigid; Modificările pe durata dezvoltării proiectului pot genera confuzii; Colaborarea cu utilizatorul este plasată numai după terminarea codificării ceea ce poate crea probleme datorită necesității reformulării unor cerințe sau introducerii unor cerințe noi. Testarea nu este pregatită din timp pentru fiecare fază ceea ce poate conduce la creşterea timpului de dare ȋn folosință. 2010 PBD –curs- Ionescu Augustin-Iulian 7 Modelul V Definirea cerintelor Test de acceptare Proiectarea functionala Testarea sistemului Proiectarea tehnica Testarea pentru integrare Specificare componente Testarea componentelor Generare cod Fig. 2.2 2010 PBD –curs- Ionescu Augustin-Iulian 8 Modelul V - avantaje testarea nu mai este doar o fază cu care se ȋncheie codarea ci devine o componentă integrată a ciclului de viață al proiectului; planificarea testării ȋncepe cu faza de analiză a cerințelor şi continuă pe ȋntreaga durată a ciclului de viață; pregătirea testării la nivelul unei faze poate fi pregatită ȋncă din faza analizei cerințelor, ȋn paralel cu desfăşurarea altor faze, ceea ce scurtează timpul de dare ȋn folosință a produsului. 2010 PBD –curs- Ionescu Augustin-Iulian 9 Ciclul de viață al unei baze de date Din considerente metodologice, ȋn literatura de specialitate se prezintă diverse modele bazate pe modelul ȋn cascadă. Un astfel de model pentru baze de date tranzacționale este cel prezentat ȋn figura următoare; În realitate activitățile de la diverse nivele se intrepătrund pentru a reduce timpul de dare ȋn folosință; Testarea se realizează pe parcursul ȋntregului ciclu de viață ca şi ȋn cazul modelului V. 2010 PBD –curs- Ionescu Augustin-Iulian 10 Ciclul de viață al unei baze de date Studiul de fezabilitate Proiectarea conceptuala Proiectarea logica Proiectarea fizica Implementarea Testarea si darea in folsinta mentenanta Fig. 2.3 2010 PBD –curs- Ionescu Augustin-Iulian 11 Studiul de fezabilitate Cui se adresează. Ce aplicaţii se au în vedere. Ce informații solicită beneficiarul pentru diverse aplicații. Ce există deja: baze de date; aplicaţii; echipamente; licenţe; oameni. Priorităţi. Ce date va conţine. Necesitatea compatibilității cu alte sisteme utilizate ȋn organizație. Nivele de securitate a datelor. Ce soluţii se propun. Durata estimată a proiectării/implementării. Preţul de cost estimat. 2010 PBD –curs- Ionescu Augustin-Iulian 12 Studiul de fezabilitate Se bazează pe: Dialogul direct cu beneficiarul; Studiul sistemului informatic existent; Studiul documentelor primare; Studiul legislaţiei şi normelor; Experienţa echipei de proiectare; Studiul pieţii. Este necesar ca dialogul cu beneficiarul şi utilizatorii să fie riguros pregatit şi să se desfăşoare pe baza unor chestionare bine documentate, ȋn mai multe etape. Trebuie incluse toate categoriile de utilizatori. De obicei cele mai valoroase informații sunt obținute nu de la şefi ci de la cei care lucrează direct cu datele. Are ca rezultat un caiet de sarcini sau un document numit specificații de proiect. Acestea sunt documente oficiale pe baza cărora se estimează la sfârşit ȋn ce măsură proiectantul şi-a ȋndeplinit sarcinile. 2010 PBD –curs- Ionescu Augustin-Iulian 13 Specificațiile de proiect trebuie să conțină cel puțin: obiectivele proiectului; datele cuprinse ȋn baza de date; legăturile ȋntre date. semantica datelor; restricțiile impuse datelor: restricții semantice; restricții de acces la date; formate de reprezentare; restricții temporare critice; sistemul de operare disponibil sau care va fi achiziționat; sistemul de gestiune a bazelor de date; arhitectura SI (Fig. 2.4); caracteristicile serverului/serverelor de date; nivele de securitate a datelor; posibilitatea importului de date din baze de date mai vechi; categoriile de utilizatori; drepturile de acces la date pentru fiecare categorie; nivelul de pregătire informatică minimă a utilizatorilor; timpul maxim disponibil pentru darea ȋn folosință; fondurile disponibile; cheltuielile minime estimate; strategia de etapizare a dezvoltării. 2010 PBD –curs- Ionescu Augustin-Iulian 14 Propunere arhitectură pentru SI - ACE absolventi Cadre didactice Elevi liceu Restul lumii rectorat studenti studenti internet decanat sindicat Administrator camin 10 intranet cat1 DB BD11 DBA 1 DB BD12 ... DB BD14 Cat 5 DB BD13 BD1 DW DBA 2 DBA3 DB 1 – baza de date pentru activitate curentǎ cu studenții și personalul facultǎții; DB 2 – baza de date pentru absolvenți; DB 3 – baza de date pentru probleme administrative; DB 4 – baza de date cǎmin; DW – datawarehouse Fig. 2.4 2010 PBD –curs- Ionescu Augustin-Iulian 15 Proiectarea conceptuală Presupune trecerea de la prezentarea informală la reprezentarea formală a structurii bazei de date la nivel global: Proiectare top-down - se porneşte de la descrierea verbală a bazei de date, se identifică elementele fundamentale şi legăturile dintre acestea; Proiectarea bottom-up - se utilizează modele ale unor părţi ale bazei de date şi se integrează într-o bază de date unică. Rezultă un model conceptual. Se utilizează pentru proiectarea logică; dialogul cu beneficiarii; reproiectarea bazei de date. Observație! Modelul conceptual este frecvent înglobat în caietul de sarcini. 2010 PBD –curs- Ionescu Augustin-Iulian 16 Proiectarea conceptuală – model minimal tblLucrari Stiintifice tblPublicatii tblArticole tblManifestari Stiintifice tblAutoriLucrari tblEdituri tblAutoriArticole tblSituatiiSpeciale tblCarti tblAutori tblTara tblConectare tblAdresePersoane tblDoctorate tblCursuriSpecializare tblJoburi tblCompetente tblTelefoane tblLimbiStraine tblDistricte tblFacultate tblFacultatiAbsolvite tblPersoane tblLicee tblStudiiParalele tblStudenti tblMasteranzi tblDoctoranzi tblCadreDidactice tblColaboratori tblPersonalColateral tblFacultate tblDomenii tblSpecializari tblOptiuni tblCatedre tblDiscipline tblDistribuire tblExameneLicenta tblExameneMast tblPosturi tblMaterialeInternet tblRepartizarePosturi tblCadreDidactice tblCategorii 2010 tblGradeDidactice tblFunctiiBaza Fig. 2.5 tblTitluStiintific PBD –curs- Ionescu Augustin-Iulian 17 Proiectarea conceptuală – model minimal vwCatedreACEactuale tblCatedre vwCadreDidactice tblPersoane tblGradeDidactice tblCategorii tblCadreDidactice tblFacultati tblTitluStiintific tblFunctiiBaza vwCadreDidacticeACE vWCatedreACEactuale tblNoteLicenta tblRepartizarePosturi vwCadreDidactice vwPlanificareExamene tblPosturi tblNoteLicenta vwStudentiLicenta vwStudentiLicenta tblPersoane tblFacultati tblStudenti tblSpecializari tblDomenii tblOptiuni vwPlanificareExamene tblDiscipline tblExameneLicenta vwStructuraPost tblSpecializari tblDistribuire tblAlteActivitati tblDiscipline tblPosturi vwMasteranzi tblPersoane tblMasteranzi 2010 tblFacultati Fig. 2.6 tblSpecializari tblDomenii tblOptiuni PBD –curs- Ionescu Augustin-Iulian 18 Proiectarea logică Se alege un SGBD concret. Presupune: trecerea, fără pierdere de informaţie, de la un model conceptual la un model implementabil al bazei de date (vom considera ȋn continuare modelul relaţional); normalizarea relaţiilor; fragmentarea relaţiilor; optimizarea structurii logice; proiectarea declanşatoarelor (triggere); proiectarea vederilor; scrierea scripturilor pentru crearea tabelelor, vederilor, triggerelor, procedurilor stocate şi a funcțiilor de utilizator. Observație! Pentru cazurile mai simple se poate trece direct de la modelul conceptual la scrierea scripturilor pentru crearea obiectelor bazei de date. 2. Pentru majoritatea SGBD moderne există programe speciale de proiectare asistată de caculator, care permit editarea modelului conceptual şi generarea automată a codului DDL. 1. 2010 PBD –curs- Ionescu Augustin-Iulian 19 Proiectare fizică Presupune: Alocarea de spaţiu în memoria secundară; Proiectarea indecşilor. Observație! Crearea bazei de date nu implică popularea tabelelor cu date. 2010 PBD –curs- Ionescu Augustin-Iulian 20 Implementarea Presupune: Crearea structurilor de date pe disc; Implementarea restricţiilor; Implementarea procedurilor stocate; Implementarea funcţiilor de utilizator; Implementarea strategiilor de protecţie şi securitate a datelor: Precizarea strategiilor de recuperare a datelor în caz de căderi nedistructive; Precizarea strategiei de realizare a cópiilor de siguranţă; Definirea utilizatorilor; Alocarea de drepturi utilizatorilor. Încărcarea datelor. Observație! În cazul unor baze de date mari şi foarte mari, se poate crea iniţial o bază de date pilot pe care se realizează testele cu date special alese şi numai după validarea acestora se trece la realizarea bazei de date propriuzise. 2010 PBD –curs- Ionescu Augustin-Iulian 21 Testarea şi darea ȋn folosință Obiective: Depistarea unor erori de proiectare/implementare; Stabilirea eficienţei de realizare a unor operaţii tipice asupra bazei de date; Stabilirea performantelor ȋn condiții critice (testarea la stres); Testarea posibilităților de penetrare a sitemului. Se proiectează un protocol de testare pentru fiecare componentă a bazei de date; Se recomandă utilizarea unor date de test; Se testează obligatoriu validarea datelor prin introducerea unor date eronate; Se testează baza de date în condiţii cât mai apropiate de cele specifice exploatării; Se testeaza aplicaţiile dezvoltate asupra bazei de date; Se testeaza capacitatea beneficiarului de a utiliza baza de date; Se remediază toate anomaliile semnalate. Se predă beneficiarului baza de date şi se trece la exploatarea acesteia. Observație! Pentru a scurta timpul de dare ȋn folosință, pregatirea testelor finale se poate desfăşora ȋn paralel cu celelalte etape (ca la modelul V). 2010 PBD –curs- Ionescu Augustin-Iulian 22 Mentenanță Are ca scop eliminarea tuturor anomaliilor ce se semnalează în timpul exploatării bazei de date şi adaptarea acesteia noilor cerinţe. Pot fi puse în evidenţă trei tipuri de mentenanţă: Mentenanţa corectivă; Mentenanţa adaptivă; Mentenanţa perfectivă. Observație! Dacă preţul mentenanţei creşte foarte mult, se poate pune problema reproiectării bazei de date şi/sau a aplicaţiilor. 2010 PBD –curs- Ionescu Augustin-Iulian 23 Ciclul de viață al bazelor de date relaționale Stabilirea cerintelor informationale Determinarea cerintelor vedere multipla Modelare conceptuala Integrarea vederilor vedere unica Transformarea in tabele Normalizare Proiectarea logica Proiectarea fizica Selectare indecsi restrictii speciale denormalizare implementare implementare altfel altfel mentenanta renuntare 2010 PBD –curs- Ionescu Augustin-Iulian 24 2010 PBD –curs- Ionescu Augustin-Iulian 25