Кіріспе

Аспектке бағытталған бағдарламалық жасақтаманы әзірлеуде, қиылысқан мәселелер – бағдарламаның бірнеше модуліне әсер ететін, бірақ олардың ешқайсысына толыққанды енгізілмейтін аспектілер. Мұндай мәселелерді жүйенің қалған бөліктерінен жобалау және іске асыру кезінде таза бөліп қарастыру мүмкін емес, соның салдарынан кодтың қайталануы (шашырау), жүйелер арасындағы күшті байланыс (түйісу) немесе екеуі де пайда болуы мүмкін. Мысалы, медициналық жазбаларды өңдейтін қосымша жасау кезінде, мұндай жазбаларды индекстеу – негізгі мәселе болып табылады, ал жазбалар базасының немесе пайдаланушылар базасының өзгерістерінің тарихын тіркеу, немесе қолданушыны сәйкестендіру жүйесі – қиылысқан мәселелер болып есептеледі, себебі олар бағдарламаның көп бөлігімен өзара әрекеттеседі.

Өмірбаян

Крос-секинг мәселелері – бағдарламаның көптеген басқа бөліктеріне тәуелді немесе оларға әсер етуі тиіс бөліктері. Олар аспектілерді жасаудың негізін құрайды. Мұндай кросс-секинг мәселелері объектіге бағытталған немесе процедуралық бағдарламалауға жарамсыз. Крос-секинг мәселелері бағдарлама ішінде араласуға немесе жүйелік өзара байланысқа тікелей себеп болуы мүмкін. Процедуралық және функционалдық тіл құрылымдары процедура шақыруларынан ғана тұратындықтан, екі мақсатты (іске асырылатын мүмкіндік және осыған байланысты кросс-секинг мәселесі) бірдей қарастыруға болатын ешқандай мүмкіндік жоқ. Осының салдарынан, кросс-секинг мәселесін шешетін код әртүрлі байланысты жерлерде шашыраңқы болып таралуы немесе қайталанып жазылуы керек, бұл модульділіктің жоғалуына әкеледі. Дизайнды кросс-секинг мәселелеріне негіздеу арқылы бағдарламалық инженерияның артықшылықтарына модульділік және оңай күтім кіреді.