Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Instrumente folosite in modelarea sistemelor soft



Instrumente folosite in modelarea sistemelor soft


Instrumente folosite in modelarea sistemelor soft


1. Tipuri de modele si instrumente

Tipuri de modele (dupa nivelul de abstractizare)

conceptual - in analiza cerintelor si analiza (modelare)

contine elemente specifice domeniului problemei

grad redus de detaliere

logic - proiectarea logica

separat de domeniul problemei



detaliaza modelele conceptuale

adauga elemente noi, specifice solutiei

fizic - proiectarea fizica, constructie

detalii constructive

cod sursa


Tipuri de modele (dupa continut)

de arhitectura

componente, interactiuni, relatii

de cazuri de utilizare

actori, scenarii, functii sistem

domeniul informatiei

obiecte din domeniul problemei, atribute si relatii

functional

impactul functiilor asupra obiectelor din domeniul problemei

descompunerea functiilor sistem

descrierea functiilor si subfunctiilor

comportamental

evenimente externe, stari, tranzitii de stare

interfata cu utilizatorul

analiza sarcinilor, prototipuri de ecran

Tipuri de instrumente (pe tipuri de modele)

de arhitectura

diagrama de context de arhitectura

diagrama de componente (UML)

de cazuri de utilizare

diagrama cazurilor de utilizare (UML)

domeniul informatiei

diagrama entitate-relatie (E-R)

diagrama de clase si de obiecte (UML)

functional

diagrama de flux de date (DFD)

diagrama de descompunere a proceselor

diagrama de activitati, secventa, colaborare (UML)

comportamental

diagrama de stari (UML)


2. Diagrame entitate-relatie (E-R)

P.P. Chen, The entity-relationship model: toward a unified view of data, ACM Transactions on Database Systems 1(1976), No.1, 9-36

reprezentare detaliata si structurata a datelor din domeniul problemei

constructii  folosite (concepte, termeni)

(1) entitate

(2) relatie

(3) atribut

se reprezinta grafic prin diagrama entitate-relatie (diagrama E-R, Entity-Relationship Diagram)

foloseste notatiile E-R


2. Diagrame entitate-relatie (E-R) (cont)

(1) Entitati

persoane, locuri, obiecte, evenimente, concepte din mediul utilizatorului pentru care organizatia doreste sa detina date

exemple:

persoana; ANGAJAT, STUDENT, PACIENT

loc: STAT, REGIUNE, TARA

obiect: MASINA, CLADIRE, AUTOMOBIL

eveniment: VANZARE, INREGISTRARE, SCHIMBARE

concept: CONT BANCAR, CURS UNIVERSITAR, CENTRU DE PRELUCRARE

  • tip de entitate (clasa de entitate)
    • grupeaza toate entitatile care au proprietati sau caracteristici comune
    • se exprima printr-un substantiv la singular (scris cu majuscule)
  • instanta de entitate (realizare a entitatii)
    • aparitie singulara a entitatii

(2) Atribute

proprietate sau caracteristica a unui tip de entitate care prezinta interes

este memorata in fiecare instanta a tipului de entitate respective

toate instantele unui tip de entitate E au aceleasi atribute

valorile unui atribut difera de la o instanta a lui E la alta

exemple de tipuri de entitati si atribute:

STUDENT: NUMAR MATRICOL, NUME, ADRESA, NUMAR TELEFON

ANGAJAT: MARCA, NUME, ADRESA, CALIFICARE

TARA: DENUMIRE, CONTINENT, SUPRAFATA, POPULATIE

AUTOMOBIL: NUMAR INMATRICULARE, CULOARE, GREUTATE, PUTERE

VANZARE: DATA, CINE VINDE, CUI VINDE, VALOARE

CURS UNIVERSITAR: DENUMIRE, SPECIALIZARE, SEMESTRU, PROFESOR, NUMAR ORE PE SAPTAMANA, FORMA DE EXAMINARE


Clasificarea atributelor unui tip de entitate

atribut cheie: identifica o instanta a entitatii

cheie simpla - un singur atribut

cheie compusa - un grup de atribute

atribut non-cheie

Tipuri de atribute cheie

cheie candidat: identifica unic o instanta a entitatii

