HAt thto ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20-21,2006
l i d
R O N G C A C P H E P D O K H A NANG T I C HHgfP vA
K H A\^G TAI SU* DVNG VA XAY DyNG PHEP DO TONG HQfP CHO PHAN MEM HlTOfNG THANH PHAN
Extended Metrics for Measuring Intergration Posibility of Integration 0nd Reusability and Developing Composite Metric for Component-
Based Software
Huynh Quyet Thing, Pham Thi Quynh
Tom tdt
Xdy dym^ phan mem hu&ng thdnh phdn Id mgt trong nhiing phuang phdp hiiu qud phdt triin phdn mem hien nay. Vdn di nghien ciru cd phep do phdn mim hudng thdnh phdn Id mgt trong nhiing trong tdm nghien cim. Trong bdi bdo ndy chiing tdi Irinh bdy cdc kit qud nghien cuu thur nghiim xdy dung cdc phep do phdn mim huang thdnh phdn theo cdc thugc tinh: khd ndng tich hgp vd khd ndng tdi sir dung. Cdc phep do ndy dugc xdy dung theo md hinh FCM tir nhiiu thu0c linh muc Ihdp. Cdc kit qud thu nghiim dugc ddnh gid trin cdc thdnh phdn Irong moi tru&ng .NET.
Tir khod: Phdn mim hu&ng thdnh phan, khd ndng tich hgp, khd ndng tdi sir dvng, md hinh FCM
Abstract
Component-based software development is based on building software systems from reusable components. It is important to measure components' quality in order to ensure the entire system's quality. In this paper, we propose developed metrics for components using limited information that can be obtained from the outside of components without source codes. Our metrics can measure the component's complexity, integration, reusability. Our metrics are based on FCM model We also presented the experimental results implemented on the components in the .Net environment.
Keyword: Component-based software development. Integration. Usibility, FCM Model
1 Mf^DAII hudmg thanh phan hif n nay, cae nghien CUU ve xay d^ng cac phep do thanh phan phan mem, Phat trien pham mem hudmg thanh phan giup nguoi su dgng danh gia eac thanh phan
\^ mpt phuong phap trong do hf thong dugc mpt each hoan chinh va tin c|y, dang dugrc xSy dyng tir nhurng thanh phan da dugrc xay phat trien.
dvng ho$c san xu4t mpt each dpc lap va dupe j^^j ^^^ ^jg^ ^g ,,^3 nSng tai sir dyng vk dinh nghia r5 rang bSng each ket hpp nhirng ^^ „j„g jj^,, ^ ^ ^^^ ^hanh phin phin m^m thinh phan voi cae thanh phan khac do nguoi ,^ ^ai dac trung quan trpng nhSt cho ph6p l?p trinh phat tnen [ 1,3,8]. Vdi mpt yeu cau ^^^^ gia thanh ph4n ph5n mem mpt each t6ng chuc nang Chung ta eo^rat nhieu cac thanh ^^^j [j gj ^oi each khac, kha nSng tai su phan thoa mSn, lam the nao lya ehpn thanh j^^g ^^ ^^ ^^^g tich hpp la hai yeu to quan phan dap ung day du eac yeu cau cua nguoi ^^^^g ^^^^ ^« ^^^^ gia mpt thanh ph4n. Mpt su dyng va mang l?i hi?u qua cao nhat. Hon ^x ^x^ ^^^ ^gj,j.^ ^^^ ^x ^^^^ ^^ ^^^ ^^^
n&a, trong cong ngh? xay dyng phan mem jij^j, ^pp thanh phan da dupc trinh bay trong 257
Ky y^u Hpi thao ICT.rda'06 Proceedings of lCT.rda'06. Hanoi May. 20-:
[2,3,5]. Ket qua nghien curu vk phep do kha nSng tai sur dyng dupe de xuat trong [1]. Cae h^n ehS cua cae nghien curu nay la ap dyng trong ngon ngir dac ta giao di|n thanh phan [2] hole trong Idrp giao difn Facade cua cac thanh phan JavaBeans. Bai bao nay de xuat kha nang mo rpng eac phep do nay, phuomg phap do cy the ap dyng cho cac phan mem phat trien hudmg thanh phan. Chiing toi cung de xuat dp do tong hpp danh gia su lien quan giira cac d^c trimg nay.
Cau true cua bai bao dupe xay dyng nhu sau: trong myc II chiing toi trinh bay ve phep do kha nang tieh hpp thanh phan - cac phep do CO ban va cac mdr rpng chung toi de xuat.
Tiep theo trong muc III, trinh bay vk phep do kha nang tai sii dyng ciia thanh phan: cac phep do CO ban va cae mdr rpng chiing toi dk xuit.
Trong myc IV, trinh bay phep do tong hpp de xuSt dya tren eac phep do hai thupc tinh kha nang tich hpp va kha nang tai sir dung. Cac thu nghifm so sanh danh gia cac phep do dupc tien hanh voi cac mau thifit kk (design pattern) co ban, cac ung dyng mlu ma cae tac gia V. L. Narasimhan vk B. Hendradjaya sir dyng. Ket qua so sanh danh gia dupe trinh bay trong myc V. Cuoi cimg la phan ket lu$n.
2. DO DO KHA NANG TICH HQIP CUA THANH PHAN
2.L Cie ph£p do ciia V. L. Narasimhan v^ B. Hendradjaya
Kha nang tich hpp cua mpt thanh phan dupc danh gia dya tren dp phiire tap khi dua thanh phan do vao h? thdng va sy anh huong ciia thanh phin do toi toan bp hf thong. V. L.
Narasimhan va B. Hendradjaya de xuat eac dp do CPD (Component Packing Density) va dp do CID (Component Interaction Density) dya tren t$p dp do kha nang tich hgrp thanh phan tir dac ta cua ngon ngir djnh nghTa giao difn thanh phin (Component Interface Definition Language - CIDL) [2]. Dp do CPD co lien quan tori hf thon^ dupc tao thanh tir mpt tap hpp cac thanh phan, tich hpp voi nhau. Dp do CPD dugc su dyng df xac djnh m§t dp eua cae thanh phan dupc tieh hpp voi nhau. Do do, m^t dp cang cao thi dp phirc tap cang Ion.
Dp do CID CO lien quan tori tuong tac g thanh phan vdri mpt so cic tuong tac trong toan bp hf thong. S6 lupng i tuong tac cang cao thi dp phuc t^p cai Dp do CPD dupe tinh bang ty s6 giira c td cau tao nen cac thanh phan trong he [2].
It < constituent >
CPD =
# components trong do: #<Constituent> la s6 lupi yeu to e§u tao len tat ca cae thanh phan hf thong, va #<eomponents> la s6 lupi thanh phan trong hf thong.
Tip dp do nay dugc xay dung dl ap tren eac thanh phan CIDL; eho nen theo ngir cua OMG [10], giao difn dupe eur bdri mpt thanh phin gpi la facet, va gia(
dupe thanh phan yeu eau gpi la receptacl Tiep theo, V.L Narasimhan & B.Hendra xay dung dp do mat dp tuong tac trung (Average Interaction Density - AID) c mat dp tuomg tac giii-a cac thanh phin tro thong. De do AID, phai djnh nghTa m tuomg tac eiia timg thanh phin (Intera Density of a Component - IDC) la ty s6 cac tuong tac thyc su voi cac tuong tac c ciia thanh phin.
IDC = #1
# / -
trong do #1 la s6 cae tuong tac thyi Imax la so cae tuong tac sin co.
Co thf giai thich dp do eho mat dp ti tac den va di khoi thanh phan (Ing Interaction Density of a Component - IIDi Outgoing Interaction Density of a Compo - OIDC). Tuong tac den (Ineom interaction) la tat ca eac giao difn dupc i va cac su kifn dupe nh|in. IIDC la ty so i so lupng cae tuong tac den dupc sir dyng so lupng cac tuong tac dkn eo sin. Thyc . la ty so giii-a cac facet thyc su dugc sir d voi cae facet co sin trong thanh phan. Tu tac di (Outgoing-interaction) la cac giao <
duge cung cap va cac su kifn bj anh hue OIDC la ty so giira so lupng cac tuong ta dugc sir dung vdri so lugng cae tuong tac d
1 HQi thAo ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20-21,2006
In. Th\rc chat li ty so giCla cic receptacle hue svr dugrc dip umg vdi cic receptacle eo j ] , tni thanh phan yeu eau. AID sS dugc xic (linh 1^ t^ng mit dO tuong tie eiia moi igjnponent chia eho so lugng cic thanh phin:
IDC,+IDC,+... + IDC„
AID = 4 ^ "-
w components
trong d6 IDC| den IDC„ la mat dp tuong t ^ ciia cic thanh phin tir I den n.
^components la so lugmg eie thanh phin ton t^i trong hf th6ng.
M i ^ .xe/.-Tii tip dp do'khi ning tieh hgrp
^lanh phin eua V.L Narasimhan &
^.Hendradjaya ta thiy ring tip d$ do niy chi ip dyng tren cic thanh phin vilt tren CIDL.
Do do, c i c cong thiire tinh gia trj cua tip dp do niy deu dua tren thuit ngu- facet va receptacle.
Facet la cac giao difn mi thanh phan cung cap vi receptacle l i cic giao difn mi thinh phin ygu ciu hf thong cung cip [2]. Vdri mpt thanh phan bit ky, muon sir dyng dupc no, nha sin xuat phii cung cip diy dii cic tai lifu die ta 1^ thuit CO lien quan den no [8] . Trong tai lifu d$e t i thinh phin cin phii mo ti chi tiet ve cich sir dyng no, nhu: thinh phin cung cip cic giao difn nio, yeu ciu sir dyng nhii-ng giao difn nio. Vi viy, ta c6 the phit trien t|ip do do eiia V.L Narasimhan & B.Hendradjaya dl do tat e i cic kilu thanh phin khic nhau, bing each thi thi thuit ngQ- facet thanh tip cic giao difn duge thanh phin cung cap vi receptacle thinh tip cac giao difn ma thanh phin y€u ciu sir dyng.
2.2. C i c mor rpng de xuat 2.2.1. Mar rpng cho do do CPD
Xdy dyng do do CPD ma rgng
Dp do CPD mdr rpng dupc tinh bing ty so giira cic ylu to cau t^o nen cic thanh phin va so lugng e i e thinh phin.
it < constituent >
CPD = (1)
it components
trong do U<constituent> eo thi la so lupng dong m i Ifnh, cic phuong thurc, cac idrp hoic eie mo-dun eau t^o len cac thanh phan.
So lugng cac yeu to nay phy thupc vao nhihig thong tin lay tir djnh nghTa ciia thanh phan.
Nhi cung cip thinh phin hay ngudri xay dyng thanh phan phii cung cap nhihig thdng tin ni>
[8]. NIU cic thong tin nay chi la cic Idrp trfn moi thanh phin thi ta tinh tong ciia cic Idrp va chia cho so cac thanh phin. Bilu thiic (I) dugc ap dyng cho tat c i cic loai thanh phin.
Thong so #<components> la so lugng cic thanh phan eo trong hf thong.
Cong thiie (I) dugc xiy dyng dya tren cong thirc tinh CPD do V.L Narasimhan &
B.Hendradjaya dl xuit. Nhung thanh phin dugc do trong cong thiic (1) la cic lo^i thinh phin khie nhau, thay vi chi li mpt lo^i thinh phin CIDL. Do do, gii trj U<constituent>
chinh li nhimg ylu td chinh ciu t^o nen thinh phin nhu: ldp (class), phuong thiire (operator), thupc tinh (attribute).
Phuong phap xac djnh dp do CPD
Ta CO thi tinh dp do dya tren cic Idrp nim trong thanh phin, cic thupc tinh (bao gom member variable vi property) ho$e cic phuong thiire:
• Dp do CPD dya tren cic Idrp cau t^o len thinh phin gpi li CPDctoi. CPDci,„ li ty so giCla tit ci cic Idrp ciu t^o len cic thinh phin cua hf thong tren tong so cic thinh phin.
• Dp do CPD dya tren cic thupc tinh eiu t^o len thinh phin gpi la CPDAmibuie- CPDAmibute li ty so giira tit ci eie thupc tinh ciu t^o len cic thanh phin cua hf thong tren tong so cic thanh phin.
• Dp do CPD dya tren eac phuong thiic eua eie thanh phin gpi la CPDopentor- CPDopenitor li ty SO giSa tit ci cic phuong thirc nim trong cic Idrp eiia cac thanh phin trong hf thong tren tong so cic thanh phin.
2.2.2. Ma rgng cho dg do CID (Component Interaction Density)
Xdy dyng do do CID ma rgng
Tuong tic giiia cac thanh phin dupc thi hifn thdng qua vifc sir dyng cic giao difn cua thanh phan hoac bi anh hudmg bdi cac sy kifn 259
Ky y^u HQi thao ICT.rda'06 Proceedings ot lCT.rda06. Hanoi May. 20-2i
ciia cic thanh phin khac: mpt thanh phan cung cap mpt giao difn va thanh phin khic siir dyng no, hoic khi mpt thanh phin truyin di mpt sy kifn va cic thanh phin khic nhan dupc sy kifn nay. Ta bilt ring mat dp tuong tic cang cao thi dp phirc tap cang ldm. Vi vay, cin xay dung dp do mat dp tuong tie giii-a eac thanh phin trong he thong, gpi la dp do mat dp tuong tac trung binh (Average Interaction Density - AID). Dl do AID, chiing ta djnh nghTa m^t dp tuong tie ciia thanh phin (Interaction Density of a Component - IDC) la ty so giii'a eie tuong tie thyc sy dupe su dyng tren eie tuong tic co san eiia thinh phin. Gii trj Idn nhat ciia IDC bing 1, co nghTa li tit ci cic giao difn deu dugc sit dyng. IDC dupc xic djnh theo cdng thirc:
IDC =
it!
ttl
(2)trong do #/ la so cic tuomg tic thue sy,
#/„„ la sd eac tuong tic sin co.
Mpt each chi tilt, ta cung co thi djnh nghTa dp do cho mit dp tuong tic din va di khoi thanh phan (Ingoing Interaction Density of a Component - IIDC va Outgoing Interaction Density of a Component - OIDC).
Tuomg tic din (Incoming-interaction) la tit ca cic giao difn dupe nhin va cic sy kifn dupc nhin. Tuong tic di (Outgoing-interaction) la cic giao difn dupc cung cip va eac sy kifn bj anh hudng.
IIDC li ty so giii-a so lupng cic tuong tic din dupe sir dyng vdi so lupng cic tuong tie din CO sin:
IIDC = - " ' #1
#1 (3)
trong dd #1^ la so lugng cic tuong tie din duge sir dyng vi ttl,^^^ la so lugng eie tuong tie din ed sin.
OIDC la ty so giira so eac tuomg tic di dugc sir dyng vdi so cac tuong tie di cd sin:
OIDC= ^ ^ ^ UI ttl
maxouj.
(4)
trong do ttloar li so lugng cic tuo din duge sur dyng vi ttl,^^ la sd lugn tuong tie din cd sin.
Cic cdng thiire (2), (3), (4) dugc xiy dya tren tap dp do do V.L Narasimh B.Hendradjaya de xuat. Tuy nhien, i cdng thirc tinh dp do IDC, IIDC, OID rdng yeu ciu phii xac djnh rd eie giac dupc thanh phin cung cip va cac giac ma thanh phin yeu ciu hf thdng cunj Trong sd cic giao difn niy, nhihig giac nio dupc su dyng thyc sy, tiic la nhihi}
difn nio ma thinh phin cung cip dug thinh phin khie sur dung thyc sy va i giao difn nao mi thanh phin yeu eiu du thong dip iimg thyc sy.
AID li tdng mit dp tucmg tic eiii thanh phin chia cho so lugng cic thanh ]
Ajj)JI>C,^IDC,+... + IDC„
it components
trong dd IDC| din IDC„ la mat dp tie ciia cae thanh phin tir 1 de ttcomponents la sd lugmg eie thanh phe t^i trong hf thong.
Gii trj ciia IDC, IIDC vi OIDC du dyng dl tinh dp phiire tfip ciia cic tuor trong mpt thanh phin ey the. Dl tinh dp tap cua toan bp hf thdng, chiing ta sir dyi trj AID. Ddi vdi ngudi xiy dyng phin cic gii trj eiia IDC, IIDC vi OIDC rat hi cho vifc kiem tra mat dp tuong tie tron thanh phin. Gii trj eua AID cho phep gii tuong tie eiia toin bp hf thong. Nlu;
cua AID thip ed nghTa la hf thong don g riii ro.
Phuomg phdp xdc dfnh 3Q do CID Cic thanh phin (vi dy nhu .Net, thudng cung cap mpt tip hgp cic giac nhim hd trg cho yeu ciu giao tilp giu thanh phin trong hf thong. Nhu viy, to tuong tie sin cd #Imax ciia mpt thanh trong mpt hf thong cy thi ehinh bing tc cac giao difn dupc thanh phin do cung c cac giao difn ma thanh phin yeu ci thanh phin khic trong hf thong cung ca
fj^thto ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20-21,2006
%A lugng tucmg t i c thyc sy cua mpt thanh 1 ^ chinh l i tong s6 lugng giao difn mi L^i&n dd sir dyng cua cic thinh phin
"^ijoj^c yeu cau e i e thinh phin khic trong tong phyc vy nd) v i so lugng cic giao mi c i c thinh phan khic thye sy su dyng '^inhphandd.
k p l ^ c ^i"*^ dugc s6 luc^ng eac tuong tic fa JIiN> ^ ^ '^ ^° IfCmg e i e giao difn mi h ^ phin c cung cip dugc sir dyng thye sy, l^^j duyft tat ca c i c thanh phin khic trong / ^ n g cd tham chilu tdi thanh phin C.
^ g timg thinh phin K cd tham chilu tdi liinh phin C, xic djnh xem nhiing thanh phin
H$th6ngX
Hinh 1: Quy trinh tinh dg do khd ndng tich
^ hgp ciia thdnh phdn A trong h4 thong X d6 c6 yfu ciu thyc sy tdi nhihig giao difn mi diinh phin C cung cip hay khdng. Ta phii chi y tdi c i c giao difn bj sir dyng lip dl Ichdng tinh l^i lin nQ-a.
Tuong tvr, dk x i c djnh dugc sd lugng cic tucmg tic di #IouT> tire li sd lugng cic giao difn mi c i c thinh phin khie cung cip cho tflinh phin c, ta phii duyft tit c i cic thanh phin trong hf th6ng mi thanh phin c cd tham chilu tdi. Trong tirng thinh phan do, xic djnh xem thinh phin e cd sir dyng thyc sy nhii-ng giao difn nio ciia chung. Tir nhihig s6 lifu thu th|p dugc, ta i p dyng nhurng cdng thurc (2)
^ (S) tr€n dl tinh ra cac dp do IDC vi AID.
3. D^ DO KHA NANG TAI SU* DVNG CUA THANH PHAN
3.L Tap dp do kha nang tai sir dyng do Hironori Washizaki de xuat
Hironori Washizaki da dl xuit mpt tip dp do kha.ning tai sir dung, gdm cac dp do sau [1]:
• Sy tdn tai ciia sieu thdng tin (EMI:
Existence of Meta-Information): EMI(c) la dp do xic djnh Idp Beanlnfo cua thanh phan dich C cd dupc cung cip hay khdng;
" Ty If ciia khi ning quan sit ciia thinh phin (RCO: Rate of Component Observability): RCO(e) la ty If giiia nhiing thupc tinh co thi dpc dugrc vdi tat c i cac trudng dupc cii dat trong Idp Facade ciia thanh phin C. Thupc tinh cd the dpc dupc la cac thupc tinh public hoic nhirng thupc tinh hd trg cic phuomg thiic cho phep dpc dugc gia trj cua chiing.
• Ty If cua khi ning thay ddi theo yeu ciu (RCC: Rate of Component Customizability): RCC(c) la ty If giu-a cic thupc tinh cd thi ghi vdi tit ci cic tmdng dupc cii dit trong ldp Facade ciia thinh phin C. Thupc tinh cd thi ghi dugc la cic thupc tinh public hoic nhii-ng thupc tinh hd trp cic phuong thiire cho phep thay doi gia trj eua chung.
" Khi ning ty hoin thifn ciia thinh phin doi vdi gii trj tri vl (SCCr: Self- Completeness of Component's Return Value): SCCr(c) la ty If giira cic phuong thirc nghifp vy ma khdng cd gii trj tri ve tren tat ci cic phuong thiire nghifp vy dupc cai dit trong ldp Facade ciia thanh phin C.
• Khi ning ty hoin thifn ciia thinh phin ddi vdi cic tham sd (SCCp: Self- Completeness of Component's Parameter): SCC(p) li ty If gi&a cic phuong thiire nghifp vy khdng co tham so tren tit c i cic phuong thiire nghifp vy dupc cii dit trong Idp Facade cua thinh phin c.
Vdi tip dp do khi ning tii sur dyng Hirognori Washizaki dl xuat [1], chung ta 261
Ky ygu HQi thao ICT.rda'06
thay ring tip dp do nay chi do tren ldp Facade cua thanh phan. Thdng thudng, chi cd c i c thanh phan JavaBeans mdi cd Idp Facade. Vi vay, t i p dp do nay khdng tdng quit eho eac lo?i thanh phan khac.
3.2. M o rpng tap dp do kha nang tai sir dung
Chung tdi de xuat mdt tap hpp dp do md rpng lien quan din kha nang tai sir dung.
Chung ta g i i sir ring, mdt thanh phin ludn cd day du cac tai lieu nham hudng dan each su dung. Nhd cd tai lifu nay ma chiing ta mdi cd the danh gia dugc cac kha nang ciia nd nhu:"
kha nang tich hop, kha nang tai sir dung, dp phirc tap ... Do do, chung ta cung se sir dung bon do do: RCO, RCC, SCC^ va SCCp nhim xac djnh kha nang tai sir dung ciia mot thanh phan.
3.2.1. Dp do RCO (Rate of Component Observability)
RCO(c) la ty le phan tram giira cac thuoc tinh CO the dpc dirge tren tong so tat ca cac thupc tinh dupc cai dat trong thanh phan c.
prn^ l^ricV^ic) A{c)>0
RC(J{c) = < (6) [O A{c)<0
trong dd P,(c) la so lugng cac thupc tinh cd the dpc dupc cua c va A(c) la tong so lirpng cac thupc tinh trong thanh phin c.
Thupc tinh cd the dpc dupc ciia mdt thanh phan dugc hieu la nhfrng thudc tinh cho phep ngirdi sir dyng thanh phan cd the truy nhap d l lay du- lifu cua chiing.
Phirang phdp xdc dinh do do RCO ma rong
Chung ta biet ring mdi thanh phan thudng cd chira cac giao dien, cac ldp ... Trong mdi lop cd chua cac thudc tinh (attribute), ma cac thupc tinh nay dugc chia thanh hai loai la:
bicii thanh vien (member variable) va property. Thdng thudng cac bien thanh vien la private. Tiirc la chi cd cac phuang thirc trong cimg ldp mdi cd the dpc dupc gia trj cua nd, con ngudi sir dung thanh phin thi khdng the doc dugc. Tuy nhien, vdi property thi ngudi sir dung cd the dpc dugc dfl- lifu cua nd vi
Proceedings st i;.;i .lua'ub. nanoi May. ^
RCG[c) = '
property thudng dugc cai d i t ciini phuong thurc get() - lay g i i trj eua pr set() - g i n g i i trj eho property. Do thirc tinh ciia dp do RCO sg duge t nhu sau:
• Pr(c) la tdn^ c i c property cd phu get() cua tat c i cac ldp ed tro phin e.
• A(c) la tdng t i t e i cic thupc tinh c i member variable v i property c cic ldp cd trong thanh phin C.
3.2.2. Dg do RCC (Rate of Coi Customizability)
RCC(c) la ty If phin tram eua c;
tinh cd thi ghi dugc tren tdng tat ca c tinh dugc cai dit trong thanh \
\PSc)IA{c) A{c)>0
[O A{c)<0 trong dd Pw(c) la so lupng cac thupc
thi ghi dugc trong c.
RCC chi ra mire dp ciia khi nang l CLia thanh phan ddi vdi ngudi sii: dung, tnic cua thanh phan dugc tuong thich ngoai vdi yeu cau ciia ngudi sii dyi nang tuy bien cua thanh phan phai ci nhien, tinh tuy bien q u i cao cd thf inh tdi kha nang ciia thanh phan va dan tdi dung sai.
Phucmg phdp xdc dinh dg do /?(
rgng
Tuong ty nhu trong dp do RCO d bay. Mdi property cua mpt Idp trong phin c thudng dugc eai dit cimg \ phuong thiire get() va set(). Phucmg thii dugc sir dung de lay g i i trj cua propc phuong thiic set() duge sir dyng de g i n cho property.
Do dd, ky hifu Pw(c) trong cong thi cua dp do RCC ehinh la tong c i c propc phuong thirc set() eua t i t ea c i c ldp cd thanh phin c.
GiQ-a RCO va RCC ed moi quan 1 thdng thudng, ngudi xay dyng phan thudng cai dat cho mdi property c phuong thiic dpc va ghi (get v i set). Nhi
i thio ICT.rda'06
ig hieu d u g c cua mpt thinh phin cao lUing thich nghi cua nd ciing cao.
Proceedings of ICT.rda'06. Hanoi May 20-21.2006
^ do sec, (Self-Completeness of
^ponent's Return Value)
ilScCXc) la ty If phin trim eiia cic phuong iuic nghifp vy (phuong thurc nghifp vy khdng '0y g5in cic phuong thiire d<?e va ghi gia trj
<fla thuOc tinh) khdng ed gii trj tri vl tren tat l cic phuong thirc nghifp vy dugc cii dit
phin C.
.(8) Tong cic
lew ={r
facet eiia thinh ,c)IB{c) 5(c) > 0
5(c) <0
trong do Bv(c) l i so lugng cic phuomg thirc nghifp vu khdng cd gii trj tri vl trong c.
B(c) la so luprng eie phuong thiire nghifp vu trong c.
SCCr chi rO mire dp ty hoin thifn ciia thinh phin va mire dp phy thupc ngoai thip doi vdi ngudi sir dyng thinh phin. So lupng cic phuomg thiic nghiep vy khdng cd gii trj tri ve cing nhd thi khi ning cd cic phy thupc ngoii cua thanh phin cing nhd. Khi ning ty hoan thifn ciia thanh phan cao (phy thupc ngoii thap) sg d i n tdi khi ning linh ho^t ciia thinh phin c i n g eao.
Phuang phdp xdc djnh dg do SCCr Phuong thurc khdng cd gii trj tri vl chinh li phuong thuc t r i v l kilu void. Do dd dl xic djnh d$ do SCCr (c) ta phii lift ke tat ci cic phuong thiic cua cic Idp cd trong thinh phin c. Sau dd phat hifn trong so nhiing phuong thiire do nhiing phuong thirc nio tri vl kilu void. Cuoi ciing, ta tinh ty If phin trim giii-a hai gii trj vira tim dugc.
3.2.4. Dg do SCCp (Self-Completeness of Component's Parameter)
SCCp(c) l i ty If phin trim ciia cic phuong thirc nghifp vy khdng cd tham so tren tat e i cic phucmg thire nghifp vy dugc cii dit trong thinh phin c.
\B^{c)im m>o
[O 5(c) <0
(9) trong dd Bp(c) l i so lugng cic phuong
scq,ic)=<
thiire nghifp vy khdng cd tham sd trong thinh phin e.
SCCp chi rd mire dp ty hoin thifn ciia cic thanh phin va miirc dp phu thudc ngoai thip ddi vdi ngudi siir dyng thanh phin. So tugng cic phuang thiire nghifp vy khdng cd tham so cang nhd, thi khi nang cd phu thudc ngoai ciia thanh phan cang thap.
Phirang phdp xdc dinh do do SCCp Dk xic djnh dp do SCCp (c) ta phai lift ke tat ci cic phuong thiie cua cic ldp cd trong thanh phin C. Sau dd phat hien trong sd nhiing phuong thirc do nhirng phuomg thirc nao khdng cd tham sd. Cuoi cimg, ta tinh ty If phin trim giira hai gii trj vira tim dupc.
Moi lien hf giiia dp do SCCr va SCCp: Dl do tinh linh hofit cua mpt thinh phin ta cd the sir dung dp do SCCr hoic dp do SCCp. Giira hai dp do SCCr va SCCp cd moi quan hf mit thiet vdi nhau. Dieu dd cd nghTa la ngudi xiy dyng mpt thinh phan thudng cai dat nhiing phuomg thirc nghifp vy khdng cd gia trj tri ve hoic khdng cd tham so.
Tuy nhien, SCCp khdng the phin inh tinh linh ho^t ciia thinh phin nhu SCCr. Vi ta chi cin siir dyng dp do SCCr de do tinh linh ho^t ciia mpt thinh phin.
3.2.5. Dg do khd ndng tdi sdr dfing tong quat Tip hpp cic dp do tren (cdng thiire 6 den cdng thirc 9) cd thi dupc sii dyng dl dinh gii khi ning tii sur dyng cua thinh phin bing cich do cic nhin to chit \ugng cd lien quan tdi khi ning tii sir dyng mpt cich rieng IS.
Tuy nhien, nhiing dp do nay khdng thi dc toin bp khi ning tii sir dyng ciia thanh phan mpt cich tdng quit. Do dd, chiing ta djnii nghTa mpt dp do tdng quit de do kha ning tii siir dyng ciia thinh phin mpt cich tdng quit nhit, gpi li CRM (Component Reusabilit) Metric) bing cich ket hpp bon dp do tren Nhu tren da trinh bay, kha nang tii siir dyng \i sy kit hpp ciia khi ning hieu, khi ning tiei hpp v i tinh linh ho^t. Chiing ta chi siir dyn{
SCCr dl do tinh linh ho^t vi SCCp khdng thiol hpp dl do tinh linh ho?it. RCC dupc sir dynj
Ifsl
Ky y^u HQi thao ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20- de do khi nang tuy biln, khdng sii dyng
RCO. Theo gii thiet, ta ludn ed nhiing thdng tin de hudng din cich siir dyng thanh phin nen kha ning hiiu dupe dugc coi bing I. CRM(c) chi ro miirc dp tii sii dung ciia thanh phan c doi vdi ngudi sir dung thanh phan.
\-^-RCC{c) + SCC,{c) ,,^, CRM(c)= — ^ ^ ^ (10)
3
Nlu gii tri cua CRM(c) cang ldm thi khi nang siir dung lai ciia thinh phin c cing cao.
Cdng thirc (10) tinh gii trj tmng binh ciia tap cac dp do cic khia canh inh hudmg tdi khi ning tai sir dyng eua mpt thanh phin. Trong cdng thirc nay, chiing ta coi cic yeu td anh hudng cd trpng so nhu nhau. Tuy nhien, trong nhieu trudng hop ngudi sir dyng mudn nhan manh vao khi ning hieu dugc hoic khi ning tich hop hoac tinh linh hoat. Vi vay, chiing ta se dua vao cac trpng so nham giup ngudi sii- dung tu cung cap tim quan trpng cua tirng yeu td anh hudng tdi kha ning tai sii dyng cua mdt thanh phan:
Cac tham so a, b, c trong cdng thirc (11) li cac trpng so cho thiy tim quan trpng cua cac yeu to anh hudng tdi kha ning tii sir dyng cua mpt thanh phin. Nlu gii trj trpng so ciia mpt yeu td cang ldm cd nghTa ngudi siir dyng muon yeu to dd cd inh hudng tdi khi ning tii sir dyng cang ldm.
4. XAY DVTVG DO DO THANH PHAN T6NG QUAT
Vdi tip dp do khi nang tuong thich, chiing ta da dl xuit 3 dp do md rpng li CPD, IDC vi AID. Tuy nhien, dp do CPD dupe sir dyng de do mit dp ciia cic thinh phin trong hf thong vi AID dupe sir dyng dl do mat dp tuong tic ciia toan bp hf thong. Cho nen, ta khdng thi sir dung hai dp do niy dl do mpt thanh phin dpc lip. Ta chi su dyng dp do
IDC(c), dimg dl do dp tuong tic cii phin c vdi cic thinh phan khic ti thdng. Nhu viy, dp do kha ning tuon cua mpt thinh phin (CIM - Con Intergrated Metric) se iugc tinh dua t dp tuong tic,
CIM(c)=l-IDC(c) (12) OCM(c)- CRMiO.aMic) ^ Trong dd CRM(e) li dp do khi n sii dyng eiia thinh phin c vi CIM(c) 1:
khi ning tuomg thich eua thinh phin c p li hf so anh hudmg tdt ciia cic ylu to NIU GCM(e) cing ldm, tiic la than e dupc danh gii la cing hoan hie GCM(O) cing nhd thi thanh phin c dupc danh gii tdt, vi it cd khi ning di chpn.
Trong trudng hpp tdng quit, d chiing ta khdng coi hai ylu td vl kh.
tuong thich vi kha ning tai sii dung bing nhau. Do do, ta cd thi md rpnj thiic tinh dp do thanh phin tong qua each bo sung them trpng so cho hai yli bin tren:
GCM.(c)= "CRMJO^^bCmO ^^
trong dd hai trpng so a va b nim khoing tir 0 din 1 va (a+b)<l, vi chung xet din inh hudmg ciia cic yeu to khic.
Khi thyc hifn qui trinh do thinh ngudi siir dyng se phii dua vio gii trj e hf sd a,b vi p. NIU gii trj niy cing chii thi ta se thu duge gii trj eiia dp do cang xic. Thdng thudng vdi cic hf thong yi.
khi ning tii sur dyng cao, ta nen lya ch<
trj cua hf sd a nim trong khoing [0,7;
Vdi nhiing dy in ddi hdi vifc tich h thong de dang thi hf so b nen chpn khoang [0,55;0,7]. Vdi hf so p - sii dy cho biet mure dp inh hudng eua cic >
H<yi thao ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20-21.200<
Ac (ngo^i trii khi ning tieh hpp va tii sir gg) din chit lugng cua thinh phin, ta nen pn p trong khoing [0,03 ;0,2].
5. T H I ) ' N G H I $ M D A N H G U VA KET
LUi^N
5.1.Thiir nghifm tren cac Design pattern eo ban v i so sinh vdi phep do CK
Chiing tdi tiln hinh dinh gii dp do tong quit dl xuat trem eac pattern eo bin. Kit qui diCr nghifm dugc md ti trong bing 1. Kit qui thyc nghifm tren cho thay. Giiia tip dp do CK md r$ng [9] va tip dp do thinh phin tong quit c6 mOt s6 d$ do cd y nghTa tuong ty nhau va cho kit qua nhu nhau; nhu: WCC vi CPDop«.tor, NC va CPDcia«. Tuy nhien, tip dp do CK md r$ng chi cho thiy dp phure t^p va kit ciu eua mpt thinh phin chi tilt hon so vdi tip dd do thinh phin tong quit. Nhung dp do thinh phin tong quit cdn eho thiy dupc mire df hoin thifn cua thinh phin duge do. Diy li mft ylu to quan trpng dl dinh gii khi ning tii sur dyng cua mpt thinh phin.
5.2. So sinh vdi t^p d$ do kha ning tieh hpp cua V. L. Narasimhan & B.
Hendradjaya
Kit qui thvrc nghifm so sinh kit qui cic ph6p do dl xuit vdi cic phep do ciia V. L.
Narasimhan & B. Hendradjaya tren eac thinh phin PDA (Personal Digital Assistant) [2].
PDA cd 3 thinh phin ehinh. Thinh phin thiir nhit gpi Ii DateBook, duge sir dyng dl ghi nhiing ho^t dpng lien quan din thdi gian vi ngiy thing. Thanh phin thir hai li AddressBook, ghi tSn, dja chi, so difn tho^i vi cic thdng tin eiia ci nhin hoic ciia cdng ty.
Thinh phin thur ba li TodoBook, ghi cic ho^t d^ng vi thdi h^n hoin thinh. Mdi thinh phin dugc lien kit vdi cic thinh phin khic. Kit qui dugc t6ng hgp trong bing 2. Kit qua tren cho thay, dp do thanh phin tong quit chi tilt va diy dii hon tiip dp do kha ning tich hgp ciia V. L. Narasimhan & B. Hendradjaya.
Trong tip dp do thinh phin tong quit ed chira
tip dp do khi ning tich hgrp cua V. L Narasimhan & B. Hendradjaya. Nhung chi vd tip dp do ciia L. Narasimhan & B Hendradjaya thi khdng dii dl danh gii chini xic mdt thinh phin mi chi dinh gii dupc mp khia c^nh ciia thanh phin, dd chinh la khi ning tieh hgp eiia thinh phin.
5.3. So sanh vdi taip do do kha nang tai si dyng ciia Hironori Washizaki
Dp do tii sir dyng cua Hironori Washizak dupc xiy dyng dya tren chuin ISO 9126. Ti|
dp do tii sir dyng ciia Hironori Washizaki di cip tdi sy ton t^i sieu thdng tin, khi ninj quan sit duge, khi ning tuy biln vi phy thupc ngoii eiia thinh phin. Cdng thiire dl xiy dynj tip dp do niy chi dupc thyc hifn tren mpt Idj Facade eua thanh phin JavaBeans, khdnj thich hpp vi khdng tong quit doi vdi vife dc cic thinh phin. Dp do khi ning tii sir dynj trinh biy trong bii bio dya tren dp do khi ning tii sir dyng ciia Hironori Washizaki nhung da dugc xiy dyng mpt cich tong qui hon vi chinh xic hon. Thay vi chi ip dynj tren mpt ldp, cic cdng thiic tinh ciia dp dc dugc ip dyng tren toan bg thinh phin. Tronj dp do thinh phin tdng quit, ta gii sur rinj thinh phin chura mpt tip eie Idp. Dya tren ec sd ly thuylt cho thiy, dp do thinh phin t6n(
quit sS cho kit qui tuomg ty nhu kit qui dc ciia tip dp do khi ning tii siir dyng eiii Hironori Washizaki, nhung ket qui niy chinl xic vi tong quit hon vi nd dupc ip dyng ehc ci thinh phin.
6. K £ T LUAN
Bii bio da dk xuat mpt tip hpp cic phef do lien quan tdi mpt so khia e^nh ciia thinl phin nhu: khi ning tii su dyng vi khi nin{
tich hgp. Hai die dilm ve khi ning tai su dyng vi khi ning tich hgp li dii de dinh gii mpt thinh phin mpt cich tdng quit. Ndi cicl khic, diy li hai ylu td quan trpng nhit di dinh gii mpt thinh phin. chung tdi phit triir tilp mpt dp do thinh phin tong quit hon dyt tren hai dp do ndi tren. Dk xiy dyng df dc khi ning tii sir dyng, chiing tdi di dya trer
•jfis
Ky ylu Hpi thao ICT.rda'06 Proceedings ofICT.rda'06. Hanoi May. 20-:
tip dp do vl khi ning tii sur dyng ciia Hironori Washizaki. Tuy nhien, vdi dp do khi ning tii su dyng dugc xiy dyng trong bii bio da thi hifn nhihig die dilm thich hgp vdi vifc do thinh phin hon ciia Hironori Washizaki.
Dp do khi ning tich hgp duge xiy dyng dya tren tap hgp cic phep do khi ning tich hgp ciia V. L. Narasimhan & B. Hendradjaya. Dp do khi ning tich hgp eiia V. L. Narasimhan &
B. Hendradjaya chi dimg lai de do cic thanh phan dugc vilt tren ngdn ngii CIDL. Dp do kha ning tich hgp mi chiing tdi xiy dung da md rpng ra, tong quit hon v i cd the dugc ip dung tren bit ky thanh phin nao.Hai yeu td quan trpng inh hudmg din vifc dinh gii thanh phin chinh la khi ning tii sii dyng v i kha ning tich hgp. Do dd, chiing tdi xiy dung mdt dp do thinh phan tdng quit dya tren trpng sd anh hudng ciia hai ylu to tren. Tuy nhien, phuang phip tinh toin dp do thinh phin tong quat trinh bay trong bai bao mdi chi dirng lai a mite dp tuomg ddi don giin, tam thdi chua xet den yeu to rang bupc giira khi ning tich hgp va kha ning tii siir dyng, chua xet din ylu to anh hudng lin nhau giiia hai dp do dpc lap nay. Ngoii ra, dp ehinh xic eiia phep do thanh phan tong quit cdn phy thupc vio trpng so anh hudng mi ngudi siir dyng cung cip. Cic gia trj trpng so niy phy thupc vio kinh nghifm ciia ngudi sir dung. Nlu nhii-ng gii trj trpng so dua vio cing ehinh xic thi phep do cing chinh xic.
Djnh hudmg phit trien nghien ciru tiep theo eiia chiing tdi la se xiy dyng dp do thanh phin tong quit hoin thifn hon, tren eo sd tinh din su rang bupc giiia dp do khi ning tii sir dyng vi khi nang tich hgp. E)dng thdi, cung cip mpt so cic heuristic de trg giiip cho ngudi sir dung trong vifc cung cip cic trpng so inh hudng. Ngoai ra, trong md hinh tinh toin cic dp do, vifc sir dyng dp do eiia cic thinh phin dl xiy dyng cic tifn ich phuc vy cho qui trinh phan tich, thiet ke vi quan ly dy an cdng nghf thdng tin ndi chung ciing rit quan trpng.
Vi viy, trong hudng phit triin sip td ging t9p tmng hon niia vio vin de um cac dii lifu thong ke ve dp do ciia mp phin dl xay dyng eie tifn ich.
Tai lifu tham khao
1. Hironori Washizaki: "A Study on Rea of Component-based Software Devel Technology", A Thesis Submitted in Fulfillment of the Requirements f Degree of Doctor of Information S 2003. http:/www.washizaki.net
2. V. L. Narasimhan & B. Hendradjaya, ".
Suite of Metrics for the Integrati
Software Compoi hllp://www.cs.adelaide.edu.auAvossa20(
/HTMLm-baw-paper.Ddf
3. Pentti Virtanen: "Measiuing and Imp Component-Based Software Developi 2003. www. tucs.Ti'puhlication.'i/
attachment.php?Tname=phdVirtanen03a 4. Tullio Vemazza, Giampiero Granate
Defining metrics for software compon M'M'vv. unibz. il/web4archiv/obiects/pdf/csli 'defiiiingnietricsforsofMarecomponenls.i 5. Manuel F. Bertoa & Antonio Vallc
"Usability metrics for software compon www.lcc.uma.es/~av/Publicaciones/fJ4/0- SE2004.Ddf
6. Andy Ju An Wang & Kai Qian: "Compo oriented Programming", MacroHill, 2005 7. Xia Cai, Michael R. Lyu, Kam-Fai Woi
Roy Ko: "Component-Based Soft Engineering: Technologies, Develop Frameworks, and Quality Assui Schemes",
hilD://doi. ieeecompulersocietv.org/IO. 110 PSEC.2000.896722
8. Huynh Quylt Thing, Phan Thi D?i: "
triin phin mlm hucimg thanh phin - tiln ) ty df ng hoi khi xiy dyng phin mlm phiic dya nen thanh phin COTS", Hgi thao I hgc quoc gia vi Nghien ciru phdt trien va dung Cong nghe thong lin va truyen th ICT.RDA Idn thu II. Ha nfi 24-25/9. Ky Hpi thio-Trang 165-174
^f vfa HQI thao ICT.rda'06 Proceedings of ICT.rda'06. Hanoi May. 20-21.200<
||, S. Chidamber and C. Kemerer: "A Metrics Suite for Object Oriented Design", IEEE Transactions on Software Engineering, vol.20, No.6, 1994
10. Trang web ciia t6 chiic OMG: www.omp.com
v l cic tac gia:
TS. Hujrnh Quylt Thing: T6t nghifp dpi hpc nim 1990 t9i Bulgaria. Bio vf luin van Tiln sS tpi HQi d6ng khoa hpc quIc gia Bulgaria thing 10 nam
1995. Tir nam 1998 cong tac tpi Khoa CNTT Trudng DHBK Ha nfi. Cac ITnh vyc quan tim:
Cong nghf phin mlm, Xir \^ ngon ngtt ty nhien - vin ban tiing Vift, K5^ thuit dh hpa va xir 1;^ inh Email: [email protected]
Th.S Ph^m Thj Qu^nh: tot nghifp DH Bach khoa Hi Nfi nginh Cong nghf thdng tin nam 2003, nhin bang Thpc s^ nam 2005. Hifn dang cdng tic tpi khoa Cdng nghf thdng tin - Dpi hpc Su phpm Ha Nfi. Quynh hifn dang quan tim nghien cihi vl:
cic phuong phip dinh gii phin mlm. Model Checking, E-Leaming.
E-mail: ptquvnh(5jgmail.com
267
KyyJuHQi thao ICT.rda'06 rrocecdmp oi i c I .rta-06. Hanoi May, zo-z
Bang 1. Kit qua thir nghifm dinh gii tren cac patteni co ban v i so sinh vdi phep d
Df do CK md rf ng Do do thanh phin tong quit
Df do CK mo rf ng Df do thanh phin tdng quit
Df do CK md rfng DQ do thanh phin tdng quit
DQ do CK md rong Df do thanh phin tong quit
Df do CK md rfng Df do thanh phin ting quit
Df do CK md rfng Df do thanh phin tdng quit
Ihdnhph WCC
3
NC 3 3
MAXDIT I CPDcba
3
\dn Prototype NOCC
2
EXTCBO 0
sec
I,
RFC
•J
sec.
I JMnh phdn Adapter
WCC 3
NC 3
CPDnjOTior
3
MAXDIT 1
CPDcUss
3
NOCC 2
EXTCBO 0
scc„ 1
Thdnh phdn Chain ot responsibUity
1 1
WCC 3
NC 3
CrUopttMor
3
MAXDIT 1 CPDcb„
3
NOCC 2
EXTCBO 0
RFC 4
see,
I RFO
4 SCO, 1 s e c .
1 i 1 Thdnh phdn Mediator
WCC 0
NC 5
C I Uooemof
0
MAXDIT 1
CPDciass 5
NOCC
3
EXTCBO 0
R F O 0 SCO, 1 SCCr
1 1 1 Thdnh phdn State
WCC 4
NC 4
CrDopeniiof
4
MAXDIT 1 CPDcu«
4
NOCC 2
EXTCBO
0 Rpa
5 SCO, 1 SCCr
I 1 1 Thdnh phdn Template Met
WCC 5
NC 2
^"tJogerator
5
MAXDIT 1
CPDclsB,
2
NOCC 1
hod EXTCBO
0 SCC„
1
RFCC 6
see.
1 Bang 2. Ket qua thur nghiem so sanh vdi phep do ciia V. L. Narasimhan & B. Hendrad
i Ten thanh phin
i
1
j 1. DateBook 1
; 2. AddressBook
;
i 3. TodoBook
t I
Phdp do V. L. Narasimhan & B.
Hendradjaya Dodo
IDC IIDC OIDC
IDC IIDC OIDC
IDC IIDC OIDC
Gid tri 2/6 2/2 0/4 1/2 0/0 1/2 1/1 0/0 l.'l
Phep do d l xuit Dgdo
see.
SCCo GCM
see.
sec„
GCM
see,
SCO, GCM
Gid tri I I 5/6
1 1 3/4
I I 1/2