ScholarGate
المساعد

صيانة البرمجيات وتطورها

تتعلق صيانة البرمجيات وتطورها بتعديل البرمجيات بعد تسليمها والديناميكيات طويلة الأمد التي يجب أن تتغير بها الأنظمة باستمرار لتبقى مفيدة.

اعثر على موضوع باستخدام PaperMindقريبًاFind papers & topics
Tools & resources
تنزيل الشرائح
Learn & explore
فيديوقريبًا

Definition

صيانة البرمجيات هي تعديل منتج برمجي بعد تسليمه لتصحيح الأخطاء، أو تحسين الأداء، أو تكييفه مع بيئة متغيرة، وتطور البرمجيات هو العملية الأوسع والمستمرة التي تتغير بها البرمجيات على مدار عمرها استجابةً للمتطلبات والبيئات المتغيرة.

Scope

يغطي هذا المجال فئات الصيانة (التصحيحية، التكيفية، التحسينية، الوقائية)؛ القوانين التجريبية لتطور البرمجيات؛ فهم البرامج وتحليل التأثير؛ إعادة الهندسة، الهندسة العكسية، وترحيل الأنظمة القديمة؛ تراكم وإدارة الديون التقنية؛ والعمليات والمعايير التي تحكم الصيانة مثل ISO/IEC 14764.

Sub-topics

Core questions

  • ما هي فئات التغيير التي تشكل الصيانة، وكيف تختلف؟
  • ما هي القوانين التجريبية التي تحكم كيفية تطور البرمجيات بمرور الوقت؟
  • كيف يتم فهم البرمجيات القديمة وإعادة هيكلتها وترحيلها؟
  • كيف يتراكم الدين التقني وكيف تتم إدارته؟

Key theories

فئات صيانة البرمجيات
تصنف الصيانة إلى تصحيحية (إصلاح الأخطاء)، وتكيفية (الاستجابة لتغير البيئة)، وتحسينية (تحسين الوظيفة أو الأداء)، ووقائية (تحسين قابلية الصيانة)، مع هيمنة العمل التكيفي والتحسيني في الممارسة العملية.
قوانين ليمان لتطور البرمجيات
لاحظ ليمان أن الأنظمة المستخدمة بنشاط يجب أن تتغير باستمرار وإلا ستصبح أقل إرضاءً تدريجياً، وأنه مع تطورها يزداد تعقيدها ما لم يتم بذل جهد لتقليله.

Clinical relevance

تستهلك الصيانة عادةً غالبية التكلفة الإجمالية للنظام على مدار عمره، لذا فإن فهم ديناميكيات التطور، والتحكم في نمو التعقيد، وإدارة الديون التقنية أمر حاسم للاقتصاد والجدوى طويلة الأمد للبرمجيات.

Evidence & guidelines

يحدد المعيار ISO/IEC 14764 عملية صيانة البرمجيات، ويوفر مجال المعرفة الخاص بصيانة البرمجيات في SWEBOK إرشادات متفق عليها بشأن فئات الصيانة وأنشطتها وتقنياتها.

History

تزايد الاعتراف بأن الصيانة تهيمن على تكلفة البرمجيات في السبعينيات؛ صاغ ليمان وبلادي قوانين تطور البرمجيات من دراسة تجريبية للأنظمة الكبيرة، وتطورت تقنيات إعادة الهندسة وتحديث الأنظمة القديمة مع تقدم عمر الأنظمة طويلة الأمد وأصبح الدين التقني مصدر قلق معترف به.

Debates

صيانة الأنظمة القديمة أو إعادة هندستها أو استبدالها
يعد اتخاذ قرار بشأن الاستمرار في صيانة نظام قديم، أو إعادة هيكلته، أو استبداله بالكامل، نقاشًا استراتيجيًا متكررًا، يوازن بين مخاطر وتكلفة الاستبدال مقابل التكلفة المتزايدة وهشاشة الصيانة المستمرة.

Key figures

  • Meir M. Lehman
  • Les Belady
  • Ian Sommerville

Related topics

Seminal works

  • lehman1980
  • iso14764
  • sommerville2015

Frequently asked questions

هل الصيانة مجرد إصلاح للأخطاء؟
لا. إصلاح الأخطاء (الصيانة التصحيحية) هو فئة واحدة فقط؛ معظم جهود الصيانة تكون تكيفية وتحسينية — تعديل البرمجيات لتناسب بيئات جديدة وإضافة أو تحسين القدرات — والتي تتجاوز مجتمعة العمل التصحيحي في الأنظمة النموذجية.
لماذا يميل تعقيد البرمجيات إلى النمو بمرور الوقت؟
كما لاحظ ليمان، فإن التغييرات المستمرة لتلبية الاحتياجات المتطورة تضيف بنية وحالات خاصة؛ وما لم يتم بذل جهد متعمد في إعادة الهيكلة وتقليل التعقيد، يصبح النظام أكثر صعوبة في التغيير تدريجياً.

Methods for this concept

Related concepts