واجهة المستخدم الموجهة للكائنات
في الحوسبة، تعد واجهة المستخدم الموجهة للكائنات (بالإنجليزية: 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 |
المراجع
- ^ Nielsen, J., Usability Engineering. 1993, San Francisco: Morgan Kaufmann / Academic Press
- ^ Collins, D., Designing Object-oriented User interfaces. 1995, Redwood City, CA: Benjamin/Cummings
- ^ Raskin, J., The Humane Interface. 2000, Reading, MA: Addison-Wesley / ACM Press
- ^ Dayton، Tom. "Object-Oriented GUIs are the Future". Presto Innovation Blog. مؤرشف من الأصل في 2017-04-18. اطلع عليه بتاريخ 2017-03-08.
- ^ Constantine, L. and L. Lockwood, Software for use. 1999: Addison-Wesley
- ^ 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-.
- ^ أ ب IBM, Common User Access - Guide to User Interface Design. 1991, IBM: Cary, North Carolina.
- ^ Dave Roberts, Dick Berry, Scott Isensee & John Mullaly, Designing for the User with OVID: Bridging User Interface Design and Software Engineering MacMillan, 1998
- ^ van Harmelen, M., ed.
- ^ Pawson, R., Naked Objects, Ph.D Thesis, 2004, Trinity College, Dublin, Ireland