aosd توسعه نرم افزار جنبه گرا
TRANSCRIPT
![Page 1: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/1.jpg)
ASPECT ORIENTED SOFTWARE DEVELOPMENT(AOSD)
Produced By Omid Rajabi
& Aidin Mirzaei
![Page 2: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/2.jpg)
AOSDAdvice Aspect
Join
pointCross
cutting
AOP
…
… …
![Page 3: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/3.jpg)
افزار های توسعه نرمهای روشنمونه
Waterfall
V
Spiral
Evolutionary Prototyping
Scrum
Unified Process
Extreme Programming
![Page 4: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/4.jpg)
CONCERN
.گیردمیقرارتوجّهموردکهسیستمازقسمتی•
درکلقابومدیریتقابلکوچکتر،هایقسمتبهافزارنرمیتجزیهبرایاولیهمعیار•
(text, picture, video, exception handling,…)
![Page 5: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/5.jpg)
SEPRATION OF CONCERNS
رنظازامکانحدتاکهداردتمرکزمجزاهایقسمتبهافزارنرمتقسیمبر•
.باشندنداشتهتداخلیکارکرد
![Page 6: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/6.jpg)
CROSS-CUTTING CONCERN
Common).استمشترکهایکارکردازمتشکل• Functionality)
.نیستکاربردیهاینیازجزء•
هجملاز.گنجاندعمومیبندیدستهیکدرمشخصطوربهراآنتواننمی•
(Object, method,API, …)
![Page 7: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/7.jpg)
CROSSCUTTINGمشکالت
CONCERNS
پراکندگی (Scattering)
سازی دغدغه بین چند هر گاه کد پیاده•.ماژول پخش شده باشد
پیچیدگی (Tangling )
سازی یک دغدغه با کدهر گاه کد پیاده•.یک دغدغه دیگر مخلوط شده باشد
![Page 8: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/8.jpg)
ASPECT
(Concern)چندین دغدغه (Cross-Cut)قسمتی از برنامه که شامل تالقی
. جدا از هم است
گرا نویسی شیحکم کالس را در برنامه. دارد
![Page 9: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/9.jpg)
AOSDتعریف
.استظهورحالدرتازگیبه،گراافزارجنبهنرمتوسعهتکنولوژی•
وجدید(modularization)بندیپیمانهبهرسیدنبرایاستروشی•.آنانتشارزمانتاابتداازبرنامهساخت
.شودمطرحجداگانهطوربهدغدغهچندتادهدمیاجازه•
![Page 10: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/10.jpg)
AOSDهدف
(identification)شناسایی
(specification)تشخیص
( representation)ارائه
Cross
cutting
concernsبه واحدهای عملیاتی modularizationتقسیم بندی با
ها در داخل سیستمجداگانه و ترکیب خودکار آن
![Page 11: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/11.jpg)
JOINPOINT
برنامهحیاتیچرخهدرتوجّهیقابلنقاط(concern)دغدغهچندیناستممکنکه
تدمفراخوانینقطهمثالعنوانبه.شودایجاد
![Page 12: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/12.jpg)
POINTCUT
تعریفشوندمیجنبهیکفراخوانیموجبکهنقاطیاستنیازAOPدر.کندمیتعریفراهاjoinpointازمجموعهیکpointcutحقیقتدرگردند،
![Page 13: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/13.jpg)
ADVICEضافهاسیستمبهکهتکمیلیکدیکبهمربوطیکارهاتاشودمی
.دهدانجامرادغدغه
![Page 14: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/14.jpg)
ای جنبهتجزیه
هاجنبه برنامه اصلی
ای بازسازی جنبه
ها نیاز
سیستم نهایی
![Page 15: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/15.jpg)
ASPECT ORIENTED PROGRAMMING (AOP)
به ها را کند به طور مشخص، اجزاء و جننویس کمک میتکنیکی که به برنامه•. از یکدیگر جدا کند
:توجه اصلی ماژول بندی کد•
جداکردنبرایمکانیزمارائهمتقاطعهایدغدغه
(cross-cutting concerns)
کدسطحدر
1. public aspect CheckInCustomer {
2. ...3. public void Room.assignCustomer ()4. {
5. // code to check in customer6. }
7. public void Reservation.consume()8. {9. // code to consume reservation
10. }11. public void Payment.createBill()
12. {13. // code to generate an initial outstanding bill14. }
15. ...16. }
![Page 16: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/16.jpg)
AOPمزایای
کردنبرطرفکهشودمیسادهنحویبهمختلفهایبخشبندیتقسیم•.شودنمیزیادیپیچیدگیباعثهادغدغه
.کندمیترراحتراسیستمنگهداریوفهمطراحی،•
کردنافهاضامکانوبهترباالتر،کیفیتوریبهرهبامحصوالتیتولیدباعث•.شودمیبیشتریهایقابلیت
.کردجلوگیریهادغدغهتداخلازتوانمیبهتر•
![Page 17: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/17.jpg)
AOPکند؟چگونه کار می
سازی ادههای مختلف به صورت مستقل و با ارتباط و وابستگی پایین پیدغدغه
شوند می
دکنها سیستم نهایی را آماده میسازیبا ترکیب این پیاده
![Page 18: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/18.jpg)
کدنویسی سخته
AOP
آسونش کرده
![Page 19: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/19.jpg)
AOPمعایب
الزدائیاشکغیرقابلکدهایایجاددرگراجنبهنویسیبرنامهزبانتوانائیوقدرت•
.بگیردنادیدهرامتدهافراخوانیجزئیاتکهکندمیسعیگراجنبهنویسیمهبرنا•
انبیجتأثیراتوبارگذارییاکامپایلاجرا،زماندرهاجنبهترکیبامنیتمیزان•
تابعیکنامازتغییرناشی
![Page 20: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/20.jpg)
چه کاربردی برای شما دارد؟؟؟
(کمترنقص)نویسیدمیکمتریکد•
.خوانیدمیکمتریکد•
آسانفهمومختصر•
بیشترتوجه•
بیشتروریبهره•
.دهدمیکاهشنگهداریوتوسعههزینه•
![Page 21: AOSD توسعه نرم افزار جنبه گرا](https://reader034.vdocuments.mx/reader034/viewer/2022050720/55a78b3f1a28ab2b6e8b4657/html5/thumbnails/21.jpg)