واجهة مستخدم موجهة للكائنات
في مجال الحوسبة ، تُعدّ واجهة المستخدم الكائنية ( OOUI ) نوعًا من واجهات المستخدم القائمة على استعارة البرمجة الكائنية ، وهي تُطبّق على معظم أنظمة التشغيل الحديثة (" أنظمة التشغيل الكائنية ") مثل macOS و Unix . في واجهة المستخدم الكائنية، يتفاعل المستخدم بشكل مباشر مع الكائنات التي تُمثّل الكيانات في المجال الذي يُعنى به التطبيق. على سبيل المثال، تحتوي العديد من تطبيقات الرسم المتجهي على واجهة مستخدم كائنية، حيث تكون الكائنات عبارة عن خطوط ودوائر ولوحات رسم. يمكن للمستخدم تحديد كائن بشكل مباشر، أو تغيير خصائصه (مثل الحجم أو اللون)، أو تنفيذ إجراءات أخرى عليه (مثل نقله أو نسخه أو إعادة محاذاته). إذا كان تطبيق الأعمال يحتوي على أي نوع من واجهات المستخدم الكائنية، فقد يقوم المستخدم بتحديد و/أو تنفيذ إجراءات على كائنات تُمثّل كيانات في مجال الأعمال مثل العملاء أو المنتجات أو الطلبات.
يُعرّف جاكوب نيلسن واجهة المستخدم الموجهة للكائنات (OOUI) على عكس الواجهات الموجهة للوظائف: "تُوصَف الواجهات الموجهة للكائنات أحيانًا بأنها تُقلب التطبيق رأسًا على عقب مقارنةً بالواجهات الموجهة للوظائف. ويتغير التركيز الرئيسي للتفاعل ليصبح بيانات المستخدمين وكائنات المعلومات الأخرى التي تُمثَّل عادةً بشكل رسومي على الشاشة كأيقونات أو في نوافذ." [ 1 ]
يُعرّف ديف كولينز واجهة المستخدم الرسومية بأنها تُظهر ثلاث خصائص:
- يدرك المستخدمون الأشياء ويتفاعلون معها
- يمكن للمستخدمين تصنيف الأشياء بناءً على سلوكها
- في سياق ما يحاول المستخدمون القيام به، تتناسب جميع عناصر واجهة المستخدم معًا في تمثيل شامل متماسك [ 2 ]
يقترح جيف راسكين أن أهم سمة لواجهة المستخدم الموجهة للكائنات هي أنها تعتمد أسلوب "الاسم-الفعل" بدلاً من أسلوب "الفعل-الاسم" في التفاعل، وأن هذا له العديد من المزايا من حيث سهولة الاستخدام. [ 3 ]
العلاقة بأفكار واجهة المستخدم الأخرى
توجد إمكانية كبيرة للتكامل بين مفهوم واجهة المستخدم الموجهة للكائنات (OOUI) وأفكار أخرى مهمة في تصميم واجهة المستخدم، بما في ذلك:
تعتمد العديد من التصورات المستقبلية لواجهات المستخدم بشكل كبير على مفاهيم واجهات المستخدم الموجهة للكائنات (OOUI)، وخاصةً واجهات المستخدم الموجهة للكائنات من نوع OOGUI. [ 4 ] ومع ذلك، توجد أمثلة عديدة لواجهات مستخدم تُطبّق فكرةً أو أكثر من تلك الأفكار، ولكنها ليست في الواقع واجهات مستخدم موجهة للكائنات - على الرغم من أنها تُصنّف خطأً على هذا النحو. [ 5 ] في المقابل، توجد أمثلة على واجهات مستخدم موجهة للكائنات ليست رسومية، ولا تستخدم تقنيات التلاعب المباشر، ولا تستخدم استعارات قوية. على سبيل المثال، احتوت الإصدارات الأولى من لغة برمجة Smalltalk على واجهة سطر أوامر كانت مع ذلك واجهة مستخدم موجهة للكائنات بوضوح، [ 6 ] على الرغم من أنها اشتهرت لاحقًا بدورها الرائد في تطوير واجهات المستخدم الرسومية، والتلاعب المباشر، والاستعارات البصرية .
العلاقة بالبرمجة الكائنية التوجه
على الرغم من وجود العديد من أوجه التشابه المفاهيمية بين واجهات المستخدم الموجهة للكائنات والبرمجة الموجهة للكائنات ، إلا أنه لا يترتب على ذلك أن واجهة المستخدم الموجهة للكائنات يجب تنفيذها باستخدام لغة برمجة موجهة للكائنات .
نصت إرشادات الوصول المشترك للمستخدم (CUA) من شركة IBM (والتي ربما تكون المحاولة الأكثر شمولاً لتحديد معيار لتصميم واجهة المستخدم الموجهة للكائنات) على أنه "على الرغم من أن البرمجة الموجهة للكائنات يمكن أن تسهل تطوير واجهة مستخدم موجهة للكائنات، إلا أنها ليست شرطًا أساسيًا. يمكن تطوير واجهة مستخدم موجهة للكائنات باستخدام لغات وأدوات برمجة أكثر تقليدية." [ 7 ]
ومع ذلك، توجد أوجه تآزر قوية. وقد أكد لاري تيسلر ، الذي غادر مركز أبحاث زيروكس بارك عام 1980 لينضم إلى شركة آبل، على هذه العلاقة.
افترض العديد من المراقبين أن واجهة مستخدم Smalltalk ولغة Smalltalk ابتكاران منفصلان. ونتيجةً لذلك، صُممت معظم الأنظمة المتأثرة بواجهة مستخدم Smalltalk دون اللجوء إلى أسلوب تنفيذ Smalltalk. في شركة Apple، بعد استخدام Pascal لتنفيذ ستة تطبيقات أولية لـ Lisa ، اكتشفنا أسبابًا وجيهة لتغيير لغة البرمجة لدينا لدمج المزيد من أفكار Smalltalk. تُكتب تطبيقات Lisa الآن بلغة Clascal ، وهي امتداد لـ Pascal تتميز بالكائنات والفئات والفئات الفرعية واستدعاء الإجراءات عبر تمرير الرسائل. [ 8 ]
العلاقة بنمذجة كائنات المجال
ثمة ترابط واضح بين مفهوم واجهة المستخدم الموجهة للكائنات (OOUI) وفكرة بناء البرمجيات من كائنات المجال . مع ذلك، لا يعني هذا بالضرورة أن الكائنات التي يراها المستخدم ويتفاعل معها داخل واجهة المستخدم الموجهة للكائنات (OOUI) يجب أن تتطابق مع كائنات المجال التي بُني عليها التطبيق.
نصت إرشادات CUA على أنه "في واجهة المستخدم الموجهة للكائنات، لا تتطابق الكائنات التي يتعامل معها المستخدم بالضرورة مع الكائنات أو وحدات التعليمات البرمجية التي استخدمها المبرمج لإنشاء المنتج." [ 7 ] تم تحسين أساليب التصميم الأساسية الموصوفة في CUA بشكل أكبر في طريقة OVID [ 9 ] التي استخدمت UML لنمذجة الواجهة.
يذكر مارك فان هارميلين أن "تصميم واجهة المستخدم الموجهة للكائنات لا يتطلب من المصممين تبني منظور موجه للكائنات للمشكلة منذ بداية المشروع. علاوة على ذلك، حتى لو تبنى المصممون منظورًا موجهًا للكائنات طوال المشروع، فسوف يستفيدون من التركيز بشكل منفصل على نموذج الكائنات وتصميم واجهة المستخدم الموجهة للكائنات." [ 10 ]
وعلى النقيض من ذلك، فإن نمط الكائنات المجردة هو نهج لتصميم التطبيقات يفرض، على الأقل في شكله البسيط، تطابقًا مباشرًا بين الكائنات الممثلة في واجهة المستخدم للكائنات (OOUI) وكائنات المجال الأساسية، حيث يتم توليد الأولى تلقائيًا من الأخيرة. [ 11 ]
مراجع
- ↑ نيلسن، ج.، هندسة سهولة الاستخدام. 1993، سان فرانسيسكو: مورغان كوفمان / أكاديميك برس
- ↑ كولينز، د.، تصميم واجهات المستخدم الموجهة للكائنات. 1995، ريدوود سيتي، كاليفورنيا: بنجامين/كومينغز
- ↑ راسكين، ج.، التفاعل الإنساني. 2000، ريدينغ، ماساتشوستس: أديسون-ويسلي / مطبعة ACM
- ↑ دايتون، توم. "واجهات المستخدم الرسومية الموجهة للكائنات هي المستقبل" . مدونة بريستو للابتكار . تم الاطلاع عليه بتاريخ 8 مارس 2017 .
- ↑ كونستانتين، ل. ولوكوود، ل.، برمجيات للاستخدام. 1999: أديسون-ويسلي
- ↑ كاي، أ.، التاريخ المبكر لسمول توك، في تاريخ لغات البرمجة، تي. بيرجين و ر. جيبسون، المحررين. 1996، أديسون-ويسلي / مطبعة ACM: ريدينغ، ماساتشوستس. ص 511-.
- 1 2 IBM، الوصول المشترك للمستخدم - دليل تصميم واجهة المستخدم. 1991، IBM: كاري، كارولاينا الشمالية.
- ↑ تيسلر، ل. واجهات المستخدم الموجهة للكائنات ولغات البرمجة الموجهة للكائنات. في مؤتمر ACM حول الحواسيب الشخصية والصغيرة. 1983. نيويورك: ACM.
- ↑ ديف روبرتس، ديك بيري، سكوت إيسينسي وجون مولالي، التصميم للمستخدم باستخدام OVID: الربط بين تصميم واجهة المستخدم وهندسة البرمجيات، ماكميلان، 1998
- ↑ فان هارميلين، م.، محرر. نمذجة الكائنات وتصميم واجهة المستخدم. 2001، أديسون-ويسلي: ريدينغ، ماساتشوستس.
- ↑ باوسون، ر.، الأشياء العارية، أطروحة دكتوراه، 2004، كلية ترينيتي، دبلن، أيرلندا
- أنظمة التشغيل الموجهة للكائنات
- واجهات المستخدم
