øOHWLúLP.DWPDQÕ<D]ÕOÕP0LPDULVLQLQ.DOLWH$QDOL]L
(EUX'R÷DQ7DQÕQ$IDFDQg]JU%DúRO(PUDK'HPLUFDQøEUDKLP.DUDDVODQ(UPDQ=DLP
$VHOVDQ$ù$QNDUD7UNL\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|]PVUH 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 NoN SDUoDODUD E|OQPHVLQL YH EX SDUoDODU DUDVÕQGDNL LOLúNLOHUOH GDKD NROD\FD RUWD\D oÕNDQ YH GDKD EHOLUJLQELUELoLPGHJ|UOHELOHQE\NUHVPLQROXúWXUXOPDVÕQÕVD÷ODU<D]ÕOÕPPLPD risi ise, ya]ÕOÕPJHUHNVLQLPOHULLOHJHUoHNOHPHDUDVÕQGDN|SUJ|UHYLQLVWOHQLU<D]Õ OÕPVLVWHPJHUHNVLQLPOHULQLVD÷ODPDNYHV|]NRQXVXVLVWHP]HULQGHNLULVNOHULD]DOW PDNLoLQ\D]ÕOÕPJHOLúWLUPHVUHFLQLQLONDúDPDODUÕQGDQLWLEDUHQNDOLWH|OoWOHULQLQJ|]
önünde tutXOPDVÕJHUHNPHNWHGLU[1].
0LPDUL NDUDUODU \D]ÕOÕPVLVWHPLQLQEWQQ \DGDELU YH\DELUGHQoRNoHNLUGHN SDUoDVÕQÕLOJLOHQGLUHQveVLVWHPNDOLWHVLQLGR÷UXGDQHWNLOHyen WDVDUÕPNDUDUODUÕGÕU [2,
@<D]ÕOÕPJHOLúWLUPHVUHFLQLQHUNHQDú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.
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 JQP]H NDGDU RODQ VUHoWH NDUPDúÕN
\D]ÕOÕPWDVDUÕPÕYHJHOLúWLUPHVLSUREOHPLQLQo|]PQGHVRPXWELU\ROJ|VWHULFLJ|UH YLQLVWOHQPLúOHUGLU%XoDOÕúPDODUÕQ\D]ÕOÕPGQ\DVÕQGD\HUEXOPDVÕ\ODEHUDEHU\D]Õ OÕPVLVWHPOHULQLQ JHOLúWLULOPHVLQGHDOÕQDQ PLPDULNDUDUODUEXoDOÕúPDODUODHúJGPO
KDOHJHOPLúWLU*QFHOOL÷LQL NRUX\DQoDOÕúPDODUGDQELULRODQùDEORQ7DEDQOÕ<D]ÕOÕP 0LPDULVL GH JQP]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|]PRODUDNLIDGHHGLOHELOLUg\OHNLEXúDEORQODUÕQ\HQLGHQNXOODQÕOPDVÕ VD\HVLQGHJHQHOELULONH\HED÷OÕNDOÕQDUDNSUREOHPOHULQo|]PJHUoHNOHúWLULOLU%|\
OHFHúDEORQODUoHúLWOLVLVWHPWDVDUÕPODUÕQGDEHQ]HULJ|UOHELOHFHNWHNUDUOD\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 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Õ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Õ÷Õ|QFOoDOÕú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 |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úÕPDkDWPDQÕ WDVDUÕPÕ YH NDOLWH DQDOL]L \HU DOPÕúWÕU 6RQ E|OPGH LVH ø.<0WDEDQOÕ|UQHN7&3/,3WDúÕPDNDWPDQÕQÕQNDOLWH|OoPVRQXoODUÕYHø.<0PR delinWDVDUÕPDNDWNÕODUÕWDUWÕúÕOPÕúWÕU.
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 <DSÕODQ OLWHUDWU 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|OotOHULQHJ|UHoDQDVÕ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 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ÕQE\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 CohesionoIDUNOÕ\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 |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ö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 |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ÕUPDODUODbu yeni ölçütün,
|UQHN RODUDN VHoLOHQ GL÷HUuyumluluk ö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özellikleriGR÷UXGDQHWNLOH\HQ|OotOHUVHoLOPLú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 |OotOHUL o DQD EDúOÕN DOWÕQGDWRSODPDN PPNQGU.DUPDúÕNOÕN|Ootleri (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ÕQVUGUOH ELOLUOL÷LQLNRUXPDN]RUODúÕU
.DUPDúÕNOÕN|OoP\|QWHPOHULQLQJHQHOJHoHUNÕVWDVODUDVDKLSROPDPDODUÕYHIDUNOÕ oDOÕúPDODUGD IDUNOÕ WDQÕPODUD YH VÕQÕUODUD VDKLS ROPDODUÕ VHEHEL\OH X\JXQ |Ootü seç- mek oldukça zordur. BXoDOÕúPDGD NDUPDúÕNOÕN|OoPLoLQMalik 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 JYHQLOLUOLN 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Õ
CICM (Class Inheritance Complexity Measure .DOÕWÕP inheritance) yoluyla DNWDUÕODQ NDUPDúÕNOÕN |OotGU &,&0 GH÷HULQLQ KHVDSODQPD \|QWHPL DúD÷ÕGDNL IRUPOLOHEHOLUOHQPLúWLU:
ܥܫܥܯ=൜0, ݅= 0
݊+ σୀଵܴ, ݅ 1ൠ (2)
݊ ELUVÕQÕIDDLWVWVÕQÕIVD\ÕVÕ
ܴ=݅QROXVWVÕ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úÕODELOLUOLNYHVUGUOHELOLUOLNGH÷HUOHULD]DODFDNWÕU [17, 28].
3.2 %D÷ÕPOÕOÕNÖlçütleri (Coupling Metrics)
%D÷ÕPOÕOÕN |OoP 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Õ÷ÕQPPNQROGX÷XQ FDGúNROPDVÕWHUFLKHGLOLUlow 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÷LQGHQgenel 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Õ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|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Õ
3.3 Uyumluluk Ölçütleri (Cohesion Metrics):
8\XPOXOXN|OoPVÕ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úNWUKaliteli bir nesneye
\|QHOLN \D]ÕOÕPGD VÕQÕIODUÕQ NHQGL LoOHULQGHNL X\XPOXOX÷XQXQ PPNQ ROGX÷XQFD
\NVHNROPDVÕWHUFLKHGLOLUhigh cohesion8\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Õ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Õ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Õ<D]ÕOÕP0LPDULVL>@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ÕQLoHUGL÷LGH÷LúNHQOHUmetotlar ve me-
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 oPOHUL\DSPDNYH|OoPVRQXoODUÕ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ú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.
ùHNLO1.TCP/,37DúÕPD.DWPDQÕ80/6ÕQÕIModeli
4.2 TCP/,37DúÕPD.DWPDQÕ7DVDUÕPÕQÕQ.DOLWHgOoPOHUL
%XoDOÕúPDNDSVDPÕQGDVHoLOHQNDOLWHölçütleri0DOLNYH&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 \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
**
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.CMCMgOoP6RQXoODUÕ
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
ù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<DSÕODQ|OoPOHUGHNDOÕ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
UROHGLOHELOLUG]H\GHROGX÷XQXJ|VWHUPHNWHGLU>@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ü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|OoWQGHROGX÷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.&&20gOoP6RQXoODUÕ 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
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 ü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|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Õ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|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÷HULQHVDKLSRODQTCPAutomaticRepeatRequestve 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¶ninWHVWHGLOHELOLUVUGUOHELOLU\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
ø.<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ÕP0KHQGLVOL÷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
17. Nurdan Canbaz ve Feza Buzluca, “<D]ÕOÕP .DOLWHVL øoLQ <LQHOHPHOL gOoPH <|QWHPL”, 4.
8OXVDO<D]ÕOÕP0LPDULVL.RQIHUDQVÕ8<0.¶-(\OOø]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