مروری نظام‌مند بر مهندسی نرم‌افزار جنبه‌گرا: گام‌ها، روش‌ها و چالش‌ها

نویسندگان

دانشگاه فردوسی مشهد

چکیده

800x600































رویکرد مهندسی نرم‌افزار جنبه‌گرا به عنوان روشی نوین مبتنی بر پیمانه‌بندی در توسعه سیستم‌ها می‌باشد که به منظور افزایش قابلیت نگهداری و استفاده مجدد نرم‌افزار مطرح گردیده است. مهندسی نرم‌افزار جنبه‌گرا در صدد پیمانه‌بندی دغدغه‌های مداخله‌ای ‌با بهره‌گیری از مفهوم جنبه می‌باشد. امروزه این رویکرد در محیط‌های تحقیقاتی و صنعت مورد توجه زیادی قرار گرفته است و تاکنون روش‌های متفاوتی پیرامون پیاده‌سازی فازهای مختلف توسعه نرم‌افزار با استفاده از جنبه‌گرایی مطرح شده است که هر کدام از آن‌ها با مزیت‌ها، محدودیت‌ها و کاربردهای متنوعی همراه می‌باشند. با توجه به تعدّد و پراکندگی این روش‌ها، ضرورت ارائه‌ی مروری جامع، کامل و نظام‌مند در این زمینه احساس می‌شود. هدف از این مقاله، بررسی روش‌های مطرح در زمینه توسعه نرم‌افزار جنبه‌گرا، مقایسه تطبیقی آن‌ها و به‌دست آوردن چالش‌های مهم در این حوزه می‌باشد. به همین منظور، روش‌های مختلف را بر اساس گام‌های توسعه نرم‌افزار طبقه‌بندی نموده و به تحلیل و مقایسه تطبیقی نقاط قوّت، محدودیت‌ها و کاربردهای آن‌ها می‌پردازیم. نتایج مقایسه‌های انجام شده، امکان انتخاب مناسب‌ترین روش در هر گام از توسعه نرم‌افزار را برای مهندسان و محققان این حوزه فراهم می‌نماید. Normal 0 false false false EN-US X-NONE AR-SA MicrosoftInternetExplorer4
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal"
mso-tstyle-rowband-size:0
mso-tstyle-colband-size:0
mso-style-noshow:yes
mso-style-priority:99
mso-style-parent:""
mso-padding-alt:0in 5.4pt 0in 5.4pt
mso-para-margin:0in
mso-para-margin-bottom:.0001pt
mso-pagination:widow-orphan
font-size:10.0pt
font-family:"Calibri","sans-serif"}

کلیدواژه‌ها


عنوان مقاله [English]

A systematic review on aspect-oriented software engineering: Phases, techniques, and challenges

نویسندگان [English]

  • Farhad Alaei
  • Abbas Rasoolzadegan
چکیده [English]

Aspect-oriented engineering has been introduced as a new development approach based on modularization in order to increase the maintainability and reusability of software. Aspect-oriented software engineering uses the concept of aspect to modularize crosscutting concerns. Today, this approach is considered in the both research and industrial environments. Different methods has been proposed for implementing the various phases of software development based on aspect orientation. Each of these methods accompanied with privileges, restrictions, and a variety of functionality. With respect to the diversity of these methods, a comprehensive, complete, and systematic literature review needs to be proposed. The purpose of this paper is to review the aspect-oriented development methods and determine their comparative differences in order to obtain the major challenges in this field. To do so, these methods are classified based on the software development phases. The strengths and limitations of them are also described. The results make it possible to select the most appropriate method in each phase of software development for engineers and researchers in this field.

کلیدواژه‌ها [English]

  • aspect orientation
  • concern
  • separation of concerns
  • aspect-oriented software engineering
  • requirements
  • crosscutting concerns