Professionaalse tegevuse käigus peab programmeerija tegelema paljude olukordadega, mis nõuavad lähtekoodi suurte fragmentide või isegi tervete rakenduste keerukat analüüsi. Edukate lahenduste ja tavade uurimine, juba rakendatud algoritmide analüüsimine või lihtsalt teise projekti meeskonnale üleandmine tekitab sageli vajaduse kellegi teise kirjutatud programmi lahti võtta.
Vajalik
- - programm lähtekoodi vaatamiseks;
- - võimalik, et pöördprojekteerimine ja juhtumivahendid.
Juhised
Samm 1
Uurige sõeluva programmi juhtimise ülekande voogu Määrake sisenemispunkt. Näiteks on see funktsioon C ja C ++ põhifunktsioon, nimeta esimese taseme struktuuriploki algus, mis lõpeb punktiga END märksõnaga pascal. Alustades sisestuspunktist, jälgige kõiki üleskutsed funktsioonidele, protseduuridele, klasside meetoditele. Koostage kõrgetasemelise juhtimise vooskeem. Selle protsessi lihtsustamiseks võite kasutada erinevaid pöördtehnoloogia tööriistu. Analüüsige üksikasjalikumalt sõelutud programmi struktuurielementide lähtekoodi. Joonistage üksikute funktsioonide ja meetodite juhtimise vooskeemid või vooskeemid.
2. samm
Analüüsige sõeluva programmi andmevooge. Tehke kindlaks teabe salvestamiseks kasutatavad struktuurid ja edastage see rakenduse funktsionaalsete elementide vahel. Tuvastage koodijupid, mis teisendavad andmeid ühelt vormilt teisele. Koostage loetelu kohtadest programmis, kus teavet väliskeskkonnast saadakse, samuti selle väljund kusagil. Sellist analüüsi aitavad ka ümbersuunamise tööriistad ja juhtumivahendid (näiteks pärandskeemi ja sõltuvusdiagrammi koostamiseks).
3. samm
Võtke programm lahti, mõistes täielikult selle toimimise põhimõtteid. Struktuurielementide vahelise juhtimise ülekandevoo, aga ka nende sees olevate teadmiste põhjal määratakse kindlaks töö peamised algoritmid, eraldatakse andmetöötluse ja liidese juhtimise algoritmid. Valige tüüpilised töötlusalgoritmid ja klassifitseerige need. Tuvastage algoritmid erinevate komponentide koostoime põhjal (näiteks saab otsingut kasutada nii iseseisvalt kui ka sordi osana). Vajadusel koostage erineva detailsusega vooskeemid, mis illustreerivad programmi toimimist.