• Aucun résultat trouvé

İletişim Katmanı Yazılım Mimarisinin Kalite Analizi

N/A
N/A
Protected

Academic year: 2022

Partager "İletişim Katmanı Yazılım Mimarisinin Kalite Analizi"

Copied!
12
0
0

Texte intégral

(1)

øOHWLúLP.DWPDQÕ<D]ÕOÕP0LPDULVLQLQ.DOLWH$QDOL]L

(EUX'R÷DQ7DQÕQ$IDFDQg]JU%DúRO(PUDK'HPLUFDQøEUDKLP.DUDDVODQ(UPDQ=DLP

$VHOVDQ$ù$QNDUD7UNL\H

{edogan, tafacan, obasol, edemircan, ikaraaslan, ezaim}@aselsan.com.tr

Özet.%XPDNDOHGHQHVQH\HGD\DOÕELULOHWLúLPNDWPDQÕ\D]ÕOÕPPLPDULVLYHEX PLPDUL NXOODQÕODUDN WDVDUODQDQ 7&3/,3 WDúÕPD NDWPDQÕQÕQ NDOLWH |]HOOLNOHULQH HWNLVLWDUWÕúÕOPÕúWÕU+em mimari PRGHOKHPGH|UQHNWDVDUÕPsürdürülebilirlik, test edilebilirlik, \HQLGHQ NXOODQÕODELOLUOLN, DQODúÕODELOLUOLNve güvenilirlik kalite

|]HOOLNOHULNDSVDPÕQGD\RUXPODQPÕúWÕU

Anahtar Kelimeler:<D]ÕOÕP0LPDULVL<D]ÕOÕP.DOLWHg]HOOLNOHUL<D]ÕOÕP Kalite ÖlçPOHUL<D]ÕOÕP.DOLWH$QDOL]L0LPDUL0RGHO

1 *ø5øù

*LWJLGHE\\HQYHNDUPDúÕNODúDQ\D]ÕOÕPODULoLQ\DSÕODQPLPDULWDVDUÕPoDOÕúPD ODUÕ DUWÕN DOJRULWPD YH YHUL \DSÕODUÕQÕQ WDVDUÕPÕ oDOÕúPDODUÕQGDQ GDKD |QFHOLNOL KDOH JHOPLúWLU .DUPDúÕN \D]ÕOÕP VLVWHPOHULQLQ NDOLWHOL RODUDN WDVDUODQPDVÕ ]RUXQOXOX÷X

\HQLELUWDNÕPSUREOHPOHULGHEHUDEHULQGHJHWLUPLúWLU%XSUREOHPOHULQo|]PVUH FLQGH VLVWHP YH \D]ÕOÕP PLPDULVL NDOLWHözellikleri PLPDUL NDUDUODU YH \D]ÕOÕP úDE ORQODUÕJLELNRQXODU|QSODQDoÕNPÕúWÕU

SistHP PLPDULVL NDUPDúÕN VLVWHPOHULQ ELUELUOHUL\OH LOLúNLOL GDKD NoN SDUoDODUD E|OQPHVLQL YH EX SDUoDODU DUDVÕQGDNL LOLúNLOHUOH GDKD NROD\FD RUWD\D oÕNDQ YH GDKD EHOLUJLQELUELoLPGHJ|UOHELOHQE\NUHVPLQROXúWXUXOPDVÕQÕVD÷ODU<D]ÕOÕPPLPD risi ise, ya]ÕOÕPJHUHNVLQLPOHULLOHJHUoHNOHPHDUDVÕQGDN|SUJ|UHYLQLVWOHQLU<D]Õ OÕPVLVWHPJHUHNVLQLPOHULQLVD÷ODPDNYHV|]NRQXVXVLVWHP]HULQGHNLULVNOHULD]DOW PDNLoLQ\D]ÕOÕPJHOLúWLUPHVUHFLQLQLONDúDPDODUÕQGDQLWLEDUHQNDOLWH|OoWOHULQLQJ|]

önünde tutXOPDVÕJHUHNPHNWHGLU[1].

0LPDUL NDUDUODU \D]ÕOÕPVLVWHPLQLQEWQQ \DGDELU YH\DELUGHQoRNoHNLUGHN SDUoDVÕQÕLOJLOHQGLUHQveVLVWHPNDOLWHVLQLGR÷UXGDQHWNLOHyen WDVDUÕPNDUDUODUÕGÕU [2,

@<D]ÕOÕPJHOLúWLUPHVUHFLQLQHUNHQDúDPDODUÕQGDDOÕQDQPLPDULNDUDUODULOJLOLVLV WHPLQ \D]ÕOÕP NDOLWHVL JLEL LúOHYVHO ROPD\DQ JHUHNVLQLPOHULQL GROD\OÕ \D GD GROD\VÕ]

olarak etkilerler. BundanGROD\Õmimari kararlar WDVDUÕPFÕODUWDUDIÕQGDQPXKWHPHl yan HWNLOHU GLNNDWH DOÕQDUDN GH÷HUOHQGLULOPHOLGLUler 0LPDUL NDUDUODUÕQ LúOHYVHO ROPD\DQ JHUHNVLQLPOHU NDSVDPÕQGD HWNLOHULQLQ GH÷HUOHQGLULOHELOHFH÷L WLSLN NDOLWH |]HOOLNOHUL sürdürülebilirlik, test edilebilirlik,\HQLGHQNXOODQÕODELOLUOLN,DQODúÕODELOLUOik ve güveni- lirliktir.

(2)

6RQ\ÕOODUGD\DSÕODQ\D]ÕOÕPPLPDULVLDUDúWÕUPDODUÕNDSVDPÕQGDEDúWD\D]ÕOÕPVLV WHPOHULQLQ JHQHO \DSÕVÕ ROPDN ]HUH |]HOOLNOH DOW VLVWHPOHU LOH ELOHúHQOHU DUDVÕQGDNL LOLúNLOHUL NRQX DODQ LONHVHO oDOÕúPDODU \D\ÕQODQPÕúWÕU $UDúWÕUPDODU EDúODUGD SUDWLN

