Modelowanie interfejsu użytkownika
Modelowanie interfejsu użytkownika to technika programistyczna stosowana przez programistów aplikacji komputerowych. Dzisiejsze interfejsy użytkownika (UI) to złożone komponenty oprogramowania, które odgrywają zasadniczą rolę w użyteczności aplikacji. Opracowanie interfejsów użytkownika wymaga zatem nie tylko wytycznych i raportów dotyczących najlepszych praktyk, ale także procesu opracowywania, w tym opracowania modeli wizualnych i znormalizowanej notacji dla tej wizualizacji.
Termin modelowanie interfejsu użytkownika jest najczęściej używany w kontekście technologii informatycznych . Model interfejsu użytkownika jest reprezentacją interakcji użytkownika końcowego z programem komputerowym lub innym urządzeniem, a także reakcji systemu . Zadaniem modelowania jest zatem pokazanie wszystkich „ bezpośrednio doświadczanych aspektów rzeczy lub urządzenia” [Trætteberg2002].
Modelowanie interfejsów użytkownika jest samo w sobie dobrze ugruntowaną dyscypliną. Na przykład techniki modelowania mogą opisywać obiekty interakcji, zadania i okna dialogowe niższego poziomu w interfejsach użytkownika. Korzystanie z modeli w ramach opracowywania interfejsu użytkownika może pomóc uchwycić wymagania użytkowników, uniknąć przedwczesnego zaangażowania w określone układy i widżety oraz jasno określić relacje między różnymi częściami interfejsu i ich rolami. [SilvaPaton2003].
Języki
MARIA
MARIA XML (Model-based lAnguage for Interactive Applications) to uniwersalny, deklaratywny, oparty na XML język znaczników interfejsu użytkownika o wielu poziomach abstrakcji, służący do modelowania interaktywnych aplikacji we wszechobecnych środowiskach.
UML
Niektóre aspekty modelowania interfejsu użytkownika można zrealizować za pomocą języka UML . Jednak język nie jest przeznaczony głównie do tego rodzaju modelowania, co może sprawić, że modele będą nieco syntetyczne.
UMLi
UMLi jest rozszerzeniem języka UML i dodaje obsługę reprezentacji powszechnie występującej w interfejsach użytkownika.
Ponieważ modele aplikacji w UML opisują kilka aspektów interfejsów użytkownika, a środowiska programistyczne interfejsu użytkownika oparte na modelach (MB-UIDE) nie mają możliwości modelowania aplikacji, Uniwersytet w Manchesterze rozpoczął projekt badawczy UMLi w 1998 roku. UMLi ma na celu rozwiązanie tego problemu problem projektowania i implementacji interfejsów użytkownika z wykorzystaniem kombinacji UML i MB-UIDE.
UsiXML
UsiXML (USer Interface eXtensible Markup Language) to oparty na XML język specyfikacji do projektowania interfejsów użytkownika. Obsługuje opis interfejsu użytkownika dla wielu kontekstów użytkowania, takich jak znakowe interfejsy użytkownika (CUI), graficzne interfejsy użytkownika (GUI), słuchowe interfejsy użytkownika i multimodalne interfejsy użytkownika.
DiaMODL
DiaMODL łączy język zorientowany na przepływ danych (abstrakcja interakcji Pisa) z UML Statecharts, który koncentruje się na zachowaniu. Jest w stanie modelować przepływ danych, a także zachowanie obiektów interakcji. Może być używany do dokumentowania funkcji i struktury konkretnych interfejsów użytkownika.
Himalaje
Himalia łączy modele Hypermedia z paradygmatem sterowania/kompozytu. Jest to pełny język interfejsu użytkownika, może być używany do specyfikowania, ale także do uruchamiania, z tego powodu narzędzie projektanta można sklasyfikować jako gulden. [1]
Typy modeli
Różne aspekty interfejsu użytkownika wymagają różnych typów modeli. Niektóre modele, które można wziąć pod uwagę przy modelowaniu interfejsu użytkownika, to:
- Model domeny , w tym model danych (definiuje obiekty, które użytkownik może przeglądać, uzyskiwać do nich dostęp i którymi można manipulować za pośrednictwem interfejsu użytkownika)
- Model nawigacji definiuje, w jaki sposób można nawigować po obiektach wyświetlanych przez użytkownika w interfejsie użytkownika
- Model zadania. (opisuje zadania wykonywane przez użytkownika końcowego i określa, jakie możliwości interakcji należy zaprojektować)
- Model użytkownika (reprezentuje różne cechy użytkowników końcowych i role, jakie odgrywają w organizacji)
- Model platformy (używany do modelowania urządzeń fizycznych, które mają hostować aplikację i ich wzajemnej interakcji)
- Model dialogu (w jaki sposób użytkownicy mogą wchodzić w interakcje z prezentacją obiektów (jako przyciski, polecenia itp.), z mediami interakcji (jako wejście głosowe, ekran dotykowy itp.) oraz reakcje, które interfejs użytkownika komunikuje za pośrednictwem tych obiektów)
- Model prezentacji (wygląd aplikacji, reprezentacja elementów wizualnych, dotykowych i dźwiękowych, które interfejs użytkownika oferuje swoim użytkownikom)
- Model aplikacji (polecenia i dane dostarczane przez aplikację)
UML może być używany z kilkoma wyżej wymienionymi modelami z różnym powodzeniem, ale brakuje mu obsługi modelowania użytkownika, modelowania platformy i modelu prezentacji.
Podchodzi do
Istnieje kilka podejść do modelowania interfejsu użytkownika.
Konstrukcja zorientowana na użytkowanie
W projektowaniu zorientowanym na użytkowanie zadaniem modelowania jest pokazanie, jak rzeczywista prezentacja planowanego systemu i jak ma przebiegać interakcja użytkownika. Jest to prawdopodobnie najbardziej chwalone podejście, które z powodzeniem stosowano w wielu małych i dużych projektach. Jej mocne strony tkwią w złożonych problemach.
Alternatywne podejścia do interfejsów użytkownika opartych na modelach
Znane problemy podejść opartych na modelach obejmują ponowne przedstawianie informacji i brak mechanizmów skutecznego rozwiązywania problemów przekrojowych [Cerny2013]. Rozwiązania oparte na modelach mogą dobrze działać samodzielnie, ale integracja z alternatywnymi podejściami powoduje złożoność prac rozwojowych i konserwacyjnych.
Oparte na kontroli kodu
Podejścia te opierają się na istniejących bazach kodów języka ogólnego przeznaczenia (GPL) [Cerny2012]. Sprawdzają kod za pomocą metaprogramowania i składają model strukturalny, który jest przekształcany w interfejs użytkownika. To podejście dotyczy ponownego przedstawiania informacji. Te podejścia nie pasują do adaptacyjnych i kontekstowych interfejsów użytkownika.
Programowanie generatywne
Podejścia te łączą metody dziedzinowe z GPL [programowanie generatywne]. Problemy przekrojowe są rozwiązywane w czasie kompilacji, co nie uwzględnia bezpośrednio przyszłych adaptacyjnych interfejsów użytkownika wymagających informacji o czasie wykonywania.
Interfejsy użytkownika oparte na aspektach
Rozwiązanie oparte na aspektach zaproponowane przez [Cerny2013][Cerny2013a][AspectFaces] integruje zalety podejścia opartego na kontroli kodu i programowania generatywnego. Sprawdza istniejący kod i stosuje metody zorientowane na aspekty, aby rozwiązać problemy przekrojowe. Działa w czasie wykonywania, zmniejsza konieczność ponownego przedstawiania informacji, a jednocześnie oddziela problemy związane z interfejsem użytkownika, co pozwala na ponowne wykorzystanie każdego z nich niezależnie od innych. W badaniu [Cerny2013] autorzy redukują kod UI o 32% poprzez podejście oparte na aspektach UI zastosowane w systemie produkcyjnym. Głównymi zaletami są szablony do dopasowania prezentacji, osobne definicje problemów oraz w większości ogólne reguły transformacji mające zastosowanie do różnych danych.
Modele zawartości
Modele tego rodzaju przedstawiają zawartość interfejsu użytkownika i jego różne komponenty. Estetyka i szczegóły zachowania nie są uwzględniane w tego rodzaju modelu, ponieważ jest to forma modelu projektowego zorientowanego na użytkowanie.
Zobacz też
- [Paternò 2005] – F Paternò, Modelowe narzędzia do wszechobecnej użyteczności, Interakcja z komputerami 17 (3), 291-315
- [Trætteberg2002] – H. Trætteberg, Model-based User Interface Design, praca doktorska, Norwegian University of Science and Technology, 2002
- [SilvaPaton2003] – P. Pinheiro da Silva, NW Paton, Modelowanie interfejsu użytkownika w UMLi, Uniwersytet Stanforda / Uniwersytet w Manchesterze, 2003
- [Markopoulos1997] – P. Markopoulos, Model kompozycyjny do formalnej specyfikacji oprogramowania interfejsu użytkownika, praca doktorska, Queen Mary and Westfield College University of London, 1997
- [Trevisan2003] – D. Trevisan, J. Vanderdonck, B. Macq, Model-Based Approach and Augmented Reality Systems, Université catholique de Louvain, 1348 Louvain-la-Neuve, Belgia, 2003
- [wwwUMLi] – ujednolicony język modelowania dla aplikacji interaktywnych
- [Cerny2013] – Černý, T. - Čemus, K. - Donahoo, MJ - Song, MJ: Aspect-driven, Data-reflective and Context-aware User Interfaces Design (strona 53). W: ACM SIGAPP Applied Computing Review [online , 2013, tom. 13, nie. 4, str. 53-65, ISSN 1559-6915 .
- [Cerny2013a] – Černý, T. - Donahoo, MJ - Song, E.: Towards Effective Adaptive User Interfaces Design , Proceedings of the 2013 Research in Applied Computation Symposium (RACS 2013), Montreal: ACM, 2013, ISBN 978-1- 4503-2348-2 .
-
[AspectFaces] – "AspectFaces" . Coding Crayons sro Zarchiwizowane od oryginału w dniu 2 lutego 2019 r.
{{ cite web }}
: CS1 maint: unfit URL ( link ) - [Cerny2012] – T. Cerny i E. Song. Generowanie Rich Form oparte na modelach . Informacja: Międzynarodowy Dziennik Interdyscyplinarny, 15(7, SI):2695--2714, lipiec 2012.
- [Programowanie generatywne] – Krzysztof Czarnecki i Ulrich W. Eisenecker. 2000. Programowanie generatywne: metody, narzędzia i aplikacje . ACM Press/Addison-Wesley Publ. Co., Nowy Jork, NY, USA.