You are on page 1of 29

Dizajni Arkitektural

Objektivat

 Njohja me dizajnin arkitetkural dhe diskutimi i


rendesise se tij
 Shpjegimi i vendimeve te dizajnit arkitektural qe
duhet ndermarr
 Paraqitja e tri stileve arkitekturale plotesuese duke
perfshire organizimin, dekompozimin dhe kontrollin
 Diskutimi i arkitekturave referente qe jane
shfrytezuar per komunikim dhe krahasim te
arkitekturave

Slide
2
Temat e mbuluar
 Vendimet e dizajnit arkitektural
 Organizimi i sistemit
 Stilet e dekompozimit
 Stilet e kontrollit
 Arkitekturat referente

Slide
3
Arkitektura softuerike është përshkrim se si është
organizuar një sistem softuerik. Vetitë e një sistemi si
performansa, siguria, dhe disponueshmëria ndikohen
nga arkitektura e përdorur.
Vendimet e projektimit të arkitekturës përfshijnë
vendime për llojin e aplikacionit, shpërndarjen e
sistemit, stilet arkitekturale që do të përdoren, dhe
mënyrat në të cilat duhet të dokumentohet dhe
vlerësohet (evaluohet) arkitektura.
Arkitekturat mund të dokumentohen nga disa
perspektiva apo pamje të ndryshme. Pamjet e
mundshme përfshijnë pamjen konceptuale, pamjen
logjike, pamjen e procesit, pamjen e zhvillimit, dhe
pamjen fizike.

Mostrat (patterns) arkitekturale janë mjet për


ripërdorjen e dijes për arkitekturat e përgjithshme të
sistemeve. Ato e përshkruajnë arkitekturën, e
shpjegojnë se kur mund të përdoren, dhe i diskutojnë
përparësitë dhe dobësitë e tyre.
Mostrat arkitekturale të përdorura më shpesh përfshijnë
Model-View-Controller (Modeli-Pamja-Kontrolluesi),
Layered Architecture (Arkitektura e Shtresëzuar),
Repository (Depoja), Client-server (Klient-shërbyes), dhe
Pipe and Filter (Fut në gyp dhe filtro).

Modelet e përgjithshme të arkitekturave të sistemeve


aplikative na ndihmojnë ta kuptojmë operimin e
aplikacioneve, t'i krahasojmë aplikacionet e llojit të njëjtë,
t'i validojmë projektimet e sistemeve aplikative, dhe t'i
vlerësojmë komponentat me shkallë të madhe për
ripërdorje.
Sistemet e procesimit të transaksioneve janë sisteme
ndërvepruese që lejojnë që informata në një bazë të
shënimeve të qaset nga distanca dhe të ndryshohet nga
një numër i caktuar i përdoruesve. Sistemet informative
dhe sistemet e menaxhimit të resurseve janë shembuj të
sistemeve të procesimit të transaksioneve.

Sistemet e procesimit të gjuhës përdoren për t'i


përkthyer tekstet nga një gjuhë në një tjetër dhe për t'i
kryer instruksionet e specifikuara në gjuhën hyrëse.
Ato e përfshijnë një përkthyes dhe një makinë abstrakte
që e ekzekuton gjuhën e gjeneruar.
Projektimi dhe implementimi i softuerit janë aktivitete
të gërshetuara. Niveli i detaleve në projektim varet
nga lloji i sistemit që po zhvillohet dhe a jeni duke
përdorur qasje të udhëhequr nga plani apo agjile.

 Procesi i projektimit të orientuar kah objektet i


përfshin aktivitetet për ta projektuar arkitekturën e
sistemit, të identifikohen objektet në sistem, të
përshkruhet projektimi duke përdorur modele të
ndryshme të objekteve, dhe të dokumentohen
interfejsat e komponentave.
Gjatë një procesi të projektimit të orientuar kah objektet
mund të prodhohet një grup i modeleve të ndryshme.
Këto i përfshijnë modelet statike (modelet e klasave,
modelet e përgjithësimit, modelet e asocimit) dhe modelet
dinamike (modelet sekuenciale, modelet e makinës me
gjendje).

Interfejsat e komponentave duhet të definohen saktësisht