\D]ÕOÕP oDOÕúPDODUÕ RODUDN DGODQGÕUÕOÕUODUNHQ JQP]H NDGDU RODQ VUHoWH NDUPDúÕN

\D]ÕOÕPWDVDUÕPÕYHJHOLúWLUPHVLSUREOHPLQLQo|]PQGHVRPXWELU\ROJ|VWHULFLJ|UH YLQLVWOHQPLúOHUGLU%XoDOÕúPDODUÕQ\D]ÕOÕPGQ\DVÕQGD\HUEXOPDVÕ\ODEHUDEHU\D]Õ OÕPVLVWHPOHULQLQ JHOLúWLULOPHVLQGHDOÕQDQ PLPDULNDUDUODUEXoDOÕúPDODUODHúJGPO

KDOHJHOPLúWLU*QFHOOL÷LQL NRUX\DQoDOÕúPDODUGDQELULRODQùDEORQ7DEDQOÕ<D]ÕOÕP 0LPDULVL GH JQP]GH oRNoD NXOODQÕOPDNWD ROXS \D]ÕOÕP VLVWHPOHUL WDVDUÕPÕQGD

|QHPOLELUUROR\QDPDNWDGÕU>@

<D]ÕOÕPúDEORQX\D]ÕOÕPPLPDULVLQLQDQDKWDUNDYUDPODUÕQGDQELULGLUYHNÕVDFDELU SUREOHPLQo|]PRODUDNLIDGHHGLOHELOLUg\OHNLEXúDEORQODUÕQ\HQLGHQNXOODQÕOPDVÕ VD\HVLQGHJHQHOELULONH\HED÷OÕNDOÕQDUDNSUREOHPOHULQo|]PJHUoHNOHúWLULOLU%|\

OHFHúDEORQODUoHúLWOLVLVWHPWDVDUÕPODUÕQGDEHQ]HULJ|UOHELOHFHNWHNUDUOD\DQVRUXQOD UD UDKDWOÕNOD X\JXODQDELOHFHN RUWDN ELU o|]P VXQGXNODUÕ LoLQ \D]ÕOÕP PDOL\HWOHULQL GúUPHNWHGLUOHU)DNDW|QHULOHQ \D]ÕOÕP PLPDUL WDVDUÕPYHúDEORQODUÕQÕQ KHU]DPDQ EHNOHQHQNDWNÕ\ÕVD÷ODPDGÕNODUÕGDKDGD|QHPOLVLKHU]DPDQEHOOLEDúOÕNDOLWH|]HOOLN OHULQH ROXPOX HWNL \DSPDGÕNODUÕ ELOLQPHNWHGLU >@ %XQXQOD ELUOLNWH ELUoRN E\N

|OoHNOL SURMHGH VRQ UQ 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-PPNQVH WDVDUÕP DúDPDVÕQGD- JHUoH÷H \DNÕQ ELU \DUJÕ\D VDKLS ROPDNoRNE\NELUDUWÕGH÷HURUWD\DoÕNDUDFDNWÕU%XQXVD÷ODPDQÕQyolu 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Õ÷Õ|QFOoDOÕúPDODUGDYDUGÕU>@DQFDNEXoDOÕúPDODUÕQE\NoR÷XQOX÷X, son ürünDúDPDVÕQGDNDOLWH|]HOOLNOHULQHRGDNODQDUDN\D]ÕOÕPÕQ NDOLWHVLQLWDUWÕúPÕúWÕU

%XPDNDOHGHøOHWLúLP.DWPDQÕ<D]ÕOÕP0LPDULVLø.<0DGÕDOWÕQGDYHULOHQ>@, 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 YHgüvenilirlik NDOLWH |]HOOLNOHUL |OoOPú KHP ø.<0KHPGHø.<0WDEDQOÕWDVDUÕPKDNNÕQGD\DUJÕ\DYDUÕOPD\DoDOÕúÕOPÕúWÕUSonuç RODUDN\D]ÕOÕPNDOLWHVLQHJHUoHNOHPHDúDPDVÕQÕEHNOHPHGHQJQFHOOHPHQLQYe tasa- UÕPGH÷LúLNOL÷LQLQGDKDD]PDOL\HWOLROGX÷XWDVDUÕPDúDPDVÕVÕUDVÕQGDNDUDUYHULOHELOH FH÷LJ|VWHULOPLúWLU

%XPDNDOHúXúHNLOGHRUJDQL]HHGLOPLúWLUE|OPGH|QFOoDOÕúPDODUJHQHORODUDN DQODWÕOPÕúve 3. bölümde kalite ölçütOHULGHWD\ODUÕ\ODDoÕNODQPÕúWÕU4E|OPGHø.<0 ile TCP/IP tDúÕPDkDWPDQÕ WDVDUÕPÕ YH NDOLWH DQDOL]L \HU DOPÕúWÕU 6RQ E|OPGH LVH ø.<0WDEDQOÕ|UQHN7&3/,3WDúÕPDNDWPDQÕQÕQNDOLWH|OoPVRQXoODUÕYHø.<0PR delinWDVDUÕPDNDWNÕODUÕWDUWÕúÕOPÕúWÕU.

(3)

