تصور البرمجيات

تصور البرمجيات[1][2] أو التصور البرمجي يشير إلى تصوُّر المعلومات المتعلقة بالأنظمة البرمجية والمتعلقة بها، إما معمارية البرمجيات للشيفرة المصدرية الخاصة بها أو مقاييس سلوكها في وقت التنفيذ وعملية تطويرها عن طريق ثابت أو تفاعلي أو متحرك 2-D أو 3-D[3] تمثيلات بصرية لبنيتها،[4] التنفيذ،[5] السلوك،[6] والتطور.

معلومات نظام البرمجياتعدل

يستخدم تصور البرمجيات مجموعة متنوعة من المعلومات المتوفرة حول أنظمة البرامج. تشمل فئات المعلومات الرئيسية ما يلي:

أهدافعدل

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

يمكن استخدام تصور البرمجيات كأداة وتقنية لاستكشاف وتحليل معلومات نظام البرامج، على سبيل المثال، لاكتشاف حالات شاذة تشبه عملية استخراج البيانات المرئية.[8] على سبيل المثال، يُستخدم تصور البرمجيات لمراقبة الأنشطة مثل جودة التعليمات البرمجية أو نشاط الفريق.[9] التصور ليس بطبيعته طريقة لضمان جودة البرمجيات. تشارك تصورات البرمجيات في ذكاء البرمجيات في السماح باكتشاف المكونات الداخلية لأنظمة البرامج والاستفادة منها.

أنواععدل

يمكن استخدام أدوات لتصور البرمجيات لتصور كود المصدر وعيوب الجودة أثناء تطوير البرامج وأنشطة الصيانة. هناك طرق مختلفة لتعيين شيفرة المصدر لتمثيل مرئي مثل خرائط البرامج هدفها يشمل،[10] على سبيل المثال، الاكتشاف والتصور التلقائي لعيوب الجودة في أنظمة وخدمات البرمجيات الموجهة للكائنات. بشكل عام، يتصورون العلاقة المباشرة للفصل وطرقه مع الفصول الأخرى في نظام البرمجيات ويضعون علامة على عيوب الجودة المحتملة. فائدة أخرى هي دعم التنقل البصري من خلال نظام البرمجيات.

يتم استخدام برنامج رسم بياني متخصص أكثر أو أقل لتصور البرمجيات. وجد مسح صغير عام 2003 للباحثين النشطين في مجالات الهندسة العكسية وصيانة البرمجيات أنه تم استخدام مجموعة متنوعة من أدوات التصور، بما في ذلك حزم الرسم البياني للأغراض العامة مثل GraphViz و GraphEd وأدوات لغة النمذجة الموحدة مثل Rational Rose وBorland Together، والمزيد أدوات متخصصة مثل تصور الرسوم البيانية للمترجم (VCG) وريجي.[11] مجموعة أدوات لغة النمذجة الموحدة التي يمكن أن تعمل كمصور بصري من خلال مصدر الهندسة العكسية ليست قصيرة على الإطلاق، أشار كتاب عام 2007 إلى أنه بالإضافة إلى الأداتين السالفتي الذكر، فإن نموذج ESS وBlueJ وFujaba لديهم أيضًا هذه الإمكانية، وأن Fujaba يمكنها أيضًا تحديد أنماط التصميم.[12]

انظر أيضًاعدل

مفاهيم ذات الصلة

مراجععدل

  1. ^ Bohnet, Johannes؛ Döllner (2006)، "Analyzing Feature Implementation by Visual Exploration of Architecturally-Embedded Call-Graphs"، 4th International Workshop on Dynamic Analysis، ACM Press، ص. 41–48، doi:10.1145/1138912.1138922، ISBN 1595934006.
  2. ^ Diehl 2002; Diehl 2007; Knight 2002
  3. ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
  4. ^ Staples & Bieman 1999
  5. ^ Trümper, J.؛ Döllner؛ Telea (2013)، "Multiscale Visual Comparison of Execution Traces"، Proceedings of the International Conference on Program Comprehension، IEEE Computer Society، ص. 53–62، doi:10.1109/ICPC.2013.6613833، ISBN 978-1-4673-3092-3.
  6. ^ (Kuhn & Greevy 2006, Stasko et al. 1998)
  7. ^ Bohnet, J.؛ Voigt؛ Döllner (2009)، "Projecting code changes onto execution traces to support localization of recently introduced bugs"، Proceedings of the 2009 ACM symposium on Applied Computing، ص. 438–442، doi:10.1145/1529282.1529378، ISBN 9781605581668.
  8. ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weißgerber 2005)
  9. ^ Bohnet, J.؛ Döllner (2011)، "Monitoring Code Quality and Development Activity by Software Maps"، Proceedings of the IEEE ACM ICSE Workshop on Managing Technical Debt، Association for Computing Machinery، ص. 9–16، doi:10.1145/1985362.1985365، ISBN 9781450305860.
  10. ^ Limberger, D.؛ Wasty؛ Trümper؛ Döllner (2013)، "Interactive software maps for web-based source code analysis"، Proceedings of the 18th International Conference on 3D Web Technology، ص. 91–98، doi:10.1145/2466533.2466550، ISBN 9781450321334.
  11. ^ Koschke, Rainer (2003)، "Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey"، Journal of Software Maintenance and Evolution: Research and Practice، 15 (2): 87–109، doi:10.1002/smr.270.
  12. ^ Diehl 2007، صفحة 63

قراءة متعمقةعدل

روابط خارجيةعدل

  • SoftVis ندوة ACM حول تصور البرامج
  • VISSOFT مؤتمر العمل الثاني IEEE على تصور البرمجيات
  • EPDV ارض تبعيات مشروع الكسوف