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

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

يُستخدم مصطلح " نمذجة واجهة المستخدم" في الغالب في سياق تكنولوجيا المعلومات . نموذج واجهة المستخدم هو تمثيل لكيفية تفاعل المستخدم النهائي مع برنامج حاسوبي أو جهاز آخر، وكيفية استجابة النظام. وتتمثل مهمة النمذجة في إظهار جميع " الجوانب التي يتم تجربتها مباشرةً لشيء أو جهاز". [ 1 ]

يُعدّ تصميم واجهات المستخدم مجالًا راسخًا بحد ذاته. فعلى سبيل المثال، يمكن لتقنيات التصميم وصف عناصر التفاعل والمهام والحوارات الفرعية في واجهات المستخدم. ويُساعد استخدام النماذج كجزء من تطوير واجهات المستخدم على فهم متطلبات المستخدم، وتجنب الالتزام المُبكر بتصميمات وعناصر واجهة مستخدم مُحددة، وتوضيح العلاقات بين أجزاء الواجهة المختلفة وأدوارها. [ 2 ]

اللغات

ماريا

MARIA XML (لغة قائمة على النموذج للتطبيقات التفاعلية) هي لغة ترميز واجهة مستخدم عالمية وتصريحية ومتعددة المستويات ومبنية على XML لنمذجة التطبيقات التفاعلية في البيئات المنتشرة.

لغة النمذجة الموحدة (UML)

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

UMLi

UMLi هو امتداد لـ UML ، ويضيف دعمًا للتمثيل الذي يحدث بشكل شائع في واجهات المستخدم.

نظراً لأن نماذج التطبيقات في لغة النمذجة الموحدة (UML) تصف جوانب قليلة من واجهات المستخدم، ولأن بيئات تطوير واجهات المستخدم القائمة على النماذج (MB-UIDE) تفتقر إلى القدرة على نمذجة التطبيقات، فقد بدأت جامعة مانشستر مشروع البحث UMLi في عام 1998. ويهدف UMLi إلى معالجة مشكلة تصميم وتنفيذ واجهات المستخدم باستخدام مزيج من لغة النمذجة الموحدة (UML) و MB-UIDE.

UsiXML

لغة UsiXML (لغة ترميز واجهة المستخدم القابلة للتوسيع) هي لغة مواصفات قائمة على XML لتصميم واجهة المستخدم . وهي تدعم وصف واجهة المستخدم لسياقات استخدام متعددة مثل واجهات المستخدم النصية (CUIs) وواجهات المستخدم الرسومية (GUIs) وواجهات المستخدم الصوتية وواجهات المستخدم متعددة الوسائط .

DiaMODL

DiaMODL combines a dataflow-oriented language (Pisa interactor abstraction) with UML Statecharts which has focus on behavior. It is capable of modeling the dataflow as well as the behavior of interaction objects. It may be used for documenting the function and structure of concrete user interfaces.

Himalia

Himalia combines the Hypermedia Models with the control/composite paradigm. It is a full user interface language, it may be used for specifying but also for running it, because of this the designer tool can categorized as a guilder.[3]

Model types

The different aspects of a user interface requires different model types. Some of the models that may be considered for UI-modeling are:

  • Domain model, including data model (defines the objects that a user can view, access and manipulate through the user interface)
  • Navigation model, defines how the objects that a user view could be navigated through the user interface
  • Task model. (describes the tasks an end user performs and dictates what interaction capabilities must be designed)
  • User model (represents the different characteristics of end users and the roles they are playing within the organization)
  • Platform model (used to model the physical devices that are intended to host the application and how they interact with each other)
  • Dialogue model (how users can interact with the objects presentation (as push buttons, commands, etc.), with interaction media (as voice input, touch screen, etc.) and the reactions that the user interface communicates via these objects)
  • Presentation model (application appearance, representation of the visual, haptic and auditory elements that the user interface offers to its users)
  • Application model (commands and data the application provides)

UML can be used for several of the models mentioned above with varying degree of success, but it lacks support for user modeling, platform modeling and presentation model.

Approaches

There exist several approaches to modeling a user interface.

Usage-centered design

In usage-centered design, the modeling task is to show how the actual presentation of a planned system and how the user interaction is supposed to happen. This is probably the most praised approach, and it has been used successfully on a variety of small and large-scale projects. Its strengths are in complex problems.

