چکیده
معماری خط تولید (PLA) یک خط تولید نرم افزار (SPL)، معماری اصلی ای است که نمایانگر طراحی با کیفیتی برای تمامی تولیدات SPL که شامل نقاط تغییر و متغیر ها می باشد است. اگر مستندات PLA گم شده باشند می توان آنها را با مهندسی معکوس محصولات بدست آورد. PLA بازیابی شده ابزاری مفید برای تولیدکنندگان و معماران به شمار می آید، که با استفاده از آن می توان فعالیتهای خاصی در زمینه تولید SPL و تکامل مانند، شناخت ساختارها و نقاط تغییر آن و همچنین ارزیابی استفاده مجدد انجام داد. این مقاله مطالعه ای اکتشافی ارائه می دهد که در آن تاثیر PLA های بازیابی شده به منظور شناسایی تغییر پذیری و پشتیبانی از ارزیابی استفاده مجدد، بررسی شده است. ما PLA 15 پروژه متن باز SPL را با استفاده از PLAR که یک ابزار در زمینه بازیابی PLA و ارزیابی بر اساس اطلاعات استخراجی از کد منبع محصولات SPL می باشد، بازیابی کردیم. برای هر پروژه، ارزیابی استفاده مجدد توسط معیارهای استفاده مجدد موجود حمایت می شدند. نتایج بدست آمده حاکی از آن بودند که تعداد محصولات استفاده شده در بازیابی PLA بر شناسایی تغییر پذیری تاثیر گذار بوده و تعداد ویژگی های اختیاری بر روی سرعت استفاده مجدد از اجزا تاثیر داشتند. این یافته ها نشان می دهند که تعداد حد اقلی از محصولات می بایست به عنوان نماینده شناسایی شده و برای بازیابی PLA انتخاب شوند، و نیز سرعت استفاده مجدد از اجزا می بایست به عنوان معیاری برای ارزیابی استفاده مجدد SPL در نظر گرفته شود.
1 مقدمه
بسیاری از شرکتها – اکثرا در صنایع خودرویی، هوافضا و صنایع الکترونیکی – سبدی از محصولات نرم افزاری خود را که تصور می شود احتیاجات مشابه ونه دقیق مشتری را برطرف می سازد ایجاد می کنند. خط تولید نرم افزار (SPL) به تعدادی سیستم نرم افزاری گفته می شود که دارای ویژگیهایی مشترک و متغیراند که نیازهای ویژه بخش خاصی از بازار را برطرف می کند (18). مهندسی SPL از توسعه و مدیریت سبدی از محصولات که باعث برجسته شدن نقاط مشترک و تغییر پذیری می شود پشتیبانی کرده و تشویق به استفاده مجدد و شخصی سازی می کند. استفاده از پارادایم SPL مزایایی همچون، اطمینان بیشتر به محصول، دسترسی سریعتر به بازار و کاهش هزینه ها را به همراه دارد (1).
7. نتیجه گیری
بازیابی معماری خطوط تولید، اطلاعات مفیدی را برای توسعه دهندگان SPL و معماران در زمینه حمایت از نگهداری، کسب شناخت از بکارگیری تغییرپذیری SPL و تشویق به استفاده مجدد، ارائه می دهد. اجزای PLA بازیابی شده و روابط میان آنها می تواند به عنوان پایه ای برای انواع مختلفی از تصویرسازی هایی که تغییر پذیری را به تصویر می کشند و برای انجام انواع آنالیزها (یعنی:شناسایی اجزایی که احتمال استفاده مجدد از آنها بیشتر است، و آنالیز پراکندگی به هنگام بکار گیری تغییرات در زمینه استفاده مجدد)، استفاده شود.
ABSTRACT
The Product Line Architecture (PLA) of a Software Product Line (SPL) is the core architecture that represents a high-level design for all the products of an SPL, including variation points and variants. If PLA documentation is missing, it can be recovered by reverse engineering the products. The recovered PLA is a relevant asset for developers and architects, that can be used to drive specific activities of SPL development and evolution, such as, understanding its structure and its variation points, and assessing reuse. This paper presents an exploratory study that investigated the effectiveness of recovered PLAs to address variability identification and support reuse assessment. We recovered the PLA of 15 open source SPL projects using the PLAR, a tool that supports PLA recovery and assessment based on information extracted from SPL products’ source code. For each project, reuse assessment was supported by existing reuse metrics. The yielded results revealed that the number of products used in PLA recovery affected the variability identification, and the number of optional features affected the components reuse rate. These findings suggest that a minimum set of representative products should be identified and selected for PLA recovery, and the component reuse rate is a candidate metric for SPL reuse assessment.
1 INTRODUCTION
Many companies – mainly in the automotive, aerospace, and electronics industries – develop a portfolio of related software products, conceived to satisfy similar, but not identical, needs of their customers. A Software Product Line (SPL) is a set of software systems that share a common and variable set of features satisfying the specific needs of a particular market segment [18]. SPL engineering supports the development and management of a product portfolio, highlighting the commonalities and variabilities, promoting reuse, and fostering customization. The adoption of the SPL paradigm brings benefits, including improved product reliability, faster time to market, and reduced costs [1].
7 CONCLUDING REMARKS
Product Line Architecture recovery provides useful information for SPL developers and architects, to support maintenance, understand the implementation of SPL variability and foster reuse. The recovered PLA components and their relationships can serve as a basis for different types of visualization that expose variability, and for different types of analysis (e.g. identification of components that are more likely to be reused, propagation analysis during the implementation of reuse changes).
چکیده
1 مقدمه
2. طراحی مطالعه
2.1 سوالات مطالعاتی
2.2 فرضیه
2.3 معیارها
2.4 روند آنالیز
3 انجام مطالعه
3.1 آماده سازی
3.2 اجرا
3.3 جمع آوری اطلاعات
4. آنالیز اطلاعات
4.1 آمار توصیفی
4.2 نتایج کشش خطوط تولید
4.3 نتایج Video On Demand
4.4 نتایج Zip Me
4.5 نتایج Game of Life
4.6 نتایج خط تولید نمودار
4.7 نتایج Prop4J
4.8 نتایج BankAccountV2
4.9 نتایج DesktopSearcher
4.10 نتایج PayCard
4.11 نتایج PokerSPL
5 بحث
5.1 پاسخ هایی برای سوالات تحقیقاتی
5.2 یافته های کلی
5.3 تهدید هایی برای اعتبار
6. مقالات مرتبط
7. نتیجه گیری
منابع
ABSTRACT
1 INTRODUCTION
2 STUDY DESIGN
2.1 Research Questions
2.2 Hypotheses
2.3 Metrics
2.4 Analysis Procedure
3 STUDY OPERATION
3.1 Preparation
3.2 Execution
3.3 Data collection
4 DATA ANALYSIS
4.1 Descriptive Statistics
4.2 Draw Product Line Results
4.3 Video on Demand Results
4.4 Zip Me Results
4.5 Game of Life Results
4.6 Graph Product Line Results
4.7 Prop4J Results
4.8 BankAccountV2 Results
4.9 DesktopSearcher Results
4.10 PayCard Results
4.11 PokerSPL Results
5 DISCUSSION
5.1 Answers to the Research Questions
5.2 General Findings
5.3 Threats to Validity
7 CONCLUDING REMARKS
6 RELATED WORK
REFERENCES