اگر به یک وب سایت یا فروشگاه رایگان با فضای نامحدود و امکانات فراوان نیاز دارید بی درنگ دکمه زیر را کلیک نمایید.
ایجاد وب سایت یا
توسعه نرم افزار جنبه گرا
Aspect-Oriented Software Development
فهرست مطالب
عنوان ..... صفحه چكيده .....۱
1- فصل اول . مقدمه .....٢
1-1 -مقدمه ....٢
1-2 -تعريف مسئله ....٣
1-3 -مشكلات روش هاي مرسوم .٤
1-4 -حركت به سمت راه حل .٤
1-5 -نتايج تحقيقاتي مورد انتظار ..٥
1-6 - ساختار سمينار ..٥
2- فصل دوم . تعاريف و مفاهيم ٨
2-1 حوزه مسئله ..٨
2-2 نيازمندي .٨
٢-٢ -١ - نيازمنديهاي وظيفه مندي .....٩
٢-٢ -٢ - نيازمنديهاي غيروظيفه مندي ٩
2-2 -٣ - خصوصيات نيازمنديهاي خوب ٩
2-3 دغدغه ....١١
2-3 -١ - تعريف دغدغه .١٢
2-3 -٢ - دغدغه هسته و منطق حرفه .....۱۲
2-4 دغدغه مداخله اي .....١٣
2-4 -١ - تقسيم بندي دغدغه هاي مداخله اي .۱۴
2-5 جداسازي دغدغه ها ..١٤
2-6 خاصيت پيمانه اي ١٥
2-7 مدل ..١٦
2-8 درهم پيچيدگي ...١٧
ج
2-9 پراكندگي .....١٨
2-10 مورد كاربري.١٨
2-11 برنامه نويسي جنبه گرا .....١٩
2-12 توسعه نرم افزاري جنبه گرا .....٢٠
2-13 توسعه نرم افزاري جنبه گرا با موارد كاربري ..٢٠
3- فصل سوم . برنامه نويسي جنبه گرا .....٢٣
3-1 -برنامه نويسي جنبه گرا چيست؟ ...٢٣
3-2 -تاريخچه ٢٤
3-3 -مزايا .٢٤
3-4 -معايب ....٢٥
3-5 -مفاهيم پايه ...٢٦
٣-٥ -١ - جنبه ....٢٦
3-5 -٢ - نقطه اتصال يا Joinpoint ۲۸
۲۹.. Pointcut - ۳- ۵-٣
۲۹Advice Code - ۴- ۵-۳
3-6 -محيط (زبان)هاي برنامه نويسي ...٣٠
3-6 ۳۱.. AspectJ - ١-
۳۱. Java Aspect Components - ۲- ۶-۳
۳۲.. JBoss AOP - ۳- ۶-۳
۳۲. Spring AOP - ۴- ۶-۳
3-7 -مطالعه موردي ....٣٢
٣-٧ -١ - سيستم مديريت هتل ...٣٣
٣-٧ -٢ - مشكلات سيستم مديريت هتل .....٣٤
3-7 -٣ - نگرش جنبه گرا به سيستم مديريت هتل ....٣٧
3-8 -نتيجه گيري ...٤٢
4- فصل چهارم . توسعه نرم افزاري جنبه گرا ٤٤
ح
4-1 -توسعه نرم افزاري جنبه گرا چيست؟ .٤٤
4-2 -مهندسي نيازمنديهاي جنبه گرا ....٤٥
4-3 -معماري سيستم جنبه گرا ٤٦
4-4 -طراحي و مدلسازي جنبه گرا ٤٧
4-5 -برنامه نويسي جنبه گرا .....٤٨
4-6 -حمايت متد رسمي براي جنبه گرائي ٤٨
4-7 -آزمايش برنامه هاي جنبه گرا .٤٩
5- فصل پنجم . توسعه نرم افزاري جنبه گرا با موارد كاربري .٥١
5-1 -توسعه نرم افزاري جنبه گرا با موارد كاربري چيست؟ .....٥١
5-2 -جنبه ها و موارد كاربري .٥٢
5-2 -١ - توسعه مبتني بر مورد كاربري .٥٣
5-3 -ساخت سيستم با استفاده از "برش مورد كاربري" ...٥٥
5-3 -١ - مجزا نگاه داشتن "مورد كاربري همتا" .....٥٦
٥-٣ -٢ - مجزا نگاه داشتن "مورد كاربري گسترش" .....٥٨
5-3 -٣ - توسعه موازي سيستم با ماژول مورد كاربري .٥٩
5-4 -مجزا نگاه داشتن تحقق موارد كاربري همتا با جنبه ها ...٦٠
5-4 -١ - تحقق بخشيدن به موارد كاربري همتا ٦٠
٥-٤ -٢ - مجزا نگاه داشتن مشخصات موارد كاربري ....٦٥
5-4 -٣ - برخورد با روي هم افتادگي ...٧١
5-5 -مجزا نگاه داشتن گسترشها با Pointcuts ....٧٧
5-5 -١ - تحقق موارد كاربري گسترش ٧٨
5-5 -٢ - حفظ پيمانه بندي تحقق مورد كاري گسترش .٧٩
5-6 -نتيجه گيري ..٨٤
٦ -فصل ششم. نتيجه گيري ..٨٦
كارهاي آتي ...۸۷
مراجع ۸۹
خ
فهرست شكل ها
عنوان .صفحه
شكل ۳-۱ - مفهوم جنبه از ديد كلاسها .... ٢٧
34 شكل ۳-۲ - نمودار مولفه سيستم مديريت هتل .
35 شكل ۳-۳ - پراكندگي و پيچيدگي هنگام تحقق بخشيدن به سيستم مديريت هتل ...شكل ۳-۴ - گسترش دغدغه رزرواسيون با ليست انتظار .. ٣٦
شكل ۳-۵ - ميانبر كردن كلاسها توسط دغدغه ها در سيستم مديريت هتل٣٨شكل ۳-۶ - نمودار حالت گسترش دغدغه پايه براي سيستم مديريت هتل ..... ٣٩
شكل ۳-۷ - نقاط گسترش در Reserve Room٤٠
شكل ۵-۱ - مراحل ساخت سيستم از ديد توسعه مبتني بر مورد كاربري . ٥٣شكل ۵-۲ - تحقق بخشيدن به موارد كاربري سيستم مديريت هتل .. ٥٤شكل ۵-۳ - ساخت سيستم با برش مورد كاربري .... ٥٦
56 شكل ۵-۴ - موارد كاربري و كلاسهاي مربوط به سيستم مديريت هتل ....
57 شكل ۵-۵ - جداسازي دغدغه ها و مشخص كردن برش موارد كاربري ....
58 شكل ۵-۶ - نمودار گسترش عمليات رزرواسيون براي پذيرش ليست انتظار ...شكل ۵-۷ - مجزا نگاه داشتن مورد كاربري گسترش٥٩
شكل ۵ -۸ - موارد كاربري همتا در سيستم مديريت هتل 1
شكل ۵- ۱۷- جايگذاري گسترشهاي كلاس داخل برش مورد كاربري بر روي ساختار عناصر طراحي. 70
شكل ۵ -۱۸ - ساختار پيشنهادي براي نمايش جنبه در UML. 71
شكل ۵ -۱۹ - فاكتورگيري رفتارهاي مشترك با use-case include73
شكل ۵ -۲۰ - نمودار تعامل تحقق مورد كاربري Check Room Details73
شكل ۵ -۲۱ - "شامل بودن" در ميان برشهاي مورد كاربري.. 74
شكل ۵ -۲۲ - فاكتورگيري رفتارهاي مشترك با use-case generalization. 75
شكل ۵ -۲۳ - نمودار تعامل تحقق مورد كاربري Reserve Facility. 76
شكل ۵ -۲۴ - تعميم ميان برشهاي مورد كاربري.. 77
non-use-case-specific sliceشكل ۵ -۲۵ - وابستگيها بر روي.. 80
شكل ۵ -۲۶ - مورد كاربري واقعه نگاري.. 82
شكل ۵ -۲۷ - نقشها در گسترش واقعه نگاري.. 82
شكل ۵ -۲۸ - گسترش عمليات از قبل موجود84
شكل ۵ -۲۹ - محتواي برش مورد كاربري واقعه نگاري.. 86
شكل ۵ -۳۰ - برش مورد كاربري واقعه نگاري با بخش pointcut87
شكل ۶ -۱ - نتايج مقايسه روشهاي مهندسي نيازمنديها95
61 شكل ۵-۹ - يك مورد كاربري تحقق يافته بوسيله "همكاري"...
62 شكل ۵-۱۰- مشخص كردن گسترشهاي كلاس توسط "همكاري" ..شكل ۵-۱۱- نمودار تعامل براي تحقق مورد كاربري Reserve Room ... ٦٣
64 شكل ۵-۱۲- گسترشهاي كلاس مورد نياز براي تحقق مورد كاربري Reserve Room ....شكل ۵-۱۳- يك نمودار تعامل براي تحقق مورد كاربري Check In Customer .... ٦٤
65 شكل ۵-۱۴- گسترشهاي كلاس مورد نياز براي تحقق مورد كاربري Check In Customer ...شكل ۵-۱۵- حفظ پيمانه بندي مورد كاربري با جنبه ها و برشهاي مورد كاربري ..... ٦٧
شكل ۵-۱۶- جايگذاري كلاسها با برش مورد كاربري بر روي ساختار عناصر طراحي ... ٦٨
د
ذ
فهرست جداول و ليست ها
عنوان .صفحه
جدول۲-۱ - خصوصيات فهرست نيازمنديهاي مناسب .... ١٠
ليست۳ -۱- كد پياده سازي جنبه CheckInCustomer درAspectJ ... ٣٨
40 ليست ۳-۲- كد پياده سازي كلاس ReserveRoomHandler در AspectJ
ليست ۳-۳- كد پياده سازي ليست انتظار در AspectJ ..... ٤١
4 ليست ۳-۴- كد پياده سازي مجوز دسترسي در AspectJ ..
٦٩ . ReserveRoomHandlerل يست ۵-۱- كلاس مخصوص تحقق مورد كاربري
٧٠ ..... AspectJدرReserve Room
ليست ۵-۲- جنبه
ليست ۵-۳- پياده سازي جنبه واقعه نگاري . ٨٣
چكيده
جنبه گرائي به عنوان يك روش ميان رشته اي براي توسعه سيستم ها از سال ۱۹۶۱ معرفي شد و توسط افراد و دانشمندان مختلف توسعه يافت. با توجه به اهميت و ارزش پيمانه بندي در توسعه نرم افزار و قابليتي كه جنب هگرائي در تامين پيمانه بندي داشت جنبه گرائي در زمينه مهندسي نرم افزار، منجر به توليد زبان "برنامه نويسي جنبه گرا" در سال ۱۹۹۷ و "توسعه نرم افزاري جنبه گرا" در حال حاضر گرديد. "زبان برنامه نويسي جنبه گرا" شامل ابزارها و تكنيك هايي است كه از پيمان هبندي دغدغه هاي مداخله اي Crosscutting Concern (CC) در سطح كد پشتيباني مي كند و "توسعه نرم افزاري جنبه گرا" نيز از پيمانه بندي
دغدغه هاي مداخله اي دركليه فازهاي توسعه سيستم نر مافزاري حمايت مي كند.
توسعه مبتني بر جنبه در حال حاضر مورد توجه محققان زيادي به خصوص محققان مهندسي نرم افزار است و حوزه هاي تحقيقاتي و مشكلات موجود در آن به طور كامل مشخص نشده اند. هدف از اين تحقيق بدست آوردن چالشهاي مهم در اين حوزه، به خصوص پيرامون شناسائي و مشخص كردن دغدغه ها در فاز اوليه توسعه است. در واقع در اين تحقيق سعي بر آن است تا با واضح بيان كردن مفاهيم و بهبود تعاريف اوليه، ديدي مناسب نسبت به جنبه گرائي حاصل شود كه بتوان نتايج حاصله را در كارهاي آتي مورد استفاده قرار داد.
همچنين با توجه به اينكه يكي از اهداف شناسائي و مشخص كردن دغدغه ها در فاز اوليه، پيدا كردن تاثير دغدغه هاي مداخله اي بر ديگر فرآورده هاي فازهاي توسعه است داشتن ديد كلي از اين روش توسعه نرم افزاري و فازهاي آن بسيار مهم است و باعث ميشود در هنگام مشخص كردن دغدغ ههاي مداخله اي و جنبه ها تاثير بر اين فرآو ردهها را مد نظر قرار داد. البته در اين ميان دانستن نقاط ضعف و قوت زبان پياده سازي جنبه ها نيز مي تواند بسيار مفيد باشد. بنابراين پيرامون همين تفكر به بررسي مفاهيم جنبه گرائي، مزايا و معايب برنامه نويسي جنبه گرا و فازهاي توسعه نرم افزاري جنبه گرا پرداخته خواهد شد و براي آشنايي بهتر با توسعه نرم افزاري جنبه گرا، توسعه نرم افزاري جنبه گرا با موارد كاربري تشريح مي شود كه نتايج حاصله از آن باعث خواهد شد كه در فاز شناسائي و تشخيص جنبه ها به نكات حاصله توجه خاصي داشته باشيم.
محتواي فايل دانلودي:
فايل ورد قابل ويرايش
195 صفحه