=Paper=
{{Paper
|id=Vol-1221/paper64
|storemode=property
|title=İletişim Katmanı Yazılım Mimarisinin Kalite Analizi
|pdfUrl=https://ceur-ws.org/Vol-1221/64_Bildiri.pdf
|volume=Vol-1221
|dblpUrl=https://dblp.org/rec/conf/uyms/DoganABDKZ14
}}
==İletişim Katmanı Yazılım Mimarisinin Kalite Analizi==
øOHWLúLP.DWPDQÕ@
@ %XQXQOD ELUOLNWH ELUoRN E\N
|OoHNOL SURMHGH VRQ UQ KDOLQH JHWLULOPLú \D]ÕOÕPÕQ VRQ NDOLWHVL KDNNÕQGD \DUJÕ\D
YDUDELOPHN LoLQ JHUoHNOHPH DúDPDVÕ EHNOHQPHN ]RUXQGDGÕU ùSKHVL] NL \D]ÕOÕP
NDOLWHVL KDNNÕQGD -PPNQVH WDVDUÕP DúDPDVÕQGD- JHUoH÷H \DNÕQ ELU \DUJÕ\D VDKLS
ROPDNoRNE\NELUDUWÕGH÷HURUWD\DoÕNDUDFDNWÕU%XQXVD÷ODPDQÕQ yolu ise, tasa-
UÕPNDOLWH|]HOOLNOHULQLLQFHOHPHNYHNXOODQÕODQ\D]ÕOÕPPLPDULOHULQLQYHúDEORQODUÕQÕQ
EX NDOLWH |]HOOLNOHULQH RODQ HWNLOHULQL EHOLUOHPHNWLU %X NRQX |]HOLQGH WDUWÕúPDODUÕQ
\DSÕOGÕ÷Õ|QFOoDOÕúPDODUGDYDUGÕU>@DQFDNEXoDOÕúPDODUÕQE\NoR÷XQOX÷X, son
ürün DúDPDVÕQGDNDOLWH|]HOOLNOHULQHRGDNODQDUDN\D]ÕOÕPÕQ NDOLWHVLQLWDUWÕúPÕúWÕU
%XPDNDOHGHøOHWLúLP.DWPDQÕ@,
QHVQH\H GD\DOÕ, LOHWLúLP NDWPDQ YH SURWRNROOHUL WDVDUÕPÕ LoLQ NXOODQÕODQ ELU \D]ÕOÕP
PLPDULPRGHOLQLQWDVDUÕPNDOLWH|]HOOLNOHULQHHWNLVLDUDúWÕUÕOPÕúWÕU%XDPDoODø.<0
NXOODQÕODUDNLoLQGHLNLDQDSURWRNRO(TCP ve UDP) EDUÕQGÕUDQ7&3/,3WDúÕPDNDWPD
QÕWDVDUODQPÕúWÕUø.<0WDEDQOÕEXWDVDUÕPÕQsürdürülebilirlik, test edilebilirlik, yeni-
GHQ NXOODQÕODELOLUOLN DQODúÕODELOLUOLN YH güvenilirlik NDOLWH |]HOOLNOHUL |OoOPú KHP
ø.<0KHPGHø.<0WDEDQOÕWDVDUÕPKDNNÕQGD\DUJÕ\DYDUÕOPD\DoDOÕúÕOPÕúWÕUSonuç
RODUDN\D]ÕOÕPNDOLWHVLQHJHUoHNOHPHDúDPDVÕQÕEHNOHPHGHQJQFHOOHPHQLQYe tasa-
UÕPGH÷LúLNOL÷LQLQGDKDD]PDOL\HWOLROGX÷XWDVDUÕPDúDPDVÕVÕUDVÕQGDNDUDUYHULOHELOH
FH÷LJ|VWHULOPLúWLU
%XPDNDOHúXúHNLOGHRUJDQL]HHGLOPLúWLUE|OPGH|QFOoDOÕúPDODUJHQHORODUDN
DQODWÕOPÕúve 3. bölümde kalite ölçütOHULGHWD\ODUÕ\ODDoÕNODQPÕúWÕU4E|OPGHø.<0
ile TCP/IP tDúÕPD kDWPDQÕ WDVDUÕPÕ YH NDOLWH DQDOL]L \HU DOPÕúWÕU 6RQ E|OPGH LVH
ø.<0WDEDQOÕ|UQHN7&3/,3WDúÕPDNDWPDQÕQÕQNDOLWH|OoPVRQXoODUÕYHø.<0PR
delin WDVDUÕPDNDWNÕODUÕWDUWÕúÕOPÕúWÕU.
668
2 ø/*ø/ød$/,ù0$/$5
%XE|OPGHQHVQH\H\|QHOLNELU\D]ÕOÕPNDSVDPÕQGDNLKDWDOÕVÕQÕIODUÕQLOJLOL\D]Õ
OÕPD X\JXODQDQ NDOLWH |OoPOHULQLQ VRQXoODUÕ ]HULQGHQ WHVSLWLQH \|QHOLN \DSÕOPÕú
RODQ oDOÕúPDODU LQFHOHQPLúWLU @\D]ÕOÕPGDNLRODVÕWDVDUÕPKDWDODUÕQÕQEXOXQPDVÕLoLQ
QHVQH\H \|QHOLN WDVDUÕP |]HOOLNOHULQGHQ ID\GDODQPÕúODUGÕU %X DPDoOD NXOODQGÕNODUÕ
ölçütOHULNDOLWHOLELUQHVQH\H\|QHOLN\D]ÕOÕPÕQVDKLSROPDVÕJHUHNHQIDUNOÕ|]HOOLNOHUL
WHPVLOHGHQNDUPDúÕNOÕNED÷ÕPOÕOÕNYHX\XPOXOXN|OotOHULQHJ|UHoDQDVÕQÕIWDWRS
ODPÕúODUGÕU @LVHQHVQH\H\|QHOLN\D]ÕOÕP
ODUGDVUGUOHELOLUOLNNDOLWH|]HOOL÷L]HULQHGLUdDOÕúPDGDELU\D]ÕOÕPÕQKHPPLPDUL
WDVDUÕPÕ KHPGHND\QDNNRGVHYL\HVLQGHLQFHOHPHVL\DSÕOPÕú\D]ÕOÕPVUGUOHELOLU
OL÷LQLROXPVX]\|QGHHWNLOH\HQNÕVÕPODUÕQRUWDN|]HOOLNOHULEXOXQXSED]ÕWHVSLWOHU\D
SÕOPÕúWÕU6DOHKLHYHDUNDGDúODUÕGDQHVQH\H\|QHOLN\D]ÕOÕPGDVUGUOHELOLUOLNNDOLWH
|]HOOL÷L ]HULQH ELU oDOÕúPD >@ \DSPÕúODUGÕU $GÕ JHoHQ oDOÕúPDGD, uygulanan ve
|QHULOHQ\|QWHPLNLDúDPDOÕROXSLONDúDPDGDEDUL]\D]ÕOÕPWDVDUÕPNXVXUODUÕEXOXQ
PD\D oDOÕúÕOPÕú LNLQFL DúDPDGD LVH R DQ NXVXU JLEL J|UQPH\HQ DPD LOHULGH VRUXQ
olabilecek alanlar WHVSLWHGLOPH\HoDOÕúÕOPÕúWÕU
Marinescu [11] ise iyi bilinen iki WDVDUÕP KDWDVÕQÕQ E\N VÕQÕI YHUL VÕQÕIÕ \D]Õ
OÕPODUGD EHOLUOHQPHVLQH \|QHOLN ELU \|QWHP JHOLúWLUPLú YH EX \|QWHPL |UQHN ELU HQ
GVWUL\HO\D]ÕOÕPGDX\JXODPÕúWÕUdDOÕúPDGDNXOODQÕODQ|Ootlerin (WOC-Weight of a
Class, NOPA-Number of Public Attributes, NOAM-Number of Access Methods) tasa-
UÕP PRGHOL ]HULQH X\JXODQDELOPHVLQGHQGROD\Õ \D]DUWDPDPHQGLOGHQED÷ÕPVÕ]ELU
NDOLWH |OoP \|QWHPL JHOLúWLUGL÷LQL LOHUL VUPHNWHGLU 0DULQHVFX¶QXQ GL÷HU ELU oDOÕú
PDVÕQGD>@LVH \D]ÕOÕPWDVDUÕP KDWDODUÕGDKD IDUNOÕ|OotOHUOHWHVSLWHGLOPH\HoDOÕ
úÕOPÕúWÕUhoIDUNOÕ|Oot (WMC-Weighted Method Count, NOC-Number of Children,
TCC-Tight Class Cohesion oIDUNOÕ\D]ÕOÕPD X\JXODQPÕúYHVRQXoODU\RUXPODQPÕú
WÕU SaKUDRXL YHDUNDGDúODUÕ \DSWÕNODUÕoDOÕúPDGD>@&LOHNRGODQPÕú \D]ÕOÕPODU
GDNL SRWDQVL\HO WDVDUÕP KDWDODUÕQÕ oHúLWOL |Ootlerle (CBO-Coupling Between Object
Classes, DAC-Data Abstraction Coupling, vb. WHVSLW HWPH\L DPDoODPÕúODUGÕU $UDú
WÕUPDODUÕNDSVDPÕQGDKDWDWHVSLWLúOHPLQLRWRPDWLNKDOHJHWLUHn ELUDUDoJHOLúWLUPLúOHU
ve böylece NXOODQÕFÕODUa WDVDUÕPKDWDODUÕQÕEXOPDLPNkQÕVD÷ODPÕúODUGÕU
Son olarak, Jehad Al Dallal >@ WDVDUÕP DúDPDVÕQGD X\JXODQDELOHFHN \HQL ELU
uyumluluk ölçütü JHOLúWLUGL÷LQL LGGLD HWPHNWHGLU *HOLúWLULOHQ |OoW GR÷UXGDQ HWNLOH
úLPGHEXOXQDQ PHWRW-metot, veri üyesi-metot ve veri üyesi-veri üyesi çiftleri üzerin-
GHQ ELU KHVDSODPD \DSPDNWDGÕU $\UÕFD, \DSÕODQ NDUúÕODúWÕUPDODUOD bu yeni ölçütün,
669
|UQHN RODUDN VHoLOHQ GL÷HU uyumluluk ölçütleriQGHQ GDKD GX\DUOÕ ROGX÷X LOHUL VUO
mektedir.
3 .$/ø7(g/dh0/(5ø
.DOLWH|]HOOLNOHULQLQGR÷UXGDQ|OoP]RUKDWWDED]ÕGXUXPODUGDLPNkQVÕ]GÕU [22,
23]'H÷LúLN|OotOHUELUDUD\DJHWLULOHUHNNDOLWH|]HOOLNOHUL KDNNÕQGDED]ÕVD\ÕVDOGH
÷HUOHUHXODúÕOPD\DoDOÕúÕOPDNWDGÕU>@, IDNDWEXoDOÕúPDODUJHQHOGH|]QHOQLWHOLNWDúÕ
PDNWDGÕU$\UÕFDEX|OoPOHUJHQHORODUDN\D]ÕOÕPÕQJHUoHNOHPHDúDPDVÕVRQUDVÕQGD
\DSÕOPDNWDYHelde edilen VRQXoODUDJ|UHWDVDUÕPÕQGH÷LúWLULOPHVLQHKDWWDEXQDED÷OÕ
olarak gerçeklePHQLQGH÷LúWLULOPHVLQHLKWL\DoGX\XOPDNWDGÕU1H\D]ÕNNLEXWUgün-
cellemeler JHUHNSURMHWDNYLPLJHUHNVHGR÷DFDNPDOL\HWDoÕVÕQGDQKHU]DPDQPP
NQROPDPDNWDGÕU%XQGDQGROD\Õerken WDVDUÕPDúDPDVÕQGD\DSÕODQkalite ölçümleri
YHGH÷HUOHQGLUPHOHU E\N|QHPND]DQPDNWDGÕU
%X oDOÕúPD NDSVDPÕQGD QHVQH\H \|QHOLN WDVDUÕP LoLQ WHPHO RODQ özellikler göz
|QQGHEXOXQGXUXOPXúEXözellikleri GR÷UXGDQHWNLOH\HQ|OotOHUVHoLOPLúYH\DSÕODQ
ölçümlere dayanarak ø.<0WDEDQOÕ7&3/,3WDúÕPDNDWPDQÕWDVDUÕPÕQÕQ kalite özellik-
OHUL KDNNÕQGD ED]Õ VRQXoODU oÕNDUÕOPD\D oDOÕúÕOPÕúWÕU 6HoLOHQ |OotOHUL o DQD EDúOÕN
DOWÕQGDWRSODPDN PPNQGU.DUPDúÕNOÕN|Ootleri (complexity metrics ED÷ÕPOÕOÕN
ölçütleri (coupling metrics) ve uyumluluk ölçütleri (cohesion metrics).
3.1 .DUPDúÕNOÕNÖlçütleri (Complexity Metrics):
@ @
ņ $VÕQÕIÕQÕQLoLQGH%VÕQÕIÕFLQVLQGHQELUUHIHUDQVLúDUHWoL\DGDQHVQHYDUGÕU
ņ $VÕQÕIÕQÕQQHVQHOHUL%VÕQÕIÕQÕQQHVQHOHULQLQPHWRWODUÕQÕoD÷ÕUÕ\RUGXU
ņ $ VÕQÕIÕQÕQ ELU PHWRGX SDUDPHWUH RODUDN % VÕQÕIÕ WLSLQGHQ YHULOHU DOÕ\RUGXU \D GD
geri döndürüyordur.
ņ $VÕQÕIÕQÕQELUPHWRGX%WLSLQGHQELU\HUHOGH÷LúNHQHVDKLSWLU
1HVQH\H\|QHOLNNDOLWHOLELU\D]ÕOÕPGDVÕQÕIODUDUDVÕED÷ÕPOÕOÕ÷ÕQPPNQROGX÷XQ
FDGúNROPDVÕWHUFLKHGLOLU low coupling %LUVÕQÕIÕQED÷ÕPOÕOÕNVHYL\HVL\NVHOGLN
oH EX VÕQÕIÕ VLVWHPLQ PRGOHU ELU SDUoDVÕ RODUDN J|US LúOHP \DSPDN ]RUODúDFDNWÕU
%D÷ÕPOÕOÕ÷Õ \NVHN RODQ ELU VÕQÕIWDNL GH÷LúLP GL÷HU VÕQÕIODUÕ HWNLOH\HFH÷LQGHQ genel
RODUDN \D]ÕOÕPÕQ VUGUOHELOLUOL÷L GH GúN RODFDNWÕU 6LVWHPGH ED÷ÕPOÕOÕ÷Õ \NVHN
VÕQÕIODUDUWWÕNoDVÕQÕIODUÕELUELULQGHQD\UÕDQODPDN]RUODúDFDNGROD\ÕVÕyla DQODúÕODELOLU
OLN YH WHVWHGLOHELOLUOLNGHGúHFHNWLU $\UÕFD, ED÷ÕPOÕOÕ÷Õ \NVHNRODQVÕQÕIODUÕWHNUDU
kullaQPDN]RURODFD÷ÕQGDQbu VÕQÕIlarÕQ\HQLGHQNXOODQÕODELOLUOLNGH÷HULGHGúHFHNWLU
[17, 28].
%XoDOÕúPDNDSVDPÕQGD&$/0 Class Aggregation Level Measure >@ED÷ÕPOÕ
OÕN|OotNXOODQÕOPÕúWÕU%X|Oot ELUVÕQÕIWDNLNXOODQÕFÕWDQÕPOÕ|]QLWHOLNVD\ÕVÕQÕQo
VÕQÕIWDNLWRSODP|]QLWHOLNVD\ÕVÕQDRUDQÕRODUDNKHVDSODQÕU
ܷௗ
= ܯܮܣܥ (3)
ܰௗ
ܷௗ .XOODQÕFÕWDQÕPOÕ|]QLWHOLNVD\ÕVÕ
ܰௗ 7RSODP|]QLWHOLNVD\ÕVÕ
671
3.3 Uyumluluk Ölçütleri (Cohesion Metrics):
8\XPOXOXN|OoPVÕQÕIWDNLPHWRWve veri üyelerinin NHQGLLoLQGHNLX\XPOXOX÷XQX
EHOLUWLU+HUVÕQÕIÕQWHNELUVRUXPOXOX÷XROPDOÕGÕU. (÷HUELUVÕQÕIkendi içinde birbirin-
GHQIDUNOÕYHED÷ÕPVÕ]LúOHU\DSÕ\RUVD birbiriyle ilgili olmayan veri üyeleri EDUÕQGÕUÕ
\RUVD YH\D oRN ID]OD Lú \DSÕ\RUVD VÕQÕIÕQ X\XPOXOX÷X GúNWU Kaliteli bir nesneye
\|QHOLN \D]ÕOÕPGD VÕQÕIODUÕQ NHQGL LoOHULQGHNL X\XPOXOX÷XQXQ PPNQ ROGX÷XQFD
\NVHNROPDVÕWHUFLKHGLOLU high cohesion 8\XPOXOXNDUWWÕNoDVÕQÕIÕQNHQGLLoLQGHNL
NDUDUOÕOÕ÷ÕDUWDFDNEXQGDQGROD\ÕVÕQÕIÕQVUGUOHELOLUOLNYHJYHQLOLUOLNGH÷HUOHULGH
DUWDFDNWÕU [17] $\UÕFD, X\XPOXOXN DUWWÕNoD VÕQÕI GDKD PRGOHU ELU \DSÕ\D NDYXúDFD
÷ÕQGDQWHVWHGLOHELOLUOLNGH÷HULGHDUWDFDNWÕU
%X oDOÕúPDGD X\XPOXOXN |Ootü olarak CCOM (Class Cohesion Measure) [18]
NXOODQÕOPÕúWÕU&&20GH÷HULDúD÷ÕGDEHOLUWLOHQIRUPOLOHKHVDSODQÕU
ܣܣௌ
= ܯܱܥܥ (4)
ܣܯௌ
ܣܣௌ %LUVÕQÕIWDEXOXQDQKHU bir veri üyesinin RVÕQÕIÕQNDoWDQHPHWRGXWDUDIÕQGDQ
HULúLOGL÷LKHVDSODQÕUYHEXGH÷HUOHUWRSODQÕU
ܣܯௌ %LUVÕQÕIWDEXOXQDQKHUPHWRWKHU bir veri üyesine HULúLUVHܣܣௌ ’nin göstere-
FH÷LGH÷HUGLU WRSODPveri üye VD\ÕVÕ[ WRSODPPHWRWVD\ÕVÕ- 1) )
4 ø.<0LOH7&3/,37$ù,0$.$70$1,7$6$5,0,YH
.$/ø7($1$/ø=ø
TCP/,3WDúÕPDNDWPDQÕQÕQWHPHOJ|UHYLXoWDQXFDELULPOHUDUDVÕRWXUXPODUÕ\|QHWH
UHNX\JXODPDODUDUDVÕYHULLOHWLPLQLVD÷ODPDNWÕU7DúÕPDNDWPDQÕQÕQVWQGHX\JXOD
PDNDWPDQÕDOWÕQGDLVHLQWHUQHWNDWPDQÕ\HUDOÕU7&3/,3WDúÕPDNDWPDQÕQGD7&3YH
UDP olmak ü]HUH LNL DQD SURWRNRO EXOXQXU 8'3 ED÷ODQWÕVÕ] ELU SURWRNRO ROXS YHUL
JYHQOL÷LLoHUPH]YHJHQHOOLNOHVHVYLGHRYEDNWDUÕPÕ\DSDQJHUoHN]DPDQOÕX\JX
ODPDODU WDUDIÕQGDQ WHUFLK HGLOLU 7&3 LVH ED÷ODQWÕOÕ DNÕú NRQWUROO YH JYHQLOLU ELU
protokol olup veriQLQ KHGHIH XODúÕS XODúPDGÕ÷ÕQÕ RQD\ PHNDQL]PDVÕ\OD EHOLUOH\LS
XODúPDGÕ÷ÕGXUXPGDYHULWHNUDUÕQÕJHUoHNOHúWLULU7&3GRV\DWUDQVIHULLQWHUQHWWDUD\Õ
FÕJLELND\ÕSVÕ]YHULWUDQVIHULJHUHNWLUHQX\JXODPDODUWDUDIÕQGDQWHUFLKHGLOLU
UDP ve TCP protokolleri VÕUDVÕ\OD5)& >@YH5)&¶GH>@WDQÕPODQPÕú
WÕU%XE|OPGHø.<0 øOHWLúLP.DWPDQÕ@PRGHOLNXOODQÕODUDN
7&3,3 WDúÕPD NDWPDQÕQÕQ WDVDUÕPÕ DQODWÕOPÕú NDOLWH |OoPOHUL \DSÕODUDN |OoP VR
QXoODUÕQÕQDQDOL]L\DSÕOPÕúYHEXVRQXoODU\RUXPODQPÕúWÕU
4.1 7&3,37DúÕPD.DWPDQÕ7DVDUÕPÕ
gQFHNL oDOÕúPDPÕ]GD >@ 7&3,3 WDúÕPD NDWPDQÕ VDGHFH VÕQÕI YH LOLúNLOHU VHYL\H
VLQGHWDVDUODQPÕúWÕ%XoDOÕúPDPÕ]GDVÕQÕIODUÕQ LoHUGL÷LGH÷LúNHQOHU metotlar ve me-
672
totlarla GH÷LúNHQOHUDUDVÕQGDNLLOLúNLOHUGHWD\ODQGÕUÕODUDNGHWD\OÕELUWDVDUÕPHOGHHGLO
PLúWLU 8\JXQ NDOLWH ölçütleri VHoLOHUHN JHUoHNOHPH DúDPDVÕ EHNOHQPHGHQ NDOLWH |O
oPOHUL\DSPDNYH|OoPVRQXoODUÕQDJ|UH\D]ÕOÕPÕQNDOLWHVLKDNNÕQGDGH÷HUOHQGLUPH
yapmak mümkündür. Malik ve Chhillar [18]µÕQGDEHOLUWWL÷LJLELNRGODPD\D JHUoHN
OHPH\H EDúODPDGDQDOÕQDQJHULELOGLULP]DPDQSDUDYHLúJFPDOL\HWLQLGúUHFHN
EXQXQ\DQÕVÕUDWDVDUÕPÕQGR÷UX\|QGHLOHUOHPHVLQHNDWNÕGDEXOXQDFDNWÕU
ø.<0PRGHOLNXOODQÕODUDNWDVDUODQDQ7&3,3WDúÕPDNDWPDQÕWRSODP DGHWVÕQÕI
ve bu VÕQÕIODUÕQELUELUOHUL\OHRODQLOLúNLOHULQGHQROXúPDNWDGÕU%XoDOÕúPDNDSVDPÕQGD
tasarlanan TCP/,3WDúÕPDNDWPDQÕQDDLW80/6ÕQÕI0RGHOLùHNLO¶GHJ|VWHULOPLúWLU.
«Interface» «Interface»
Se rv ice sProv ide dToA pplica t ionLa y e r Se rv ice sUse dFrom A pplica t ionLa y e r
sendUDPPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPtr:U8*,payloadLength:U16):void
subscribeToUDPSAP(port:U16,packetReceivedFunction:void(*)):void
unsubscribeFromUDPSAP(port:U16):void TCPSessionClosed(sessionID:U32):void
openTCPSession(srcPort:U16,dstPort:U16,srcIP:U32,dstIP:U32,active:bool,optionsPtr:U8*,optionsLength:U16):U32 TCPPacketReceived(sessionID:U32,packetPtr:U8*,packetLength:U16):void
closeTCPSession(sessionID:U32):U8 TCPErrorReceived(sessionID:U32,errorNo:U32):void
sendTCPData(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8,urgentFlag:U8):U8
readTCPData(sessionID:U32):U16
1
getTCPSessionStatus(sessionID:U32):STATUS
abortTCPSession(sessionID:U32):U8
UDPSAPElement
* port:U16
Tra nsport La y e rM a na ge r UDPManager packetReceivedFunction:void (*)
1 1
UDPPacket
initUDP():void
srcPort:U16
resetUDP():void
dstPort:U16
releaseUDPSaps():void
checkSum:U16
getAppPacketReceivedFunc(port:U16):void* 1 userOrTimeWaitTimer
payloadPtr:U8*
unsubscribeFromSAP(port:U16):void 1
payloadLength:U16
subscribeToSAP(port:U16,packetReceivedFunction:void (*)):void currentUDPPacket TCPPacket
packetPtr:U8 * TTimer
packetReceived(pktPtr:U8*,pktLength:short,srcIp:U32,dstIp:U32,tos:U8)...
packetLength:U32 srcPort:U16 1
sendPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPtr:U8...
dstPort:U16
initLayer():void start(timerType:U32,time:U32,parameter:U32
seqNumber:U32
resetLayer():void parsePacket(packetPtr:U8 *,packetLen:U16,srcIp:U32,ds...
ackNumber:U32 stop(timerType:U32):void
sendUDPPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPt constructUDPPacket(srcIP:U32,dstIP:U32,srcPort:U32,dst...
dataOffset:U8
subscribeToUDPSAP(port:U16,packetReceivedFunction:void (*)):void calculateChecksum(srcIP:U32,dstIP:U32):U16
checkUDPChecksum(srcIP:U32,dstIP:U32):bool
controlBits:U8 retransmissionTimer
unsubscribeFromUDPSAP(port:U16):void
window:U16
openTCPSession(sessionID:U32,srcPort:U16,dstPort:U16,srcIP:U32,dstIP
checkSum:U16
closeTCPSession(sessionID:U32):U8
urgentPtr:U16
sendTCPData(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8, TCPOutgoingQueueElement
1 optionsPtr:U8*
getTCPSessionStatus(sessionID:U32):STATUS currentTCPPacket
optionsLength:U16 sendTime:U32
abortTCPSession(sessionID:U32):U8
payloadPtr:U8*
readTCPData(sessionID:U32):U16
TCPManager TCPSession itsTCPSession payloadLength:U16
packetReceivedFuncFromIPLayer(srcIp:U32,dstIp:U32,packetPtr:U8 *,pa
packetPtr:U8 *
srcPort:U16 1 *
packetLen:U16
srcIP:U32
dstPort:U16 1
dstIP:U32
currentTCPPacket TCPIncomingQueueElement
sessionID:U32
calculateChecksum(srcIP:U32,dstIP:U32,le...
initTCP():void initialSeqNumber:U32
1 1 checkChecksum(srcIP:U32,dstIP:U32,pack...
resetTCP():void state:TCPState*=Closed
constructTCPPacket():U8 *
getSession(sessionID:U32):void status:U32
parsePacket(packetPtr:U8 *,packetLen:U1... *
getSession(srcPort:U16,srcIP:U32,dstPort:U16,dstIP:U32):TCPSession* 1 1..*
packetReceived(srcIP:U32,dstIP:U32,packetPtr:U8*,packetLength:U16,tos:U
openSession(sessionID:U32,srcPort:U16,srcIP:U32,dstPort:U16,dstIP:U32):U currentTCPPacket
closeSession(sessionID:U32):U8 resetSession():void 1
TCPDataQueueManager
sendPacket(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8,urgentF packetReceived():void
abortSession(sessionID:U32):U8 setCurrentState(state:TCPState*):void incomingQueue:TList
readData(sessionID:U32):void getCurrentState():TCPState* outgoingQueue:TList
getStatus(sessionID:U32):void sendSYN():void
sendACK():void
sendSYNACK():void TCPAutomaticRepeatRequest
sendRST():void sendNext:U32 addToQueue(queueType:U8,element:TCPIncomingQu
sendFIN():void 1 1 receiveNext:U32 removeFromQueue(queueType:U8,index:int):void
itsTCPSession
sendDATA():void inAckNo:U32 moveElement(queueType:U8,sourceIndex:int,destIn
sendFINACK():void inSeqNo:int 1 getElementIndex(queueType:U8,element:TCPIncomin
userTimeout():void outWindow:int getElement(queueType:U8,index:int):TCPIncomingQu
TCPState
timeWaitTimeout():void inWindow:U32 getQueueSize():int
outSeqNo:U32 getQueueCount():int
1 1 1 1
itsTCPState itsTCPSession isQueueFull():bool
isQueueEmpty():bool
ACKReceived(ackNo:U32,windowSize:U32):void FlashAllQueues():void
SYNReceived():void
SYNACKReceived():void readData():void
ACKReceived():void retransmissionTimeout(elementIndex:int):void
RSTReceived():void writePacket(tcpPacketPtr:TCPPacket):void
DATAReceived():void
FINReceived():void
FINACKReceived():void
activeOpen():void IKYM_TCP_UDP_Package
passiveOpen():void
close():void
abort():void
timeWaitTimeout():void
userTimeout():void
1 1 1 1 1 1 1 1 1 1
Closed Listen SynSent Estab LastAck Closing FinWait1 FinWait2 TimeWait CloseWait
Closed(itsTCPSession: Listen(itsTCPSession SynSent(itsTCPSe Estab(itsTC LastAck(itsT Closing(itsT FinWait1(its FinWait2(its TimeWait(it CloseWait(i
activeOpen():void activeOpen():void SYNReceived():vo FINReceive ACKReceive ACKReceive ACKReceive FINReceive timeWaitTim close():void
passiveOpen():void SYNReceived():void SYNACKReceived( close():void FINACKRec
FINReceive
1
«Interface» «Interface»
ServicesProvidedToIPLayer Se rv ice sUse dFrom IPLa y e r
subscribeToIPSAP(protocolType:U8,packetReceivedFuncPtr:void(*)):void
sendPacket(srcIP:U32,dstIP:U32,packetPtr:U8*,packetLength:U32,ipOptions:U8 *,tos:U8,
unsubscribeFromIPSAP(protocolType:U8):void
ùHNLO1. TCP/,37DúÕPD.DWPDQÕ80/6ÕQÕI Modeli
4.2 TCP/,37DúÕPD.DWPDQÕ7DVDUÕPÕQÕQ.DOLWHgOoPOHUL
%XoDOÕúPDNDSVDPÕQGDVHoLOHQNDOLWHölçütleri 0DOLNYH&KKLOODU>@µÕQEHOLUWWL÷L
yöntemle örnek TCP/,3WDúÕPDNDWPDQÕLoLQKHVDSODQPÕúWÕU+HUölçüt için elde edilen
|OoP VRQXoODUÕQÕQ HQ GúN HQ \NVHN ve RUWDODPD GH÷HUOHUL D\UÕ WDEORODU KDOLQGH
673
J|VWHULOPLúWLU (bkz. Tablo 1-4). Buna ek olarak her ölçütün VÕQÕIODUÕQ\]GHVHOGD÷Õ
OÕPÕQDJ|UHGH÷HUGH÷LúLPLGHD\UÕFDJUDILNVHORODUDNJ|VWHULOPLúWLU bkz. ùHNLOYH
6RQUDVÕQGDLVHHOGHHGLOHQEXYHULOHUHGD\DQÕODUDNKHP|UQHN7&3/,3WDúÕPDNDWPDQÕ
WDVDUÕPÕQÕQ KHPGHø.<0PRGHOLQLQNDOLWHVLKDNNÕQGDED]ÕoÕNDUVDPDODU\DSÕOPÕúWÕU
CMCM Ölçüm Analizi.
Minimum Maksimum Ortalama
0 15 3,96
Tablo 1. CMCM gOoP6RQXoODUÕ
Tablo 1¶GHJ|UOG÷]HUH|UQHN7&3/,3WDúÕPDNDWPDQÕWDVDUÕPÕQÕQ&0&0GH
÷HULRUWDODPDVÕoÕNPÕúWÕU%XGH÷HULQGúNoÕNPDVÕHOHDOÕQDQVÕQÕIODUÕQNDUPD
úÕNOÕNG]H\LQLQGúNJYHQLOLUOL÷LQLQ\NVHNROGX÷XQXJ|VWHUPHNWHGLU%XQXQ\DQÕ
VÕUD&0&0GH÷HULGúNRODQEXVÕQÕIODUÕQ\HQLGHQNXOODQÕODELOLUOLNGH÷HULQLQ\NVHN
ROGX÷XQXV|\OHPHNPPNQGU &0&0GH÷HULQLQ\NVHNoÕNWÕ÷ÕVÕQÕIODUEHNOHQGL÷L
JLELNDUPDúÕNOÕ÷Õ\NVHNRODQ\|QHWLFLVÕQÕIODUGÕU
25% 60%
20% 50%
^ŦŶŦĨйΖƐŝ
^ŦŶŦĨйΖƐŝ
40%
15%
30%
10%
20%
5% 10%
0% 0%
0 2 4 6 8 10 12 14 0 1 2 3 4 5
DD /D
ùHNLO2. CMCM ve CICM Ölçümlerinin Yüzdesel DD÷ÕOÕPODUÕ
CICM Ölçüm Analizi.
Minimum Maksimum Ortalama
0 2 0,54
Tablo 2. &,&0gOoP6RQXoODUÕ
&,&0|OoPOHULQLQLVWDWLVWLNVHOGH÷HUOHUL ùHNLO¶GHJ|VWHULOPLúWLU*|UOG÷]H
UHHQGúN&,&0GH÷HULHQ\NVHN&,&0GH÷HULYHRUWDODPD&,&0GH÷HUL
oÕNPÕúWÕU@2UWDODPDGH÷HUJ|]|QQHDOÕQ
GÕ÷ÕQGDLVHVLVWHPGHNLVÕQÕIODUÕQNDUPDúÕNOÕNGH÷HUOHULQLQGúNROGX÷XDQODúÕODELOLU
lik WHNUDU NXOODQÕODELOLUOLN YH VUGUOHELOLUOLN GH÷HUOHULQLQ X\JXQ VHYL\HGH ROGX÷X
söylenebilir.
CALM Ölçüm Analizi.
Minimum Maksimum Ortalama
0 1 0,24
Tablo 3. &$/0gOoP6RQXoODUÕ
ùHNLO¶WHNL&$/0|OoPQQ\]GHVHOGD÷ÕOÕPJUDIL÷LQHEDNÕOGÕ÷ÕQGD, VÕQÕIODUÕQ
¶QQGH÷HULQHVDKLSROGX÷XJ|UOPHNWHGLU%XQDED÷OÕRODUDN7DEOR3’te gös-
terileQRUWDODPD&$/0GH÷HULROGXNoDGúNoÕNPÕúWÕUÖnceki bölümlerde DQODWÕOGÕ÷Õ
]HUH &$/0 GH÷HULQLQ GúN oÕNPDVÕ VÕQÕIODU DUDVÕQGDNL ED÷ÕPOÕOÕ÷ÕQ D] ROGX÷XQX
GROD\ÕVÕyla DQODúÕODELOLUOLNWHVWHGLOHELOLUOLNYH\HQLGHQNXOODQÕODELOLUOLNNDOLWH|]HOOLN
OHULQLQ \NVHN ROGX÷XQX J|VWHUPHNWHGLU &$/0 GH÷HULQLQ \NVHN oÕNWÕ÷Õ VÕQÕIODU
&0&0|OoWQGHROGX÷XJLELNDUPDúÕNOÕ÷Õ\NVHNRODQ\|QHWLFLVÕQÕIODUÕGÕU
80% 100%
70%
80%
60%
^ŦŶŦĨйΖƐŝ
^ŦŶŦĨйΖƐŝ
50% 60%
40%
40%
30%
20% 20%
10%
0%
0%
NA
1
0,29
0,47
0,56
0,62
0 0,4 0,7 1
>D KD
ùHNLO3. CALM ve CCOM Ölçümlerinin Yüzdesel DD÷ÕOÕPODUÕ
CCOM Ölçüm Analizi.
Minimum Maksimum Ortalama
0,29 1 0,59
Tablo 4. &&20gOoP6RQXoODUÕ
675
Sadece veri üyesi veya metoda sahip olan VÕQÕIODUÕQ &&20 GH÷HUOHUL WDQÕPVÕ]GÕU
(bkz. Formül 4). Örnek TCP/,3WDúÕPDNDWPDQÕWDVDUÕPÕQGD&&20|OoP \DSÕOD
PD\DQ VÕQÕI RUDQÕ JLEL \NVHN ELU GH÷HUGLU $OW YH VW NDWPDQODUOD RODQ DUD\]
VÕQÕIODUÕLOH'XUXP7DVDUÕPùDEORQXQD>@J|UHROXúWXUXODQGXUXPVÕQÕIODUÕKHUKDQJL
bir veri üyesine VDKLSGH÷LOGLUYHEX\]GHQ&&20GH÷HUOHULWDQÕPVÕ]GÕU$\QÕúHNLO
GHWDVDUÕPGDNXOODQÕODQYHULVÕQÕIODUÕQÕQGDPHWRGXROPDGÕ÷ÕLoLQ&&20GH÷HUL|Oo
lememektedir.
1HVQH\H GD\DOÕ ELU WDVDUÕPGD EHNOHQHQ &&20 GH÷HUL FLYDUÕQGDGÕU 7DEOR 4’te
J|UOG÷ ]HUH |UQHN WDVDUÕPÕQ RUWDODPD &&20 GH÷HUL oÕNPÕúWÕU. Henüz ger-
oHNOHPH DúDPDVÕQD JHOLQPH\HQ EX VLVWHPGHNL VÕQÕIODUÕQ &&20 GH÷HUOHULQH EDNÕOGÕ
÷ÕQGDEXWDVDUÕPÕQNDUDUOÕOÕ÷ÕQÕQideal seviyeye \DNÕQ>@ROGX÷XV|\OHQHELOLU%XQ
GDQGROD\Õ|OoP\DSÕODQVÕQÕIODUÕQ sürdürülebilirlik, güvenilirlik ve test edilebilirlik
kalite özelliklerinin ideal seviye\H\DNÕQROGX÷X J|]OHPOHQPLúWLU
%XQXQ\DQÕQGD, Jehad Al Dallal [24@PHYFXWX\XPOXOXN|OoWOHULQLQNDOÕWÕPJLEL
ED]Õ DQDKWDU QHVQH\H GD\DOÕ GLO |]HOOLNOHULQL GLNNDWH DOPDGÕ÷ÕQÕ JHUoHNOHPH DúDPD
VÕQGD EHOLUOHQHFHN RODQ JHUoHN HWNLOHúLPOHUH PRWLYH ROGXNODUÕQÕ GROD\OÕ HWNLOHúLPOHUL
|OoHPHGLNOHULQLEHOLUWPLúWLU7DUDQMHHW.DXU>25] ve Heung Seok Chae [26] ise mevcut
|OoWOHULQ X\XPOXOXN |OoPOHUL LoLQ \HWHUOL ROPDGÕ÷ÕQÕ YH VRUJXODQÕU ROGXNODUÕQÕ EH
OLUWPLúWLU
6RQXoRODUDNKHUQHNDGDUOLWHUDWUGHX\XPOXOXN|OoWOHULQHoHúLWOLHOHúWLULOHUYDUVD
GDWDVDUÕPDúDPDVÕQGDHOGHHWWL÷LPL]EXIDUNÕQGDOÕNODJHUoHNOHPHDúDPDVÕQDJHoPH
GHQ VÕQÕIODU WHNUDU EX J|]OH LQFHOHQGL 7&3,3 WDúÕPD NDWPDQÕ |]HOLQGH GH GúN
CCOM de÷HULQHVDKLSRODQTCPAutomaticRepeatRequest ve TCPSession VÕQÕIODUÕQÕQ
ELUELULQGHQED÷ÕPVÕ]LúOHYOHUL|]QHVLQGHWRSOD\DQVÕQÕIODUROGX÷XJ|]OHQGLYHEXVÕQÕI
ODUÕQE|OQPHVLQHNDUDUYHULOGL
5 Sonuç
%XoDOÕúPDNDSVDPÕQGD7&3,3WDúÕPDNDWPDQÕ\D]ÕOÕPÕQHVQH\e yönelik bir ileti-
úLPNDWPDQÕ\D]ÕOÕPPLPDULVLRODQø.<0LOHWDVDUODQPÕúWÕUøOHWLúLPNDWPDQÕ\D]ÕOÕP
WDVDUÕPODUÕQGDø.<0NXOODQÕODUDN\D]ÕOÕPNDOLWH|]HOOLNOHULQLQVD÷ODQPDVÕYH\D]ÕOÕP
NDOLWHVLQLQ DUWWÕUÕOPDVÕ KHGHIOHQPHNWHGLU $\UÕFD WDVDUÕPGD NXOODQÕODQ ø.<0¶QLQ
QHVQH\H\|QHOLNROPDVÕKHPQHVQH\H\|QHOLNSURJUDPODPDQÕQID\GDODUÕQGDQ\DUDUOD
QÕOPDVÕQDKHPGHQHVQH\H\|QHOLNWDQÕPODQDQ\D]ÕOÕPNDOLWH|OoWOHULQLQNXOODQÕOPD
VÕQDRODQDNVD÷ODPÕúWÕU
$\UÕFD EX oDOÕúPDGD 7&3,3 WDúÕPD NDWPDQÕ WDVDUÕPÕ X\JXQ |OoWOHUOH VÕQÕI ED
]ÕQGD JHUoHNOHPH \DSPDGDQ |OoOPú YH VRUXQOX RODELOHFHN VÕQÕIODU EHOLUOHQHUHN
WDVDUÕPÕQ HUNHQ DúDPDODUÕQGD LOJLOL L\LOHúWLUPHOHULQ \DSÕODELOHFH÷L J|VWHULOPLúWLU
7&3,3 WDúÕPD NDWPDQÕQÕQ VÕQÕI ED]ÕQGDNL NDOLWH |OoP VRQXoODUÕQÕQ NDbul edilebilir
VHYL\HQLQ VWQGH oÕNPDVÕ YH \D]ÕOÕPÕQ J|UHFH NÕVD VUHGH WDVDUODQDELOPLú ROPDVÕ
ø.<0¶QLQEDúDUÕOÕELUQHVQH\H\|QHOLN\D]ÕOÕPPLPDULVLROGX÷XQXJ|VWHUPLúWLU So-
QXoODUø.<0¶nin WHVWHGLOHELOLUVUGUOHELOLU\HQLGHQNXOODQÕODELOLUDQODúÕODELOLUYH
JYHQLOLUROGX÷XQDGDLúDUHWHWPHNWHGLU%X|]HOOLNOHUHø.<0NXOODQÕODQGL÷HUSURWR
NRO WDVDUÕPODUÕQÕQ GD VDKLS RODFD÷Õ GúQOHELOLU 6RQ RODUDN \D]ÕOÕP WDVDUÕPÕQda
676
ø.<0 NXOODQÕPÕQÕQ \D]ÕOÕP JHOLúWLUPH PDOL\HWOHULQL E\N RUDQGD GúUPHVL EHN
lenmektedir.
6 Kaynakça
1. David Garlan, “Software Architecture: a Roadmap”, Conference on The Future of Softwa-
re Engineering (ICSE ’00), pp. 91-101, 2000
2. David Garlan and Mary Shaw, “An Introduction to Software Architecture”, Technical Re-
port, January 1994
3. International Standards Organization: Information Technology - Software Product Quality
- Part 1: Quality Model, ISO/IEC FDIS 9126-1
4. Francisca Losavio and Ledis Chirinos, Nicole Lévy and Amar Ramdane-Cherif, France
“Quality Characteristics for Software Architecture” in Journal of Object Technology, vol.
2, no. 2, March-April 2003, pp. 133-150.
5. Mawal Ali and Mahmoud O. Elish, “A Comparative Literature Survey of Design Patterns
Impact on Software Quality”, International Conference of Information Science and Appli-
cations (ICISA), June 2013
6. Brian Huston, “The Effects of Design Pattern Application on Metric Scores”, The Journal
of Systems and Software, 2001, pp. 261-269
7. ø .DUDDVODQ 7 $IDFDQ ( 'HPLUFDQ g %DúRO DQG ( =DLP ³øOHWLúLP .DWPDQÕ