2 ø/*ø/ød$/,ù0$/$5

%XE|OPGHQHVQH\H\|QHOLNELU\D]ÕOÕPNDSVDPÕQGDNLKDWDOÕVÕQÕIODUÕQLOJLOL\D]Õ OÕPD X\JXODQDQ NDOLWH |OoPOHULQLQ VRQXoODUÕ ]HULQGHQ WHVSLWLQH \|QHOLN \DSÕOPÕú RODQ oDOÕúPDODU LQFHOHQPLúWLU <DSÕODQ OLWHUDWU oDOÕúPDVÕ WDVDUÕP DúDPDVÕQGD kalite ölçüm\DSDQoDOÕúPDODUODELUOLNWHJHOLúWLUGLNOHUL\DNODúÕPODUÕQWDVDUÕPDX\JXODQDEL OLUOL÷LJ|]OHPOHQHQND\QDNNRGWHPHOOLoDOÕúPDODUÕGDNDSVDPDNWDGÕU

7DKYLOGDULYH.RQWRJLDQQLV>@\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|OotOHULQHJ|UHoDQDVÕQÕIWDWRS ODPÕúODUGÕU <D]DUODU DUDúWÕUPDODUÕQGD NDUPDúÕNOÕN LoLQ &'( Class Definition Ent- ropy), RFC (Response For a Class) ve WMC (Weighted Methods per ClassED÷ÕPOÕ OÕNLoLQ'$&Data Abstraction Coupling) ve RFC (Response For a Class); uyumlu- luk için ise LCOM (Lack of Cohesion in Methods) ve TCC (Tight Class Cohesion) ölçütOHULQLNXOODQPÕúODUGÕU

7DKYLOGDULYH.RQWRJLDQQLV¶LQELUEDúNDoDOÕúPDVÕ>@LVHQHVQH\H\|QHOLN\D]ÕOÕP ODUGDVUGUOHELOLUOLNNDOLWH|]HOOL÷L]HULQHGLUdDOÕúPDGDELU\D]ÕOÕPÕQKHPPLPDUL WDVDUÕPÕ KHPGHND\QDNNRGVHYL\HVLQGHLQFHOHPHVL\DSÕOPÕú\D]ÕOÕPVUGUOHELOLU OL÷LQLROXPVX]\|QGHHWNLOH\HQNÕVÕPODUÕQRUWDN|]HOOLNOHULEXOXQXSED]ÕWHVSLWOHU\D SÕOPÕúWÕU6DOHKLHYHDUNDGDúODUÕGDQHVQH\H\|QHOLN\D]ÕOÕPGDVUGUOHELOLUOLNNDOLWH

|]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|UQPH\HQ DPD LOHULGH VRUXQ olabilecek alanlar WHVSLWHGLOPH\HoDOÕúÕOPÕúWÕU

Marinescu [11] ise iyi bilinen iki WDVDUÕP KDWDVÕQÕQE\N VÕQÕI YHUL VÕQÕIÕ \D]Õ OÕPODUGD EHOLUOHQPHVLQH \|QHOLN ELU \|QWHP JHOLúWLUPLú YH EX \|QWHPL |UQHN ELU HQ GVWUL\HO\D]ÕOÕPGDX\JXODPÕúWÕUdDOÕúPDGDNXOODQÕODQ|Ootlerin (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 |OoP \|QWHPL JHOLúWLUGL÷LQL LOHUL VUPHNWHGLU 0DULQHVFX¶QXQ GL÷HU ELU oDOÕú PDVÕQGD>@LVH \D]ÕOÕPWDVDUÕP KDWDODUÕGDKD IDUNOÕ|OotOHUOHWHVSLWHGLOPH\HoDOÕ úÕOPÕúWÕUhoIDUNOÕ|Oot (WMC-Weighted Method Count, NOC-Number of Children, TCC-Tight Class CohesionoIDUNOÕ\D]ÕOÕPD X\JXODQPÕúYHVRQXoODU\RUXPODQPÕú WÕUSaKUDRXL YHDUNDGDúODUÕ\DSWÕNODUÕoDOÕúPDGD>@&LOHNRGODQPÕú \D]ÕOÕPODU GDNL SRWDQVL\HO WDVDUÕP KDWDODUÕQÕ oHúLWOL |Ootlerle (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öyleceNXOODQÕ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 |OoW 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ÕUPDODUODbu yeni ölçütün,

(4)

|UQHN RODUDN VHoLOHQ GL÷HUuyumluluk ölçütleriQGHQ GDKD GX\DUOÕ ROGX÷X LOHUL VUO mektedir.

3 .$/ø7(g/dh0/(5ø

.DOLWH|]HOOLNOHULQLQGR÷UXGDQ|OoP]RUKDWWDED]ÕGXUXPODUGDLPNkQVÕ]GÕU [22, 23]'H÷LúLN|OotOHUELUDUD\DJHWLULOHUHNNDOLWH|]HOOLNOHUL KDNNÕQGDED]ÕVD\ÕVDOGH

÷HUOHUHXODúÕOPD\DoDOÕúÕOPDNWDGÕU>@, IDNDWEXoDOÕúPDODUJHQHOGH|]QHOQLWHOLNWDúÕ PDNWDGÕU$\UÕFDEX|OoPOHUJHQHORODUDN\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]ÕNNLEXWUgün- cellemeler JHUHNSURMHWDNYLPLJHUHNVHGR÷DFDNPDOL\HWDoÕVÕQGDQKHU]DPDQPP NQROPDPDNWDGÕ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

|QQGHEXOXQGXUXOPXúEXözellikleriGR÷UXGDQHWNLOH\HQ|OotOHUVHoLOPLúYH\DSÕODQ ölçümlere dayanarak ø.<0WDEDQOÕ7&3/,3WDúÕPDNDWPDQÕWDVDUÕPÕQÕQkalite özellik- OHUL KDNNÕQGD ED]Õ VRQXoODU oÕNDUÕOPD\D oDOÕúÕOPÕúWÕU 6HoLOHQ |OotOHUL o DQD EDúOÕN DOWÕQGDWRSODPDN PPNQGU.DUPDúÕNOÕN|Ootleri (complexity metricsED÷ÕPOÕOÕN ölçütleri (coupling metrics) ve uyumluluk ölçütleri (cohesion metrics).

3.1 .DUPDúÕNOÕNÖlçütleri (Complexity Metrics):

<D]ÕOÕPGDNLNDUPDúÕNOÕNVÕQÕIODUÕQLoYHGÕú\DSÕVÕQÕVÕQÕIODUDUDVÕLOLúNLOHULNDYUD PDGDNL ]RUOX÷XQ GHUHFHVLGLU >@ <D]ÕOÕPÕQ NDUPDúÕNOÕN VHYL\HVL DUWWÕNoD \D]ÕOÕPÕ o|]POHPHNWHVWHWPHNGH÷LúWLUPHN, yeniden kullanabilmekYH\D]ÕOÕPÕQVUGUOH ELOLUOL÷LQLNRUXPDN]RUODúÕU

.DUPDúÕNOÕN|OoP\|QWHPOHULQLQJHQHOJHoHUNÕVWDVODUDVDKLSROPDPDODUÕYHIDUNOÕ oDOÕúPDODUGD IDUNOÕ WDQÕPODUD YH VÕQÕUODUD VDKLS ROPDODUÕ VHEHEL\OH X\JXQ |Ootü seç- mek oldukça zordur. BXoDOÕúPDGD NDUPDúÕNOÕN|OoPLoLQMalik ve Chhillar [18]’ÕQ oDOÕúPDVÕreferans alÕQPÕú YHDúD÷ÕGDOLVWHOHQHQölçütler kullanÕOPÕúWÕU:

 CMCM (Class Member Complexity Measure %LU VÕQÕIÕQ RUWDN YH\D NRUXPDOÕ PHWRWYHYHUL\HOHULWRSODPVD\ÕVÕGÕU&0&0 GH÷HULDUWWÕNoDVÕQÕIWDNLöznitelik sa-

\ÕVÕ DUWDFD÷ÕQGDQ NDUPDúÕNOÕN DUWDFDN YH JYHQLOLUOLN D]DODFDNWÕU $\UÕFD, CMCM GH÷HUL\NVHNRODQELUVÕQÕIÕQDUD\]GDKDNDUPDúÕNKDOHJHOHFH÷LQGHQ VÕQÕIÕQye- QLGHQNXOODQÕODELOLUOLNGH÷HULdeGúNRODFDNWÕU[17, 27].

ܥܯܥܯ=ܰ+ ܰ (1)

ܰ 2UWDN.RUXPDOÕYHUL\HVD\ÕVÕ

ܰ 2UWDN.RUXPDOÕPHWRWVD\ÕVÕ

(5)

 CICM (Class Inheritance Complexity Measure .DOÕWÕP inheritance) yoluyla DNWDUÕODQ NDUPDúÕNOÕN |OotGU &,&0 GH÷HULQLQ KHVDSODQPD \|QWHPL DúD÷ÕGDNL IRUPOLOHEHOLUOHQPLúWLU:

ܥܫܥܯ=൜0, ݅= 0

݊+ σ௜ୀଵܴ, ݅ ൒1ൠ (2)

݊ ELUVÕQÕIDDLWVWVÕQÕIVD\ÕVÕ

ܴ=݅QROXVWVÕQÕIÕQ&,&0GH÷HUL

%LOLQGL÷L]HUHNDOÕWÕP\HQLGHQNXOODQÕODELOLUOL÷LWHWLNOH\HQELUXQVXUGXU'ROD\ÕVÕ\

OD&,&0GH÷HULQLQEHOLUOLELUDUDOÕNWDNDOPDVÕúDUWÕLOH\HQLGHQNXOODQÕODELOLUOLNNDOLWH

|]HOOL÷L LOH GR÷UX RUDQWÕOÕ ROGX÷X V|\OHnebilir $\UÕFD VW VÕQÕIWDQ NDOÕWÕPOD DOW VÕQÕID JHoHQ\HOHUDOWVÕQÕIÕQNDUPDúÕNOÕ÷ÕQÕHWNLOHGL÷LQGHQ,VWVÕQÕIÕQ&,&0GH÷HULDUWWÕNoD DOWVÕQÕIÕQNDUPDúÕNOÕ÷ÕGDDUWDFDNWÕUBununla beraber,ELUVÕQÕIÕQNDOÕWÕPNDUPDúÕNOÕN VHYL\HVLDUWWÕNoDDQODúÕODELOLUOLNYHVUGUOHELOLUOLNGH÷HUOHULD]DODFDNWÕU [17, 28].

3.2 %D÷ÕPOÕOÕNÖlçütleri (Coupling Metrics)

%D÷ÕPOÕOÕN |OoP JHQHO RODUDN VÕQÕI ED]ÕQGD \DSÕOÕU YH LNL VÕQÕIWDQ HQ D] ELULQLQ GL÷HULQH HWNL HWPHVL\OH ROXúDQ ED÷ÕPOÕOÕ÷ÕQ GHUHFHVL RODUDN WDQÕPODQÕU $ VÕQÕIÕQÕQ % VÕQÕIÕQDRODQED÷ÕPOÕOÕ÷ÕQÕEHOLUOH\HQHWPHQOHUDúD÷ÕGDNLúHNLOGHVÕUDODQDELOLU>@

ņ $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Õ÷ÕQPPNQROGX÷XQ FDGúNROPDVÕWHUFLKHGLOLUlow coupling%LUVÕQÕIÕQED÷ÕPOÕOÕNVHYL\HVL\NVHOGLN oH EX VÕQÕIÕ VLVWHPLQ PRGOHU ELU SDUoDVÕ RODUDN J|US 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÷LQGHQgenel RODUDN \D]ÕOÕPÕQ VUGUOHELOLUOL÷L GH GúN RODFDNWÕU 6LVWHPGH ED÷ÕPOÕOÕ÷Õ \NVHN VÕQÕIODUDUWWÕNoDVÕQÕIODUÕELUELULQGHQD\UÕDQODPDN]RUODúDFDNGROD\ÕVÕylaDQODúÕ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&$/0Class Aggregation Level Measure>@ED÷ÕPOÕ OÕN|OotNXOODQÕOPÕúWÕU%X|Oot 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Õ

(6)

3.3 Uyumluluk Ölçütleri (Cohesion Metrics):

8\XPOXOXN|OoPVÕQÕIWDNLPHWRWve veri üyelerininNHQGLLoLQGHNLX\XPOXOX÷XQX EHOLUWLU+HUVÕQÕIÕQWHNELUVRUXPOXOX÷XROPDOÕGÕU. (÷HUELUVÕQÕIkendi içinde birbirin- GHQIDUNOÕYHED÷ÕPVÕ]LúOHU\DSÕ\RUVDbirbiriyle ilgili olmayan veri üyeleriEDUÕQGÕUÕ

\RUVD YH\D oRN ID]OD Lú \DSÕ\RUVD VÕQÕIÕQ X\XPOXOX÷X GúNWUKaliteli bir nesneye

\|QHOLN \D]ÕOÕPGD VÕQÕIODUÕQ NHQGL LoOHULQGHNL X\XPOXOX÷XQXQ PPNQ ROGX÷XQFD

\NVHNROPDVÕWHUFLKHGLOLUhigh cohesion8\XPOXOXNDUWWÕNoDVÕQÕIÕQNHQGLLoLQGHNL NDUDUOÕOÕ÷ÕDUWDFDNEXQGDQGROD\ÕVÕQÕIÕQVUGUOHELOLUOLNYHJYHQLOLUOLNGH÷HUOHULGH DUWDFDNWÕU [17] $\UÕFD, X\XPOXOXN DUWWÕNoD VÕQÕI GDKD PRGOHU ELU \DSÕ\D NDYXúDFD

÷ÕQGDQWHVWHGLOHELOLUOLNGH÷HULGHDUWDFDNWÕU

%X oDOÕúPDGD X\XPOXOXN |Ootü olarak CCOM (Class Cohesion Measure) [18]

NXOODQÕOPÕúWÕU&&20GH÷HULDúD÷ÕGDEHOLUWLOHQIRUPOLOHKHVDSODQÕU

ܥܥܱܯ=ܣܣௌ஼

ܯܣௌ஼

(4)

ܣܣௌ஼ %LUVÕQÕIWDEXOXQDQKHUbir veri üyesininRVÕQÕIÕQNDoWDQHPHWRGXWDUDIÕQGDQ HULúLOGL÷LKHVDSODQÕUYHEXGH÷HUOHUWRSODQÕU

ܯܣௌ஼ %LUVÕQÕIWDEXOXQDQKHUPHWRWKHUbir veri üyesineHULúLUVHܣܣௌ஼ ’nin göstere- FH÷LGH÷HUGLUWRSODPveri üyeVD\Õ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ÕQVWQGHX\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 JYHQOL÷LLoHUPH]YHJHQHOOLNOHVHVYLGHRYEDNWDUÕPÕ\DSDQJHUoHN]DPDQOÕX\JX ODPDODU WDUDIÕQGDQ WHUFLK HGLOLU 7&3 LVH ED÷ODQWÕOÕ DNÕú NRQWUROO YH JYHQLOLU 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|OPGHø.<0øOHWLúLP.DWPDQÕ<D]ÕOÕP0LPDULVL>@PRGHOLNXOODQÕODUDN 7&3,3 WDúÕPD NDWPDQÕQÕQ WDVDUÕPÕ DQODWÕOPÕú NDOLWH |OoPOHUL \DSÕODUDN |OoP 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ÕQLoHUGL÷LGH÷LúNHQOHUmetotlar ve me-

(7)

totlarlaGH÷LúNHQOHUDUDVÕQGDNLLOLúNLOHUGHWD\ODQGÕUÕODUDNGHWD\OÕELUWDVDUÕPHOGHHGLO PLúWLU 8\JXQ NDOLWHölçütleri VHoLOHUHN JHUoHNOHPH DúDPDVÕ EHNOHQPHGHQ NDOLWH |O oPOHUL\DSPDNYH|OoPVRQXoODUÕQDJ|UH\D]ÕOÕPÕQNDOLWHVLKDNNÕQGDGH÷HUOHQGLUPH yapmak mümkündür. Malik ve Chhillar [18]µÕQGDEHOLUWWL÷LJLELNRGODPD\DJHUoHN OHPH\HEDúODPDGDQDOÕQDQJHULELOGLULP]DPDQSDUDYHLúJFPDOL\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.

ùHNLO1.TCP/,37DúÕPD.DWPDQÕ80/6ÕQÕIModeli

4.2 TCP/,37DúÕPD.DWPDQÕ7DVDUÕPÕQÕQ.DOLWHgOoPOHUL

%XoDOÕúPDNDSVDPÕQGDVHoLOHQNDOLWHölçütleri0DOLNYH&KKLOODU>@µÕQEHOLUWWL÷L yöntemle örnek TCP/,3WDúÕPDNDWPDQÕLoLQKHVDSODQPÕúWÕU+HUölçüt için elde edilen

|OoP VRQXoODUÕQÕQ HQ GúN HQ \NVHNve RUWDODPD GH÷HUOHUL D\UÕ WDEORODU KDOLQGH

Serv icesProv idedToA pplicationLay er«Interface»

sendUDPPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPtr:U8*,payloadLength:U16):void subscribeToUDPSAP(port:U16,packetReceivedFunction:void(*)):void unsubscribeFromUDPSAP(port:U16):void

openTCPSession(srcPort:U16,dstPort:U16,srcIP:U32,dstIP:U32,active:bool,optionsPtr:U8*,optionsLength:U16):U32 closeTCPSession(sessionID:U32):U8

sendTCPData(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8,urgentFlag:U8):U8 readTCPData(sessionID:U32):U16

getTCPSessionStatus(sessionID:U32):STATUS abortTCPSession(sessionID:U32):U8

Serv icesUsedFrom A pplicationLay er«Interface»

TCPSessionClosed(sessionID:U32):void TCPPacketReceived(sessionID:U32,packetPtr:U8*,packetLength:U16):void TCPErrorReceived(sessionID:U32,errorNo:U32):void

TransportLay erM anager

initLayer():void resetLayer():void

sendUDPPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPt subscribeToUDPSAP(port:U16,packetReceivedFunction:void (*)):void unsubscribeFromUDPSAP(port:U16):void openTCPSession(sessionID:U32,srcPort:U16,dstPort:U16,srcIP:U32,dstIP closeTCPSession(sessionID:U32):U8 sendTCPData(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8, getTCPSessionStatus(sessionID:U32):STATUS abortTCPSession(sessionID:U32):U8 readTCPData(sessionID:U32):U16 packetReceivedFuncFromIPLayer(srcIp:U32,dstIp:U32,packetPtr:U8 *,pa

1

1

1

UDPSAPElement port:U16 packetReceivedFunction:void (*)

UDPPacket srcPort:U16 dstPort:U16 checkSum:U16 payloadPtr:U8*

payloadLength:U16 packetPtr:U8 * packetLength:U32

parsePacket(packetPtr:U8 *,packetLen:U16,srcIp:U32,ds...

constructUDPPacket(srcIP:U32,dstIP:U32,srcPort:U32,dst...

calculateChecksum(srcIP:U32,dstIP:U32):U16 checkUDPChecksum(srcIP:U32,dstIP:U32):bool currentUDPPacket

1 1

TCPManager

initTCP():void resetTCP():void getSession(sessionID:U32):void getSession(srcPort:U16,srcIP:U32,dstPort:U16,dstIP:U32):TCPSession*

packetReceived(srcIP:U32,dstIP:U32,packetPtr:U8*,packetLength:U16,tos:U openSession(sessionID:U32,srcPort:U16,srcIP:U32,dstPort:U16,dstIP:U32):U closeSession(sessionID:U32):U8

sendPacket(sessionID:U32,dataPtr:U8*,dataLength:U16,pushFlag:U8,urgentF abortSession(sessionID:U32):U8

readData(sessionID:U32):void getStatus(sessionID:U32):void

1 1

1 1..*

1 1..*

TCPSession srcPort:U16 srcIP:U32 dstPort:U16 dstIP:U32 sessionID:U32 initialSeqNumber:U32 state:TCPState*=Closed status:U32

resetSession():void packetReceived():void setCurrentState(state:TCPState*):void getCurrentState():TCPState*

sendSYN():void sendACK():void sendSYNACK():void sendRST():void sendFIN():void sendDATA():void sendFINACK():void userTimeout():void timeWaitTimeout():void 1 1

1 1 1 1 1 1 1 1 1 1

1 TCPPacket srcPort:U16 dstPort:U16 seqNumber:U32 ackNumber:U32 dataOffset:U8 controlBits:U8 window:U16 checkSum:U16 urgentPtr:U16 optionsPtr:U8*

optionsLength:U16 payloadPtr:U8*

payloadLength:U16 packetPtr:U8 * packetLen:U16

calculateChecksum(srcIP:U32,dstIP:U32,le...

checkChecksum(srcIP:U32,dstIP:U32,pack...

constructTCPPacket():U8 * parsePacket(packetPtr:U8 *,packetLen:U1...

1 1

1 currentTCPPacket 1

currentTCPPacket 1

1 TTimer

start(timerType:U32,time:U32,parameter:U32 stop(timerType:U32):void

1

1

1 1 userOrTimeWaitTimer

itsTCPSession

TCPIncomingQueueElement

1

TCPAutomaticRepeatRequest sendNext:U32 receiveNext:U32 inAckNo:U32 inSeqNo:int outWindow:int inWindow:U32 outSeqNo:U32

ACKReceived(ackNo:U32,windowSize:U32):void readData():void retransmissionTimeout(elementIndex:int):void writePacket(tcpPacketPtr:TCPPacket):void

1

1 1

1 1

1 1

1 1

1 1

currentTCPPacket

retransmissionTimer

TCPState

SYNReceived():void SYNACKReceived():void ACKReceived():void RSTReceived():void DATAReceived():void FINReceived():void FINACKReceived():void activeOpen():void passiveOpen():void close():void abort():void timeWaitTimeout():void userTimeout():void

1

1 1

1

Closed

Closed(itsTCPSession:

activeOpen():void passiveOpen():void 1

Listen

Listen(itsTCPSession activeOpen():void SYNReceived():void 1

SynSent

SynSent(itsTCPSe SYNReceived():vo SYNACKReceived(

1

Estab

Estab(itsTC FINReceive close():void 1

LastAck

LastAck(itsT ACKReceive 1

Closing

Closing(itsT ACKReceive 1

FinWait1

FinWait1(its ACKReceive FINACKRec FINReceive 1

FinWait2 FinWait2(its FINReceive 1

TimeWait TimeWait(it timeWaitTim 1

CloseWait

CloseWait(i close():void 1 itsTCPSession

itsTCPSession itsTCPState

ServicesProvidedToIPLayer«Interface» Serv icesUsedFrom IPLay er«Interface»

subscribeToIPSAP(protocolType:U8,packetReceivedFuncPtr:void(*)):void sendPacket(srcIP:U32,dstIP:U32,packetPtr:U8*,packetLength:U32,ipOptions:U8 *,tos:U8, unsubscribeFromIPSAP(protocolType:U8):void

1

IKYM_TCP_UDP_Package TCPDataQueueManager incomingQueue:TList<TCPIncomingQueueElement*>

outgoingQueue:TList<TCPOutgoingQueueElement*>

addToQueue(queueType:U8,element:TCPIncomingQu removeFromQueue(queueType:U8,index:int):void moveElement(queueType:U8,sourceIndex:int,destIn getElementIndex(queueType:U8,element:TCPIncomin getElement(queueType:U8,index:int):TCPIncomingQu getQueueSize():int getQueueCount():int isQueueFull():bool isQueueEmpty():bool FlashAllQueues():void

**

1 1

1 1

TCPOutgoingQueueElement sendTime:U32

**

1 1

UDPManager

initUDP():void resetUDP():void releaseUDPSaps():void getAppPacketReceivedFunc(port:U16):void*

unsubscribeFromSAP(port:U16):void subscribeToSAP(port:U16,packetReceivedFunction:void (*)):void packetReceived(pktPtr:U8*,pktLength:short,srcIp:U32,dstIp:U32,tos:U8)...

sendPacket(srcIP:U32,dstIP:U32,srcPort:U16,dstPort:U16,payloadPtr:U8...

1 1

**

(8)

J|VWHULOPLúWLU (bkz. Tablo 1-4). Buna ek olarak her ölçütünVÕQÕIODUÕQ\]GHVHOGD÷Õ OÕPÕQDJ|UHGH÷HUGH÷LúLPLGHD\UÕFDJUDILNVHORODUDNJ|VWHULOPLúWLUbkz. ù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.CMCMgOoP6RQXoODUÕ

Tablo 1¶GHJ|UOG÷]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úNJYHQLOLUOL÷LQLQ\NVHNROGX÷XQXJ|VWHUPHNWHGLU%XQXQ\DQÕ VÕUD&0&0GH÷HULGúNRODQEXVÕQÕIODUÕQ\HQLGHQNXOODQÕODELOLUOLNGH÷HULQLQ\NVHN ROGX÷XQXV|\OHPHNPPNQGU &0&0GH÷HULQLQ\NVHNoÕNWÕ÷ÕVÕQÕIODUEHNOHQGL÷L JLELNDUPDúÕNOÕ÷Õ\NVHNRODQ\|QHWLFLVÕQÕIODUGÕU

ùHNLO2.CMCM ve CICM Ölçümlerinin Yüzdesel DD÷ÕOÕPODUÕ

CICM Ölçüm Analizi.

Minimum Maksimum Ortalama

0 2 0,54

Tablo 2.&,&0gOoP6RQXoODUÕ

&,&0|OoPOHULQLQLVWDWLVWLNVHOGH÷HUOHUL ùHNLO¶GHJ|VWHULOPLúWLU*|UOG÷]H UHHQGúN&,&0GH÷HULHQ\NVHN&,&0GH÷HULYHRUWDODPD&,&0GH÷HUL oÕNPÕúWÕU<DSÕODQ|OoPOHUGHNDOÕWÕPVHYL\HVLQLQLOHVÕQÕUOÕNDOPDVÕWDVDUÕPÕQNRQW

0%

5%

10%

15%

20%

25%

0 2 4 6 8 10 12 14

Ŷ ŦĨ йΖƐŝ

DD

0%

10%

20%

30%

40%

50%

60%

0 1 2 3 4 5

Ŷ ŦĨ йΖƐŝ

/D

(9)

UROHGLOHELOLUG]H\GHROGX÷XQXJ|VWHUPHNWHGLU>@2UWDODPDGH÷HUJ|]|QQHDOÕQ GÕ÷ÕQGDLVHVLVWHPGHNLVÕQÕIODUÕQNDUPDúÕNOÕNGH÷HUOHULQLQGúNROGX÷XDQODúÕODELOLU lik WHNUDU NXOODQÕODELOLUOLN YH VUGUOHELOLUOLN GH÷HUOHULQLQ X\JXQ VHYL\HGH ROGX÷X söylenebilir.

CALM Ölçüm Analizi.

Minimum Maksimum Ortalama

0 1 0,24

Tablo 3.&$/0gOoP6RQXoODUÕ

ùHNLO¶WHNL&$/0|OoPQQ\]GHVHOGD÷ÕOÕPJUDIL÷LQHEDNÕOGÕ÷ÕQGD,VÕQÕIODUÕQ

¶QQGH÷HULQHVDKLSROGX÷XJ|UOPHNWHGLU%XQDED÷OÕRODUDN7DEOR3’te gös- terileQRUWDODPD&$/0GH÷HULROGXNoDGúNoÕNPÕúWÕUÖnceki bölümlerdeDQODWÕOGÕ÷Õ

]HUH &$/0 GH÷HULQLQ GúN oÕNPDVÕ VÕQÕIODU DUDVÕQGDNL ED÷ÕPOÕOÕ÷ÕQ D] ROGX÷XQX GROD\ÕVÕylaDQODúÕODELOLUOLNWHVWHGLOHELOLUOLNYH\HQLGHQNXOODQÕODELOLUOLNNDOLWH|]HOOLN OHULQLQ \NVHN ROGX÷XQX J|VWHUPHNWHGLU &$/0 GH÷HULQLQ \NVHN oÕNWÕ÷Õ VÕQÕIODU

&0&0|OoWQGHROGX÷XJLELNDUPDúÕNOÕ÷Õ\NVHNRODQ\|QHWLFLVÕQÕIODUÕGÕU

ù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.&&20gOoP6RQXoODUÕ 0%

10%

20%

30%

40%

50%

60%

70%

80%

0 0,4 0,7 1

Ŷ ŦĨ йΖƐŝ

>D

0%

20%

40%

60%

80%

100%

NA 0,29 0,47 0,56 0,62 1

Ŷ ŦĨ йΖƐŝ

KD

(10)

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|OoP \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 üyesineVDKLSGH÷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 7DEOR4’te J|UOG÷ ]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\Õ|OoP\DSÕODQVÕQÕIODUÕQsü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|OoWOHULQLQNDOÕ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

|OoWOHULQ X\XPOXOXN |OoPOHUL LoLQ \HWHUOL ROPDGÕ÷ÕQÕ YH VRUJXODQÕU ROGXNODUÕQÕ EH OLUWPLúWLU

6RQXoRODUDNKHUQHNDGDUOLWHUDWUGHX\XPOXOXN|OoWOHULQHoHú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÷HULQHVDKLSRODQTCPAutomaticRepeatRequestve TCPSession VÕQÕIODUÕQÕQ ELUELULQGHQED÷ÕPVÕ]LúOHYOHUL|]QHVLQGHWRSOD\DQVÕQÕIODUROGX÷XJ|]OHQGLYHEXVÕQÕI ODUÕQE|OQPHVLQHNDUDUYHULOGL

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|OoWOHULQLQNXOODQÕOPD VÕQDRODQDNVD÷ODPÕúWÕU

$\UÕFD EX oDOÕúPDGD 7&3,3 WDúÕPD NDWPDQÕ WDVDUÕPÕ X\JXQ |OoWOHUOH VÕQÕI ED ]ÕQGD JHUoHNOHPH \DSPDGDQ |OoOPú 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 |OoP VRQXoODUÕQÕQ NDbul edilebilir VHYL\HQLQ VWQGH oÕNPDVÕ YH \D]ÕOÕPÕQ J|UHFH NÕVD VUHGH WDVDUODQDELOPLú ROPDVÕ ø.<0¶QLQEDúDUÕOÕELUQHVQH\H\|QHOLN\D]ÕOÕPPLPDULVLROGX÷XQXJ|VWHUPLúWLU So- QXoODUø.<0¶ninWHVWHGLOHELOLUVUGUOHELOLU\HQLGHQNXOODQÕODELOLUDQODúÕODELOLUYH JYHQLOLUROGX÷XQDGDLúDUHWHWPHNWHGLU%X|]HOOLNOHUHø.<0NXOODQÕODQGL÷HUSURWR NRO WDVDUÕPODUÕQÕQ GD VDKLS RODFD÷Õ GúQOHELOLU 6RQ RODUDN \D]ÕOÕP WDVDUÕPÕQda

(11)

ø.<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Õ<D]ÕOÕP Mimarisi – Communication Layer Software Architecture´8OXVDO<D]ÕOÕP0KHQGLVOL÷L Sempozyumu – 1DWLRQDO 6RIWZDUH (QJLQHHULQJ 6\PSRVLXP 8<06 ø]PLU 6HSWHPEHU 2013

8. Ladan Tahvildari and Kostas Kontogiannis, “A Metric-Based Approach to Enhance Design Quality Through Meta-Pattern Transformations”, Conference On Software Maintenance And Reengineering (CSMR’03), March 2003, pp. 183-192

9. Ladan Tahvildari and Kostas Kontogiannis, “A Software Transformation Framework for Quality-Driven Object-Oriented Re-Engineering”, International Conference on Software Maintenance (ICSM’02), 2002

10. M. Salehie, S. Li and L. Tahvildari, “A Metric-Based Heuristic Framework to Detect Ob- ject-Oriented Design Flaws”, Conference on Program Comprehension (ICPC’06), 2006 11. Radu Marinescu, “Detecting Design Flaws via Metrics in Object-Oriented Systems”, Conf.

and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS’01), 2001

12. Radu Marinescu, “Using Object-Oriented Metrics for Automatic Design Flaws Detection in Large Scale Systems”, Object-Oriented Technology Ecoop‘98, 1998

13. Houari A. Sahraoui, Robert Godin and Thierry Miceli, “Can Metrics Help to Bridge the Gap Between the Improvement of 00 Design Quality and Its Automation?”, International Conference on Software Maintenance, 2000, pp.154-162

14. 2'7h %LOJLVD\DU 7RSOXOX÷X (OHNWURQLN 'HUJLVL KWWSH-bergi.com/2008/Eylul/Yeniden- Kullanim-Software-Reuse, Last date accessed: April 2014

15. Tuna Türk, “The Effect of Software Design Patterns on Object-Oriented Software Quality and Maintainability”, A thesis submitted to the Graduate School of Natural and Applied Sciences of METU, September 2009

16. U. Erdemir, U. Tekin, F. Buzluca, “1HVQH\H'D\DOÕ<D]ÕOÕP0HWULNOHULYH<D]ÕOÕP.DOLWH si”, <D]ÕOÕP.DOLWHVLYH<D]ÕOÕP*HOLúWLUPH$UDoODUÕ6HPSR]\XPX<.*6

(12)

17. Nurdan Canbaz ve Feza Buzluca, “<D]ÕOÕP .DOLWHVL øoLQ <LQHOHPHOL gOoPH <|QWHPL”, 4.

8OXVDO<D]ÕOÕP0LPDULVL.RQIHUDQVÕ8<0.¶-(\OOø]PLU

18. Nisha Malik and Rajender Singh Chhillar, “New Design Metrics for Complexity Estima- tion in Object Oriented Systems”, International Journal on Computer Science and Enginee- ring (IJCSE), Vol. 3 No. 10, pp.3367-3382, October 2011

19. J. Postel, “User Datagram Protocol”, RFC768, 28 August 1980

20. Information Sciences Institute University of Southern California, “Transmission Control Protocol”, RFC 793, September 1981

21. E. Gamma, R. Helm, R. Johnson and J. Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software”, Addson Wesley, 1995

22. Barbara Kitchenham and Shari Lawrence Pfleeger, “Software Quality: The Elusive Tar- get”,IEEE Software, pages 12-21, 1996.

23. Linda H. Rosenberg and Lawrence E. Hyatt, “A Software Quality Model and Metrics for Identifying Project Risks and Assessing Software Quality”,8th Annual Software Techno- logy Conference Utah, April 1996

24. Jehad Al Dallal, “A Design-Based Cohesion Metric for Object-Oriented Classes”, World Academy of Science, Engineering and Technology, Vol:1, No:10, 2007

25. Taranjeet Kaur and Rupinder Kaur, “Comparison of Various Lacks of Cohesion Metrics”, International Journal of Engineering and Advanced Technology (IJEAT) ISSN: 2249 – 8958, Volume-2, Issue-3, February 2013

26. Heung Seok Chae and Yong Rae Kwon, “A Cohesion Measure for Classes in Object- Oriented Systems”, Software Practice and Experience, 2001

27. Ladan Tahvildari, “Assessing the Impact of Using Design-pattern-based Systems”, A thesis submitted to the University of Waterloo, 1999

28. Ladan Tahvildari and Kostas Kontogiannis, “Improving design quality using meta-pattern transformations: a metric-based approach”, Journal of Software Maintenance and Evolu- tion, 16: 331-361, 2004

Références

Documents relatifs

Tablo 1.. Bu veritabanı 5 farklı projeden toplamda 5371 örneklem içer- mektedir. Verilerin elde edilmesinde popüler açık kaynak kodlu bazı projelerin kodla- rından

Öncül çalışmalardan farklı olarak, İKYM, yazılım sistemini tasarım şablonu sevi- yesinde ele almakta ve daha detaylı bir mimari model önermektedir. İKYM, kolaylık- la

YKRO (Yazılım Kalite Risk Oranı) metriği, bütün metrik ölçüm sonuçları yorumlanarak oluşturulan birleştirici bir metriktir ve projede probleme etkisi en fazla olan

A comprehensive approach to effectiveness’s estimation of post object-oriented technologies (POOT) is proposed, which is based on structuring and analyzing of

[r]

Similarily other 5 processes (Control place, Process, Inarc, Outarc, Transition) will have got the JSON code as a result of executing phase 2.. Phase 3 will be the normal run of

Daha sonra bu örneklerin incelenmesi üzerine mevcut yazılım kalite güvence faaliyetlerine ek olarak yazılım geliştirme süreci boyunca uygulanan ATAD faaliyetleri

Different symbols (circle, square, diamond, star) denote particles belonging to different processors in the same sub-domain. Every processor in the group solves the Maxwell