o entitate poate avea mai multe chei candidat

cheie primara: cheia candidat ca identificator pentru tipul de entitate

atributele ce formeaza cheia primara sunt subliniate in diagrama E-R

cheie surogat: atribut artificial pe post de cheie primara

Stabilirea cheii primare CP a unei entitati E (Bruce, 1992)

(i) cheia candidat a lui E care nu-si modifica valoarea pe toata durata de viata a oricarei instante

(ii) pentru orice instanta a lui E, atributele lui CP au valori valide si non-nule

(iii) daca CP are prea multe atribute, se inlocuieste cu o cheie surogat

(iv) nu folosi chei "inteligente" (clasificare, localizare, structurare)




2. Diagrame entitate-relatie (E-R) (cont)

Gradul unei relatii

numarul de tipuri de entitati care participa in relatie

clasificarea relatiilor dupa gradul lor:

unare sau recursive (de gradul 1)

binare (de gradul 2)

ternare (de gradul 3)

Cardinalitatea unei relatii

de la entitatea A la entitatea B: numarul de instante ale entitatii B asociate unei instante a entitatii A

de la entitatea B la entitatea A: numarul de instante ale entitatii A asociate unei instante a entitatii B

Relatii unare



3. Diagrame de flux de date (DFD)

reprezentare schematica a proceselor complexe intr-o forma cat mai abstracta

instrument de modelare a proceselor care ilustreaza fluxul de date in sistem si prelucrarile efectuate de acesta

Sinonime:

bubble chart

transformation graph

process model

DFD este abstracta

nu ia in considerare aspectele de implementare

suportul pe care sunt memorate datele

mijloacele si mediile de comunicatie

calculatoarele pe care se fac prelucrarile

introduse de metodele analiza si proiectare structurata:

De Marco, Yourdon, Constantine

Gane, Sarson



(1) Procesul (transformarea, prelucrarea)

actiunea sau prelucrarea efectuata asupra fluxurilor de date de intrare pentru a produce fluxuri de date de iesire

cine face actiunea:

oameni

masini

departamente

calculatoare

notatie

De Marco/Yourdon: elipsa, cerc

Gane, Sarson: dreptunghi cu colturi rotunjite

numele procesului

scheme de numerotare


(2) Fluxul de date

desemneaza:

datele ce intra intr-un proces (intrarile)

datele care sunt produse de un proces (iesirile)

actualizarile intr-un depozit de date

se reprezinta printr-o linie continua ce leaga un proces cu un alt simbol din DFD

linia este etichetata si are o directie (sageata)

eticheta indica ce informatie se transporta (ce reprezinta fluxul de date)

sageata indica sensul propagarii informatiei

Fluxul de control

desemneaza

evenimentele produse de procese sau entitati care influenteaza comportamentul altor procese sau entitati

se reprezinta printr-o linie intrerupta ce leaga un proces cu un alt simbol din DFD

are aceleasi caracteristici ca si fluxul de date (eticheta, orientare)


(3) Entitate externa

defineste frontiera sistemului supus modelarii

produce date de intrare in sistem

foloseste date produse de sistem

sinonime

agent

sursa, destinatie

se reprezinta sub forma de dreptunghiuri (patrate)

numele entitatii (substantiv la singular)

fiecare flux de date se ilustreaza separat

daca aceeasi entitate apare de mai multe ori in diagrama, se marcheaza coltul din dreapta jos (paralela la diagonala secundara)

numerotare Xm, m indice (deasupra numelui)


(4) Depozit de date

descrie entitatile despre care sistemul trebuie sa inmagazineze date

contine toate realizarile (instantele) unei entitati

exemple de categorii de depozite de date

roluri: clienti, furnizori, angajati, studenti, profesori;

obiecte: produse, subansamble, carti;

locatii: magazii, cladiri, depozite;

evenimente: comenzi, note, cursuri.

se reprezinta prin

dreptunghi deschis la ambele capete (notatia Yourdon/De Marco)

dreptunghi inchis la un capat (notatia Gane/Sarson, uneori si Yourdon/De Marco)

nume

eticheta (notatia Gane/Sarson)

