Մասնագիտական գործունեության ընթացքում ծրագրավորողը պետք է գործ ունենա բազմաթիվ իրավիճակների հետ, որոնք պահանջում են աղբյուրի կոդի մեծ բեկորների կամ նույնիսկ ամբողջ ծրագրերի բարդ վերլուծություն: Հաջողակ լուծումների և պրակտիկայի ուսումնասիրությունը, արդեն իրականացված ալգորիթմների վերլուծությունը կամ մեկ այլ նախագիծ թիմին պարզապես փոխանցելը հաճախ ստիպում է ապամոնտաժել ուրիշի կողմից գրված ծրագիրը:
Անհրաժեշտ է
- - սկզբնաղբյուրը դիտելու ծրագիր;
- - հնարավոր է հակադարձ ինժեներական և գործի գործիքներ:
Հրահանգներ
Քայլ 1
Ուսումնասիրեք վերլուծվող ծրագրի հսկիչ փոխանցման հոսքը Բացահայտեք մուտքի կետը: Դա, օրինակ, C և C ++ - ի հիմնական գործառույթն է, առաջին մակարդակի անանուն կառուցվածքի բլոկի սկիզբը, որն ավարտվում է կետով կետով ՝ END բառով, պասկալով: Սկսած մուտքի կետից, հետագծիր բոլոր երթուղիները զանգեր գործառույթներին, ընթացակարգերին, դասերի մեթոդներին: Կազմեք բարձր մակարդակի հսկիչ հոսքի դիագրամ: Այս գործընթացը պարզեցնելու համար կարող եք օգտագործել տարբեր հակադարձ ինժեներական գործիքներ: Ավելի մանրամասն վերլուծեք վերլուծված ծրագրի կառուցվածքային տարրերի սկզբնաղբյուրը: Առանձնացրեք ֆունկցիաների և մեթոդների հսկիչ հոսքի գծապատկերներ կամ հոսքի գծապատկերներ:
Քայլ 2
Վերլուծեք վերլուծվող ծրագրի տվյալների հոսքերը: Բացահայտեք տեղեկատվությունը պահելու համար օգտագործվող կառույցները և դրանք փոխանցեք կիրառման գործառական տարրերի միջև: Որոշեք կոդերի հատվածները, որոնք տվյալները փոխում են մի ձևից մյուսը: Makeրագրում կազմեք այն վայրերի ցուցակը, որտեղ տեղեկատվությունը ստացվում է արտաքին միջավայրից, ինչպես նաև ինչ-որ տեղ դրանց արդյունքը: Վերաինժեներական գործիքներն ու գործի գործիքները (օրինակ ՝ ժառանգության դիագրամ և կախվածության դիագրամ կառուցելու համար) նույնպես կօգնեն այս տեսակի վերլուծությանը:
Քայլ 3
Ապամոնտաժեք ծրագիրը `լիովին հասկանալով դրա գործունեության սկզբունքները: Կառուցվածքային տարրերի, ինչպես նաև դրանց շրջանակներում կառավարման հոսքի փոխանցման մասին գիտելիքների հիման վրա, հոսքերի և տվյալների փոխակերպումների տեսակների մասին գիտելիքներ, բացահայտում են աշխատանքի հիմնական ալգորիթմները: Առանձնացրեք տվյալների մշակման և ինտերֆեյսի կառավարման ալգորիթմները: Ընտրեք տիպային մշակման ալգորիթմներ և դասակարգեք դրանք: Բացահայտեք ալգորիթմները ՝ հիմնված տարբեր բաղադրիչների փոխազդեցության վրա (օրինակ ՝ որոնումը կարող է օգտագործվել ինչպես ինքնուրույն, այնպես էլ որպես տեսակավորման մաս): Անհրաժեշտության դեպքում կազմեք տարբեր աստիճանի մանրամասնությունների հոսքային գծապատկերներ `ծրագրի գործողությունը լուսաբանելու համար: