Кесиптик ишмердүүлүктүн жүрүшүндө программист баштапкы коддун ири фрагменттерин же ал тургай бүтүндөй тиркемелерди комплекстүү анализдөөнү талап кылган көптөгөн кырдаалдарды чечиши керек. Ийгиликтүү чечимдерди жана тажрыйбаларды изилдөө, буга чейин ишке ашырылган алгоритмдерди талдоо же башка долбоорду командага өткөрүп берүү көбүнчө башка бирөө жазган программаны бөлүп-жарууну талап кылат.
Зарыл
- - баштапкы кодду көрүү программасы;
- - тескерисинче, тескери инженердик жана кейс куралдары.
Нускамалар
1 кадам
Талданып жаткан программанын башкарууну өткөрүп берүү агымын карап чыгыңыз Кирүү чекитин аныктаңыз. Ал, мисалы, C жана C ++ тилдериндеги негизги функция, аталышы жок биринчи деңгээлдеги структуралык блоктун башталышы, чекит менен END ачкыч сөзү менен аяктаган, паскаль тилинде, кирүү чекитинен баштап, класстардын функцияларына, процедураларына, методдоруна чакырат. Жогорку деңгээлдеги башкаруу агымынын диаграммасын түзүңүз. Бул процессти жөнөкөйлөтүү үчүн ар кандай тескери инженердик куралды колдонсоңуз болот.. Талданган программанын түзүмдүк элементтеринин баштапкы кодун кененирээк талдаңыз. Жеке функциялар жана методдор үчүн башкаруу схемаларын же схемаларын сызыңыз.
2-кадам
Талданып жаткан программанын маалымат агымдарын талдоо. Маалыматты сактоо жана колдонмонун функционалдык элементтеринин ортосунда өткөрүп берүү үчүн колдонулган түзүмдөрдү аныктаңыз. Берилиштерди бир формадан экинчи формага которуучу код үзүндүлөрүн аныктаңыз. Программада тышкы чөйрөдөн маалымат алынган жерлердин тизмесин түзүңүз, ошондой эле анын бир жерде чыгышы. Реинжиниринг инструменттери жана кейс куралдары (мисалы, мурас схемасын жана көзкарандылык диаграммасын түзүү үчүн) дагы ушундай талдоодо жардам берет.
3-кадам
Программанын иштөө принциптерин толук түшүнүп, аны ажыратып салыңыз. Структуралык элементтердин ортосундагы башкарууну өткөрүп берүү агымы, ошондой эле алардын чегинде билимдин агымдары жана маалыматтарды өзгөртүүнүн түрлөрү жөнүндө билүү, иштин негизги алгоритмдерин аныктоо, маалыматтарды иштеп чыгуу жана интерфейсти башкаруу алгоритмдерин бөлүп көрсөтүү. Типтүү иштетүү алгоритмдерин тандап, аларды классификациялаңыз. Ар кандай компоненттердин өз ара аракеттенүүсүнө негизделген алгоритмдерди аныктаңыз (мисалы, издөө өз алдынча да, түрдүн бөлүгү катары да колдонулушу мүмкүн). Керек болсо, программанын иштешин чагылдыруу үчүн ар кандай деталдардагы блок-схемаларды түзүңүз.