daca acelasi depozit de date apare de mai multe ori in diagrama, capatul inchis este cu line dubla o paralela la acesta


Deosebirea dintre DFD si schemele logice

paralelismul

scheme logice: prelucrari secventiale

DFD: procesele se pot executa in paralel

ce exprima

schema logica: numai prelucrari (structuri secventiale, alternative, repetitive)

DFD: modul de propagare a datelor din sistem  + prelucrarea acestora

frecventa prelucrarilor

schema logica: exprima un proces de calcul

DFD: fiecare proces are frecventa proprie de prelucrare (zilnic, saptamanal, decadal, lunar, trimestrial, semestrial, anual)


Reguli privind trasarea DFD

fiecare proces trebuie sa aiba cel putin o intrare si cel putin o iesire

daca procesul are numai o intrare si numai o iesire, s-ar putea ca el sa fie critic (si se pune intrebarea: nu s-ar putea combina cu alt proces?)

cel putin un capat al fiecarui flux de date trebuie conectat la un proces

celalalt capat poate fi conectat la

un proces

un depozit de date

o entitate externa

fiecare depozit de date trebuie sa aiba cel putin un flux de date de intrare si unul de iesire

daca depozitul are numai o intrare si numai o iesire, trebuie analizat cu atentie, pentru a vedea daca depozitul de date este o cerinta functionala sau numai un depozit temporar care nu este necesar conceptual.


Detalierea DFD

notatia De Marco/Yourdon

maximum 7 procese intr-o DFD

atatea nivele de detaliere cate sunt necesare

notatia Gane, Sarson

doua nivele de detaliere (leveling):

DFD pe nivelul 0, care contine procesele si fluxurile de date esentiale (de nivel inalt)

pentru descrierea completa a unui astfel de proces este nevoie de zeci sau sute de pagini de text

DFD pe nivelul 1, pentru acele procese a caror descriere depaseste un anumit numar de pagini (intre 5 si 10)

se expandeaza doar cutia procesului, fara a se lua in considerare procesele, depozitele de date sau entitatile externe - apar astfel fluxuri de date cu un capat liber

daca fluxul de date n-a fost etichetat pe nivelul anterior, el trebuie etichetat obligatoriu pe nivelul curent de detaliere


Procese esentiale

acele procese care reprezinta actiuni care trebuie efectuate indiferent de modul in care se implementeaza sistemul

sunt efectuate

manual (de oameni)

mecanizat (de diverse masini, dispozitive, roboti)

automat (de calculator)

clasificare dupa scop (ce fac):

efectuarea de calcule (calculul salarului, calculul mediei de absolvire, etc)

luarea de decizii (stabilirea bursei unui student pe baza mediei si a situatiei materiale, stabilirea statutului de promovare a unui concurs, stabilirea drepturilor de bursa)

descompunerea fluxurilor de date complexe in fluxuri mai simple (separarea corespondentei primite de universitate pe facultati, dispecerarea apelurilor la o statie de salvare, etc)

combinarea fluxuri de date mai simple intr-un singur flux mai complex (combinarea fluxurilor de date despre discipline, profesori, grupe de studenti si sali pentru a construi orarul)

filtrarea sau efectuarea de calcule statistice asupra fluxurilor de date pentru a obtine alte fluxuri de date (selectarea studentilor care au ales un anumit curs optional in vederea stabilirii grupelor; numararea optiunilor studentilor pentru a vedea care cursuri sunt cele mai putin solicitate)

clasificare dupa nivelul de detaliere

procese sistem (nivelul 0)

subsisteme sau functii majore (nivelul 1)

functii (nivelul 2)

procese (urmatoarele nivele de detaliere)

procese primitive (cele de pe ultimul nivel de detaliere)

procesele de pe primele doua nivele

sunt numite si procese generale

se noteaza printr-o clauza substantivala (sistemul de marketing, sistemul financiar-contabil, sistemul evidenta studentilor)

procesele de pe celelalte nivele

se mai numesc si procese detaliate

numele lor incepe cu un verb (valideaza creditul clientului, citeste adresa studentului, verifica existenta produsului in stoc, actualizeaza stocul, creeaza o factura noua, actualizeaza notele)


Clasificarea DFD dupa nivelul de detaliere a proceselor