ashtu që objektet tjera të mund t'i përdorin ato. Për t'i
definuar interfejsat mund të përdoret një stereotip UML
për interfejs.
Kur zhvillohet softuer, duhet gjithmonë ta
konsideroni mundësinë e ripërdorjes së
softuerit ekzistues, si komponenta, si
shërbime, apo si sisteme të plota.
Menaxhimi i konfigurimit është procesi i
menaxhimit të ndryshimeve në një sistem
softuerik evolues. Është thelbësor kur një
ekip i njerëzve janë duke bashkëpunuar për
të zhvilluar softuer.
Shumica e zhvillimit të softuerit është zhvillim
nikoqir-cak (host-target). E përdorni një IDE (Rrethinë
Zhvilluese të Integruar) në një makinë nikoqire për ta
zhvilluar softuerin, i cili bartet te një makinë cak për
ekzekutim.

Zhvillimi me kod të hapur e përfshin qitjen në


dispozicion publikisht të kodit burimor të një sistemi.
Kjo domethënë se shumë njerëz mund të propozojnë
ndryshime dhe përmirësime për softuerin.
Dizajni arkitektural
 Faze e hershme e procesit te dizajnit te
sistemit.
 Paraqet lidhjen ne mes specifikimeve te
kerkesave dhe procesit te dizajnit.
 Perfshin identifikimin e komponenteve te medha te
sistemit dhe komunikimin mes tyre.

Slide
12
Strukturimi i sistemit
 Ka te beje me dekompozimin e sistemit ne
nensisteme ndervepruese.
 Dizajni arkitektural shpehet zakonisht si bllok
diagram qe paraqet nje pasqyre te struktures se
sistemit.
 Modelet me specifike qe tregojne se si ndahen
te dhenat ne mes nensistemeve, jane te
shperndara dhe nderfaqja mes tyre duhet te
zhvillohet.
Slide
13
Vendimet e dizajnit arkitektural
 A ka nje arkitekture te pergjithshme te
aplikacioneve qe mund te perdoret?
 Si do te shperndahet sistemi?
 Cilat stile arkitekturale jane te pershtatshme?
 Çfare qasje duhet te shfrytezohet per
strukturimin e sistemit?
 Si do te dekompozohet sistemi ne module?
 Çfare strategjie e kontrollit do te shfrytezohet?
 Si do te vleresohet dizajni arkitektural?
Slide
14
 Si do te dokumentohet arkitektura?
Modelet arkitekturale
 Shfrytezohen per te dokumentuar dizajnin e nje
sistemi.
 Modelet statike strukturore tregojne komponente
e
medha te sistemit.
 Modelet e proceseve dinamike tregojne strukturen
perpunuese te sistemit.
 Modeli i nderfaqeve definon nderfaqet e
nensistemeve.
 Modeli i relacioneve si p.sh. Modeli i rrjedhes se te
dhenave pasqyron relacionet mes nensistemeve.
Slide
15 
Modeli shperndares tregon si nensistemet jane te
Software Architecture
C’ka duhet te konsiderojme:
 Programet dhe proceset te cilat e perbejne sistemin.
 PC/Servers ku programet ekzekutohen(lloji, app. existuese, sistemet
operative etj)
 Networking
 Ku do te ruhen te dhenat, si do te ksesohen/transferohen
 Arkitekura e centralizuar apo decentralizuar.
 Kualiteti i sherbimit, performanca, siguria etj
 Rezultati I procesit te dizajnit eshte:
 Pershkrimi i arkitektures se software
 Client Server Architecure eshte arkitektura e software me e
perdorur.
Arkitektura Client-Server

Zakonisht ndahet ne 3 nivele (3 tiers)


 Interface (nje pjese ne client nje pjese ne
server)
 Processing (pak klient, shumica ne server)
 Data storage (zakonisht vetem server)
Menyra te ndryshme per te ndare te dhenat/funkisonet.
 P.sh. E-commerce Website tipik (browser + http server +
Database Server).
 Thin & Thick Clients.
 Disa modele client-server Multiple server, single server,
decentralized/centrelized systems etj
“Thin” Clients
Procesimi ne ‘client side’ eshte
shume i limituar
 Puna me e madhe kryhet ne
