DOMINIK SZYMAēSKI, SEBASTIAN BIEDROē 6WUHV]F]HQLH
Celem poniĪszego artykuáu jest prezentacja problemów związanych z poprawnym szacowaniem, Ğredniej wielkoĞci projektu informatycznego. Autorzy proponują jako wsparcie tego procesu zaprojektowane przez siebie oprogramowanie oparte na meto-dach punków funkcyjnych oraz modelu COCOMO II. Dokonuje ono automatycznie wszelkich obliczeĔ oraz zapewnia pomoc kontekstową do poszczególnych parametrów metody, dziĊki czemu proces szacowania przebiega szybciej. Oprogramowanie po-zwala równieĪ na zapisywanie poprzednich kalkulacji, co w przyszáoĞci zapewni moĪliwoĞü dostosowywania i korekty wspóáczynników metody.
6áRZDNOXF]RZHV]DFRZDQLHRSURJUDPRZDQLDPHWRGDSXQNWyZIXQNF\MQ\FK :VWĊS :REHFQ\FKF]DVDFKHIHNW\ZQH]DU]ąG]DQLHVWDáRVLĊSURFHVHPQLH]EĊGQ\PGRRVLąJQLĊFLDVXN FHVXZNDĪG\PSURMHNFLHLQIRUPDW\F]Q\P:áDĞFLZHRV]DFRZDQLHSUDFRFKáRQQRĞFLPXVLRSLHUDüVLĊ QDSRSUDZQ\PSU]\EOLĪHQLXUR]PLDUXWZRU]RQHJRRSURJUDPRZDQLDJG]LHQDWXUDOQąMHGQRVWNąUR] PLDUXVąOLQLHNRGXĨUyGáRZHJR:]ZLą]NX]UR]ZRMHPSURJUDPRZDQLD]RULHQWRZDQHJRRELHNWRZR OLF]ED OLQLL NRGX SU]HVWDáD RG]ZLHUFLHGODü ]DLPSOHPHQWRZDQH Z V\VWHPLH IXQNFMRQDOQRĞFL =DWHP VWZRU]RQRNLONDPHWRGV]DFRZDQLDUR]PLDUXRSURJUDPRZDQLD1DMEDUG]LHMSRSXODUQąLQDMOHSLHM]ED GDQąMHVWPHWRGDSXQNWyZIXQNF\MQ\FK3XQNW\IXQNF\MQHVąMHGQRVWNąPLDU\]áRĪRQRĞFLWZRU]RQHJR RSURJUDPRZDQLDLRG]ZLHUFLHGODMą]DLPSOHPHQWRZDQHZQLPIXQNFMRQDOQRĞFL
Rysunek 1. Wzór systemu FURPS+ ħUyGáRRSUDFRZDQLHZáDVQH
=GDU]DMąVLĊMHGQDNV\WXDFMHZNWyU\FKGDQ\SURMHNWLQIRUPDW\F]Q\RGQRVLSRUDĪNĊ1DMF]ĊĞFLHM MHVWRQD]ZLą]DQDQLH]VDP\PSURFHVHPLPSOHPHQWDFMLOHF]]KDUPRQRJUDPRZDQLHPLSODQRZDQLHP
SRV]F]HJyOQ\FK ID] SURMHNWX GODWHJR SRGVWDZą GR SRSUDZQHJR RV]DFRZDQLD UR]PLDUX RUD] SUDFR FKáRQQRĞFL SURMHNWX MHVW XZ]JOĊGQLHQLH ZV]\VWNLFK Z\PDJDĔ VWDZLDQ\FK V\VWHPRZL SU]H] NOLHQWD =DOHFD VLĊE\ GODNRPSOHWQRĞFLZ\PDJDĔSRELHUDüMH]JRGQLH] ]DSURSRQRZDQ\PSU]H]5REHUW¶D *UDG\¶HJRRUD]'HERUDK&DVZHOO±)8536SDWU]U\V %DGDQLDSURMHNWyZLQIRUPDW\F]Q\FKRNUHĞODMąĪHSRQDGSRáRZD]QLFKSU]HNURF]\áDEXGĪHWRG GR1DMF]ĊVWV]\PĨUyGáHPSRZVWDZDQLDEáĊGyZORJLF]Q\FKZRSURJUDPRZDQLXMHVWVáDED MDNRĞüSR]\VNDQ\FKZ\PDJDĔGODWHJRWDNZDĪQHMHVWE\SR]\VNDQDVSHF\ILNDFMDSRVLDGDáDZV]\VWNLH Z\ĪHM Z\PLHQLRQH FHFK\>@ 3U]HGVWDZLRQ\ QD 5\V GLDJUDP SRND]XMH ZSá\Z Z\PDJDĔ SR]D IXQNFMRQDOQ\FKQDGáXJRĞüSURFHVXZ\WZyUF]HJR±GODWHJRWDNZDĪQHMHVWVWRVRZDQLHZVSRPLQDQHJR PRGHOX
Rysunek 2. Znaczenie wymagaĔ poza funkcjonalnych w procesie wytwórczym ħUyGáRRSUDFRZDQLHZáDVQH
0HWRGDSXQNWyZIXQNF\MQ\FK
0HWRGDSXQNWyZIXQNF\MQ\FK]RVWDáD]DSUH]HQWRZDQDZUSU]H]$OODQD$OEUHFKWD%\áDWR SUyED SRNRQDQLD SUREOHPyZ ]ZLą]DQ\FK ]H VWRVRZDQLHP UR]PLDUX RSURJUDPRZDQLD Z\UDĪDQHJR ZOLQLDFK NRGX ĨUyGáRZHJR L RV]DFRZDQLD SUDFRFKáRQQRĞFL Z\QLNDMąFHM ] MHJRUR]PLDUX $NWXDOQD ZHUVMDGRNXPHQWDFMLQRVLQXPHUL]RVWDáDRSXEOLNRZDQDZVW\F]QLXU3URFHVSU]HELHJXV]D FRZDQLDPHWRGąSXQNWyZIXQNF\MQ\FK]RVWDáSU]HGVWDZLRQ\QD5\V>@
Rysunek 3. Szacowanie metodą punktów funkcyjnych
ħUyGáR>@
3LHUZV]\P NURNLHP HVW\PDFML V\VWHPX ,7 MHVW RNUHĞOHQLH MHGQHM ] WU]HFK PHWRG V]DFRZDQLD 0HWRGDMHVW'HYHORSPHQWSRZLQQDE\üVWRVRZDQD]DQLPSURMHNW]RVWDQLHZGURĪRQ\LRGGDQ\XĪ\W NRZQLNRPNRĔFRZ\P(QKDQFHPHQWSRZLQQDE\üVWRVRZDQDJG\V]DFXMHP\GRGDQLHGRGDWNRZ\FK IXQNFMRQDOQRĞFLGRV\VWHPXMXĪSRMHJRZGURĪHQLXEąGĨSU]\NROHMQ\FKZHUVMDFK
.ROHMQ\PNURNLHPZVWRVRZDQLXPHWRG\SXQNWyZIXQNF\MQ\FKMHVWZ\]QDF]HQLHJUDQLFSURMHNWX 7DNGRNáDGQH]GHILQLRZDQLH JUDQLFRSURJUDPRZDQLDZ\PXV]DV]F]HJyOQHSRVWU]HJDQLH MHJRSU]H] PHWRGĊSXQNWyZIXQNF\MQ\FK2SURJUDPRZDQLHSRVLDGDZHZQĊWU]QHGDQHNWyU\PLZFDáRĞFLVDPR G]LHOQLH]DU]ąG]D'DQHWHSU]HFKRZ\ZDQHVąZWDN]ZDQ\FKZHZQĊWU]Q\FKSOLNDFKORJLF]Q\FKDQJ ,QWHUQDO/RJLF)LOH±MHGQDNĪHQLHPRĪQDSRVWU]HJDüLFKMDNR]Z\Ná\FKSOLNyZ6ąWRV\VWHP\SU]H FKRZ\ZDQLD]ELRUyZGDQ\FKNWyU\PLPRJąE\üQDSU]\NáDGUHODF\MQHED]\GDQ\FKSOLNLSáDVNLHF]\ RELHNWRZHED]\GDQ\FK 3R]DJUDQLFDPLGDQ\FK]QDMGXMąVLĊXĪ\WNRZQLF\LLQQHRSURJUDPRZDQLHZVSyáSUDFXMąFH]V]D FRZDQ\PV\VWHPHP,QQHRSURJUDPRZDQLDZ\PLHQLDMąVLĊGDQ\PL]DSRPRFą]HZQĊWU]Q\FKSOLNyZ LQWHUIHMVRZ\FK±DQJ([WHUQDO,QWHUIDFH)LOH3OLNLLQWHUIHMVyZSRZLQQ\UHDOL]RZDüNRQWUDNW]DZDUW\ PLĊG]\RSURJUDPRZDQLDPLZ\PLHQLDMąF\PLVLĊGDQ\PL>@ 8Ī\WNRZQLF\PRJąZSURZDG]DüOXESRELHUDüGDQH]SRPRFąRSHUDFMLQD]\ZDQ\FK]HZQĊWU]Q\P ZHMĞFLHPDQJ([WHUQDO,QSXWVJG\GDQHVąSRELHUDQH]V\VWHPXOXE]HZQĊWU]Q\PZ\MĞFLHPJG\ GDQHVąZSURZDG]DQHOXEPRG\ILNRZDQH=HZQĊWU]QH]DS\WDQLHDQJ([WHUQDO,QTXLU\MHVWSRGVWD ZRZ\P SURFHVHP NWyU\ Z\V\áD GDQH OXE LQIRUPDFMH VWHUXMąFH SR]D JUDQLFH RSURJUDPRZDQLD 3RGVWDZRZ\PMHJR]DVWRVRZDQLHPMHVWSREUDQLHGDQ\FKDE\SU]HGVWDZLüMHXĪ\WNRZQLNRZLOXESU]H VáDü GR V\VWHPX ]HZQĊWU]QHJR 'ODWHJR ORJLND SU]HWZDU]DQLD GDQ\FK QLH PRĪH ]DZLHUDü IXQNFML PDWHPDW\F]Q\FKOXEREOLF]HĔ
:\MĞFLH]HZQĊWU]QHDQJ([WHUQDO2XWSXWVMHVWSURFHVHPNWyU\Z\V\áDGDQHOXELQIRUPDFMHVWH UXMąFH QD ]HZQąWU] JUDQLF\ RSURJUDPRZDQLD 3URFHV WHQ SRZLQLHQ PLHü QD FHOX SU]HGVWDZLHQLH LQIRUPDFML XĪ\WNRZQLNRZL SU]\ Z\NRU]\VWDQLX ]DDZDQVRZDQ\FK PHWRG SU]HWZDU]DQLD GDQ\FK /RJLNDSU]HWZDU]DQLDPXVL]DZLHUDüFRQDMPQLHMMHGHQZ]yUPDWHPDW\F]Q\OXEREOLF]HQLD>@
Tabela 1. WartoĞci dla zewnĊtrznego wyjĞcia EO i wejĞcia EI
=HZQĊWU]QHZ\MĞFLH(2 =HZQĊWU]QHZHMĞFLH(,
/LF]EDSXQNWyZ)75 /LF]EDHOHPHQWyZGDQ\FK /LF]EDSXQNWyZ)75 /LF]EDHOHPHQWyZGDQ\FK
! !
/RZ /RZ $YHUDJH /RZ /RZ $YHUDJH OXE /RZ $YHUDJH +LJK /RZ $YHUDJH +LJK
! $YHUDJH +LJK +LJK ! $YHUDJH +LJK +LJK ħUyGáR>@ -HĪHOLZ\UyĪQLRQRMXĪNRPSRQHQW\V\VWHPXQDOHĪ\MHVNODV\ILNRZDüQDSRGVWDZLHLFK]áRĪRQRĞFL 'ODZV]\VWNLFKRSHUDFMLZ\MĞFLDZHMĞFLDRNUHĞODVLĊLFKZLHONRĞüQDSRGVWDZLHLORĞFLPRG\ILNRZDQ\FK SOLNyZORJLF]Q\FKZHZQĊWU]Q\FKOXELORĞFLSOLNyZ]NWyU\FKGDQHVąSRELHUDQH)75LQDSRGVWDZLH HOHPHQWyZGDQ\FK'(73RMHG\QF]\UHNRUGMHVWUR]SR]QDZDOQąJUXSąHOHPHQWyZGDQ\FKZREV]D U]H ZHZQĊWU]Q\FK OXE ]HZQĊWU]Q\FK SOLNyZ ORJLF]Q\FK (OHPHQW GDQ\FK MHVW SRMHG\QF]\P SROHP UR]SR]QDZDOQ\PSU]H]XĪ\WNRZQLND
:]DPLHV]F]RQ\FKSRQLĪHMWDEHODFK]QDMGXMąVLĊGDQHNWyUHEĊGąSRPRFQHZNODV\ILNDFMLSR V]F]HJyOQ\FKNRPSRQHQWyZV\VWHPX:QDZLDVDFKSRGDQH]RVWDá\ZDUWRĞFLQXPHU\F]QHNWyUHEĊGą Z\NRU]\VWDQHSU]\SyĨQLHMV]\FKREOLF]HQLDFK:SU]\SDGNX]DS\WDĔSRELHUDMąF\FKGDQHQDOHĪ\EUDü SRGXZDJĊ]DUyZQRGDQHZHMĞFLRZHMDNLZ\MĞFLRZH1DMZLĊNV]DZDUWRĞüRNUHĞODMąFDZDUWRĞüZHMĞFLD L Z\MĞFLD ]RVWDQLH XĪ\WD GR RNUHĞOHQLD NODV\ILNDFML FDáHJR ]DS\WDQLD =DáyĪP\ ĪH RSHUDFML ZHMĞFLD SU]\SLVDQRZDUWRĞüAverage]DĞRSHUDFMLZ\MĞFLDZDUWRĞüHigh±ZyZF]DVFDáHPX]DS\WDQLXSU]\SL VXMHVLĊZDUWRĞüHigh
:SU]\SDGNXORJLF]Q\FKSOLNyZ]HZQĊWU]Q\FKLZHZQĊWU]Q\FKSRGXZDJĊELHU]HVLĊLORĞüUHNRU GyZ5(7LHOHPHQWyZGDQ\FK'(7SU]\SLV\ZDQHLPZDUWRĞFLXPLHV]F]RQRZWDEHOL
Tabela 2. WartoĞci przypisywane liczbie elementów danych
3OLNLZHZQĊWU]QH,/) 3OLNL]HZQĊWU]QH(,)
/LF]EDUHNRUGyZ /LF]EDHOHPHQWyZGDQ\FK /LF]EDUHNRUGyZ /LF]EDHOHPHQWyZGDQ\FK
! ! /RZ /RZ $YHUDJH /RZ /RZ $YHUDJH /RZ $YHUDJH +LJK /RZ $YHUDJH +LJK ! $YHUDJH +LJK +LJK ! $YHUDJH +LJK +LJK ħUyGáR>@ 'DQH]HEUDQH]SRSU]HGQLFKNURNyZ]ELHUDQHSRGF]DVNODV\ILNDFMLQDOHĪ\XPLHĞFLüZWDEHOL ]QDMGXMąFHMVLĊSRQLĪHM7DEHOD.DĪGą]W\FKOLF]EQDOHĪ\SU]HPQRĪ\üSU]H]ZDUWRĞü]WDEHOL 1DVWĊSQLHQDOHĪ\]VXPRZDüZDUWRĞFL]NDĪGHJRZLHUV]D2WU]\PXMHP\ZyZF]DVQLHVNRU\JRZDQą OLF]EĊSXQNWyZIXQNF\MQ\FK]ZDQą87DQJTotal Number of Unadjusted Function Points
Tabela 3. Tabela sáuĪąca do obliczenia nieskorygowanej liczby punktów funkcyjnych
7\S /RZ $YHUDJH:LHONRĞü +LJK 6XPD =HZQĊWU]QHZHMĞFLD(, B B B B B B =HZQĊWU]QHZ\MĞFLD(2 B B B B B B =HZQĊWU]QH]DS\WDQLD(4 B B B B B B 3OLNLZHZQĊWU]QH,/) B B B B B B 3OLNL]HZQĊWU]QH(,) B B B B B B 87 ħUyGáR>@ 3RRWU]\PDQLXFDáNRZLWHMOLF]E\SXQNWyZQLHVNRU\JRZDQ\FKQDOHĪ\MHX]XSHáQLüRZVSyáF]\Q QLNNRU\JXMąF\DQJ9DOXH$GMXVWPHQW)DFWRU9$)>@G]LĊNLQLHPX]RVWDQLHXZ]JOĊGQLRQD ]áRĪRQRĞüV\VWHPQLH]ZLą]DQD]MHJRIXQNFMRQDOQRĞFLą2NUHĞOHQLHWHJRZVSyáF]\QQLNDSROHJDQD SRGDQLXZDUWRĞFLZVSyáF]\QQLNyZZSá\ZXNWyUHPRJąRGG]LDá\ZDüQD]ZLĊNV]HQLHVNRPSOL NRZDQLD V\VWHPX LQIRUPDW\F]QHJR 7HM RFHQ\ GRNRQXMH RVRED V]DFXMąFD ]áRĪRQRĞü V\VWHPX (VW\PDFMDZSá\ZXSROHJDQDRFHQLHZVNDOLRGGRGODNDĪGHJR]ZVSyáF]\QQLNyZ0DMąFWH GDQH9$)REOLF]DVLĊNRU]\VWDMąF]QDVWĊSXMąFHJRZ]RUX
JG]LHCi VąRFHQDPLSRV]F]HJyOQ\FKFKDUDNWHU\VW\N .RĔFRZ\Z\QLNLORĞFLSXQNWyZIXQNF\MQ\FKRWU]\PXMHVLĊSRSU]H]LORF]\QZVSyáF]\QQLNyZ VAF LUT :\QLNLHPWHMRSHUDFMLMHVWRV]DFRZDQLHUR]PLDUXWZRU]RQHJRV\VWHPXZ\UDĪRQHZSXQNWDFK IXQNF\MQ\FK%DUG]RF]ĊVWRPRĪH]DLVWQLHüSRWU]HEDSU]HOLF]HQLDWHMZLHONRĞFLQDOLF]EĊOLQLLNRGX ĨUyGáRZHJRMDNLPXVL]RVWDüZ\WZRU]RQ\/2&Lines Of Code2F]\ZLĞFLHOLF]ED/2&]DOHĪQD MHVWRGMĊ]\NDSURJUDPRZDQLDMHJRFKDUDNWHU\VW\NLSR]LRPXMDNLXĪ\W\]RVWDQLHGRLPSOHPHQWDFML RSURJUDPRZDQLD%\RWU]\PDüWĊOLF]EĊQDOHĪ\]DVWRVRZDüPQRĪQLN0NWyU\PDUyĪQąZDUWRĞü Z]DOHĪQRĞFLRGMĊ]\NDSURJUDPRZDQLD 2EOLF]DQLHSUDFRFKáRQQRĞFL 6]DFRZDQLHSUDFRFKáRQQRĞFLLVWZRU]HQLHKDUPRQRJUDPXMHVWQLH]EĊGQHZFHOXWZRU]HQLDUR] ZLMDQLDLXWU]\P\ZDQLDV\VWHPyZNRPSXWHURZ\FKLMHVWQDMZDĪQLHMV]\PG]LDáDQLHP]ZLą]DQ\P ]]DU]ąG]DQLHPSURMHNWHPLQIRUPDW\F]Q\P>@.RV]WRU\VRZDQLHV\VWHPyZNRPSXWHURZ\FKWRSUR FHV SU]HZLG\ZDQLD SRWU]HEQ\FK QDNáDGyZ SUDF\ QD VWZRU]HQLH Z SHáQL IXQNFMRQDOQHJR RSURJUDPRZDQLDFRSyĨQLHMPRĪQDSU]HáRĪ\üQDFDáNRZLW\F]DVLNRV]WVWZRU]HQLDRSURJUDPRZD QLD1DMF]ĊĞFLHMVWRVRZDQąMHGQRVWNąPLDU\SUDFRFKáRQQRĞFLMHVWRVRERPLHVLąF7DNZ\UDĪRQąLORĞü SUDF\ PRĪQD áDWZR SU]HáRĪ\ü QD NRV]W\ Z\WZRU]HQLD RSURJUDPRZDQLD PQRĪąF WĊ ZDUWRĞü SU]H] ĞUHGQLHZ\QDJURG]HQLH]HVSRáX,7 0RGHO&2&202,,>@MHVWQDMOHSLHMXGRNXPHQWRZDQ\PLQDMEDUG]LHMNRPSOHWQ\PPRGHOHP GRRFHQ\QDNáDGyZSUDF\SRWU]HEQ\FKGRVWZRU]HQLDOXEUR]ZRMXV\VWHPXNRPSXWHURZHJR0RGHO ]DZLHUDV]F]HJyáRZHDOJRU\WP\E\RNUHĞOLüKDUPRQRJUDPSUDFRFKáRQQRĞüRUD]SRG]LDáQDDNW\Z QRĞFLSRGF]DVSUDF\QDGSURMHNWHP0RGHOWHQ]RVWDáRSUDFRZDQ\ZWU]HFKZHUVMDFKZ]DOHĪQRĞFL RGGRMU]DáRĞFLSURMHNWX 3RGVWDZRZ\Z]yURNUHĞODMąF\SUDFRFKáRQQRĞüZPHWRG]LH JG]LH Size ±UR]PLDURSURJUDPRZDQLDZW\V/LQLMHNNRGXĨUyGáRZHJR (±F]\QQLNVNDOLGRVWRVRZXMąF\SUDFRFKáRQQRĞüZ\UDĪDQ\SRQLĪV]\PZ]RUHP JG]LH 6)L±R]QDF]DZDUWRĞüZVSyáF]\QQLNDVNDOL :FHOXREOLF]HQLDSUDFRFKáRQQRĞFL>@ZPRGHOXSRVWDUFKLWHNWRQLF]Q\PQDOHĪ\RV]DFRZDQLH QRPLQDOQHSU]HPQRĪ\üSU]H]LORF]\QZVSyáF]\QQLNyZNRU\JXMąF\FK]JRGQLH]SRQLĪV]\PZ]R UHP
:UDPDFKPHWRG\&2&202,,>@Z\V]F]HJyOQLRQRF]\QQLNyZVNDOLSURMHNWX:]DOHĪ QRĞFLRGRFHQ\SRV]F]HJyOQ\FKF]\QQLNyZZEDGDQ\PSURMHNFLHZ\]QDF]DVLĊLFKZSá\ZZVNDOL RGEDUG]RQLVNLHJRvery lowGRHNVWUDZ\VRNLHJRextra high
2SURJUDPRZDQLHGRV]DFRZDQLDSURMHNWyZLQIRUPDW\F]Q\FK 2SLVRSURJUDPRZDQLD
*áyZQ\P]DGDQLHPRSURJUDPRZDQLDMHVWDXWRPDW\]DFMDHVW\PRZDQLDSURMHNWyZLQIRUPDW\F] Q\FK PHWRGą SXQNWyZ IXQNF\MQ\FK RUD] V]DFRZDü LFK SUDFRFKáRQQRĞü Z\NRU]\VWXMąF PHWRGĊ &2&202,,-HM]DGDQLHWRUyZQLHĪZVSDUFLHXĪ\WNRZQLNDNWyU\QLHSRVLDGDRGSRZLHGQLHJRGR ĞZLDGF]HQLDZSRGHMPRZDQLXRGSRZLHGQLFKGHF\]MLGRW\F]ąF\FK]DVWRVRZDQLDPRGHOLW\FKPHWRG RUD]GRELHUDQLDRGSRZLHGQLFKZDJGRW\F]ąF\FKNRUHNW\ZDUWRĞFL'RGDWNRZRVSHáQLDIXQNFMĊHGX NDF\MQąSRSU]H]Z\ĞZLHWODQLHSRGSRZLHG]LGRNDĪGHJRZ\ERUXGRNRQ\ZDQHJRSRGF]DVSURFHVX V]DFRZDQLD±]DUyZQRUR]PLDUXMDNLSUDFRFKáRQQRĞFL7DGRGDWNRZDIXQNFMRQDOQRĞü]QDF]QLHZ\ UyĪQLDGDQHRSURJUDPRZDQLHRGZLHOX]MDNLHPRĪHP\VLĊVSRWNDüSRGF]DVZ\ERUXQDU]ĊG]LDGR V]DFRZDQLDSURMHNWXLQIRUPDW\F]QHJR $UFKLWHNWXUDRSURJUDPRZDQLD =HZ]JOĊGXQDáDWZąVNDORZDOQRĞüUR]ZLą]DQLD]GHF\GRZDQRVLĊWZRU]\üRSURJUDPRZDQLHLQ WHUQHWRZH Z WHFKQRORJLL ZLHORZDUVWZRZHM =D SU]HFKRZ\ZDQLH LQIRUPDFML RUD] GDQ\FK NRQILJXUDF\MQ\FK EĊG]LH RGSRZLHG]LDOQ\ VHUZHU ED]RGDQRZ\ 06 64/ 6HUYHU Z ZHUVML U>@'DQH]VHUZHUDEĊGąSRELHUDQHSU]H]RVREQHRSURJUDPRZDQLHXGRVWĊSQLDMąFHEH]VWDQRZH ZHEVHUYLFH¶\]JRGQH]MĊ]\NLHP:6'/7HFKQRORJLHZ\NRU]\VWDQHGRWZRU]HQLDVHUZLVX:LQ GRZV&RPXQLFDWLRQ)RUPVRUD]62$3]DSHZQLąSRWZLHUG]HQLHSU]HVáDQLDNRPSOHWQ\FKGDQ\FK LRGSRZLHGQLHEH]SLHF]HĔVWZR:DUVWZĊNOLHQWDSRVWURQLHVHUZHUDEĊG]LHVWDQRZLáRRSURJUDPRZD QLH RSDUWH R WHFKQRORJLĊ $631(7 NWyUH EĊG]LH NRPXQLNRZDáR VLĊ ]D SRPRFą VWDQGDUGX -621 ]Z\NRQ\ZDQ\PLVNU\SWDPLZSU]HJOąGDUFHXĪ\WNRZQLNDE\PDNV\PDOQLHRGFLąĪ\üVHUZHU 2SLVLPSOHPHQWDFML
6FKHPDWED]\GDQ\FK
%D]DGDQ\FK]RVWDáDSRG]LHORQDQDORJLF]QLHRGVHSDURZDQHREV]DU\7HREV]DU\WR]DU]ąG]D QLH XĪ\WNRZQLNDPL VFKHPDW $GPLQLVWUDWLRQ ]DU]ąG]DQLH SDUDPHWU\]DFMą PHWRG VFKHPDW 3DUDPHWUL]DWLRQL]DSLV\ZDQLHSRSU]HGQLFKHVW\PDFMLZFHOXGRNRQ\ZDQLDNRUHNW\ZSU]\SDGNX ]PLDQ\Z\PDJDĔVFKHPDW6DYHG 1D5\VSU]HGVWDZLRQRWDEHOH]QDMGXMąFHVLĊZVFKHPDFLH$GPLQLVWUDWLRQ7DEHOD8VHUV SU]HFKRZXMHGDQHRXĪ\WNRZQLNDFK]DĞWDEHOD3URILOHV]DZLHUDOLVWĊGRVWĊSQ\FKSURILOL7HQPRGHO SR]ZDODáDWZRUR]V]HU]DüSURILOHXĪ\WNRZQLNyZRUD]RSDUWHQDW\FKSURILODFKXSUDZQLHQLD
3URILOHV$GPLQLVWUDWLRQ ,' LQW 1DPH QYDUFKDU &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV 8VHUV$GPLQLVWUDWLRQ ,' LQW 1DPH QYDUFKDU 3DVVZRUG QYDUFKDU 6WDWXV ELW 3URILOH,' LQW &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV Rysunek 4. Tabele w schemacie Administration
ħUyGáRRSUDFRZDQLHZáDVQH
7DEHOH]QDMGXMąFHVLĊZVFKHPDFLH3DUDPHWUL]DWLRQSU]HGVWDZLRQRQD5\V7DEHOD6FDOH )DFWRUV MHVW RGSRZLHG]LDOQD ]D SU]HFKRZ\ZDQLH ZV]\VWNLFK ZVSyáF]\QQLNyZ VNDOL ] PHWRG\ &2&202,,±ZSROX1DPHSU]HFKRZ\ZDQHVąQD]Z\ZVSyáF]\QQLNyZZSROX+LQW]QDMGXMąVLĊ SRGSRZLHG]LXáDWZLDMąFHSRGMĊFLHGHF\]ML:WDEHOL9DOXH$GMXVWPHQW)DFWRUVąZVSyáF]\QQLNLNR U\JXMąFH]DZDUWHZPHWRG]LHSXQNWyZIXQNF\MQ\FK±MDNZF]HĞQLHMSROH1DPHSU]HFKRZXMHQD]ZĊ SROH+LQWSU]HFKRZXMHSRGSRZLHG]LGRZVSyáF]\QQLNyZ]DĞWDEHOD&RPSOH[LW\)DFWRUVSU]HFKR ZXMH GDQH GRW\F]ąFH SDUDPHWUyZ ]áRĪRQRĞFL SURMHNWX ] PHWRG\ &2&202 ,, 7DEHOD &RPSOH[LW\)DFWRUV9DOXHSU]HWU]\PXMHGDQHGRW\F]ąFHZDUWRĞFLZDJSRV]F]HJyOQ\FKZVSyáF]\QQL NyZ]áRĪRQRĞFL &RPSOH[LW\)DFWRUV3DUDPHWUL]DWLRQ ,' LQW 1DPH QYDUFKDU +LQW QYDUFKDU0$; &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV &RPSOH[LW\)DFWRUV9DOXH3DUDPHWUL]DWLRQ &RPSOH[LW\)DFWRU,' LQW 9DOXH9HU\/RZ IORDW 9DOXH/RZ IORDW 9DOXH1RPLQDO IORDW 9DOXH+LJK IORDW 9DOXH9HU\+LJK IORDW 9DOXH([WUD+LJK IORDW &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV 6FDOH)DFWRUV3DUDPHWUL]DWLRQ ,' LQW 1DPH QYDUFKDU +LQW QYDUFKDU0$; &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV 9DOXH$GMXVWPHQW)DFWRU3DUDPHWUL]DWLRQ ,' LQW 1DPH QYDUFKDU +LQW QYDUFKDU0$; &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV
Rysunek 5. Tabele znajdujące siĊ w schemacie Parametrization ħUyGáRRSUDFRZDQLHZáDVQH 5\VSU]HGVWDZLDWDEHOH]QDMGXMąFHVLĊZVFKHPDFLH6DYHG7DEHOD(VWLPDWLRQ]DZLHUD]D SLVDQHRV]DFRZDQLD±LFKQD]ZĊGDWĊRUD]NOXF],'XĪ\WNRZQLNDNWyU\GRNRQ\ZDáHVW\PDFML-HVW WRUyZQLHĪJáyZQDWDEHODZHZQąWU]VFKHPDWX7DEHOH6FDOH)DFWRUV9DOXH$GMXVWPHQW)DFWRUVRUD] &RPSOH[LW\)DFWRUVSU]HFKRZXMąZDUWRĞFLSRV]F]HJyOQ\FKZVSyáF]\QQLNyZZSá\ZX3ROD(VWLPD WLR,'VąNOXF]DPLGRWDEHOL(VLWDPWLRQ±SROH,'G]LĊNLF]HPXZáDWZ\VSRVyEPRĪHP\SRZLą]Dü NRQNUHWQHRV]DFRZDQLH]ZDUWRĞFLDPL3RODNWyU\FKQD]ZDVNáDGDVLĊ]SUHILNVXQD]Z\WDEHOL]H VFKHPDWX3DUDPHWUL]DWLRQRUD]VXILNVX,'VąRGSRZLHG]LDOQH]DSU]HFKRZ\ZDQLHZDUWRĞFLNOXF]\ WDEHO]SyO,']HVFKHPDWX3DUDPHWUL]DWLRQWDNE\PRĪQDE\áRáDWZR]LGHQW\ILNRZDü]DSLVDQąZDU WRĞüZVSyáF]\QQLND]MHJRQD]ZąRUD]ZDJą
&RPSOH[LW\)DFWRUV6DYHG (VWLPDWLRQ,' LQW &RPSOH[LW\)DFWRU,' LQW 9DOXH IORDW &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV (VWLPDWLRQ6DYHG ,' LQW 1DPH QYDUFKDU (VWLPDWLRQ'DWH GDWHWLPH 8VHU,' LQW
&ROXPQ1DPH 'DWD7\SH $OORZ1XOOV 6FDOH)DFWRUV6DYHG
(VWLPDWLRQ,' LQW 6FDOH)DFWRU,' LQW 9DOXH IORDW &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV 9DOXH$GMXVWPHQW)DFWRUV6DYHG (VWLPDWLRQ,' LQW 9$))DFWRU,' LQW 9DOXH IORDW &ROXPQ1DPH 'DWD7\SH $OORZ1XOOV
Rysunek 6. Tabele znajdujące siĊ w schemacie Saved ħUyGáRRSUDFRZDQLHZáDVQH 3URMHNW]DZLHUDZVZRMHMEXGRZLH0HDVXUH:&)>@NWyUDRGSRZLDGD]DXVáXJLVLHFLRZHLáą F]\ZDUVWZĊED]\GDQ\FK]RSURJUDPRZDQLHPNOLHQFNLP2SURJUDPRZDQLH]RVWDáRSRG]LHORQHQD ORJLF]QHREV]DU\SRGREQHGRW\FKZED]LHGDQ\FK±]DNDĪG\REV]DUyZRGSRZLDGDMHGHQZHEVHU ZLVNWyU\XPLHV]F]RQRSRGRVREQ\PLDGUHVDPL85/ 2SURJUDPRZDQLHNOLHQFNLH]RVWDáRZ\NRQDQH]Z\NRU]\VWDQLHPZ]RUFDSURMHNWRZHJRPRGHO± ZLGRN±NRQWUROHU=DVWRVRZDQLHWHJRZ]RUFDSR]ZDODQDXSRU]ąGNRZDQLHNRGXĨUyGáRZHJRLMHJR áDWZLHMV]HXWU]\PDQLH:V]\VWNLHZ\ZRáDQLDXVáXJ]QDMGXMąVLĊZHZQąWU]NRQWUROHUyZNWyUHRGSR ZLDGDMą ]D VWHURZDQLH RUD] SU]HSá\Z LQIRUPDFML 3R SREUDQLX ZV]\VWNLFK GDQ\FK Vą RQH SU]HWZDU]DQHDQDVWĊSQLH]ZUDFDQHOXEZSRVWDFLRGSRZLHG]LZVWDQGDUG]LH-621:HZQąWU]RSUR JUDPRZDQLDNDĪGDWDEHODZED]LHGDQ\FKSRVLDGDVZyMRELHNWNWyU\MHVWNRQWUROHUHP 2SURJUDPRZDQLHNOLHQFNLHZ\NRU]\VWXMHUyZQLHĪELEOLRWHNL-DYD6FULSWE\PRJáDRQDG]LDáDü MDNRSRMHG\QF]DVWURQDLRGFLąĪ\üVHUZHU0RGHOHRG]ZLHUFLHGODMąVWUXNWXUĊGDQ\FKZHZQąWU]RSUR JUDPRZDQLDW]QZV]\VWNLHWDEHOHED]\GDQ\FKLZV]\VWNLHGDQHW\PF]DVRZHSU]HFKRZ\ZDQHQD F]DVSU]HOLF]HĔ
=D SRSUDZQH JHQHURZDQLH RUD] RGSRZLHGQLH SU]\SLV\ZDQLH SDUDPHWUyZ GR SyO RGSRZLDGD IXQNFMDUHQGHU-HM3DUDPHWUHYHQWVMHVWNROHNFMąRELHNWyZNWyUHGHILQLXMą]GDU]HQLDQDMDNLHPRGHO SRZLQLHQUHDJRZDüRUD]QD]Z\PHWRGNWyUHEĊGąZ\ZRá\ZDQH)XQNFMDLQLWLDOL]HMHVWNRQVWUXNWR UHPRELHNWX]DĞZ\ZRáDQLHPHWRG\ELQG$OOSRZRGXMHGRZLą]DQLH]GDU]HĔGRRELHNWXLXVWDZLD DNW\ZQ\QDVáXFK]GDU]HĔ3DUDPHWUYDURNUHĞOD]DOHĪQRĞüPRGXáXRGLQQ\FKELEOLRWHNLSR]ZDODMH G\QDPLF]QLHáDGRZDüRLOHQLH]RVWDá\MXĪ]DáDGRZDQH±ELEOLRWHNDVDPD]DU]ąG]DáDGRZDQLHP]H ZQĊWU]Q\FKELEOLRWHNL]DSRELHJDLFKNLONXNURWQHPXáDGRZDQLX 7HVW\RSURJUDPRZDQLD $E\SU]HWHVWRZDü]DSURMHNWRZDQHQDU]ĊG]LHQDOHĪDáRSRUyZQDüZ\QLNLHVW\PDFMLVWRVXMąFPH WRG\ NWyUH Z\NRU]\VW\ZDQH Vą Z RSURJUDPRZDQLX PHWRGD SXQNWyZ IXQNF\MQ\FK SRáąF]RQD ]PHWRGą&2&202,,=ELyUGDQ\FKWHVWRZ\FK]RVWDáRSUDFRZDQ\QDSRGVWDZLHSURMHNWXRĞUHG QLHM ZLHONRĞFL 7DEHOD SU]HGVWDZLD ]OLF]RQH MXĪ ZDUWRĞFL NWyUH SR]ZROą REOLF]\ü QLHVNRU\JRZDQąOLF]EĊSXQNWyZIXQNF\MQ\FK5\VSU]HGVWDZLD]DĞMHMRGSRZLHGQLNZRSURJUD PRZDQLX
Tabela 4. Nieskorygowane punkty funkcyjne projektu A
7\S :LHONRĞü 6XPD /RZ $YHUDJH +LJK =HZQĊWU]QHZHMĞFLD =HZQĊWU]QHZ\MĞFLD =HZQĊWU]QH]DS\WDQLD 3OLNLZHZQĊWU]QH 3OLNL]HZQĊWU]QH 6XPD ħUyGáRRSUDFRZDQLHZáDVQH Rysunek 7. Zrzut ekranu – obliczanie nieskorygowanych punktów funkcyjnych wewnątrz oprogramowania ħUyGáRRSUDFRZDQLHZáDVQH
Tabela 5. Dobranie wspóáczynników do estymowanego projektu
/S .DWHJRULD ZVSyáF]\QQLND:DUWRĞü
3U]HV\áDQLDGDQ\FK 3U]HWZDU]DQLHUR]SURV]RQH :\GDMQRĞü 2EFLąĪHQLHSODWIRUP\VSU]ĊWRZHM 6WRSDWUDQVDNFML :SURZDG]DQLHGDQ\FKRQOLQH :\GDMQRĞüXĪ\WNRZQLNDNRĔFRZHJR $NWXDOL]DFMDRQOLQH 3U]HWZDU]DQLH]áRĪRQH :LHORNURWQDXĪ\ZDOQRĞü àDWZRĞüLQVWDODFML àDWZRĞüREVáXJL :LHORNURWQDORNDOL]DFMD àDWZRĞüZSURZDG]DQLD]PLDQ ħUyGáRRSUDFRZDQLHZáDVQH
:REXSU]\SDGNDFKOLF]EDQLHVNRU\JRZDQ\FKSXQNWyZIXQNF\MQ\FKZ\QRVLáD±WHVWSU]H ELHJáSRP\ĞOQLH .ROHMQ\P NURNLHP ZDOLGDFML MHVW VSUDZG]HQLH ]OLF]DQLD ZVSyáF]\QQLND NRUHNW\ SXQNWyZIXQNF\MQ\FK:WDEHOL]QDMGXMąVLĊGREUDQHZVSyáF]\QQLNL
:\QLN RWU]\PDQ\ ]D SRPRFą RSURJUDPRZDQLD MHVW ]JRGQ\ ] Z\OLF]HQLHP GRNRQDQ\P SU]\ XĪ\FLXWUDG\F\MQHMPHWRG\:\QLNWHVWX]DWHPQDOHĪ\X]QDü]DSR]\W\ZQ\ .ROHMQ\PNURNLHPMHVWSRGDQLHVNRU\JRZDQHMOLF]E\SXQNWyZIXQNF\MQ\FKSRQLĪHMSRUyZQD QLHPHWRG:\QLNSRQLĪHMX]\VNDQR]DSRPRFąPHWRG\WUDG\F\MQHM 5R]PLDUSURMHNWXZ\OLF]RQ\]DUyZQRSU]H]RSURJUDPRZDQLHMDNLPHWRGąWUDG\F\MQąMHVWWHQ VDP1DOHĪ\X]QDüĪHRSURJUDPRZDQLHG]LDáDSRSUDZQLHLGREU]HRV]DFRZXMHUR]PLDURSURJUDPR ZDQLD .ROHMQ\PNURNLHPWHVWyZMHVWZHU\ILNDFMDSRSUDZQRĞFLHVW\PDFMLSUDFRFKáRQQRĞFLPHWRGą &2&202,,7HVWRZ\SURMHNW]RVWDá]DLPSOHPHQWRZDQ\SU]\XĪ\FLXMĊ]\NDJHQHUDFMLMDNLPMHVW &3U]\MĊWRZLĊFĪHMHGHQSXQNWIXQNF\MQ\]RVWDQLHVWZRU]RQ\SU]\XĪ\FLXOLQLMHNNRGX3RQL ĪHMRV]DFRZDQ\UR]PLDURSURJUDPRZDQLDZ\UDĪRQ\ZW\VLąFDFKOLQLLNRGXĨUyGáRZHJR
=DSURSRQRZDQH RSURJUDPRZDQLH SRSUDZQLH RFHQLD UR]PLDU RSURJUDPRZDQLD Z\UDĪDQ\ ZW\VLąFDFKOLQLLNRGXĨUyGáRZHJR.ROHMQ\PNURNLHPSURFHVXMHVWRFHQDZVSyáF]\QQLNyZVNDOL
:WDEHOL]QDMGXMąVLĊZ\EUDQHZDUWRĞFLGODWHVWRZDQHJRSURMHNWX
Tabela 6. Dobranie wspóáczynników do estymowanego projektu
:VSyáF]\QQLN :DUWRĞü 7\SRZRĞü (ODVW\F]QRĞü =DU]ąG]DQLHU\]\NLHP 6SyMQRĞü]HVSRáX 'RMU]DáRĞüSURFHVX ħUyGáRRSUDFRZDQLHZáDVQH
Rysunek 8. Liczba linii kodu
ħUyGáRRSUDFRZDQLHZáDVQH
:]ZLą]NX]W\PĪHXĪ\WNRZQLNRZLRSURJUDPRZDQLDWHZDUWRĞFLQLHVąZ\ĞZLHWODQHZVSRVyE MDZQ\±QDOHĪ\]ZHU\ILNRZDüZ\QLNNRĔFRZ\RV]DFRZDQLD
Tabela 7. Dobranie wspóáczynników do estymowanego projektu
:VSyáF]\QQLN NRU\JXMąF\ :DUWRĞü ZVSyáF]\QQLND 5(/< '$7$ &3/; 586( '2&8 7,0( 6725 392/ $&$3 3&$3 3&21 $(;3 3(;3 /7(; 722/ 6,7( 6&(' ħUyGáRRSUDFRZDQLHZáDVQH
Rysunek 9. WartoĞü wspóáczynników skomplikowania testowanego projektu ħUyGáRRSUDFRZDQLHZáDVQH :\QLNWHVWXZSRVWDFLRVRER±PLHVLĊF\Z]RUFRZHJRSURMHNWXL]RVWDá]DPLHV]F]RQ\SRQLĪHM -DNZLGDüZ\QLNLWHVWXRUD]ZDUWRĞFLWHVWRZHVą]JRGQHZ]ZLą]NX]F]\PQDOHĪ\X]QDüĪHWHVW RSURJUDPRZDQLD]RVWDá]DNRĔF]RQ\SRP\ĞOQLH 3RGVXPRZDQLH :QLQLHMV]\PDUW\NXOHSU]HGVWDZLRQH]RVWDá\PHWRG\V]DFRZDQLDSURMHNWyZV\VWHPyZLQIRU PDW\F]Q\FKRUD]LFKFKDUDNWHU\VW\ND1DED]LHW\FKPHWRGRSUDFRZDQH]RVWDáRRSURJUDPRZDQLH V]DFXMąFDUR]PLDURUD]SUDFRFKáRQQRĞüV]DFRZDQHJRSURMHNWX :RSDUFLXRGRVWĊSQąOLWHUDWXUĊZ\EUDQRPHWRGĊSXQNWyZIXQNF\MQ\FKGRV]DFRZDQLDUR]PLDUX RSURJUDPRZDQLDRUD]PHWRGĊ&2&202,,VáXĪąFąGRHVW\PDFMLSUDFRFKáRQQRĞFLLKDUPRQRJUD PRZDQLD SUDF 6WZRU]RQH RSURJUDPRZDQLH VNXWHF]QLH V]DFXMH SURMHNW LQIRUPDW\F]Q\ ]ZUDFDMąF WDNLHVDPHZ\QLNLMDNZSU]\SDGNXREOLF]HĔPHWRGąWUDG\F\MQą&KDUDNWHU\]XMHVLĊGRGDWNRZRQLH ]DOHĪQRĞFLą RG V\VWHPX RSHUDF\MQHJR SRQLHZDĪ PRĪH ]RVWDü Z\NRU]\VWDQH Z NDĪGHM GRVWĊSQHM SU]HJOąGDUFHLQWHUQHWRZHM
%LEOLRJUDILD
>@ *ULPVWDG 6 -¡UJHQVHQ 0 0RO¡NNHQVWYROG . Software effort estimation terminology: The tower of Babel,QIRUPDWLRQDQGVRIWZDUHWHFKQRORJ\±
>@ 7ULPS $ L ZVS )XQFWLRQ SRLQW FRXQWLQJ SUDFWLFHV PDQXDO UHOHDVH ,)38* 86$
>@ -RQHV & . Backfiring: converting lines of code to function points &RPSXWHU ±
>@ .DXU-6LQJK6'U.DKORQ.6%DVVL3Neural Network-A Novel Technique for Software Effort Estimation. ,QWHUQDWLRQDO-RXUQDORI&RPSXWHU7KHRU\DQG(QJLQHHULQJ±
>@ .KDWLEL9-DZDZL'1$Software cost estimation methods: A review-RXUQDORIHPHUJLQJ WUHQGVLQFRPSXWLQJDQGLQIRUPDWLRQVFLHQFHV±
>@ .UXFKWHQ3The Rational Unified Process: An Introduction (3rd Edition)$GGLVRQ:HVOH\ 86$
>@ 0F&RQQHOO6 Software Estimation: Demystifying the Black Art (Best Practices)0LFURVRIW 3UHVV:DVKLQJWRQ
>@ 5DPHVK..DUXQDQLGKL3Literature survey on algorithmic and non-algorithmic models for software development effort estimation,QWHUQDWLRQDOMRXUQDORIHQJLQHHULQJDQGFRPSXWHUVFLHQFH ±
>@ 6KDUPD$..DOLD$6LQJK+Metrics identification for measuring object oriented software quality,QWHUQDWLRQDOMRXUQDORIVRIWFRPSXWLQJDQGHQJLQHHULQJ±
>@ 6XUL3.5DQMDQ3Comparative analysis of software effort estimation techniques,QWHUQD WLRQDOMRXUQDORIFRPSXWHUDSSOLFDWLRQV±
>@ 6]HMNR6Metody wytwarzania oprogramowania:\G0,.20
>@ 7RUYDOGV/'LDPRQG'Just for fun: the story of an accidental revolutionary+DUSHU&ROOLQV 3XEOLVKHUV1HZ<RUN
(67,0$7,1*352-(&7686,1*7+(0(7+2'62))81&7,2132,176 $1'&2&202,,
6XPPDU\
The purpose of this article is to present the problems associated with the correct estimation, a medium-sized IT project. The authors propose to support this process with a designed software based on the function points and COCOMO II. It automati-cally performs all calculations and provides context-sensitive help for each parameter method, allowing the evaluation process proceeds faster. The software also allows you to store previous calculation, which in the future will provide the ability to customize and correction coefficients method.
.H\ZRUGVVRIWZDUHHVWLPDWLRQWKHIXQFWLRQSRLQWV¶PHWKRG 9RORG\P\U0RVRURY 0DULDQ1LHGĨZLHG]LĔVNL .DWHGUD,QIRUPDW\NL(NRQRPLF]QHM 8QLZHUV\WHWàyG]NL HPDLOZPRVRURZ#XQLORG]SO 'RPLQLN6]\PDĔVNL 6HEDVWLDQ%LHGURĔ ,QVW\WXW,QIRUPDW\NL6WRVRZDQHM 3ROLWHFKQLNDàyGĨND HPDLOVELHGURQ#ZSLDXQLORG]SO