دسته: سمینار کامپیوتر
پایان نامه بررسی تلفیق مفاهیم جنبه گرایی و معماری سرویس گرا
قیمت فایل فقط 6,000 تومان
پایان نامه بررسی تلفیق مفاهیم جنبه گرایی و معماری سرویس گرا
چکیده
جنبه گرایی رهیافت جالبی برای جداسازی دغدغه ها ارائه میکند. اصل "جداسازی دغدغه ها 1" بیان میکند که هربخش از یک برنامه باید یک مسئولیت تعریف شده و روشن داشته باشد. این مفهوم در رابطه با قابلیت استفاده مجدد بنیادی است : اگر متن و زمینه یک سناریوی کاربری در پیاده سازی سرویس نشت کند، سرویس تنها در همان زمینه قابل استفاده مجدد خواهد بود. در زمان طراحی برای سرویس گرایی، ایده آل است که سرویسها یک وظیفه مندی حرفه خودشمول با یک واسط و تقید خوش تعریف ارائه کنند. گرچه در عمل سرویسها در زمینه های زیادی با دغدغه های متنوع یافت میشوند. سرویسها در میان سیستم های عملیاتی، مولفه های سازمانی، مولفه های همخوانی 2 و مولفه های ارائه مشاهده میشوند. سرویسها مشتری و خدمتگزار برای سایر سرویسها هستند و در لایه های مختلف یک برنامه کاربردی و سراسر مرزهای شبکه حضور دارند. جنبه ها روشی برای سازماندهی رفتار سیستم هستند که در آن وظیفه مندیهای قطری مشترک از دغدغه های هسته سیستم فاکتور گرفته میشوند. سپس برای دستیابی به عملکرد مطلوب جنبه ها در نقاطی از برنامه اعمال میشوند. یکی از بزرگترین دشواریها در راستای دستیابی به سرویس گرایی جداسازی نیازهای سرویس از نیازهای برنامه کاربردی است . درحالیکه سرویس ها تنها باید با دغدغه وظیفه مندی حرفه ای که ارائه میکنند، مواجه باشند اما گاها ویژگیهای وابسته به برنامه در لایه سرویس "نشت " میکنند. با به کارگیری مفاهیم ارائه شده در جنبه گرایی، اکنون معماران میتوانند از نشت دغدغه های متداخل در سرویسهایی که طراحی میکنند، جلوگیری کنند. در ادامه به بررسی این نکته میپردازیم که چگونه جنبه گرایی میتواند معماران را در طراحی سرویسهای قابل استفاده مجدد یاری دهد و دستیابی به چشم انداز مطلوب را تسهیل کند.
مقدمه
یکی از بزرگترین دشواریها در راستای دستیابی به سرویس گرایی جداسازی نیازهای سرویس از نیازهای برنامه کاربردی است . درحالیکه سرویس ها تنها باید با دغدغه وظیفه مندی حرفه ای که ارائه میکنند، مواجه باشند اما گاها ویژگیهای وابسته به برنامه در لایه سرویس "نشت " میکنند. با به کارگیری مفاهیم ارائه شده در جنبه گرایی، اکنون معماران میتوانند از نشت دغدغه های متداخل در سرویسهایی که طراحی میکنند، جلوگیری کنند.
چالشهای نظری
با وجود بسیاری پیاده سازیهای موجود و پتانسیل بالا، جنبه گرایی به دلیل وجود مشکلاتی در پیاده - سازی از کاربرد گسترده ای برخوردار نیست . جنبه ایده آل باید در حالت "قطری 9" با وظیفه مندی مقصد قرار گیرد، به این معنی که جنبه هیچ تاثیر عملکردی روی دیگر اجزای سیستم نداشته باشد. اما با این فرض که جنبه ها واقعا قطری باشند، بسیاری از جنبه های جالب و کاربردی قابلیت تحقق خود را از دست میدهند. برای مثال ذخیره کردن 10 و تخصیص مجوز 11 جنبه های قدرتمندی هستند اما مطلوب نیست که جنبه ذخیره کردن قبل از جنبه تخصیص مجوز فعال شود.
دغدغه های متداخل در یک سیستم
جداسازی دغدغه ها اصلی متداول و پرکاربرد در مهندسی نرم افزار محسوب می شود. ایده ارائه شده در این اصل بر این قرار است که مسائل پیچیده ، که درک آن ها مشکل است ، به مسائل کوچک تر، که دارای پیچیدگی کمتر بوده و درک ساده تری دارند، شکسته شده و پس از حل آن ها با یکدیگر برای حل مسئله بزرگ اولیه ترکیب شوند. از آنجائیکه مسائل به واحدهائی کوچک با اندازه قابل درک برای مغز انسان شکسته می شوند، توسعه نرم افزار بدین ترتیب منجر به افزایش قابلیت نگهداشت ، قابلیت وفق پذیری ، قابلیت درک و استفاده مجدد سیستم می شود.
کارایی
ویژگی کیفی کارایی در موفقیت سیستم های نرم افزاری امروزی از اهمیت خاصی برخوردار است . محصولات نرم افزاری متعددی به هنگام تولید اولیه فاقد کارایی لازم می باشند. حل این مشکلات هزینه بر بوده و احتما ًلا منجر به تأخیر در تحویل نهایی پروژه خواهد شد. در شرایطی خاص این احتمال وجود دارد که حل مشکل کارایی بدون انجام دادن مجدد طراحی و پیاده سازی به صورت کلی غیرممکن باشد. در چنین وضعیتی پروژه به زمان و منابع مالی نامحدودی نیاز پیدا می کند و یا ممکن است به شکست پروژه بیانجامد.
« فهرست مندرجات »
فصل اول ................................................................................................................................ 5
تعریف مساله ........................................................................................................................... 5
1- 1- مقدمه ..................................................................................................................6
1- 2- اهمیت قابلیت استفاده مجدد...................................................................................7
1- 3- چالشهای نظری ....................................................................................................8
فصل دوم .............................................................................................................................. 10
معرفی مفهوم جنبه گرایی و نقش آن در توسعه نرم افزار................................................................ 10
2-1- مقدمه ...............................................................................................................11
2-2- سیر تکامل روشهای برنامه نویسی ...........................................................................13
2-3- دغدغه های متداخل در یک سیستم .......................................................................14
2-4- مسائل مربوط به دغدغه های متداخل ......................................................................20
2-5- معمای معماری ...................................................................................................22
2-6- نیازمندی های غیر وظیفه مندی ..............................................................................23
2-7- نیازمندی های غیر وظیفه مندی با قابلیت جنبه شدن .................................................25
2-8- مبانی برنامه نویسی جنبه گرا................................................................................30
2-9- جنبه گرایی در فازهای تحلیل نیازمندیها و طراحی ....................................................32
فصل سوم ............................................................................................................................. 38
مروری بر معماری سرویس گرا................................................................................................... 38
3-1- مقدمه ...............................................................................................................39
3-2- تعاریف .............................................................................................................43
3-3- ویژگیهای سرویس و محاسبات سرویس گرا.............................................................48
3-4- نرم افزار به عنوان سرویس ....................................................................................49
3-5- مفاهیم و اصول ..................................................................................................50
3-6- معماری سرویس گرای توسعه یافته ........................................................................54
3-7- نقش معماری سرویس گرا در تولید نرم افزار............................................................58
3-8- آماده شدن برای معماری سرویس گرا.....................................................................63
3-9- مزایای معماری سرویس گرا ...................................................................................65
فصل چهارم .......................................................................................................................... 69
کارهای پیش رو ..................................................................................................................... 69
4- 1- مقدمه ...............................................................................................................70
4- 2- راهکارهای عملی ................................................................................................72
4- 3- کارهای مرتبط ....................................................................................................75
4- 4- زمانبندی کارهای پیشرو......................................................................................77
مراجع .................................................................................................................................. 79
قیمت فایل فقط 6,000 تومان