%41تخفیف

دانلود پروژه:اندازه‌گیری قابلیت نگهداری نرم‌افزارهای جنبه‌گرا با استفاده از سیستم استنتاج فازی عصبی تطبیقی

تعداد 93صفحه در فایل word

  • مقدمه

همواره زمان، تلاش و پولی که صرف نگهداري[1] نرم­افزار می‌شود، بیشتر از زمان توسعه[2] نرم‌افزار مد نظر قرار گرفته است [1] همچنین، ابهام در پیش بینی[3] قابلیت نگهداری نرم‌افزار در مراحل آغازین ، فرآیند توسعه را پیچیده‌تر می‌کند. محققان و توسعه‌دهندگان در حال کار بر روی ابداع تکنیک‌ها یا الگوریتم‌های مختلف برای پیش بینی بهتر هستند.

با وجود کارهای تحقیقاتی بسیاری که برای اندازه‌گیری میزان نگهداری یا نگهداشت انجام شده است، هیچ معیار و یا فرمول ثابتی برای اندازه‌گیری و یا ارزیابی قابلیت نگهداری وجود ندارد [1] از میان تمام معیار‌های مربوط به ارزیابی کیفیت نرم‌افزار مانند قابلیت استفاده[4] ، قابلیت اطمینان[5] ، عملکرد[6]  ، کارایی[7]  [2]، ویژگی قابلیت نگهداری به عنوان یک ویژگی بسیار مهم و تأثیرگذار در موفقیت‌ اقتصادی سیستم‌ها و محصولات مهندسی به شمار می‌رود. این یک نیاز مبرم برای مهندسین نرم‌‌افزار است که بفهمند چگونه  اجزای مختلف طراحی در طول فرایند نگهداری با یکدیگر در تعاملند و این حقیقت اهمیت پرداختن به فاکتور قابلیت نگهداری را برجسته می‌کند.

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

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

[1] Maintenance

[2] Development

[3] Prediction

[4] Usability

[5] Reliability

[6] Functionality

[7] Efficiency

[8] Aspect-Oriented Software Engineering

[9] Crosscutting Concern

[10] Aspect-Oriented Programming (AOP)

[11] Metric

  • مقدمه

همواره زمان، تلاش و پولی که صرف نگهداري[1] نرم­افزار می‌شود، بیشتر از زمان توسعه[2] نرم‌افزار مد نظر قرار گرفته است [1] همچنین، ابهام در پیش بینی[3] قابلیت نگهداری نرم‌افزار در مراحل آغازین ، فرآیند توسعه را پیچیده‌تر می‌کند. محققان و توسعه‌دهندگان در حال کار بر روی ابداع تکنیک‌ها یا الگوریتم‌های مختلف برای پیش بینی بهتر هستند.

با وجود کارهای تحقیقاتی بسیاری که برای اندازه‌گیری میزان نگهداری یا نگهداشت انجام شده است، هیچ معیار و یا فرمول ثابتی برای اندازه‌گیری و یا ارزیابی قابلیت نگهداری وجود ندارد [1] از میان تمام معیار‌های مربوط به ارزیابی کیفیت نرم‌افزار مانند قابلیت استفاده[4] ، قابلیت اطمینان[5] ، عملکرد[6]  ، کارایی[7]  [2]، ویژگی قابلیت نگهداری به عنوان یک ویژگی بسیار مهم و تأثیرگذار در موفقیت‌ اقتصادی سیستم‌ها و محصولات مهندسی به شمار می‌رود. این یک نیاز مبرم برای مهندسین نرم‌‌افزار است که بفهمند چگونه  اجزای مختلف طراحی در طول فرایند نگهداری با یکدیگر در تعاملند و این حقیقت اهمیت پرداختن به فاکتور قابلیت نگهداری را برجسته می‌کند.

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

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

[1] Maintenance

[2] Development

[3] Prediction

[4] Usability

[5] Reliability

[6] Functionality

[7] Efficiency

[8] Aspect-Oriented Software Engineering

[9] Crosscutting Concern

[10] Aspect-Oriented Programming (AOP)

[11] Metric

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...
enemad-logo