If you do not find what you're looking for, you can use more accurate words.
تمثل خريطة البرمجيات معلومات ثابتة وديناميكية وتطورية لأنظمة البرامج وعمليات تطوير البرمجيات الخاصة بها عن طريق تصور المعلومات الموجهة للخريطة ثنائية الأبعاد أو ثلاثية الأبعاد. وهو يشكل مفهومًا وأداة أساسية في تصور البرمجيات، وتحليلات البرمجيات، وتشخيص البرمجيات. تشمل تطبيقاته الأساسية تحليل المخاطر ومراقبة جودة التعليمات البرمجية أو نشاط الفريق أو تقدم تطوير البرمجيات وبشكل عام تحسين فعالية هندسة البرمجيات فيما يتعلق بجميع الأدوات والعمليات وأصحاب المصلحة ذات الصلة طوال عملية هندسة البرمجيات وصيانة البرمجيات.
يتم تطبيق خرائط البرمجيات في سياق هندسة البرمجيات: عادة ما تواجه مشاريع تطوير البرمجيات المعقدة والطويلة صعوبات متعددة مثل الاحتكاك بين إكمال ميزات النظام، وفي الوقت نفسه، الحصول على درجة عالية من جودة التعليمات البرمجية وجودة البرمجيات لضمان صيانة البرمجيات للنظام في المستقبل. على وجه الخصوص، "يميل الحفاظ على أنظمة البرامج المعقدة إلى أن يكون مكلفًا لأن المطورين يقضون جزءًا كبيرًا من وقتهم في محاولة فهم بنية النظام وسلوكه". تتمثل الفكرة الرئيسية لخرائط البرمجيات في التعامل مع هذا التحدي ومشكلات التحسين من خلال توفير وسائل اتصال فعالة لسد فجوة الاتصال بين مختلف أصحاب المصلحة ومجالات المعلومات ضمن مشاريع تطوير البرمجيات والحصول على رؤى بمعنى تصور المعلومات.
تستفيد خرائط البرمجيات من تقنيات الخرائط المحددة جيدًا باستخدام استعارة نموذج المدينة الافتراضية ثلاثية الأبعاد للتعبير عن مساحة المعلومات المعقدة والمجردة. الاستعارة مطلوبة "نظرًا لأن البرنامج ليس له شكل مادي، فلا يوجد تخطيط طبيعي للبرنامج لفضاء ثنائي الأبعاد". خرائط البرمجيات هي خرائط غير مكانية يتعين عليها تحويل بيانات التسلسل الهرمي وخصائصها إلى تمثيل مكاني.
تسمح خرائط البرمجيات عمومًا بالاتصال المفهوم والفعال للدور، والمخاطر، وتكاليف مشاريع تطوير البرمجيات إلى مختلف أصحاب المصلحة مثل فرق الإدارة والتطوير. إنها تنقل حالة التطبيقات والأنظمة التي يتم تطويرها حاليًا أو تطويرها إلى قادة المشروع والإدارة في لمحة. "إن أحد الجوانب الرئيسية لصنع القرار هذا هو أن خرائط البرمجيات توفر السياق الهيكلي المطلوب للتفسير الصحيح لمؤشرات الأداء هذه". كأداة اتصال، تعمل خرائط البرامج كمساحات معلومات مفتوحة وشفافة تمكن أولويات جودة الشيفرة وإنشاء وظائف جديدة من الموازنة مع بعضها البعض واتخاذ قرار بشأن وتنفيذ التدابير اللازمة لتحسين عملية تطوير البرمجيات.
على سبيل المثال، فإنها تسهل اتخاذ القرارات بشأن المكان الذي يمكن أن تكون فيه الزيادة في الجودة في المدونة مفيدة لتسريع أنشطة التطوير الحالية ولتقليل مخاطر مشكلات الصيانة المستقبلية.
نظرًا لدرجة تعبيرها العالية (على سبيل المثال، كثافة المعلومات) وتوليدها الفوري والآلي، تعمل الخرائط أيضًا على عكس الوضع الحالي لعمليات النظام والتطوير، وسد فجوة المعلومات الأساسية بين فرق الإدارة والتطوير، وتحسين الوعي حول الحالة، وتعمل كأداة للكشف المبكر عن المخاطر.
تستند خرائط البرمجيات على معلومات موضوعية كما هو محدد بواسطة تحليل الكود المدفوع بمؤشر الأداء الرئيسي بالإضافة إلى المعلومات المستوردة من أنظمة مستودع البرمجيات أو المعلومات من الشيفرات المصدرية أو أدوات تطوير البرمجيات وأدوات البرمجة. على وجه الخصوص، لا ترتبط خرائط البرامج بلغة برمجة معينة أو لغة النمذجة أو نموذج عملية تطوير البرمجيات.
تستخدم خرائط البرمجيات التسلسل الهرمي لأدوات تنفيذ البرنامج مثل ملفات التعليمات البرمجية المصدر كقاعدة لإنشاء مخطط شجرة، أي منطقة مستطيلة تمثل التسلسل الهرمي بأكمله، وتقسيم المنطقة إلى مناطق فرعية مستطيلة. تبدو خريطة البرمجيات، بشكل غير رسمي، مشابهة لنموذج المدينة الافتراضية ثلاثي الأبعاد، حيث تظهر القطع الأثرية لنظام البرامج كمباني أو أبراج ثلاثية الأبعاد افتراضية، مستطيلة، يتم وضعها وفقًا لموضعها في التسلسل الهرمي لتنفيذ البرامج.
يمكن لخرائط البرمجيات التعبير عن المعلومات المتعلقة بتطوير البرامج وجودة البرامج وديناميكيات النظام ودمجها من خلال تعيين هذه المعلومات على المتغيرات المرئية لعناصر خريطة الشجرة مثل حجم البصمة أو الارتفاع أو اللون أو الملمس. يمكن تحديدها وتنظيمها وتنظيمها تلقائيًا بواسطة القوالب.
تجمع خرائط البرمجيات "المعلومات المواضيعية حول عمليات تطوير البرمجيات (التطور)، وجودة البرمجيات، وهيكلها، وديناميكياتها، وتعرض تلك المعلومات بطريقة رسم الخرائط". فمثلًا:
باستخدام هذا التكوين المثالي، تُظهر خريطة البرنامج نقاطًا مهمة في شيفرة المصدر مع العلاقات بجوانب عملية تطوير البرمجيات. على سبيل المثال، يصبح من الواضح في لمحة سريعة ما يجب تغييره من أجل:
تمثل خرائط البرامج أدوات رئيسية في نطاق التشخيص الآلي لبرمجيات التشخيص.
يمكن استخدام خرائط البرمجيات، على وجه الخصوص، كأداة تحليل وعرض لأنظمة ذكاء الأعمال، المتخصصة في تحليل البيانات المتعلقة بالبرمجيات. علاوة على ذلك، تعمل خرائط البرمجيات "كنظم توصية لهندسة البرمجيات".
لا تقتصر خرائط البرمجيات على المعلومات المتعلقة بالبرامج: يمكن أن تتضمن أي معلومات للنظام الهرمي أيضًا، على سبيل المثال، معلومات الصيانة حول التحف الفنية المعقدة.
يتم التحقيق في خرائط البرمجيات في مجال تصور البرمجيات. عادة ما يعتمد تصور خرائط البرمجيات على رسم الخرائط الشجرية، "نهج ملء الفراغ لتصور هياكل المعلومات الهرمية" أو طرق رسم الخرائط الهرمية الأخرى.
لإنشاء خرائط البرمجيات، يتم استخدام أساليب تخطيط مختلفة لإنشاء الخرائط المكانية الأساسية للمكونات مثل:
يعتمد الترتيب المكاني المحسوب بواسطة التخطيطات مثل التي تحددها خرائط الأشجار بشكل صارم على التسلسل الهرمي. إذا كان يجب إنشاء خرائط البرمجيات بشكل متكرر لنظام متطور أو متغير، فإن قابلية استخدام خرائط البرامج تتأثر بالتخطيطات غير المستقرة، أي أن التغييرات الطفيفة في التسلسل الهرمي قد تسبب تغييرات كبيرة في التخطيط.
على النقيض من خوارزميات فورونوي تريماب العادية، والتي لا توفر تخطيطات حتمية، يمكن توسيع خوارزمية تخطيط مخطط فورونوي لتوفير درجة عالية من التشابه في التخطيط لمختلف التسلسلات الهرمية. توجد مناهج مماثلة في الحالة القائمة على خريطة الشجرة.
تنتمي أساليب وتقنيات خرائط البرمجيات إلى الانضباط العلمي لتصور البرمجيات وتصور المعلومات. وهي تشكل مفهومًا وتقنية أساسية في مجالات تشخيص البرمجيات. لديهم تطبيقات أيضًا في مجال استخراج البرمجيات وتحليلات البرمجيات. تم تطوير خرائط البرمجيات والبحث عنها على نطاق واسع، على سبيل المثال، في معهد هاسو بلاتنر لهندسة أنظمة تكنولوجيا المعلومات، على وجه الخصوص لأنظمة وتطبيقات تكنولوجيا المعلومات المعقدة على نطاق واسع.