ما الذي يجعل واجهة المستخدم فعالة لعرض إصدارات البيانات الهرمية المنظمة

StackOverflow https://stackoverflow.com/questions/2550633

  •  23-09-2019
  •  | 
  •  

سؤال

يعرض نظام التحكم في الإصدار التقليدي معلومات الإصدار من خلال تجميع المشاريع->المجلدات->الملفات مع عرض الشجرة على اليسار وعرض التفاصيل على اليمين، ثم ستنقر على كل عنصر لإلقاء نظرة على سجل المراجعة لسجل التكوين هذا.

على افتراض أن لدي جميع معلومات الإصدارات التاريخية المتاحة لمشروع ما من منظور النموذج الموجه للكائنات (على سبيل المثال.الفئات -> الأساليب -> المعلمات وما إلى ذلك)، ما هي الطريقة الأكثر فعالية في رأيك لتقديم مثل هذه المعلومات في واجهة المستخدم بحيث يمكنك التنقل بسهولة والوصول إلى عرض اللقطة للمشروع وكذلك معلومات الإصدارات التاريخية؟ضع نفسك في موقف أنك تستخدم أداة مثل هذه كل يوم في عملك وكأنك تستخدم حاليًا SVN أو SS أو Perforce أو أي نظام VCS، مما سيساهم في سهولة استخدام الأداة وإنتاجيتها وفعاليتها.

أنا شخصياً أجد أن الطريقة الكلاسيكية لعرض المجلدات والملفات الموضحة أعلاه مقيدة للغاية وأقل فعالية لعرض النماذج المنطقية المتداخلة بعمق.بافتراض أن هذا مشروع جديد وغير مقيد بتكنولوجيا محددة، كيف تعتقد أنه يجب علي التعامل مع هذا الأمر بشكل أفضل؟

أنا أبحث عن فكرة ومدخلات هنا لإضافة قيم إلى مشروعي البحثي.لا تتردد في تقديم أي اقتراحات تعتقد أنها ذات قيمة.شكرا مرة أخرى لأي شخص يشارك أفكاره.

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

هل كانت مفيدة؟

المحلول

بدلا من محاولة الاختيار واحد مخطط العرض التقديمي لمطابقة مستويات n من المعلومات في واجهة المستخدم الرسومية، فلماذا لا نسمح للمستخدم باختيار المستوى المناسب من التفاصيل التي يريدها أو يحتاجها؟

توقعات - وجهات نظر

يعد Eclipse أحد الأمثلة (وليس الوحيد) الذي يسمح للمستخدم بذلك تحديد وجهات النظر.

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

توقعات - وجهات نظر يمكن تكييفها بسهولة مع أي نوع من عرض المعلومات الهرمية.

Perspective

تصفية المعلومات لكل مهمة

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

يرى ميلين على سبيل المثال:

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

مرة أخرى، يمكن تطبيق ذلك على أي نوع من المعلومات.

http://www.tasktop.com/sites/default/files/images/part1-overview.jpg

نصائح أخرى

ماذا عن الاختلاف في مؤامرة الجذع والأوراق؟

http://en.wikipedia.org/wiki/Stemplot

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

* Root Directory
    * Sub Directory A
        * File A.A     | 1 2 3
        * File A.B     | 1 2
    * File A           | 1 2 3 4 5 6 7 8 9
    * File B           | 1 2 3 4 5

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

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

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

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

لبحثك قد ترغب في استخدام النموذج الخماسي الأبعاد لهذا:

  • النسخة (الرغبة في التغيير)
  • الحالة (دورة الحياة:الإنشاء والاختبار والنشر والتقاعد)
  • عرض (المتطلبات، التعليمات البرمجية، الاختبار، الوثائق)
  • التسلسل الهرمي (الوحدة النمطية والطبقة والطريقة)
  • البديل (متشابه إلى حد كبير، ويصف الاختلافات، وعائلات المنتجات)

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

المرجع:

إدارة بيانات التصميم:الأبعاد الخمسة لأطر عمل CAD، وإدارة التكوين، وإدارة بيانات المنتج.
فان دن هامر، P.ليبوتر، ك.
فيليبس ريس، أيندهوفن؛

تظهر هذه الورقة في: وقائع IEEE
تاريخ النشر:يناير 1996
مقدار:84، العدد:1
على الصفحة (الصفحات):42-56
الرقم الدولي الموحد للدوريات:0018-9219
قائمة المراجع:26
الكود:إيباد
رقم الانضمام إلى INSPEC:5175049
معرف الكائن الرقمي:10.1109/5.476025
النسخة الحالية المنشورة:2002-08-06

حسنًا، سأبدأ بالصومعة، والأسطوانات العمودية، لكل فرع:dev، Release، سيكون له واحد أو أكثر هنا.يجب عليك أن تضع بصريًا الإصدارات التي تم الالتزام بها تاريخيًا في تلك الصومعة.بين تلك الإصدارات سيكون لديك أي عدد من التغييرات الأخرى التي ستعود في النهاية.

توجد على طول كل حلقة نقاط التزام خارج الصومعة بعدد x من التغييرات.تخيل أنها مسطحة بشكل منطقي مثل الفاكهة المتدلية، سيكون الأمر عبارة عن فوضى مشوشة قليلاً من المستوى العالي ولكن نسيج الفاكهة ولونها ونمطها وحجمها سيعطيك إحساسًا بما حدث.سيؤدي التمرير فوق الفاكهة أيضًا إلى تقديم أي تعليقات تم إجراؤها مع الالتزام.

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

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

آمل أن ينقل هذا الرسم الخام فكرتي بشكل أفضل قليلاً.نص بديل http://img704.imageshack.us/img704/9034/img0507h.jpg

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

لكل عنصر، من المستوى الأدنى إلى المستوى الأعلى، احسب نسبة التعديل:

  • لطريقة أو سمة :100% إذا تم إنشاؤها/تعديلها/حذفها، 0% بخلاف ذلك
  • لفئة :متوسط ​​جميع العناصر المضمنة (الطريقة أو السمة)، أو 100% في حالة إنشائها/حذفها
  • نفس الشيء بالنسبة للعناصر الأعلى (100% إذا تم إنشاؤها/حذفها، يعني المكونات بخلاف ذلك).

الآن عليك الحصول على تمثيل يوضح البنية الهرمية.
يمكنك (على سبيل المثال) استخدام شعاعي:المشروع في المركز (أي دائرة).يتم تقديم التجميع كحلقة حولها، حيث تأخذ كل مجموعة نفس المساحة.تمثل حلقة المستوى الثالث الوحدات، حيث تأخذ كل وحدة نفس المساحة لتجميعها (على سبيل المثال، إذا كان هناك 4 مجموعات، تحصل كل وحدة على 90 درجة، وإذا كانت المجموعة تحتوي على 3 وحدات، فإن كل وحدة تحصل على ثلث تلك الـ 90 درجة) ، وما إلى ذلك وهلم جرا.يحصل كل عنصر على لون معين من نسبة التعديل الخاصة به (0% = أخضر = بدون تعديل، > 85% = أحمر = تعديل ثقيل)

يمكن أن يكون المثال مثل http://www.neoformix.com/2006/BB_TopicRadialTreemapImages.png أو http://www.datavisualization.ch/wp-content/uploads/2009/04/stacked_wedge_01.png

على الجانب المؤيد، يمكنك أن ترى بسرعة أين حدث التعديل وعلى أي مستوى.
على الجانب الناقص، هذا يعطي تعديلاً منذ تاريخ مرجعي، والملف الذي تم تعديله مرة أو مرتين هو نفس الملف الذي تم تعديله 10 مرات.قد يتعين عليك أيضًا إضافة تلميحات أدوات لتسهيل التنقل، حيث قد يصبح المستوى 6 غير قابل للقراءة بسرعة (ولكن بعد ذلك يمكنك عرض فقط 4 من 5 مستويات أعلى...)

يعتبر
غيوم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top