Kuliah 1 evolusi perangkat lunak

31
Evolusi Perangkat Lunak Kuliah ke-1

description

Evolusi perangkat lunak

Transcript of Kuliah 1 evolusi perangkat lunak

Evolusi Perangkat LunakKuliah ke-12Introduction * DefnitionsThe set of activities, both technical and managerial, that ensures that software continues to meet organizational and business objectives in a cost efective way.(Research Institute in Software Evolution http:www!"ur!ac!uk#S$%&Introduction* DefnitionsAll programming activity that is intended togenerate a new software version from an earlieroperational version.($ann' Leh(an an" )uan Ra(il (2***%%+Introduction* DefnitionsThe application of Software aintenance activities and processes that generate a new operational software version with a changed customer!e"perienced functionality or properties from a prior operational version #$% together with the associated &uality assurance activities and processes, and with the management of the activities and processes.(,e" #hapin (1---%%.Importance of evolution/rgani0ations have huge invest(ents in their software s'ste(s - the' are critical 1usiness assets!2o (aintain the value of these assets to the 1usiness3 the' (ust 1e change" an" up"ate"!2he (a4orit' of the software 1u"get in large co(panies is "evote" to evolving e5isting software rather than "eveloping new software!6Why software evolvesRe7uire(ents are likel' to evolve while the s'ste( is 1eing "evelope" 1ecause the environ(ent is changing! 2herefore a "elivere" s'ste( won8t (eet en"-users9 e5pectations:S'ste(s are tightl' couple" with their environ(ent! ;hen a s'ste( is installe" in an environ(ent it changes that environ(ent an" therefore changes the s'ste( re7uire(ents!External forces2he s'ste(9s environ(ent:= #o(petitors8 innovations= Securit' threats= ?an"wi"th increase (2ele-co((unication%= $o1ilit' (wireless application%= E(erging stan"ar"s (we1-services3 ?2?3 ?2#3etc%= Legislation (in@uence of govern(ent%-External forces#hanging user e5pectations:= Aunctionalit'= Bsa1ilit'= Cepen"a1ilit' (relia1ilit'%= Response ti(e1*Internal forcesDolatile s'ste( re7uire(ents:= /rgani0ational policies an" proce"ures= ?usiness processes= #hange in target group (#usto(er 1ase%11Internal forces/perational con"itions:= ?ug repairserrors corrections= ,ew har"ware= Eeneral i(prove(ents of features12Internal forcesLife-ti(e:= Frchitectural erosion= Cegra"e" perfor(ance= /1solete technolog'technolog' change= #o(ple5it' grows 1e'on" co(prehension= Self-fee"1ack (self i(pose" change%1&Response to forces#orrective:= changing the software to correct faults!F"aptive:= changing the software so that it fulGls new re7uire(ents or operates in a "iHerent environ(ent (co(puter3 /S3 etc!% fro( its initial i(ple(entation!Perfective:= changing the software to i(prove so(e aspect of the s'ste(3 even when the changes are not suggeste" 1' faults!Preventive:= changing the software to prevent so(e s'ste( 7ualit' fro( "egra"ing to unaccepta1le levels!1+Distribution of change eortAault Repair1*%= S-s'ste(: for(all' "eGne"3 "eriva1le fro( a speciGcation!= P-s'ste(: re7uire(ents 1ase" on appro5i(ate solution to a pro1le(3 1ut real-worl" re(ains sta1le!= E-s'ste(: e(1e""e" in the real worl" an" changes as the worl" "oes!16!haracteristic of #$%$E systemsJ S-S'ste(s= #o(pletel' "eGne" pro1le( with one or (ore theoretical e5act solutions!= #orrectness of a solution is not the issue3 1ut correctness of its i(ple(entation is!= F change in the real-worl" re"eGnes the pro1le( an" hence invali"ates the s'ste(!= 2he s'ste( is accepta1le if the pro1le( was correctl' speciGe"!1!haracteristic of #$%$E systemsJ E-S'ste(s= #annot 1e co(pletel' speciGe" 1ecause the pro1le( changes as our un"erstan"ing of the real worl" changes!= 2hus to re(ain useful the s'ste( (ust change as the a1straction of the pro1le(changes!= 2he s'ste( is accepta1le if it changes as the real worl" "oes!1-!haracteristic of #$%$E systemsSensitivit' to change= S-s'ste(s are unlikel' to change!= P-s'ste(s are su14ect to incre(entalchange!= E-s'ste(s are likel' to un"ergo al(ost constant change!2*Evolution processesEvolution processes "epen" on= 2he t'pe of the software s'ste(K= 2he "evelop(ent processes use"K= 2he skills an" e5perience of the people involve"!Re7uests for change are the "river for the evolution process!#hange i"entiGcation an" evolution continue throughout the s'ste( lifeti(e!21!hange identifcation and evolution22&he system evolution process2piral model of evolution2+&he cost of evolutionBsuall' greater than "evelop(ent costs (2J to 1**J "epen"ing on the application%!FHecte" 1' 1oth technical an" non-technical factors!Increases as software is (aintaine"!$aintenance corrupts the software structure so (akes further (aintenance (ore "iLcult!Fgeing software can have high support costs (e!g! ol" languages3 co(pilers etc!%!2.Factors in'uencing the cost2ea( sta1ilit'= $aintenance costs are re"uce" if the sa(e staH are involve" with the( for so(e ti(e!#ontractual responsi1ilit'= 2he "evelopers of a s'ste( (a' have no contractual responsi1ilit' for (aintenance so there is no incentive to "esign for future change!StaH skills= $aintenance staH are often ine5perience" an" have li(ite" "o(ain knowle"ge!Progra( age an" structure= Fs progra(s age3 their structure is "egra"e" an" the' 1eco(e har"er to un"erstan" an" change!26Evolution$aware developmentCesigning for change (a' re"uce cost2