DFD de nivel inalt (nivelele 0 si 1)

DFD de nivel mediu (nivelul 2 si urmatoarele)

DFD de nivel jos (contin numai procese primitive)

Numerotarea proceselor - scheme de numerotare

trebuie sa

respecte ordinea logica in care se desfasoara

ilustreze descompunerea proceselor in subprocese

schema de numerotare

procesul radacina (procesul sistem) se numeroteaza cu 0

descompunerea procesului sistem: subsistemele (functiile majore) 1, 2, ., n

descompunerea unui subsistem i netrivial in functiile i.1, i.2, , i.m

descompunerea unei functii i.j netriviale in procesele i.j.1, i.j.2, , i.j.q

procesele primitive (care nu se mai descompun) au sufixul 'p'.


Analizarea proceselor dupa trasarea DFD

se pot descoperi erori in identificarea proceselor:

procese care au numai fluxuri de date de intrare

gauri negre, black holes

procese care au numai fluxuri de date de iesire

miracole, miracle

procese care au prea putine fluxuri de intrare pentru a produce iesirea specificata

gauri gri, gray holes

cele mai frecvente si mai greu de detectat

aceste situatii impun reanalizarea proceselor in cauza


Fluxuri de date

trebuie sa ilustreze minimul de date esentiale de care are nevoie un proces sau pe care acesta le produce

cerinta de minimalitate are ca scop reducerea cuplarii intre procese, adica reducerea efortului de intretinere

numele fluxului de date

contine substantive descriptive

trebuie sa fie unic intr-o DFD (cu exceptia fluxurilor spre sau dinspre depozitele de date)

se pot folosi adjective sau adverbe pentru a califica mai exact substantivele respective

Factura de la client

Dispozitie de incasare

Catalog de note

Catalog de note de la examenul de restanta


Fluxuri de date

categorii de fluxuri de date dupa nivelul de detaliere al DFD

fluxuri de date compuse

sunt proprii DFD de nivel inalt

sunt formate din mai multe fluxuri de date primitive

exemplu: COMANDA (acest flux de date se va descompune ulterior in COMANDA OBISNUITA, COMANDA SPECIALA, COMANDA AMANATA)

fluxuri de date primitive

apar in DFD de nivel mediu si jos

sunt formate din atribute de date bine precizate, care se transporta (propaga) impreuna, intr-un singur pachet

corespund de regula unui document bine precizat (de intrare sau de iesire):

dispozitie de plata

chitanta

cerere de inscriere la admitere.


Entitati externe

stabilesc frontiera, marginile sistemului studiat

adjectivul extern se refera la sistemul studiat, nu la organizatia tinta (mediul) in care acesta functioneaza

exemple

subdiviziune administrativa a organizatiei tinta (departament, divizie, sector, serviciu, birou) care ofera intrari in sistem si/sau primesc iesiri din sistem

alte organizatii externe: agentii guvernamentale si non-guvernamentale, persoane din afara organizatiei tinta care ofera intrari in sistem si/sau primesc iesiri din sistem (clienti, furnizori, banci, firme de audit, bursa, organe tutelare)

alt sistem din organizatie, nu neaparat informatic, care este separat de sistemul supus modelarii insa interactioneaza cu acesta

se mai numesc si agenti interni (organizatiei)

trebuie luate in considerare numai daca daca sistemul tinta comunica cu procesele din agentul intern

daca comunica numai cu datele, atunci nu se ia in considerare, ci se considera numai depozitele de date cu care se comunica

utilizator al sistemului sau conducator (sef, manager)

utilizatorul/managerul este o sursa de date pentru sistem si/sau destinatie pentru iesirile acestuia.


Depozite de date

contin date esentiale, reutilizabile, persistente care sunt colectate, memorate, regasite si actualizate de sistemul tinta

variante de abordare a modelarii in analiza cerintelor

(I) modelarea proceselor se face dupa modelarea datelor (recomandata)

identificarea depozitelor de date este simpla: fiecarui tip de entitate din diagrama E-R ii va corespunde un depozit de date

(II) modelarea proceselor inainte de modelarea datelor (nerecomandata)

