دسته: سمینار کامپیوتر
پایان نامه توسعه نرم افزار جنبه گرا+نرم افزار جنبه گرا+توسعه نرم افزار+پایان نامه نرم افزار جنبه گرا+پایان نامه جنبه گرا
پایان نامه توسعه نرم افزار جنبه گرا
قیمت فایل فقط 5,000 تومان
پایان نامه توسعه نرم افزار جنبه گرا
چکیده
جنبه گرائی به عنوان یک روش میان رشته ای برای توسعه سیستم ها از سال 1961 معرفی شد و توسط افراد و دانشمندان مختلف توسعه یافت. با توجه به اهمیت و ارزش پیمانه بندی در توسعه نرم افزار و قابلیتی که جنب هگرائی در تامین پیمانه بندی داشت جنبه گرائی در زمینه مهندسی نرم افزار، منجر به تولید زبان "برنامه نویسی جنبه گرا" در سال 1997 و "توسعه نرم افزاری جنبه گرا" در حال حاضر گردید. "زبان برنامه نویسی جنبه گرا" شامل ابزارها و تکنیک هایی است که از پیمان هبندی دغدغه های مداخله ای Crosscutting Concern (CC) در سطح کد پشتیبانی می کند و "توسعه نرم افزاری جنبه گرا" نیز از پیمانه بندی دغدغه های مداخله ای درکلیه فازهای توسعه سیستم نر مافزاری حمایت می کند.
مقدمه
با وجود انواع متدولوژیها و تکنیک ها در زمینه مهندسی نرم افزار، باز هم نیازمند روش ها، سبک ها، پارادایم ها و زبان های پیاده سازی به همراه محیط های توسعه هستیم تا بتوان مشکلات پیش روی این حوزه
را سهل تر کرده یا آنها را از بین برد.
تمام تکنیک های ارائه شده در زمینه توسعه سیستم، تمرکزشان بر روی جدا کردن بخش های مختلف سیستم به واح دهای مجزایی است که کمترین هم پوشانی را با یکدیگر داشته باشند و به نتایج مثبتی در این زمینه رسیده اند. اما باز هم این روش ها در برخورد با دغدغه هایی از سیستم که درگیر با بخش های مختلف سیستم هستند عاجزاند و این دغدغه ها باعث می شوند پیمانه ای کردن یک سیستم به شکل مطلوب صورت نگیرد که به این دغدغه ها، دغدغه های مداخله ای1 گفته می شود.
دغدغه هسته2 و منطق حرفه3
در هر برنام های یک سری از دغدغه ها وجود دارد که جز دغدغ ههای اصلی برنامه قرار میگیرند و برای عملکرد درست و صحیح سیستم لازم و ضروری هستند. هر یک از این دغدغ هها، یک "دغدغه هسته"
نامیده می شود و مجموعه دغدغه های هسته "منطق حرفه" را تشکیل میدهند در حالی که دیگر جنبه های برنامه(دغدغه ها) برای اجرای مناسب برنامه مورد نیاز بوده و جزئی از "منطق حرفه" واقعی برنامه نیستند.
به عنوان مثال اگر در حال نوشتن یک برنامه کاربردی برای مدیریت رکوردهای داروئی باشید سازماندهی و شاخص گذاری چنین رکوردهایی یک "دغدغه هسته" محسوب می شود در حالی که ثبت یک تاریخچه از تغییرات(واقعه نگاری4) در رکوردهای پایگاه داده، یا یک سیستم تصدیق یک دغدغه عادی به شمار می رود که آن را Crosscutting concern مینامند (چون چندین بخش از سیستم را درگیر کار خود می کند).
فهرست مطالب
عنوان ............................................................................................................................................... صفحه
چکیده .....................................................................................................................................................1
1- فصل اول . مقدمه .............................................................................................................................2
1-1 - مقدمه ..................................................................................................................................2
1-2 - تعریف مسئله ......................................................................................................................3
1-3 - مشکلات روش های مرسوم .................................................................................................4
1-4 - حرکت به سمت راه حل .......................................................................................................4
1-5 - نتایج تحقیقاتی مورد انتظار ..................................................................................................5
1-6 - ساختار سمینار ....................................................................................................................5
2- فصل دوم . تعاریف و مفاهیم ............................................................................................................8
2-1 حوزه مسئله ..........................................................................................................................8
2-2 نیازمندی ...............................................................................................................................8
2-2 -1 - نیازمندیهای وظیفه مندی .........................................................................................9
2-2 -2 - نیازمندیهای غیروظیفه مندی ....................................................................................9
2-2 -3 - خصوصیات نیازمندیهای خوب ..............................................................................9
2-3 دغدغه ..................................................................................................................................11
2-3 -1 - تعریف دغدغه .......................................................................................................12
2-3 -2 - دغدغه هسته و منطق حرفه ...................................................................................12
2-4 دغدغه مداخله ای .................................................................................................................13
2-4 -1 - تقسیم بندی دغدغه های مداخله ای .........................................................................14
2-5 جداسازی دغدغه ها ..............................................................................................................14
2-6 خاصیت پیمانه ای ..................................................................................................................15
2-7 مدل ......................................................................................................................................16
2-8 درهم پیچیدگی .....................................................................................................................17
2-9 پراکندگی .............................................................................................................................18
2-10 مورد کاربری.........................................................................................................................18
2-11 برنامه نویسی جنبه گرا ...........................................................................................................19
2-12 توسعه نرم افزاری جنبه گرا .....................................................................................................20
2-13 توسعه نرم افزاری جنبه گرا با موارد کاربری ..........................................................................20
3- فصل سوم . برنامه نویسی جنبه گرا .....................................................................................................23
3-1 - برنامه نویسی جنبه گرا چیست؟ .............................................................................................23
3-2 - تاریخچه ..............................................................................................................................24
3-3 - مزایا .....................................................................................................................................24
3-4 - معایب ..................................................................................................................................25
3-5 - مفاهیم پایه ...........................................................................................................................26
3-5 -1 - جنبه ......................................................................................................................26
3-5-2 - نقطه اتصال یا Joinpoint ....................................................................................28
29.............................................................................................................. Pointcut - 3- 5-3
29...................................................................................................... Advice Code - 4- 5-3
3-6 - محیط (زبان)های برنامه نویسی .............................................................................................30
3-6 31.............................................................................................................. AspectJ - 1-
31............................................................................... Java Aspect Components - 2- 6-3
32........................................................................................................ JBoss AOP - 3- 6-3
32....................................................................................................... Spring AOP - 4- 6-3
3-7 - مطالعه موردی ......................................................................................................................32
3-7 -1 - سیستم مدیریت هتل .............................................................................................33
3-7 -2 - مشکلات سیستم مدیریت هتل .............................................................................34
3-7 -3 - نگرش جنبه گرا به سیستم مدیریت هتل ................................................................37
3-8 - نتیجه گیری ...........................................................................................................................42
4- فصل چهارم . توسعه نرم افزاری جنبه گرا ..........................................................................................44
4-1 - توسعه نرم افزاری جنبه گرا چیست؟ .....................................................................................44
4-2 - مهندسی نیازمندیهای جنبه گرا ..............................................................................................45
4-3 - معماری سیستم جنبه گرا ......................................................................................................46
4-4 - طراحی و مدلسازی جنبه گرا ................................................................................................47
4-5 - برنامه نویسی جنبه گرا ...........................................................................................................48
4-6 - حمایت متد رسمی برای جنبه گرائی ....................................................................................48
4-7 - آزمایش برنامه های جنبه گرا .................................................................................................49
5- فصل پنجم . توسعه نرم افزاری جنبه گرا با موارد کاربری ...................................................................51
5-1 - توسعه نرم افزاری جنبه گرا با موارد کاربری چیست؟ ...........................................................51
5-2 - جنبه ها و موارد کاربری .......................................................................................................52
5-2 -1 - توسعه مبتنی بر مورد کاربری ...............................................................................53
5-3 - ساخت سیستم با استفاده از "برش مورد کاربری" ...............................................................55
5-3 -1 - مجزا نگاه داشتن "مورد کاربری همتا" .................................................................56
5-3 -2 - مجزا نگاه داشتن "مورد کاربری گسترش" ...........................................................58
5-3 -3 - توسعه موازی سیستم با ماژول مورد کاربری .......................................................59
5-4 - مجزا نگاه داشتن تحقق موارد کاربری همتا با جنبه ها .........................................................60
5-4 -1 - تحقق بخشیدن به موارد کاربری همتا ..................................................................60
5-4 -2 - مجزا نگاه داشتن مشخصات موارد کاربری ..........................................................65
5-4 -3 - برخورد با روی هم افتادگی .................................................................................71
5-5 - مجزا نگاه داشتن گسترشها با Pointcuts ............................................................................77
5-5 -1 - تحقق موارد کاربری گسترش ..............................................................................78
5-5 -2 - حفظ پیمانه بندی تحقق مورد کاری گسترش .......................................................79
5-6 - نتیجه گیری ..........................................................................................................................84
6 - فصل ششم. نتیجه گیری ....................................................................................................................86
کارهای آتی .............................................................................................................................................87
مراجع ......................................................................................................................................................89
قیمت فایل فقط 5,000 تومان