server, perfshi ketu edhe nje pjese
te formatimit te UI
 Ndonjehere ka nevoje per
bandwidth me te larte ne rrjet.
 Shembuj: Web browser,
“Thick” Client

UI dhe nje pjese e procesimit


behet ne “Client side”.
 Nje pjese e procesimit kryhet
ne server.
 I pershtatshme per volum te
vogel ne rrjet (bandwidth te
vogel)
 Shembuj:java applets, ATM
machine, virtual environment
client.
Identifikimi i programeve/proceseve qe nevojiten.
 Identifiko pjesen hardwerike (PC,server, networking
etj).
 Percakto cili program exekutohet ne cilen makine.
 Kontrollo nese arkitektura suporton kerkesat
jofunksionale dhe ato funksionale.
 Keni kerkese jofunksionale si me poshte:
• koha e regjistrimit transaksioni <=2 sec
koha e maximale e gjenerimit te nje raporti eshte 10 sec.
(si te behet validimi/kontrollimi?)
Application Architecture

Data processing Application


 Applikacione qe procesojne te dhenat ne grup( in
batches), ndonjehere edhe pa nderhyrjen e perdoruesit.
 Transaction processing application
 “Data centered application” qe procesojne kerkesat e
perdoruesve dhe update-ojne informacionin ne DB te
sistemit.
 Event processing application
 Aplikacione ku aktivitetet e sistemin varen nga
interpretimi i ngjarjeve qe vijne nga mjedisi i sistemit.
Tipet e applikacioneve – shembuj
Data processing systems
 Sistemi i faturimit;
 Sistemi i rrogave.
 Transaction processing systems
 E-commerce systems;
 Sistemi i rezervimeve;
 Sistemi i financave(kontabiliteti)
 Event processing systems
 Word processors;
 Real-time systems;
Object Oriented Analysis
Modelimi i kerkesave ne kuptimin e objekteve dhe
sherbimeve qe ato ofrojne
 OOA eshte (pretendon te jete) me ‘natyral’
 Me evoluimin e sistemit, funksionet (proceset) kane
tendence te ndryshojne ndersa Objektet kane tendence
te mbeten te pandryshuar.
 Modeli i strukturuar i analizes (DFD) do te dale jashte
perdorimit, ndersa OO model JO
 Ne OOA theksohet rendesia e mire definuar e lidhjes
se objekteve
Object Oriented Design

Objected jane nje forme abstrakte e jetes se perditshme


ose entitete te sistemit.(p.sh person,student, karrige
etj)
 Objektet jane te pavaruara dhe perfaqesojne nje
instance te prezantimit te informacionit
 Funksionaliteti i sistemit shprehet ne termin sherbimet
e objektit (Object services)
 Objektet komunikojne nepermjet te mesazheve
 Objektet mund te jene te distribuara dhe mund te
egzekutohen ne menyre sekuenciale apo paralele
Pse behet dizajn i Software?

Pse dizajnohet projekti i nje ndertese para se ajo te ndertohet?


 Cka eshte OO Design?
 OO design eshte nje nga metodologjite me te perdorura per
software dizajn
 Ne OOD fillohet me analizimin e entiteteve te botes reale qe
ekzistojne.
 Pastaj shtohen atributet dhe sjellja per cdo entitet.
 Hapat kryesor ne OO Design
 Shpreh entitetet ne Klasa dhe objekte
 Bej lidhjen e klasave
 Analizo te gjitha veprimet qe nje objekt mund te kryeje me nje
objekt tjeter
Cka eshte nje Object?
 Nje objekt eshte nje entitet qe ka gjendje
(state), atribute dhe funksionalitete(services)
 P.sh Nje person ka emer dhe numer personal
 Atributet ruhen ne variabla
 Funksionaliteti ruhet ne metoda
Identifikimi i Objekteve
Pjesa me e veshtire gjate dizajnit OO eshte identifikimi
i objekteve
 Nuk ka nje “formule magjike” per identifikimin e
Objekteve. Ajo mbeshtetet ne aftesi dhe eksperience si
dhe ekperiencen e fushes nga dizajneret e sistemit.

 Identifikimi i Objekteve eshte nje proces iterativ.

You might also like