Académique Documents
Professionnel Documents
Culture Documents
Arhitektura sistema
Nedelja
as
1
2
Tematska
jedinica
Arhitektura
sistema
Predavanja
Lekcija ili aktivnost
Povezanost i kohezija
UML
paketski
Arhitektonski abloni
dijagrami,
Primena
ablona
UML
primena
Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadrana. Bez prethodne pismene dozvole od
strane Univerziteta METROPOLITAN zabranjena je reprodukcija, transfer, distribucija ili memorisanje nekog dela ili itavih
sadraja ovog dokumenta., kopiranjem, snimanjem, elektronskim putem, skeniranjem ili na bilo koji drugi nain.
Copyright 2010 BELGRADE METROPOLITAN UNIVERSITY. All rights reserved. No part of this publication may be
reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying,
recording, scanning or otherwise, without the prior written permission of Belgrade Metropolitan University.
Oktobar, 2013.
SADRAJ
Contents
Uvod ........................................................................................................................................................ 3
1] Povezanost i kohezija.......................................................................................................................... 4
2] Softverska arhitektura.......................................................................................................................... 5
3] Paketski dijagrami ............................................................................................................................... 7
4] Tipina arhitektonska reenja.............................................................................................................. 8
5] Uloga modelovanja arhitekture softverskog sistema......................................................................... 10
Zakljuci................................................................................................................................................. 11
Pitanja/Zadaci........................................................................................................................................ 12
Reference/Linkovi.................................................................................................................................. 13
2/13
Naziv predavanja: Arhitektura sistema
Predavanje br. 3
Arhitektura sistema
Uvod
U ovom predavanju prodiskutovaemo prvo osobinu povezanosti i kohezije softverskih sistema. Zatim,
baviemo se UML paketskim dijagramima. Na kraju emo specificirati arhitektonske ablone
relevantne za velike softverske sisteme.
Kljuna pitanja:
1) Kako se definie kvalitetna arhitektura softverskog sistema?
2) Kako se koriste UML paketski dijagrami da prikau arhitekturu velikih softverskih sistema?
3) Navesti tipina arhitektonska reenja velikih softverskih sistema?
3/13
Naziv predavanja: Arhitektura sistema
1] Povezanost i kohezija
Arhitektura sistema se moe opisati kao skup povezanih blokova tj. modula. Kvalitetna arhitektura se
moe opisati sa
Module 1
Module 2
Module 3
4/13
Naziv predavanja: Arhitektura sistema
2] Softverska arhitektura
Pomenimo zakon koji je formulisao Conway (Conways Law):
Struktura softverskog sistema lii (slina je) na strukturu poslovne organizacije koja ima taj softverski
sistem.
Povezanost komponenti
Upravljanje vezom izmedju komponenti
5/13
Naziv predavanja: Arhitektura sistema
Kod klijent-server arhitekture, server prua neku vrstu usluge koju klijenti koriste. Klijenti ne moraju da
budu stalno povezani sa serverom, ve se po potrebi povezuju. A server ne mora da zna koji klijenti
e i kada zatraiti servis. Dakle, veza izmedju servera i klijenta se na odredjeni nain kontrolie.
Klijent
Server
Klijent
Klijent
Prezentacioni
sloj
Aplikacion sloj
Memorijski sloj
6/13
Naziv predavanja: Arhitektura sistema
3] Paketski dijagrami
Pojedine grupe UML elementata mogu se grupisati u pakete. Elementi paketi mogu biti :
Klase
Drugi paketi
Modeli (npr. use-case model ili interakcioni dijagram ili dijagram stanja, itd.)
Napomenimo da se paketski dijagrami mogu prikazati sa ili bez interfejsa.
itd
prezentacioni paket
aplikacioni paket
memorijski paket
Na donjoj slici je 3-slojna arhitektura prikazana preko UML paketskog dijagram.
Prezentacioni
paket
Aplikacion
paket
Memorijski
paket
Slika: 3-slojna arhitektura prikazana preko UML paketskog dijagrama
7/13
Naziv predavanja: Arhitektura sistema
slojna arhitektura
objektno orijentisana arhitektura (Kod o.o. arhitekture, sistem je predstavljen kao skup klasa.)
Npr., primeri slojevitih softverskih sistema su operativni sistemi i komunikacioni protokoli. Ova
arhitektura ima svojih prednost, npr. reupotreba slojeva i abstrakcija pojedinih slojeva, ali ponekad je
teko identifikovati slojeve koji su jasno razdvojeni. Postoji otvorena slojevita arhitektura (samo
susedni slojevi su povezani) i zatvorena slojevita arhitektura (ne moraju samo susedni slojevi da budu
u vezi). Kod 2-slojne arhitekture imamo npr. aplikacioni sloj (klijent) i server (baza podataka). Kod 3slojne arhitekture imamo primer: user-interface, poslovna logika i baza podataka. Primer 4-slojne
arhitekture: UI, aplikacije, domenski entiteti i baza podataka.
Sloj 4
Sloj 3
Sloj 2
Sloj 1
8/13
Naziv predavanja: Arhitektura sistema
klasa
klasa
klasa
9/13
Naziv predavanja: Arhitektura sistema
rokovi
raspodela posla
analiza trokova
analiza rizika
su svi zavisni od arhitekture sistema, i modelovanje arhitekture sistema direktno doprinosi reavanju
pomenutih problema. Potsetimo se da arhitektura sistema identifikuje znaajne komponente sistema i
relacije medju njima.
Posmatrajmo UML komponentni dijagram na donjoj slici, gde imamo prikazane 4 komponente i
zavisnosti medju njima. Ako planiramo implementaciju sistema sa donje slike, moramo uzeti u obzir
UML relacije zavisnosti (UM dependencies). Na osnovu relacija zavisnosti komponenti sa donje slike,
jasno je da prvo moramo implementirati komponentu Komp4, jer ostale komponente koriste
komponentu Komp4. Zatim, komponente Komp2 i Komp3 se mogu implementirati paralelno, jer su
medjusobno nezavisne. I komponenta Komp1 moe se implementirati posle implementacije Komp2 i
Komp3. Na osnovu ovoga se moe nacrtati Gantt dijagram, koji jje dole prikazan. Napomenimo, da je
mogue napraviti parcijalne tj. stubbed (odseene) implementacije komponenti Komp2, Komp3 i
Komp4, tako da je u realnosti mogue imati implementaciju komponenti Komp1,Komp2, Komp3,
Komp4 paralelno, ili delimino paralelno, to znai da je donji Gantt dijagram pojednostavljen.
<component>
Komp1
<component>
<component>
Komp2
Komp3
<component>
Komp4
Slika: UML komponentni dijagram za sistem od 4 komponente
Komp4
Komp2, Komp3
Komp 1
Slika: Gantt dijagram za gornji sistem
10/13
Naziv predavanja: Arhitektura sistema
Zakljuci
Pomenimo zakon koji je formulisao Conway (Conways Law):Struktura softverskog sistema lii
(slina je) na strukturu poslovne organizacije koja ima taj softverski sistem.
11/13
Naziv predavanja: Arhitektura sistema
Pitanja/Zadaci
1) ta je to objektno orijentisana arhitektura?
2) Objasniti slojevitu arhitekturu?
3) Nacrtati jedan UML paketski dijagram?
4) dati jedan primer o.o. arhitekture?
12/13
Naziv predavanja: Arhitektura sistema
Reference/Linkovi
1] http://www.cs.toronto.edu/~sme/CS302
2] http://en.wikipedia.org/wiki/Software_system
3]
http://www.websphereusergroup.org.uk/wug/files/presentations/25/25_19_ArchitectLargeSystems.pdf
4)
The
Benefits
of
Software
http://www.ibm.com/developerworks/rational/library/may06/eeles/index.html
Architecting,
13/13
Naziv predavanja: Arhitektura sistema