Alternative approaches to model-based UIs

The known issues of model-based approaches include information restatement and lack of mechanisms to effectively to solve cross-cutting concerns.[4] Model-based solutions can work well on their own, but integration with alternative approaches brings complexity in development and maintenance efforts.

Code-inspection based

تعتمد هذه الأساليب على قواعد بيانات برمجية بلغات برمجة عامة الأغراض (GPL) موجودة. [ 5 ] وهي تفحص الكود من خلال البرمجة الوصفية وتُنشئ نموذجًا هيكليًا يُحوّل إلى واجهة المستخدم. يُعالج هذا الأسلوب إعادة صياغة المعلومات. ولا تتناسب هذه الأساليب مع واجهات المستخدم التكيفية والمُدركة للسياق.

البرمجة التوليدية

تربط هذه المناهج أساليب المجال ببرمجة GPL [البرمجة التوليدية]. وتُعالج المخاوف الشاملة في وقت الترجمة، وهو ما لا يُلبي بشكل مباشر احتياجات واجهات المستخدم التكيفية المستقبلية التي تتطلب معلومات وقت التشغيل.

واجهات المستخدم القائمة على الجوانب

يُدمج الحل القائم على الجوانب، الذي اقترحه توماش تشيرني، مزايا أساليب البرمجة القائمة على فحص الكود والبرمجة التوليدية. [ 6 ] فهو يفحص الكود الحالي ويُطبّق أساليب البرمجة الموجهة نحو الجوانب لمعالجة المشكلات المشتركة. يعمل هذا الحل أثناء التشغيل، ويُقلل من إعادة صياغة المعلومات، وفي الوقت نفسه يفصل بين عناصر واجهة المستخدم، مما يسمح بإعادة استخدام كل عنصر بشكل مستقل عن الآخر. في إحدى الدراسات، تمكن الباحثون من تقليل كود واجهة المستخدم بنسبة 32% من خلال تطبيق نهج واجهة المستخدم القائم على الجوانب على نظام إنتاجي. [ 4 ] تتمثل المزايا الرئيسية في استخدام القوالب لتعديل العرض، وتعريفات منفصلة للمشكلات، وقواعد تحويل عامة قابلة للتطبيق على مختلف أنواع البيانات.

نماذج المحتوى

تُظهر هذه النماذج محتويات واجهة المستخدم ومكوناتها المختلفة. ولا تتضمن تفاصيل الجماليات والسلوك، لأنها نموذج تصميم يركز على الاستخدام.

انظر أيضاً

مراجع

  1. تريتبيرغ، هالفارد (2002). تصميم واجهة المستخدم القائم على النموذج (أطروحة دكتوراه). الجامعة النرويجية للعلوم والتكنولوجيا. مؤرشفة من الأصل بتاريخ 9 فبراير 2012.
  2. بينهيرو دا سيلفا، باولو؛ باتون، نورمان دبليو. (2003). نمذجة واجهة المستخدم في UMLi (تقرير). جامعة ستانفورد / جامعة مانشستر.
  3. "Himalia.net" . مؤرشف من الأصل بتاريخ 23-07-2011.
  4. 1 2 تشيرني، توماش؛ تشيموس، ك.؛ دوناهو، مايكل ج.؛ سونغ، مينسوك ج. (2013). "تصميم واجهات المستخدم الموجهة بالجوانب، والمعكسة للبيانات، والمدركة للسياق" (ملف PDF) . مجلة ACM SIGAPP لمراجعة الحوسبة التطبيقية . 13 (4): 53-65 . ISSN 1559-6915 . 
  5. تشيرني، توماس؛ سونغ إي. (2012). "إنشاء النماذج الغنية المستندة إلى النماذج" . المعلومات: مجلة دولية متعددة التخصصات . 15 (7): 2695 – 2714.
  6. تشيرني، توماش؛ دوناهو، مايكل جيه؛ سونغ، إي. (2013). "نحو تصميم فعال لواجهات المستخدم التكيفية" . وقائع ندوة البحث في الحوسبة التطبيقية لعام 2013 (RACS 2013) . مونتريال: ACM. ISBN 978-1-4503-2348-2.