بخشی از پاورپوینت
اسلاید 1 :
ساخت سيستم با استفاده از مولفههاي آماده) (Off-the-Shelf
اسلاید 2 :
مفاهيم کليدي
مرور مفاهيم مولفهها
استفاده از مولفههاي آماده ) (Off-the-Shelf
عدم تطابق معمارانه و رابط
روشهاي حل مشكلات عدم تطابق
طراحي مبتني بر مولفه در قالب جستجو
اسلاید 3 :
حركت بهسمت مولفه
Time
اسلاید 4 :
حركت بهسمت مولفه (ادامه)
سه دليل اصلي حركت به سمت مولفه
غلبه بر پيچيدگي
اندازه و پيچيدگي نرمافزارها نسبت به دهه قبل رشد چشمگيري داشته است
مديريت تغييرات
نيازمنديها، خصوصيات، فناوري، نيروي انساني و ديگر موارد مرتبط با توسعه نرمافزار تغيير يافته است
استفاده مجدد
نياز به استفاده مجدد، راهحلي براي علل بالا بوده و توانايي رقابت شركتها در بازار را ميدهد
اسلاید 5 :
مولفههاي آماده) (Off-the-Shelf
يك مولفه عبارتست از قطعهاي- معمولاً دودويي- از كد كه پيادهسازي آن مخفي بوده و ميتوان از آن در نرمافزارهايي متفاوت-توسط واسط آن- استفاده نمود
بعبارت ديگر مولفه در نرمافزار متناظر با IC در سختافزار است
اين مولفههاي بهصورت آماده خريداري ميشوند و در نرمافزارها مورد استفاده قرار ميگيرند
در اغلب موارد كد منبع اين مولفهها وجود ندارد
اسلاید 6 :
ساخت سيستم از مولفههاي آماده (Off-The-Shelf)
انتخاب مولفه ها براي توليد سيستم
فرآيند كشف مولفه ها يا يافتن مجموعه اي از مولفه هاي سازگار
فهم چگونگي دستيابي مولفه ها به خصوصيات كيفي مطلوب
بررسي امكان پذير بودن مجتمع سازی مولفه ها با سيستم در حال توسعه
اسلاید 7 :
گام بعدي
مرور مفاهيم مولفهها
استفاده از مولفههاي آماده ) (Off-the-Shelf
عدم تطابق معمارانه و رابط
روشهاي حل مشكلات عدم تطابق
طراحي مبتني بر مولفه در قالب جستجو
اسلاید 8 :
استفاده از مولفههاي آماده ) (Off-the-Shelf
با استفاده از اين مولفهها در ساخت سيستم
نرمافزار اقتصاديتري ساخته ميشود
نياز به دانش در مورد برخي زمينهها حذف ميشود
فرآيند طراحي تغيير ميکند
نسبت به روش متداول طراحي نرمافزار
اجبارهاي خاصي بر معماري تحميل ميشود
اين اجبارها از طرف مولفهها هستند
نياز به جستجو و انتخاب مولفههاي مورد نظر وجود دارد
اسلاید 9 :
استفاده از مولفههاي آماده) (Off-the-Shelf (ادامه)
اين مولفهها ممكن است از الگوها/سبكهاي طراحي متفاوت استفاده نموده باشند
انتخاب معماري قبل از شناخت اين مولفهها بسيار دشوار است
تجميع اين مولفهها در نرمافزار، سبب تاثيرپذيري نرمافزار از آنها خواهد شد و بههمين علت معمار بايد با دقت خاصي اين مولفهها را انتخاب نمايد
شناخت دقيق مولفه و تعاملاتش ميبايست قبل از انتخاب معماري انجام پذيرد
اسلاید 10 :
گام بعدي
مرور مفاهيم مولفهها
استفاده از مولفههاي آماده (Off-the-Shelf )
عدم تطابق معمارانه و رابط
روشهاي حل مشكلات عدم تطابق
طراحي مبتني بر مولفه در قالب جستجو
اسلاید 11 :
عدم تطابق معمارانه (Architectural Mismatch)
هر چقدر که مولفه OTS خوب طراحي و توسعه داده شده باشد، با توجه به اينکه پيشفرضهاي آن با پيشفرضهاي شما در نرمافزار متفاوت است، عدم تطابق معمارانه ايجاد مينمايد
اين واژه توسط Garlan, Allen, Ockerbloom انتخاب شد
بيشتر در زمان تجميع نرمافزار مشخص ميشود و سبب ميشود نرمافزار کامپايل نشود، اجرا نشود و .
نوع خاصي از عدم تطابق معمارانه، عدم تطابق رابط
(Interface Mismatch) است
اسلاید 12 :
عدم تطابق رابط
به عقيده Parnas رابط به معني هر فرضيهاي که مولفههاي ديگر ميتوانند در مورد بقيه داشته باشند، است
شايعترين نوع عدم تطابق رابط، فرض در مورد API مولفه است
براي مثال Java Interface Specification
هر API، نام برنامه، برخي پارامترها و چيزهايي در مورد رفتار يک برنامه را مشخص ميکند اما اين اطلاعات براي شناخت مولفه بسيار اندك است
نياز است تا مواردي چون تاثيرات جانبي، منابع عمومي، نيازمنديهاي هماهنگي مورد نياز و نظاير آن در API مشخص شود
اسلاید 13 :
عدم تطابق رابط ميتواند همانند عدم تطابق معماري در زمان تجميع ايجاد شود، اما ميتواند منجر به خطاهاي زمان اجراي خطرناك شود
اسلاید 14 :
شروع عدم تطابق رابط
عدم تطابق رابط وقتي اتفاق ميافتد که فرضهاي تهيه و فرضهاي مورد نياز تطابق نداشته نباشند
فرضهاي تهيه (Provides assumptions)
خدماتي که يک مولفه براي کاربران يا سرويسگيرندهها فراهم ميکند
فرضهاي مورد نياز (Requires assumptions)
جزئيات خدماتي که مولفه بايد داشته باشد تا بتواند بدرستي انجام وظيفه کند
اسلاید 15 :
گامبعدي
مرور مفاهيم مولفهها
استفاده از مولفههاي Off-the-Shelf
عدم تطابق معمارانه و رابط
روشهاي حل مشكلات عدم تطابق
طراحي مبتني بر مولفه در قالب جستجو
اسلاید 16 :
راه حل عدم تطابق رابط
در مورد عدم تطابق رابط ميتوان سه کار انجام داد
اصلاح عدم تطابق رابط با سازگار نمودن (Adapting) مولفهها
شناسايي عدم تطابق رابط با توصيف (Qualification) دقيق تر مولفهها
اجتناب از عدم تطابق رابط با تعيين دقيق تر و بازرسي صحيح مولفهها
اسلاید 17 :
روشهاي اصلاح عدم تطابق رابط
دو روش اصلي
اصلاح کد، که معمولاً کمتر مورد توجه قرار ميگيرد
افزودن کد جديد براي پوشش عدم تطابق رابط
استفاده از Wrapper
استفاده از Bridge
استفاده از Mediator
اسلاید 18 :
استفاده از Wrapper
در اين روش سرويسگيرندهها به يک سرويس پوشانده شده در يک Wrapper دسترسي دارند و به آن مستقيم دسترسي ندارند
با اين روش يک رابط جديد معرفي ميشود
رابط جديد ميبايست با ابزاري توسعه يابد كه از رابط قديمي حمايت كند
تبديل هاي ممكن براي رابط جديد
تبديل يك عنصر از واسط پايه به عنصر ديگر
پنهان كردن يك عنصر از واسط پايه
ثابت نگه داشتن يك عنصر از واسط پايه
اسلاید 19 :
استفاده از Bridge
کار اصلي Bridge، ترجمه برخي فرضهاي مورد نياز يک مولفه دلخواه به برخي فرضهاي تهيه مولفه ديگر است
Bridge بايد بهصورت صريح توسط مولفهها فراخواني شود
Bridge معمولاً بهصورت موقت و در همان زماني كه در ابتداي ساختش تعيين ميشود، كار ميكند
Bridge برخلاف Wrapper مستقل از مولفه است
اين روش روي مولفههاي کمتري نسبت به Wrapper جواب ميدهد
اسلاید 20 :
استفاده از Bridge
حالت خاص
مولفه ها شروع كننده هستند
Bridge = Wrapper + Filter
Filter : تبديل هاي مورد نياز براي ارتباطات را انجام مي دهد
Wrapper : فراهم آوردن مكانيزمي براي تشخيص و اجرا Bridge
در واقع wrapper باعث مي شود مولفه ها مطلع شوند كه بايد از bridge استفاده كنند