(a) identificarea implementarilor existente de depozite de date (fisiere, BD, cartoteci, cataloage, registre) si

(b) redenumirea depozitelor pentru a reflecta datele care le contin

intr-o DFD, numai procesele se pot conecta cu depozitele de date

datele din depozitele de date D nu se folosesc si nu se actualizeaza decat prin intermediul proceselor P


Depozite de date

conventii particulare de notare pentru fluxurile de date spre/dinspre depozitele de date

D -> P

P foloseste datele din D (citirea este implicita)

numele fluxului de date

trebuie sa reflecte ce date se folosesc din D

poate sa fie chiar numele lui D (daca se folosesc toate atributele din D)

P -> D

P actualizeaza D

adaugare de instante noi: mai bine "D nou" in loc de "adauga D"

CLIENT nou STUDENT nou

modificare de instante existente: mai bine "D modificat" in loc de "modifica D"

CLIENT modificat, STUDENT modificat

stergere de instante existente: mai bine "D sters" in loc de "sterge D"

CLIENT sters, STUDENT sters

P utilizeaza D (utilizeaza = foloseste + actualizeaza)


Instrumente folosite in abordarile

structurate: DFD, diagrama ierarhica

obiectuale: diagrame de activitati

Unde se face modelarea proceselor si a fluxurilor

analiza cerintelor

modelul de context al organizatiei - diagrama de context

DFD cu un proces, entitati externe, fluxuri de date compuse

modelul de procese al organizatiei: diagrama ierarhica

descompune activitatea organizatiei in subsisteme si functii majore

modelul de procese al ariei de activitate

DFD mai detaliata: entitati externe, procese, depozite de date, fluxuri de date

modelarea in analiza

modelul contextului aplicatiei - diagrama de context

DFD cu un proces, entitati externe, fluxuri de date compuse, modelul de date

diagrama de descompunere a proceselor

primul nivel de descompunere a sistemului studiat in subsisteme si functii

modelul esential al prelucrarilor

ierarhie de DFD rezultate din modelul contextual urmand descompunerea

proiectare

implementare



Enuntul problemei

Firma TOTALCOM S.R.L are ca domeniu de activitate comertul en-gros cu produse. Se cere realizarea unui sistem de gestiune a comenzilor de la clienti, expeditie si facturare.

Descrierea sistemului

Aplicatia de gestiune a comenzilor, expeditie si facturare (numita pe scurt aplicatia COMENZI) trebuie sa gestioneze comenzile de produse emise de clienti. Fiecare comanda contine produsele cerute de client si cantitatea care trebuie livrata din fiecare produs. Pretul produsului se stabileste la prelucrarea comenzii, prin consultarea nomenclatorului de produse, iar disponibilitatea produsului in magazie prin consultarea fisierului de stocuri. Daca produsul este disponibil, se rezerva cantitatea ceruta in comanda si comanda se pastreaza pentru prelucrarile ulterioare (expediere si facturare) intr-un fisier de comenzi ordinare. Daca produsul nu este disponibil, se creeaza o comanda in asteptare. Comenzile in asteptare sunt consultate periodic, iar cand produsele continute in ele exista in magazie ele sunt transformate inapoi in comenzi ordinare. Din fisierul de comenzi ordinare se preiau loturi de comenzi si acestea se planifica pentru expeditie, folosindu-se informatiile despre masinile disponibile si rutele geografice spre clienti oferite de departamentul Transporturi. Pentru fiecare lot de comenzi se pregatesc liste de magazie, care permit muncitorilor ca dintr-o singura parcurgere a magaziei sa ia toate produsele de un anumit tip care se incarca intr-un camion. Livrarile efectuate, ca si produsele negasite se noteaza pe listele de magazie, care se folosesc pe urma la actualizarea stocului de produse din magazie. Dupa ce s-au luat din magazie toate produsele pentru o ruta si s-au incarcat in camionul aferent, se completeaza avizele de expeditie (care cuprinde produsele care se livreaza la fiecare client). Ajunse la client, acesta face receptia produselor livrate si noteaza toate neconcordantele pe avizul de expeditie, care este folosit ulterior pentru elaborarea facturii pentru produsele receptionate de catre client si pentru actualizarea conturilor de incasari.







Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright