واجهة المستخدم الموجهة للكائنات

في الحوسبة، تعد واجهة المستخدم الموجهة للكائنات (بالإنجليزية: object-oriented user interface (OOUI))‏ نوعًا من واجهة المستخدم استنادًا إلى مصطح برمجة موجهة للكائنات. في واجهة المستخدم الموجهة للكائنات يتفاعل المستخدم بشكل صريح مع الكائنات التي تمثل الكيانات في النطاق التي يهتم بها التطبيق.تحتوي العديد من تطبيقات رسم المتجهات، على سبيل المثال، في واجهة المستخدم الموجهة للكائنات- الكائنات عبارة عن خطوط ودوائر ولوحات. يمكن للمستخدم تحديد كائن صراحة، أو تغيير خصائصه (مثل الحجم أو اللون)، أو استدعاء إجراءات أخرى عليه (مثل نقله أو نسخه أو إعادة محاذاة). إذا كان تطبيق الأعمال التجارية يحتوي على واجهة المستخدم الموجهة للكائنات، فقد يقوم المستخدم بتحديد و / أو استدعاء الإجراءات على كائنات تمثل الكيانات في مجال الأعمال مثل العملاء أو المنتجات أو الطلبات.

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

يعرف ديف كولينز واجهة المستخدم الموجهة للكائنات بأنه يوضح ثلاث خصائص:

  • إدراك المستخدمين وتصرفاتهم على الكائنات.
  • يمكّن للمستخدمين تصنيف الكائنات بناءً على سلوكها.
  • في سياق ما يحاول المستخدمون القيام به، تتناسب جميع كائنات واجهة المستخدم معًا في تمثيل شامل متماسك.[2]

يقترح جف راسكين أن السمة الأكثر لأهمية واجهة المستخدم الموجهة للكائنات هي أنها تتبنى أسلوب«اسم-فعل»، بدلاً من «فعل-اسم» للتفاعل، وأن هذا له مزايا عديدة من حيث سهولة الاستخدام.[3]

العلاقة بأفكار واجهة المستخدم الأخرى عدل

هناك قدر كبير من التآزر المحتمل بين مفهوم واجهة المستخدم الموجهة للكائنات والأفكار المهمة الأخرى في تصميم واجهة المستخدم بما في ذلك:

تعتمد العديد من التخيلات المستقبلية لواجهات المستخدم بشكل كبير على واجهة المستخدم الموجهة للكائنات وخاصةً مفاهيم واجهات مستخدم رسومية موجهة للكائنات.[4] ومع ذلك، هناك العديد من الأمثلة على واجهات المستخدم التي تنفذ واحدة أو أكثر من تلك الأفكار الأخرى، ولكنها ليست في الواقع واجهات مستخدم موجهة للكائنات - على الرغم من أنها غالبًا ما يتم تصنيفها بشكل خاطئ على أنها واجهات المستخدم الموجهة للكائنات.[5] على العكس، هناك أمثلة على واجهات المستخدم الموجهة للكائنات ليست رسومية، ولا تستخدم تقنيات معالجة مباشرة، ولا تستخدم المصطلحات القوية. على سبيل المثال، كانت الإصدارات الأقدم من لغة برمجة سمول توك تحتوي على واجهة سطر أوامر والتي كانت مع ذلك واضحة أيضًا كواجهة المستخدم الموجهة للكائنات،[6] الرغم من أنها أصبحت معروفة فيما بعد بدورها الرائد في تطوير واجهات المستخدم الرسومية، المعالجة المباشرة للمصطلحات البصرية.

العلاقة بالبرمجة الكائنية عدل

على الرغم من وجود العديد من أوجه الشبه المفاهيمية بين واجهات المستخدم الموجهة للكائنات والبرمجة الموجهة للكائنات، إلا أنه لا يترتب على ذلك ضرورة تنفيذ واجهة المستخدم الموجهة للكائنات باستخدام لغة برمجة موجهة للكائنات.

تنص الإرشادات الخاصة بوصول المستخدم العام لشركة IBM، (ربما كانت المحاولة الأكثر شمولًا لتحديد معيار لتصميم واجهة المستخدم الموجهة للكائنات) على أنه "في حين أن البرمجة الموجهة للكائنات يمكن أن تسهل تطوير واجهة مستخدم موجهة للكائنات، إلا أنها ليست شرط مسبق.يمكن تطوير واجهة مستخدم موجهة للكائنات باستخدام لغات وأدوات برمجة أكثر تقليدية.[7]

العلاقة بنمذجة كائن النطاق عدل

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

تنص إرشادات بوصول المستخدم العام على أنه «في واجهة المستخدم الموجهة للكائنات، فإن الكائنات التي يعمل معها المستخدم لا تتوافق بالضرورة مع كائنات أو نماذج الكود، التي يستخدمها المبرمج لإنشاء المنتج.»[7] تم تحسين طرق التصميم الأساسية الموضحة في بوصول المستخدم العام بشكل أكبر في طريقة OVID[8] التي استخدمت لغة النمذجة الموحدة لنمذجة الواجهة.

يذكر مارك فان هارملن أن "تصميم واجهة المستخدم الموجهة للكائنات لا يتطلب من المصممين أن يأخذوا منظوراً موجّه للمشكلة منذ بداية المشروع. علاوة على ذلك، حتى إذا أخذ المصممون منظورًا موجهًا للكائنات طوال الوقت، فسيستفيدون من فكرة التركيز بشكل منفصل على نموذج الكائن وتصميم واجهة المستخدم الموجهة للكائنات.[9]

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

ملحق: مسرد المصطلحات الإنجليزية عدل

مَسرد المفردات وفق أقسام المقالة
المقدمة
واجهة المستخدم الموجهة للكائنات object-oriented user interface (OOUI)
الكيانات entities
النطاق domain
رسم المتجهات vector drawing
لوحات canvases
إجراءات actions
إعادة محاذاة re-align
تطبيق الأعمال التجارية   business application
استدعاء invoking
كائنات objects
الواجهات الموجهة الوظيفية (الدالية) function-oriented interfaces
بالواجهات دالية التوجه   function-oriented interface
رسومياً graphically
أيقونات icons
النوافذ windows
يوضح demonstrating
خصائص   characteristics
إدراك perceive
تصرفه act
تصنيف classify
الكائنات objects
سلوكها behave
سياق context
تمثيل شامل متماسك coherent overall representation
السمة characteristic
" اسم-فعل" "noun-verb"
"فعل-اسم"   "verb-noun"
العلاقة بأفكار واجهة المستخدم الأخرى
التآزر synergy
واجهة المستخدم الرسومية GUI
تصميم واجهة المستخدم user interface design
المصطلحات القوية strong metaphors
واجهة سطر الأوامر command line interface
العلاقة بالبرمجة الكائنية
شرط مسبق pre-requisite
بوصول المستخدم العام لشركة IBM (CUA) IBM's Common User Access
العلاقة بنمذجة كائن النطاق
العلاقة بنمذجة كائن النطاق domain object modelling
كائنات المجال domain objects
الكائنات المجردة naked objects
كائنات المجال الأساسي underlying domain objects
إنشاء تلقائي auto-generating
واجهات مستخدم رسومية موجهة للكائنات OOGUI

المراجع عدل

  1. ^ Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press
  2. ^ Collins, D., Designing Object-oriented User interfaces. 1995, Redwood City, CA: Benjamin/Cummings
  3. ^ Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press
  4. ^ Dayton، Tom. "Object-Oriented GUIs are the Future". Presto Innovation Blog. مؤرشف من الأصل في 2017-04-18. اطلع عليه بتاريخ 2017-03-08.
  5. ^ Constantine, L. and L. Lockwood, Software for use. 1999: Addison-Wesley
  6. ^ Kay, A., The early history of Smalltalk, in History of Programming Languages, T. Bergin and R. Gibson, Editors. 1996, Addison-Wesley / ACM Press: Reading, MA. p. 511-.
  7. ^ أ ب IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, North Carolina.
  8. ^ Dave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998
  9. ^ van Harmelen, M., ed.
  10. ^ Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Ireland