پاورپوینت توسعه مبتنی بر جنبه
قسمتی از متن پاورپوینت :
بسمهتعالی توسعه مبتنی بر جنبه (Aspect-oriented Development ) 2 اهداف جلسه ذاتی بودن پیچیدگی نرمافزار
توسعه نرمافزار مبتنی بر جنبه
مفاهیم توسعه مبتنی بر جنبه
انواع جنبهها و دستهبندی آنها
توسعه نرمافزار مبتنی بر جنبه 3 فهرست مطالب پیچیدگی ذاتی نرمافزار
توسعه نرمافزارهای مدرن و مشکلات آن
مفاهیم توسعه مبتنی بر جنبه
نمونههای توجه به جنبه
تفاوت شی با جنبه
توسعه نرمافزار مبتنی بر جنبه 4 توسعه نرمافزار توسعه نرمافزار از حالت ثابت، محاسباتی و دادهگرا
به حالت پویا، بسته به نیاز و مولفهگرا تبدیل شده است 5 توسعه نرمافزار (ادامه) Structured Programming Modular Programming Data Abstraction Object Oriented Programming Compiled Programming Languages Complexity Modularity واحدبندی روشی برای مهار پیچیدگی است 6 توسعه نرمافزار (ادامه) برنامهنویسی ساختاریافته راحتی خواندن و نوشتن
قابلیت توسعه پائین
قابلیت نگهداری پائین
قابلیت استفاده مجدد پائین
فاقد واحدبندی 7 توسعه نرمافزار (ادامه) برنامهنویسی رویهای راحتی خواندن و نوشتن
قابلیت توسعه بهبودیافته
قابلیت نگهداری بهبودیافته
قابلیت استفادهمجدد بهبودیافته
واحدبندی بهبودیافته 8 توسعه نرمافزار (ادامه) برنامهنویسی شیگرا راحتی خواندن و نوشتن
قابلیت توسعه خوب
قابلیت نگهداری خوب
قابلیت استفادهمجدد خوب
واحدبندی خوب 9 توسعه نرمافزار (ادامه) نیازهای وظیفهمندی نیازمندیهای توسعه نرمافزار نیازهای غیروظیفهمندی + + پیچیدگی 10 توسعه نرمافزار (ادامه) مشکلات روشهای شیگرا از آنجا ناشی میشود که نگاشت بین مولفهها اغلب یک به یک است
تغییر نیازمندیها میتواند سبب تغییر یک یا چند مولفه شود
محلی نمودن دغدغههای (Concerns) عمومی دشوار است
برخی اوقات این کار امکانپذیر نیست
تمرکز شیگرایی بر روی بهبود برنامهنویسی و کدها است، در حالیکه نیاز است تا تمرکز بر روی نیازمندیها باشد
چالش اصلی توسعه نرمافزار، برآوردهسازی نیازمندیهاست توسعه مبتنی بر جنبه (Aspect-oriented) با نگاهی بر نیازمندیها و پوشش بهینه آنها ارائه شده است 11 مفاهیم توسعه مبتنی بر جنبه دغدغه (Concern)
نیازمندی سیستم که برای ذینفعان اولویت دارد
مجموعه خاصی از رفتارهای مورد نیاز برای یک برنامه
بر ماژولهای مختلف نرمافزار تاثیر میگذارد
میتوانند وظیفهمندی یا غیروظیفهمندی باشند
Business logic، Performance، Logging and Debugging
میتوانند سطح بالا یا سطح پائین باشند
Security, QoS ، Caching 12 مفاهیم توسعه مبتنی بر جنبه (ادامه) جداسازی دغدغهها (Separation of concerns) روشی برای توجه به آنها به صورت مجزاست که اجازه رهگیری شفاف نیازمندیها به پیادهسازی را میدهد
جداسازی در روشهای سنتی از طریق واحدبندی و كپسولهسازی فراهم میگردد
زبانهای رویهای دغدغهها را به رویهها تبدیل میكنند
زبانهای شیگرا دغدغهها را اشیاء تبدیل میكنند
طراحیهای سرویسگرا دغدغهها را به سرویس تبدیل میكنند 13 مفاهیم توسعه مبتنی بر جنبه (ادامه) concern concern
concern
concern Separation of concerns 14 مفاهیم توسعه مبتنی بر جنبه (ادامه) Core concerns
دغدغههایی هستند که به اهداف اصلی سیستم مرتبط هستند و معمولاً در یک رویه، ماژول یا شی قرار میگیرند
Crosscutting Concerns
بطور معمول در چندین رویه، ماژول یا شی قرار میگیرند
در هنگام تغییر به دو صورت مشکل ایجاد میشود
Tangling : یک مولفه بیش از یک نیازمندی را پیادهسازی میکند
Scattering : پیادهسازی یک نیازمندی توسط چند مولفه انجام میشود 15 مفاهیم توسعه مبتنی بر جنبه (ادامه) Crosscutting Concerns 16 نمونه توجه به جنبه Good modularization XML parsing is implemented in its own module 17 نمونه توجه به جنبه (ادامه) Good modularization
URL pattern matching is implemented in 2 modules 18 نمونه توجه به جنبه (ادامه) Bad
فرمت فایل: پاورپوینت
تعداد صفحات: 57
مطالب مرتبط