تضامنًا مع حق الشعب الفلسطيني |
تصور البرمجيات
تصور البرمجيات[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]
انظر أيضًا
- مفاهيم ذات الصلة
مراجع
- ^ Bohnet، Johannes؛ Döllner، Jürgen (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.
- ^ Diehl 2002; Diehl 2007; Knight 2002
- ^ (Marcus, Feng & Maletic 2003; Wettel & Lanza 2007)
- ^ Staples & Bieman 1999
- ^ Trümper، J.؛ Döllner، J.؛ Telea، A. (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.
- ^ (Kuhn & Greevy 2006, Stasko et al. 1998)
- ^ Bohnet، J.؛ Voigt، S.؛ Döllner، J. (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.
- ^ (Keim 2002; Soukup & Davidson 2002; Burch, Diehl & Weißgerber 2005)
- ^ Bohnet، J.؛ Döllner، J. (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.
- ^ Limberger، D.؛ Wasty، B.؛ Trümper، J.؛ Döllner، J. (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.
- ^ 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.
- ^ Diehl 2007، صفحة 63
قراءة متعمقة
- Roels، R.؛ Meştereagă، P.؛ Signer، B. (2016). "An Interactive Source Code Visualisation Plug-in for the MindXpres Presentation Platform". Communications in Computer and Information Science (CCIS). Springer. DOI:10.1007/978-3-319-29585-5_10. ISBN:978-3-319-29584-8.
- Burch، M.؛ Diehl، S.؛ Weißgerber، P. (2005). "Visual data mining in software archives". Proceedings of the 2005 ACM symposium on Software visualization (SoftVis '05). ص. 37–46. DOI:10.1145/1056018.1056024. ISBN:1595930736.
- Diehl، S. (2002). Software Visualization. International Seminar Dagstuhl Castle, Germany, May 20–25, 2001 Revised Papers. Lecture Notes in Computer Science. Springer. ج. 2269. DOI:10.1007/3-540-45875-1. ISBN:978-3-540-43323-1.
- Diehl، S. (2007). Software Visualization — Visualizing the Structure, Behaviour, and Evolution of Software. Springer. ISBN:978-3-540-46504-1.
- Eades، P.؛ Zhang، K. (1996). Software Visualisation. Series on Software Engineering and Knowledge Engineering. World Scientific. ج. 7. ISBN:981-02-2826-0.
- Gîrba، T.؛ Kuhn، A.؛ Seeberger، M.؛ Ducasse، S. (2005). "How Developers Drive Software Evolution" (PDF). Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005). IEEE Computer Society Press. ص. 113–122. DOI:10.1109/IWPSE.2005.21. ISBN:0-7695-2349-8.
- Keim، D.A. (يناير–مارس 2002). "Information visualization and visual data mining". IEEE Transactions on Visualization and Computer Graphics. ج. 8 ع. 1: 1–8. DOI:10.1109/2945.981847.
- Knight، C. (2002). "System and Software Visualization". في Chang Shi-kuo (المحرر). Emerging Technologies. Handbook Of Software Engineering And Knowledge Engineering. World Scientific. ج. 2. ص. 131–148. ISBN:978-981-4491-78-5.
- Kuhn، A.؛ Greevy، O. (2006). "Exploiting the Analogy Between Traces and Signal Processing" (PDF). Proceedings IEEE International Conference on Software Maintenance (ICSM 2006). IEEE Computer Society Press. ص. 394–5. DOI:10.1109/ASE.2004.1342773. ISBN:0-7695-2131-2.
- Lanza، M. (2004). "CodeCrawler — polymetric views in action". Proceedings. 19th International Conference on Automated Software Engineering, Linz, Austria, 20 24 Sept. 2004. ص. 394–5. DOI:10.1109/ASE.2004.1342773. ISBN:0-7695-2131-2.
- Lopez، F.L.؛ Robles، G.؛ Gonzalez، B.J.M. (2004). "Applying social network analysis to the information in CVS repositories". International Workshop on Mining Software Repositories (MSR 2004)" W17S Workshop 26th International Conference on Software Engineering, Edinburgh, Scotland, UK, 25 May 2004. IET. ص. 101–5. DOI:10.1049/ic:20040485. ISBN:0-86341-432-X.
- Marcus، A.؛ Feng، L.؛ Maletic، J.I. (2003). "3D representations for software visualization". Proceedings of the 2003 ACM symposium on Software visualization. ص. 27–ff. DOI:10.1145/774833.774837. ISBN:1581136420.
- Soukup، Tom؛ Davidson، Ian (2002). Visual Data Mining: Techniques and Tools for Data Visualization and Mining. Wiley. ISBN:978-0-471-27138-3. مؤرشف من الأصل في 2020-07-21.
- Staples، M.L.؛ Bieman، J.M. (1999). "3-D Visualization of Software Structure". Advances in Computers. ج. 49: 96–143. DOI:10.1016/S0065-2458(08)60284-3. ISBN:9780120121496.
- Stasko، John؛ Brown، Marc H.؛ Domingue، John B.؛ Price، Blaine A. (1998). Software Visualization: Programming as a Multimedia Experience. MIT Press. ISBN:978-0-262-19395-5. مؤرشف من الأصل في 2020-07-21.
- Van Rysselberghe، F.؛ Demeyer، S. (2004). "Studying Software Evolution Information By Visualizing the Change History". Proceedings. 20th International Conference On Software Maintenance. IEEE Computer Society Press. ص. 328–337. DOI:10.1109/ICSM.2004.1357818. ISBN:0-7695-2213-0.
- Wettel، R.؛ Lanza، M. (2007). "Visualizing Software Systems as Cities". Proceedings of VISSOFT 2007 (4th IEEE International Workshop on Visualizing Software For Understanding and Analysis). IEEE Computer Society Press. ص. 92–99. DOI:10.1109/VISSOF.2007.4290706. ISBN:978-1-4244-0599-2.
- Zhang، K. (2003). Software Visualization — From Theory to Practice. Kluwer. ISBN:1-4020-7448-4.