پایان نامه ارزیابی ‌میزان ‌تأثیر پذیری ‌خط ‌تولید ‌نرم ‌افزار‌ از‌ قابلیت ‌استخراج ‌

تعداد صفحات: 266 فرمت فایل: word کد فایل: 10001992
سال: 1390 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۳۳,۲۰۰ تومان
قیمت: ۳۱,۱۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه پایان نامه ارزیابی ‌میزان ‌تأثیر پذیری ‌خط ‌تولید ‌نرم ‌افزار‌ از‌ قابلیت ‌استخراج ‌

    پایان ‌نامه ‌جهت ‌اخذ‌درجه ‌کارشناسی‌ارشد ‌

    مهندسی‌کامپیوتر -‌نرم ‌افزار 

    چکیده :‌

    خط ‌تولید‌نرم ‌افزار‌یکی‌از‌مهم ‌ترین ‌موضوعات ‌تحقیقاتی‌است ‌که ‌نه ‌تنها‌مراکز‌تحقیقاتی‌و‌دانشگاهی‌به ‌آن ‌توجه ‌ دارند،‌بلکه ‌بخش ‌صنعت ‌نیز‌توجه ‌زیادی‌به ‌آن ‌دارد. به ‌طور‌کلی‌یکی‌از‌مهم ‌ترین ‌دغدغه ‌های‌معماری‌‌خط ‌تولید‌‌ نرم ‌افزار،‌دستیابی‌به ‌خصوصیات ‌کیفی‌مورد‌نظر‌ذی‌نفعان ‌است .‌یک ‌خط ‌تولید‌نرم ‌افزار‌شامل ‌خانواده ‌ای‌از‌ سیستم ‌های‌نرم ‌افزاری‌است . بیشتر‌ویژگی‌های‌کیفی‌موجود‌برای‌سیستم ‌های‌منفرد‌تعریف ‌شده ‌اند.‌این ‌در‌حالی‌است ‌ که ‌زمانی که به ‌جای یک ‌سیستم ‌منفرد با خانواده ‌ای از محصولات روبرو باشیم ، برخی‌از‌جنبه ‌های‌ارزیابی‌ معماری‌نظیر هزینه، زمان ‌و‌قابلیت ‌استفاده ‌مجدد‌از‌فراورده ‌های‌موجود‌نقش ‌پررنگ ‌تری‌پیدا‌می‌کنند. ‌

    در‌این ‌تحقیق ،‌یک ‌ویژگی‌کیفی‌جدید‌برای‌خط ‌تولید‌نرم ‌افزار‌که ‌آن ‌‌را‌قابلیت ‌استخراج ‌‌(Extractability)

    نامیده ‌ایم ،‌معرفی‌کرده ‌و‌روش ‌اندازه ‌گیری و‌رابطه ‌آن ‌با‌برخی‌از‌خصوصیات ‌کیفی‌ را‌ارائه ‌خواهیم ‌کرد. ‌

    علاوه ‌بر‌این ،‌تعدادی‌متریک ‌جدید‌برای‌ارزیابی‌استفاده ‌مجدد‌در‌خط ‌تولید‌نرم ‌افزار‌ارائه ‌می‌شود.‌این ‌متریک ‌ها‌در‌ ارزیابی‌ویژگی‌کیفی‌قابلیت ‌استخراج ‌نیز‌مورد‌استفاده ‌قرار‌خواهند‌گرفت . ‌

    در‌پایان ‌نیز‌میزان ‌تأثیرپذیری ‌خط ‌تولید‌نرم ‌افزار‌از‌قابلیت ‌استخراج ‌را‌به ‌وسیله ‌یک ‌مطالعه ‌موردی‌ارزیابی‌خواهیم ‌ کرد. ‌

    متریک ‌قابلیت ‌استخراج ‌می‌تواند‌برای‌مقایسه ‌خطوط ‌تولید‌با‌یکدیگر‌و‌ارزیابی‌میزان ‌موفقیت ‌خطوط ‌تولید‌مختلف ،‌ ارزیابی‌ معماری‌خط ‌تولید‌نرم ‌افزار‌و‌بهبود‌معماری،‌بهینه ‌نمودن ‌حیطه بندی‌خط ‌تولید‌و‌‌ارزیابی‌استفاده ‌مجدد‌در‌ سازمان ‌مورد‌استفاده ‌قرار‌گیرد.

     

    واژه های کلیدی : خط ‌تولید‌ نرم ‌افزار،‌ویژگی‌ کیفی،‌قابلیت ‌استخراج ‌(Extractability).

    -١-مقدمه

    امروزه ‌تولیدکنندگان ‌و‌کارخانجات ‌مختلف ،‌محصولات ‌متنوعی‌را‌تولید‌می‌کنند.‌در‌اکثر‌این ‌محصولات ،‌نرم ‌افزار‌ نقشی‌مهم ‌و‌اساسی‌را‌بر‌عهده ‌دارد.‌تولیدکنندگان ‌به ‌دنبال ‌کیفیت ‌بالا،‌کاهش ‌هزینه ‌ها،‌کاهش ‌زمان ‌تولید‌،‌عرضه ‌ سریع ‌محصولات ‌مختلف ‌به ‌بازار،‌حفظ ‌سهم ‌خود‌از‌بازار،‌دستیابی‌به ‌سهم ‌بیشتر‌از‌بازار،‌افزایش ‌بهره ‌وری،‌پاسخگویی ‌ به ‌نیازهای‌مختلف ‌مشتری‌و‌عملکرد‌سریع ‌در‌مقابل ‌تغییرات ‌بازار‌و‌نیازهای‌مشتری‌هستند. ‌

    با‌توجه ‌به ‌جایگاهی ‌که ‌نرم ‌افزار‌در‌این ‌محصولات ‌دارد،‌مهندسی‌ نرم ‌افزار‌یک ‌نقش ‌مهم ‌در‌تولید‌محصولات ‌ مختلف ‌و‌موفقیت ‌تولیدکنندگان ‌بر‌عهده ‌دارد. در‌این ‌راستا‌همواره ‌بحث ‌استفاده ‌مجدد‌مورد‌توجه ‌مهندسین ‌نرم ‌افزار‌‌ بوده ‌است .‌در‌ابتدا‌مهندسین ‌نرم ‌افزار‌به ‌استفاده ‌مجدد‌در‌سطح ‌کد‌و‌پیاده ‌سازی‌و‌استفاده ‌مجدد‌‌از‌کارهای‌قبلی‌ خود‌در‌پروژه ‌های‌دیگر‌توجه ‌نمودند.‌استفاده ‌مجدد‌از‌راه ‌حل ‌های‌شناخته ‌شده ‌نیز‌موجب ‌پیدایش ‌الگوهای‌طراحی‌‌ گردید.‌با‌ظهور‌پارادایم ‌مؤلفه ‌گرایی ٢‌و‌توسعه ‌مبتنی‌بر‌مؤلفه ٣،‌توسعه ‌دهندگان ‌نیز‌به ‌سمت ‌استفاده ‌مجدد‌از‌مؤلفه ‌ها‌ گام ‌برداشتند. ‌

    ایجاد‌بسته ‌های‌تجاری‌آماده (COTS)٤‌را‌می توان ‌یکی‌از‌گام ‌های‌مهم ‌در‌راستای‌رسیدن ‌به ‌ایده ‌مدارات ‌مجتمع ‌ نرم ‌افزاری‌دانست .‌امروزه ‌صنعت نرم ‌افزار به سوی استفاده از قطعات پیش ساخته نرم ‌افزار‌ به ‌ نام ‌ سرویس ‌ که ‌ دارای ‌ واسط ‌های خوش تعریفی ٥ برای استفاده ‌مجدد است ،‌حرکت ‌نموده ‌است .‌متخصصین ‌معتقد‌هستند‌که ‌نه ‌تنها‌باید‌از‌ سرویس ‌ها‌و‌مؤلفه ‌ها‌و‌سایر‌دارایی‌های‌نرم ‌افزاری‌سازمان ‌استفاده ‌نمود،‌بلکه ‌باید‌از‌تمامی‌دارایی‌های‌سازمان ‌و‌ فراورده ‌های‌توسعه ‌نرم ‌افزار‌نظیر‌افراد،‌فرآیندها،‌زمانبندی‌ها،‌برنامه ‌های‌کاری ،‌معماری‌نرم ‌افزار‌و‌مستندات ‌تحلیل ‌و‌ طراحی‌استفاده ‌مجدد‌شود. ‌

     3 وقتی‌که ‌به ‌جای‌یک ‌سیستم ‌منفرد١‌با‌خانواده ‌ای‌از‌محصولات ٢‌و‌یا‌خانواده ‌ای‌از‌نرم ‌افزارها‌٣‌سر‌و‌کار‌داشته ‌ باشیم ،‌بحث ‌استفاده ‌مجدد‌اهمیت ‌بیشتری‌پیدا‌می‌کند.‌معمولا‌محصولات ‌یک ‌خانواده ‌دارای‌مشترکات ‌ بیشتری‌ نسبت به تفاوت ‌های میان خود‌هستند. ‌

    ‌خط تولید نرم ‌افزار یکی از روش ‌های ایجاد قابلیت استفاده ‌مجدد‌ از دارایی‌هایی‌ سازمان ‌ است ‌‌که ‌ به ‌ تولید‌ خانواده ‌ای از سیستم ‌ها کمک بسیاری کرده و میزان هزینه و زمان مورد نیاز‌برای‌تولید‌آنها را به شدت کاهش می‌دهد. ‌ به ‌طور‌کلی‌یکی‌از‌اهداف ‌اصلی‌خط ‌تولید‌نرم ‌افزار،‌دستیابی‌به ‌محصولات ‌گوناگون ‌با‌ویژگی‌های‌متفاوت ‌از‌طریق ‌ استفاده ‌از‌داراییها‌و‌اجزای‌مشترک‌است .‌بنابراین ‌خطوط ‌تولید‌موفق ،‌یک ‌سازمان ‌دهی‌برای‌استفاد‌ه ‌مجدد‌‌‌فراهم ‌ می‌کنند‌و‌موجب ‌بهره ‌وری‌بیشتر‌و‌کاهش ‌هزینه ‌های ‌توسعه ‌خواهند‌شد. ‌

    امروزه ‌محققین ‌زیادی‌مشغول ‌تحقیق ‌در‌حوزه ‌خط ‌تولید‌نرم ‌افزار‌هستند.‌به ‌نظر‌می‌رسد‌نیاز‌مبرم ‌بخش ‌صنعت ‌ به ‌ایجاد‌خط ‌تولید‌عامل ‌اصلی‌توجه ‌محققین ‌به ‌این ‌حوزه ‌باشد.‌ ‌

    در‌حال ‌حاضر‌شاخه ‌های‌تحقیقاتی‌زیادی‌برای‌خط ‌تولید‌نرم ‌افزار‌وجود‌دارد.‌علت ‌این ‌امر‌این ‌است ‌که ‌باید‌ مفاهیم و روش ‌هایی که قبلا‌برای‌سیستم ‌های‌نرم ‌افزاری‌منفرد‌و‌تک ‌محصولی‌ب‌ه ‌کار‌می‌رفت ،‌به ‌نحو‌مطلوبی‌ گسترش یابند تا بتوان ‌از‌آنها‌در‌خانواده ‌ای‌از‌محصولات استفاده ‌نمود.‌ ‌

    دلیل ‌دیگر‌این ‌است ‌که ‌در‌حال ‌حاضر‌روش ‌های‌مختلفی‌برای‌توسعه ‌نرم ‌افزار‌وجود‌دارند‌که ‌استفاده ‌از‌هر‌یک ‌از‌ آنها‌در‌خط ‌تولید‌می‌تواند‌مزایایی‌را‌برای‌خط ‌تولید‌نرم ‌افزار‌به ‌ارمغان ‌آورد.‌به ‌عنوا‌ن ‌مثال ‌امروزه ‌گروه ‌زیادی‌از‌ کارشناسان ‌استفاده ‌از‌سرویس ‌گرایی ٤‌در‌خط ‌تولید‌نرم ‌افزار‌را‌پیشنهاد‌می‌کنند.‌به ‌هر‌حال ‌هر‌رهیافتی‌هم ‌که ‌مورد‌ استفاده ‌قرار‌گیرد‌با‌چالش ‌هایی‌روبرو‌خواهد‌بود.‌‌ ‌

    دستیابی‌به ‌یک ‌رهیافت ‌قدرتمند‌برای‌توسعه ‌خط ‌تولید‌نر‌م ‌افزار‌نیازمند‌یافتن ‌روش ‌هایی‌برای‌مقابله ‌با‌این ‌چالش ‌ها‌و‌ همچنین ‌ارائه ‌روش ‌های‌جدید‌و‌کاملا‌اختصاصی‌برای‌خط ‌تولید‌نرم ‌افزار‌است .‌

     

    ١-٢-تعریف مسئله

    همانطور‌که ‌معماری ،‌جایگاه ‌ویژه ‌ای‌در‌سایر‌حوزه ‌های‌مهندسی‌نرم ‌افزار‌دارد،‌در‌خط ‌تولید‌نیز‌نقشی‌کلیدی‌و‌ بسیار‌مهم ‌ایفا‌می‌کند.‌با‌توجه ‌به ‌این ‌که ‌معماری‌خط ‌تولید‌برای‌خانواده ‌ای‌از‌محصولات ‌مورد‌استفاده ‌قرار‌می‌گیرد،‌ نحوه ‌طراحی‌آن ‌روی‌کیفیت ‌محصولات ‌سازمان ‌تأثیر‌گذار‌خواهد‌بود.‌در‌واقع ‌چنانچه ‌معماری‌یک ‌سیستم ‌منفرد‌ خوب ‌انجام ‌نشود،‌صرفاً‌در‌همان ‌سیستم ‌تأثیر‌گذار‌خواهد‌بود.‌اما‌در‌خط ‌تولید‌نرم ‌افزار‌چون ‌معماری‌خط ‌تولید‌در‌ محصولات ‌مختلف ‌به ‌کار‌می‌رود‌و‌حتی‌ممکن ‌است ‌قسمت ‌هایی‌از‌آن ‌‌معماری‌در‌سایر‌خطوط ‌تولید‌نیز‌استفاده ‌ شود،‌تأثیرات ‌نامطلوب ‌آن ‌برای‌سازمان ‌بسیار‌بیشتر‌خواهد‌بود.‌در‌واقع ‌معماری‌نامطلوب ‌فقط ‌موجب ‌کیفیت ‌کم ‌در‌ یک ‌محصول ‌نخواهد‌شد،‌بلکه ‌موجب ‌می‌شود‌تمام ‌محصولات ‌کیفیت ‌پایینی‌داشته ‌باشند‌و‌در‌نتیجه ‌موجب ‌نارضایتی‌ مصرف ‌کنندگان ‌و‌‌از‌دست ‌دادن ‌سهم ‌بازار‌خواهد‌شد. ‌

    به ‌طور‌کلی‌یکی‌از‌مهم ‌ترین ‌دغدغه ‌های ‌معماری‌نرم ‌افزار،‌دستیابی‌به ‌خصوصیات ‌کیفی‌مورد‌نظر‌ذینفعان ‌است .‌در‌ معماری‌خط ‌تولید‌نرم ‌افزار‌نیز‌خصوصیات ‌کیفی‌از‌اهمیت ‌زیادی‌برخوردار‌هستند.‌ ‌

    علیرغم ‌اینکه ‌خصوصیات ‌کیفی‌نقش ‌بسیار‌مهمی‌در‌بررسی‌کیفیت ‌معماری‌ خط ‌تولید‌دارند،‌تاکنون ‌چندان ‌به ‌این ‌ مبحث ‌پرداخته ‌نشده ‌است . بیشتر‌ویژگی‌ های‌کیفی‌ موجود‌ برای‌سیستم ‌های‌منفرد‌تعریف ‌شده ‌اند. ‌

    این ‌در‌حالی‌است ‌که ‌زمانی که به ‌جای یک ‌سیستم ‌منفرد با خانواده ‌ای از محصولات روبرو باشیم ، برخی‌از‌جنبه ‌های‌‌‌ ارزیابی‌معماری‌نظیر هزینه ، زمان ‌و‌قابلیت ‌استفاده ‌مجدد‌از‌فراورده ‌های‌موجود‌نقش ‌پررنگ ‌تری‌پیدا‌می‌کنند[١].

    بنابراین ‌به ‌یک ‌ویژگی‌کیفی‌نیاز‌است ‌که ‌مختص ‌خط ‌تولید‌نرم ‌افزار‌باشد‌و‌معماران ‌بتوانند‌در‌طراحی‌معماری‌‌آنرا‌ مد‌نظر‌قرار‌دهند.‌همچنین ‌ذینفعان ‌سازمان ‌نیز‌بتوانند‌با‌استفاده ‌از‌آن ‌کیفیت ‌خطوط ‌تولید‌را‌مورد‌ارزیابی‌قرار‌ دهند.‌در‌این ‌گزارش ‌یک ‌ویژگی‌کیفی‌جدید‌برای‌خط ‌تولید‌نرم ‌افزار‌‌که ‌آنرا‌قابلیت ‌استخراج ‌١‌نامیده ‌ایم ‌،‌ارائه ‌‌ می‌نماییم ‌و‌میزان ‌تأثیرپذیری‌خط ‌تولید‌نرم ‌افزار‌از‌قابلیت ‌استخراج ‌را‌مورد‌بررسی‌قرار‌می‌دهیم .‌

     

    1 Extractability

     

     5

    ١-٣- اهداف و محدوده تحقیق

    به ‌طور‌کلی‌وقتی‌که ‌استفاده ‌از‌رهیافت ‌خط ‌تولید‌به ‌یک ‌سازمان ‌پیشنهاد‌می‌شود،‌‌اولین ‌سؤ‌الی‌که ‌مطرح ‌ می‌شود‌این ‌است ‌که ‌آیا‌نظر‌تکنیکی‌باید‌رویکرد‌خط ‌تولید‌را‌پذیرفت ‌یا‌نه ؟‌وقتی‌که ‌سازمان ‌رویکرد‌خط ‌تولید‌را‌ پذیرفت ‌و‌معماری‌خط ‌تولید‌طراحی ‌شد،‌این ‌سؤال ‌مطرح ‌می‌شود‌که ‌چگونه ‌می‌توان ‌از‌دارایی‌های‌موجود‌در‌سازمان ‌ بهترین ‌بهره ‌برداری‌ممکن ‌را‌بعمل ‌آورد؟‌به ‌عبارت ‌دیگر‌باید‌از‌دارایی‌های‌موجود‌در‌سازمان ‌استفاده ‌مجدد‌‌نمود.‌‌در‌ این ‌راستا‌محققین ‌مؤسسه ‌مهندسی‌نرم افزار‌(SEI)1‌در‌دانشگاه ‌کارنگی‌ملون ،‌روش ‌ها‌یی‌را‌برای‌کاوش ‌معماری‌و‌ تحلیل ‌سیستم ‌های‌موروثی ‌ارائه ‌کرده ‌اند.‌ ‌

    هدف ‌از‌این ‌تحقیق ‌ارائه ‌یک ‌ویژگی‌کیفی‌جدید‌مختص ‌خط ‌تولید‌نرم ‌افزار‌‌(قابلیت ‌استخراج )‌و‌ارزیابی‌میزان ‌ تأثیرپذیری ‌خط ‌تولید‌نرم ‌افزار‌از‌این ‌ویژگی‌کیفی‌است .‌روش ‌اندازه ‌گیری‌این ‌خصوصیت ‌کیفی‌بر‌اساس ‌نتایج ‌ب‌ه ‌ دست ‌آمده ‌از‌روش ‌های‌کاوش ‌معماری‌و‌تحلیل ‌سیستم ‌های‌موروثی‌است . این ‌خصوصیت ‌کیفی‌در‌تمامی‌رویکردهای‌ خط ‌تولید‌از‌جمله ‌خط ‌تولید‌سرویس ‌گرا‌کاربرد‌دارد. ‌

    بنابراین ‌محدوده ‌تحقیق ‌عبارتست ‌از‌ویژگی‌های‌کیفی‌در‌خط ‌تولید‌نرم ‌افزار‌و‌به ‌طور‌خاص ‌ویژگی‌کیفی‌قابلیت ‌ استخراج .‌همچنین ‌بحث ‌متریک ‌های‌خط ‌تولید‌نرم ‌افزار‌جزء‌حیطه ‌این ‌تحقیق ‌است .‌روش ‌های‌کاوش ‌معماری‌و‌ تحلیل ‌سیستم ‌های‌موروثی‌با‌بحث ‌ما‌مرتبط ‌است ‌اما‌خارج ‌از‌حیطه ‌کار‌ما‌هستند.‌زیرا‌ما‌فقط ‌از‌خروجی‌ها‌و‌ اطلاعات ‌به ‌دست ‌آمده ‌از‌روش ‌های‌کاوش ‌معماری‌و‌تحلیل ‌سیستم ‌های‌موروثی‌برای‌اندازه ‌گیری‌قابلیت ‌استخراج ‌ استفاده ‌می‌کنیم .‌‌

    ١-٤-سئوالات تحقیق

    با‌توجه ‌به ‌مواردی‌که ‌در‌قسمت ‌های‌قبل ‌شرح ‌داده ‌شد،‌سئوالات ‌این ‌تحقیق ‌به ‌شرح ‌ذیل ‌هستند: ‌

     

    1 Software Engineering Institute

     

     

     

     6

    •  آیا‌ویژگی‌کیفی‌مختص ‌خط ‌تولید‌وجود‌دارد؟

    •  چه ‌روش ‌هایی‌برای‌کاوش ‌معماری‌و‌تحلیل ‌سیستم ‌های‌موروثی‌وجود‌دارد؟

    •  چه ‌متریک هایی‌برای‌ارزیابی‌خط ‌تولید‌نرم افزار‌وجود‌دارد؟

    •  ارتباط ‌ویژگی‌کیفی‌قابلیت ‌استخراج ‌با‌سایر‌ویژگیهای‌کیفی‌چگونه ‌است ؟

    •  چگونه ‌میتوان ‌قابلیت ‌استخراج ‌را‌اندازه گیری‌کرد؟

    •  نقش ‌ویژگی‌کیفی‌قابلیت ‌استخراج ‌در‌خط ‌تولید‌نرم افزار‌چیست ؟‌ ‌

    ١-٥- ساختار گزارش

    ساختار‌این ‌گزارش ‌به ‌این ‌ترتیب ‌است ‌که ‌ابتدا‌در‌فصل ‌دوم ‌در‌خصوص ‌ویژگی‌های‌کیفی‌،‌خط ‌تولید‌نرم ‌افزار‌‌و‌ روش ‌های‌کاوش ‌معماری‌و‌تحلیل ‌سیستم ‌های‌موروثی‌بحث ‌می‌کنیم .‌در‌این ‌فصل ‌‌همچنین ‌برخی‌از‌متریک ‌های‌ ارزیابی‌خط ‌تولید‌نرم ‌افزار‌را‌مورد‌بررسی‌قرار‌میدهیم .‌فصل ‌سوم ‌به ‌معرفی‌ویژگی‌کیفی‌قابلیت ‌استخراج ،‌سناریوی‌ عمومی‌آن ،‌نحوه ‌اندازه ‌گیری‌و‌بررسی‌رابطه ‌آن ‌با‌برخی‌از‌خصوصیات ‌کیفی،‌خواهیم ‌پرداخت .‌در‌این ‌فصل ‌همچنین ‌ تعدادی‌متریک ‌برای‌ارزیابی‌استفاده ‌مجدد‌در‌خط ‌تولید‌نرم ‌افزار‌ارائه ‌می‌شود.‌این ‌متریک ‌ها‌در‌ارزیابی‌ویژگی‌کیفی‌ قابلیت ‌استخراج ‌نیز‌مورد‌استفاده ‌قرار‌خواهند‌گرفت . ‌ 

     

    ABSTRACT: Software product  line  is one of  the most  important research  topics,

    in addition  to  academic  and  research  centers;  the  industry  has  a  lot  of attention

    to it. Generally, one of the major concerns of software‌product line architecture is to

    obtain the stockholders’ desired quality attributes. A software product line consists of

    a family of software systems. Most of quality attributes are defined for single systems.

    When we are facing a family of products instead of a single system, some aspects of

    architecture evaluation, such as cost, time, and reusability of available assets, become

    more highlighted.

    In this thesis, a new quality attribute for software product line, which we called it

    extractability, is introduced and extractability measuring method and relationship

    between extractability with some quality attributes is presented.

    In addition, some new metrics are provided to assess reusability of software product

    line. These metrics are also used in evaluating the extractability quality attribute.

    At the end, extractability effectiveness on software product line is evaluated by a case

    study.

    Extractability‌ can be used to compare and evaluate the success of product lines,

    architectural assessment and improvement of software product line architecture, scope

    optimization and evaluating the reusability in organizations.

     

    KEY WORDS: Software Product Line, Quality Attribute, Extractability. 

     

  • فهرست و منابع پایان نامه ارزیابی ‌میزان ‌تأثیر پذیری ‌خط ‌تولید ‌نرم ‌افزار‌ از‌ قابلیت ‌استخراج ‌

    فهرست:

    فصل اول : کلیات تحقیق ..........................................................  ١‌

    ١-١-مقدمه ............................................................................................................................ ‌٢ ‌

    ١-٢-تعریف ‌مسئله .................................................................................................................... ‌٤ ‌

    ١-٣-‌اهداف ‌و‌محدوده تحقیق ....................................................................................................... ‌٥ ‌

    ١-٤-سئوالات ‌تحقیق ................................................................................................................. ‌٥ ‌

    ١-٥-‌ساختار گزارش .................................................................................................................. ‌٦ ‌

    فصل دوم : مروری بر ادبیات موضوع و کارهای مرتبط ....................... ٧ ‌

    ٢-١-‌مقدمه ............................................................................................................................ ‌٨ ‌

    ٢-٢-‌ویژگی های ‌کیفی ‌در‌مهندسی ‌نرم افزار....................................................................................... ‌٨ ‌

    ٢-٢-١-‌خصوصیات کیفی سیستم .............................................................................................‌٩ ‌

    ٢-٢-٢- خصوصیات کیفی حرفه .............................................................................................. ‌١٠ ‌

    ٢-٢-٣-‌خصوصیات کیفی معماری ........................................................................................... ‌١٢ ‌

    ٢-٣-‌خط ‌تولید‌نرم افزار ............................................................................................................ ‌١٣ ‌

    ٢-٣-١-‌تعریف ‌خط ‌تولید‌نرم افزار ........................................................................................... ‌١٤ ‌

    ٢-٣-٢-‌داراییهای ‌اصلی ...................................................................................................... ‌١٤ ‌

    ٢-٣-٣-‌داراییهای ‌اصلی ‌پایه ................................................................................................. ‌١٥ ‌

    ٢-٣-٤-‌مزایای ‌خط ‌تولید‌نرم افزار‌برای ‌معمار‌یا‌توسعه دهنده ‌اصلی ‌ ................................................... ١٥ ‌

    ٢-٣-٥-‌هزینه ‌ایجاد‌یک ‌خط ‌تولید‌نرم افزار ................................................................................ ‌١٥ ‌

    ٢-٣-٦-‌حیطه بندی ............................................................................................................. ١٦ ‌

    ٢-٣-٧-‌معماری خط تولید.................................................................................................... ‌١٨ ‌

    ٢-٣-٧-١-‌تعیین نقاط تغییر  .......................................................................................................... ١٩

    ٢-٣-٧-٢-‌حمایت از نقاط تغییر  ..................................................................................................... ٢٠

    ٢-٣-٧-٣-‌ارزیابی معماری در جهت متناسب بودن برای خط تولید ................................................  ٢٠

    ٢-٣-٨-‌دامنه ................................................................................................................... ‌٢١ ‌

    ‌ی

     

     

     

     

    ٢-٣-٩-‌چرخه ‌حیات ‌خط تولید نرم افزار .................................................................................... ‌٢٢ ‌

    ٢-٣-٩-‌١-‌مهندسی ‌دامنه ...............................................................................................  ٢٣

    ٢-٣-٩-‌٢-‌مهندسی ‌محصول ............................................................................................  ٢٤

    ٢-٣-١٠-نمودار‌ویژگی ها ...................................................................................................... ‌٢٤ ‌

    ٢-٤-تکنیک های MAP‌و‌OAR‌برای‌کاوش ‌معماری‌و‌تحلیل ‌سیستم های‌موروثی ........................................ ‌٢٥ ‌

    ٢-٤-١-‌مفهوم ‌کاوش .......................................................................................................... ‌٢٦ ‌

    ٢-٤-٢-‌روش های ‌MAP‌و‌OAR‌ ........................................................................................... ٢٦ ‌

    ٢-٤-٣-‌روش ‌MAP‌........................................................................................................... ٢٨ ‌

    ٢-٤-٣-١-‌آماده ‌سازی ....................................................................................................  ٢٨

    ٢-٤-٣-٢-استخراج  ....................................................................................................................... ٢٨

    ٢-٤-٣-٣-‌ترکیب ..........................................................................................................  ٢٨

    ٢-٤-٣-٤-‌توصیف .........................................................................................................  ٢٩

    ٢-٤-٣-٥-‌ارزیابی ..........................................................................................................  ٢٩

    ٢-٤-٣-٦-‌دور‌دوم  ....................................................................................................................... ٢٩

    ٢-٤-٤-‌روش ‌OAR ........................................................................................................... ‌٣٠ ‌

    ٢-٤-٤-١-‌برقراری ‌فعالیت ‌‌زمینۀ‌کاوش ................................................................................  ٣١

    ٢-٤-٤-٢-‌موجودی ‌برداری ‌از‌مؤلفه ها ..................................................................................  ٣١

    ٢-٤-٤-٣-‌تحلیل ‌مؤلفه های ‌نامزد .......................................................................................  ٣٢

    ٢-٤-٤-٤-‌برنامه ریزی ‌جهت ‌گزینه های‌کاوش .........................................................................  ٣٢

    ٢-٤-٤-٥-‌انتخاب ‌گزینه ‌کاوش ..........................................................................................  ٣٢

    ٢-٤-٥-‌مطالعه ‌موردی :‌نمونه ‌ای ‌از‌شیوه ‌های MAP و‌OAR‌ ........................................................... ٣٢ ‌

    ٢-٤-٥-١-‌ نتایج ‌روش ‌MAP  ........................................................................................................ ٣٤

    ٢-٤-٥-١-١-‌دید‌مؤلفه  ............................................................................................................ ٣٤

    ٢-٤-٥-١-٢-‌سبک ‌های ‌معماری ‌و‌ویژگی‌ها .................................................................................. ٣٥

    ٢-٤-٥-١-٣-‌دید‌اجرا  .............................................................................................................. ٣٦

    ٢-٤-٥-١-٤-‌دید‌جریان ‌داده ها......................................................................................  ٣٧

    ٢-٤-٥-١-٥-‌تحلیل ‌سبک ها‌و‌ویژگی ها............................................................................  ٣٨

    ‌ک

     

     

     

     

    ٢-٤-٥-٢-‌به ‌کارگیری ‌روش ‌OAR .....................................................................................  ٣٩

    ٢-٥-کیفیت ‌درخط ‌تولید‌نرم افزار ................................................................................................. ‌٤٣ ‌

    ٢-٥-١-‌برخی ‌متریک ها‌برای ‌ارزیابی ‌کیفیت ‌خط ‌تولید.................................................................. ‌٤٤ ‌

    ٢-٥-١-١-‌سنجش ‌تشابه ..................................................................................................  ٤٥

    ٢-٥-١-٢-‌اندازه ‌گیری ‌تغییرپذیری ......................................................................................  ٤٥

    ٢-٥-١-٣-‌سنجش ‌قابلیت ‌استفاده ‌مجدد...............................................................................  ٤٧

    ٢-٥-١-٤-‌قابلیت ‌استفاده ‌مجدد‌مرتبط ‌با‌محصولات ‌(PrR‌).......................................................  ٤٨

    ٢-٥-١-٥-‌درصد‌استفاده ‌مجدد ...................................................................................................... ٤٩

    ٢-٦-نتیجه گیری .................................................................................................................... ‌٤٩ ‌

    فصل سوم : ویژگی کیفی قابلیت استخراج ...................................  ٥١ ‌

    ٣-١-مقدمه .......................................................................................................................... ‌٥٢ ‌

    ٣-٢-‌تعریف ‌قابلیت ‌استخراج ...................................................................................................... ‌٥٢ ‌

    ٣-٣-‌سناریوی ‌عمومی ‌استخراج ‌داراییهای ‌اصلی ............................................................................... ٥٢ ‌

    ٣-٤-‌روش ‌اندازه گیری ‌قابلیت ‌استخراج .......................................................................................... ‌٥٥ ‌

    ٣-٤-١-‌روش ‌پویا‌برای ‌اندازه گیری ‌وزن ‌داراییها‌ ......................................................................... ٦٠ ‌

    ٣-٤-١-١-روش ‌اول .......................................................................................................  ٦٠

    ٣-٤-١-٢-روش ‌ دوم ......................................................................................................  ٦٠

    ٣-٤-٢-‌ورودی های ‌مورد‌نیاز‌برای ‌محاسبه ‌قابلیت ‌استخراج ............................................................ ‌٦٠ ‌

    ٣-٥-‌قابلیت ‌استخراج ‌توسعه ‌یافته ................................................................................................ ‌٦١ ‌

    ٣-٦-‌توانایی‌استخراج ‌سازمان ..................................................................................................... ‌٦١ ‌

    ٣-٧-‌مزایای ‌قابلیت ‌استخراج ‌برای ‌سازمان ...................................................................................... ‌٦٢ ‌

    ٣-٨-‌همبستگی ‌مثبت ‌و‌منفی ‌قابلیت ‌استخراج ‌با‌سایر‌خصوصیات ‌کیفی ................................................... ‌٦٢ ‌

    ٣-٩-‌قابلیت ‌استخراج ‌ویژگی ‌کیفی ‌خط ‌تولید‌است ‌یا‌معماری ‌خط ‌تولید؟ ................................................. ‌٦٩ ‌

    ٣-١٠-شیوه ‌بهبود‌معماری ‌خط ‌تولید‌پس ‌از‌محاسبه ‌قابلیت ‌استخراج ....................................................... ‌٧٠ ‌

    ٣-١١-‌ارزیابی ‌استفاده ‌مجدد‌درخط ‌تولید‌نرم افزار ............................................................................. ‌٧٠ ‌

    ٣-١١-١-درصد‌وزنی ‌استفاده ‌مجدد ......................................................................................... ‌٧١ ‌

    ٣-١١-٢-‌سهولت ‌احیای ‌داراییها‌برای ‌تطبیق ‌با‌معماری ‌خط ‌تولید‌نرم افزار ......................................... ‌٧٢ ‌

    ‌ل

     

     

     

     

    ٣-١١-٣-چند‌متریک ‌برای ‌ارزیابی ‌استفاده ‌مجدد‌بر‌اساس ‌نگاشت ‌خط ‌تولید‌نرم افزار‌به ‌گراف .................... ‌٧٤ ‌

    ٣-١١-٣-١-محاسبه ‌سود‌استفاده ‌مجدد‌در‌خط ‌تولید................................................................  ٧٥

    ٣-١١-٣-٢-تاثیراستفاده ‌مجدد‌یک ‌دارایی‌در‌توسعه ‌یک ‌محصول ..................................................  ٧٦

    ٣-١١-٣-٣-‌تاثیر‌استفاده ‌مجدد‌در‌توسعه ‌یک ‌محصول .............................................................  ٧٦

    ٣-١١-٣-٤-‌تاثیر‌استفاده ‌مجدد‌در‌توسعه ‌تمام ‌محصولات خط ‌تولید .............................................  ٧٧

    ٣-١٢-نتیجه گیری ‌ .................................................................................................................. ٧٧ ‌

    فصل چهارم : مطالعه موردی ....................................................  ٧٩ ‌

    ٤-١-‌مقدمه .......................................................................................................................... ‌٨٠ ‌

    ٤-٢-روش ‌انجام ‌ارزیابی :‌شبیه سازی ‌مونت ‌کارلو ................................................................................ ‌٨١ ‌

    ٤-٣-شرح ‌مطالعه ‌موردی ........................................................................................................... ‌٨٤ ‌

    ٤-٤-تجزیه ‌و‌تحلیل ‌نتایج ‌به ‌دست ‌آمده ‌از‌مطالعه ‌موردی ..................................................................... ‌٩٦ ‌

    ٤-٥-‌نتیجه گیری ‌.................................................................................................................. ١٠٠ ‌

    فصل پنجم : نتیجه گیری و کار آینده ...........................................١٠١‌

    ٥-١-‌نتیجه گیری ................................................................................................................. ‌١٠٢ ‌

    ٥-٢-‌کار‌آینده .................................................................................................................... ‌١٠٦ ‌

    پیوست ها .........................................................................  ١٠٧‌

    پیوست ‌١:‌جداول ‌مربوط ‌به ‌مطالعه ‌موردی ..................................................................................... ‌١٠٨ ‌

    مراجع ............................................................................. ١٢٣‌

     

    منبع:

    [1] M.Mirakhorli, ‘Assessment of Software Product line Reliability’, MSC thesis,

    Shahid Beheshti University, Tehran, 2007.

    [2] Glossary, 2010, Available:

    http:..www.sei.cmu.edu.architecture.start.glossary.

    [3] L.Bass, P.Clements and R.Kazman, Software Architecture in Practice, Second

    Edition, Addison Wesley, 2003.

    [4]  L.Northrop, Software Product Lines Essentials, Presentation, Carnegie Mellon

    University, 2008.

    [5] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.glossary.htm

    [6] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.coreADA.htm

    [7] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.benefits.costs.htm

    [8] P. Istoan, “Software Product Lines and Service-Oriented Architectures: Can they

    be Connected?”, Bibliographical study, Triskell Project, 2009, Available:

    ftp:..ftp.irisa.fr.local.caps.DEPOTS.BIBLIO2009.Istoan_Paul.pdf

    [9] V.Myll¨arniemi, .M¨annist¨o and M.Raatikainen, “Quality Attribute Variability

    within a Software Product Family Architecture”, 2006, Available:

    http:..www.soberit.hut.fi.vmyllarn.publications.Myllarniemi06bQualityAttributeVa

    riability.pdf

    [10] L.Etxeberria and Goiuria Sagardui, “Evaluation of Quality Attribute Variability in

    Software Product Families,” 15th Annual IEEE International Conference and

    Workshop on the Engineering of Computer Based Systems, pp. 255-264, 2008.

    [11] F.Bachmann and P.Clements, Variability in Software Product Lines, Technical

    Report, Carnegie Mellon University, 2006.

    [12] T.Kim, I.Ko, S.Kang and D.Lee, Extending ATAM to Assess Product Line

    Architecture, IEEE, 2008.

    [13] L. Northrop,  “SEI’s  Software  Product  Line  Tenets,”  IEEE  Software, Vol.  19,

     124

    No. 4, pp. 32-40, July 2002.

    [14] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.rel_domains.htm

    [15] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.PL.essential.act.htm

    [16] A.  Helfericj,  G.  Herzwurm,  S.  Jesse,  M.  Mikusz,  “Software  Product  Lines,

    Service-oriented  Architecture  and  Frameworks:  Worlds  Apart  or  Ideal

    Partners?”, TEAA 2006 LNCS 4473, pp. 187-201, 2007.

    [17] H. Gomma, Designing software product lines with UML: from Use cases to

    Pattern-Based Software Architectures, Addison Wesley, 2004.

    [18] F.Van der Linden, Software Product Lines in Action: The best industrial practice

    in product line engineering, Springer, 2007.

    [19] P.Istoan, G.Nain, G.Perrouin, Je’z e’que and J.Jean-Marc, ”Dynamic Software

    Product Lines for Service-Based Systems,” CIT 09: IEEE Ninth International

    Conference on Computer and Information Technology, pp. 193 – 198, 2009.

    [20] K. C. Kang, S. Kim, J. Lee, K. Kim, E. Shin and M. Huh, “Form: A feature-

    oriented reuse method with domain-specific reference architectures”. Ann. Softw.

    Eng. 5, pp. 143–168, 1998.

    [21] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.miningEAs.htm

    [22] Liam OíBrien and Dennis Smith, MAP and OAR Methods: Techniques for

    Developing Core Assets for Software Product Lines from Existing Assets,

    Technical Report, Carnegie Mellon University, 2002.

    [23] B.Geertsema and S.Jansen, “Increasing software product reusability and variability

    using active components: a software product line infrastructure”, ACM, 2010.

    [24] F.Amin, A.Mahmood, and A.Oxley, “A Proposed Reusability Attribute Model for

    Aspect Oriented Software Product Line Components”, IEEE, 2010.

    [25] T.Zhang, L.Deng, J.Wu, Q.Zhou and C.Ma, “Some Metrics for Accessing Quality

    of Product Line Architecture,” IEEE, Vol 27, Issue 3, pp. 35 – 41, 2008.

    [26] C.Berger and C Busse, “Product Line Metrics for Legacy Software in Practice,”

    The 14th International Software Product Line (SPLC), pp.247-250, 2010.

     125

    [27] C.Berger, H. Rendel and B.Rumpe, “Measuring the Ability to Form a Product Line

    from                  Existing      Products,”     Variability     Modelling         of

    Software-intensive Systems (VaMos), pp. 151-154, 2010.

    [28] A.van der Hoek, E.Dincel and N.Medvidoviü, “Using Service Utilization Metrics

    to Assess the Structure of Product Line Architectures,” Proceedings of the Ninth

    International Software Metrics Symposium (METRICS’03), pp. 298-308, IEEE,

    2003.

    [29] G.Aldekoa,    S.Trujillo,    G.Sagardui    and    O.Díaz,    Experience    Measuring

    Maintainability in Software Product Lines, XV Jornadas de Ingeniería del Software

    y Bases de Datos (JISBD), pp. 173-182, 2006.

    [30] A.Rahman, Metrics for the Structural Assessment of Product Line Architecture,

    MSC Thesis, School of Engineering at Blekinge Institu te of Technology, Sweden,

    2004.

    [31] E.Junior, I.Gimenes and J.Maldonado, “A Metric Suite to Support Software

    Product Line Architecture Evaluation”, XXXIV Conferencia Latinoamericana de

    Informática (CLEI 2008), pp. 489-498, 2008.

     Automated Reasoning  on Feature“Dِ.Benavides,  P.Trinidad and A.Ruiz-cortés,   [32]

    th

    Models,”  LNCS,  Advanced  Information  Systems  Engineering:  17

    International Conference, pp. 491-503, CAISE 2005.

    [33] M.Mendonca, A.Wasowski,  K.Czarnecki  and   D.Cowan,  “Efficient compilation

    techniques  for  large  scale  feature  models,”  In  Generative Programming  and

    Component  Engineering,  7th  International  Conference, GPCE , Proceedings,

    pp.13–22, 2008.

    [34] D.Fernandez-Amoros, R.Gil and J.Somolinos, “Inferring Information  from Feature

    Diagrams to Product Line Economic Models,” ACM International Conference

    Proceeding Series Vol. 446, Proceedings of the 13th Internationsl Software Product

    Line Conference, pp. 41-50, 2009.

    [35] K.Czarnecki  and  P.Kim  “Cardinality-based  feature  modeling  and constraints: A

    progress report,” International Workshop on Software Factories At OOPSLA 2005,

    PP.331-348, ACM, 2005.

     126

    [36] B.Kasikci and S.Bilgen, “Scalable modeling of software product line variability,”

    13th International Software Product Line Conference, SPLC 2009, Vol. 2, pp. 134-

    141 August 2009.

    [37] D.Benavides, S.Segura and A.Ruiz-Cortés, “Automated analysis of feature models

    20 years later: A literature review,” Information Systems, Volume 35, Issue 6,

    pp.615-636, 2010.

    [38] J.Wijnstra, Quality Attributes and Aspects of a Medical Product Family, IEEE,

    2001.

    [39] Pattern-Based Architecture Analysis and Design of Embedded Software Product

    Lines, EMPRESS consortium, 2003.

    [40] P.Clements, J.McGregor and S.Cohen, The Structured Intuitive Model for Product

    Line Economics (SIMPLE), TECHNICAL REPORT, Carnegie Mellon University,

    2005.

    [41] J.P.Nóbrega, ‘An Integrated Cost Model for Product Line Engineering’, M.Sc.

    Dissertation,  Universidade      Federal  de    Pernambuco,        2008,

    Available:http:..www.ivanmachado.com.br.research.rise.thesis.files.2008_JarleyN

    obrega_msc.pdf

    [42] J.P.Nóbrega, E.S.de Almeida And S.R.L.Meira, “InCoME: Integrated Cost Model

    for Product Line Engineering,” 34th Euromicro Conference Software Engineering

    and Advanced Applications, IEEE, pp.27-34, 2008.

    [43] C.Thörn, A Quality Model for Evaluating Feature Models, Software product line

    conference (SPLC), pp. 184-190, 2007.

    [44] A.Trendowicz and T.Punter, Quality Modeling for Software Product Lines, 7th

    ECOOP Workshop on Quantitative Approaches in Object-Oriented Software

    Engineering (QAOOSE’03), 2003.

    [45] J.Bartholdt, M.Medak  and R.Oberhauser, Integrating Quality Modeling with

    Feature Modeling in Software Product Lines, Fourth International Conference on

    Software Engineering Advances,pp. 365-370, 2009.

    [46] L.Etxeberria, G.Sagardui and L.Belateg, “Quality aware Software Product Line

    Engineering,” Journal of the Brazilian Computer Society, pp.57-69, 2008.

     127

    [47] C.Elsner, G.Botterweck, D.Lohmann and W.Schröder-Preikschat, “Variability in

    Time — Product Line Variability and Evolution Revisited,” Fourth International

    Workshop on Variability Modelling of Software-intensive Systems (VaMos), pp.

    131-137, 2010.

    [48] D.Zubrow and G.Chastek, Measures for Software Product Lines, Technical Report,

    Carnegie Mellon University, 2003.

    [49] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.operations.htm

    [50] A Framework for Software Product Line Practice, Version5.0, 2009, Available:

    http:..www.sei.cmu.edu.productlines.frame_report.tech_planning.htm

    [51] L.G.Jones, Product Line Acquisition in the DoD: The Promise, The Challenges,

    Technical Note, Carnegie Mellon University, 1999.

    [52] P.Berander,  L.Damm,  J.Eriksson, T.Gorschek,  K.  Henningsson,  P.Jönsson,

    S.Kågström, D.Milicic, F.Mårtensson, K.Rönkkö and P.Tomaszewski, Software

    quality attributes and trade-offs, Blekinge Institute of Technology, 2005.

    [53] N.Modiri, K.Sadre Refiei and S.Ahangari, Software Quality, mehregane Ghalam,

    2010.

    [54] F.P.  Brooks,  The  Mythical  Man  Month,  Anniversary  Edition,  ADDISON-

    WESLEY, 1995.

    [55] IEEE, Guide to the Software Engineering, 2004 Version, IEEE, 2004.

    [56] P.Grubb, SOFTWARE MAINTENANCE :Concepts and Practice, SECOND ED

    ITION, World Scientific, 2003.

    [57] J.S.Poulin and J.M.Caruso, A Reuse Metrics and Return on Investment Model,

    IEEE, 1993. 

ثبت سفارش
عنوان محصول
قیمت