Пайдаланушы интерфейсін модельдеу әдістері мен тілдері
User interface modeling
Пайдаланушы интерфейсін модельдеу – бағдарлама жасаудағы маңызды техника. UI құру, қолданушыға ыңғайлы болуын қамтамасыз етеді. Визуальды модельдер мен нотациялар маңызды.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Пайдаланушы интерфейсін модельдеу – компьютерлік қолданба бағдарламалаушылары қолданатын әзірлеу әдісі. Қазіргі заманғы пайдаланушы интерфейстері (UI) – бұл күрделі бағдарламалық жасақтама компоненттері, олар қолданбаның қолдануға ыңғайлылығында маңызды рөл атқарады. Сондықтан UI әзірлеу үшін нұсқаулар мен ең жақсы тәжірибелер туралы есептер ғана емес, сонымен қатар визуалды модельдерді жасау және осы визуализация үшін стандартталған белгілерді қамтитын даму процесі қажет. Пайдаланушы интерфейсін модельдеу термині көбінесе ақпараттық технология контекстінде қолданылады. Пайдаланушы интерфейсі моделі – соңғы пайдаланушының компьютерлік бағдарламамен немесе басқа құрылғымен қалай өзара әрекеттесетінін, сондай-ақ жүйенің қалай жауап беретінін көрсетеді. Модельдеу міндеті – [Trætteberg2002] бойынша, "заттың немесе құрылғының тікелей сезілетін аспектілерін" көрсету болып табылады. Пайдаланушы интерфейстерін модельдеу – өзіндік құрылған, жақсы дамыған сала. Мысалы, модельдеу әдістері өзара әрекеттесу объектілерін, тапсырмаларды және пайдаланушы интерфейстеріндегі төменгі деңгейдегі диалогтарды сипаттай алады. Пайдаланушы интерфейсін әзірлеудің бір бөлігі ретінде модельдерді қолдану пайдаланушы талаптарын анықтауға, нақты макеттер мен виджеттерге ерте барудан аулақ болуға және интерфейстің әртүрлі бөліктері мен олардың рөлдері арасындағы байланысты анық көрсетуге көмектеседі [SilvaPaton2003].
User interface modeling is a development technique used by computer application programmers. Today's user interfaces (UIs) are complex software components, which play an essential role in the usability of an application. The development of UIs requires therefore, not only guidelines and best practice reports, but also a development process including the elaboration of visual models and a standardized notation for this visualization. The term user interface modeling is mostly used in an information technology context. A user interface model is a representation of how the end user(s) interact with a computer program or another device and also how the system responds. The modeling task is then to show all the "directly experienced aspects of a thing or device" [Trætteberg2002]. Modeling user interfaces is a well established discipline in its own right. For example, modeling techniques can describe interaction objects, tasks, and lower level dialogs in user interfaces. Using models as part of user interface development can help capture user requirements, avoid premature commitment to specific layouts and widgets, and make the relationships between an interface's different parts and their roles explicit. [SilvaPaton2003].
МАРИЯ
MARIA XML (Модельге негізделген интерактивті қосымшалар үшін тіл) – кең таралған ортада интерактивті қосымшаларды модельдеуге арналған, XML негізіндегі, универсалды, декларативті, көп деңгейлі абстракцияға ие пайдаланушы интерфейсін сипаттау тілі.
MARIA XML (Model based lAnguage foR Interactive Applications) is a universal, declarative, multiple abstraction level, XML based user interface markup language for modelling interactive applications in ubiquitous environments.
UML
UML-ді қолдану арқылы пайдаланушы интерфейсін модельдеудің кейбір жақтарын жүзеге асыруға болады. Дегенмен, бұл тіл негізінен осы сияқты модельдеу үшін жасалмаған, сондықтан модельдер шамалы жасанды болып көрінуі мүмкін.
Some aspects of user interface modeling can be realized using UML. However, the language is not mainly intended for this kind of modeling, which may render the models somewhat synthetic.
ДиаМОДЛ
DiaMODL деректер ағынына бағытталған тілді (Pisa interactor abstraction) мінез-құлыққа бағытталған UML Statecharts-пен үйлестіреді. Ол өзара әрекеттесу объектілерінің деректер ағынын да, мінез-құлқын да модельдеуге мүмкіндік береді. Оны нақты пайдаланушы интерфейстерінің функциясы мен құрылымын құжаттау үшін қолдануға болады.
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.
Қадамдар
Пайдаланушы интерфейсін модельдеудің бірнеше әдісі бар.
There exist several approaches to modeling a user interface.
Пайдалануға бағытталған жобалау
Пайдаланушыға бағытталған жобалауда модельдеу міндеті – жоспарланған жүйенің нақты бейнесін және пайдаланушының осы жүйемен қалай өзара әрекеттесетінін көрсету болып табылады. Бұл, әдетте, ең жоғары бағаланатын тәсіл және ол түрлі шағын және ірі жобаларда сәтті қолданылған. Оның артықшылықтары күрделі мәселелерді шешуде көрінеді.
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.
Модельге негізделген UI-ға баламалы тәсілдер
Модельге негізделген тәсілдердің белгілі мәселелері ақпаратты қайталау және өзара байланысты мәселелерді тиімді шешуге қабілетті механизмдердің жетіспеуі болып табылады [Cerny2013]. Модельге негізделген шешімдер өздерінің өзінде жақсы жұмыс істей алады, бірақ баламалы тәсілдермен интеграциялау дамыту және техникалық қолдау жұмыстарын қиындатады.
The known issues of model based approaches include information restatement and lack of mechanisms to effectively to solve cross cutting concerns [Cerny2013]. Model based solutions can work well on their own, but integration with alternative approaches brings complexity in development and maintenance efforts.
Кодты тексеруге негізделген
Бұл тәсілдер қолданыстағы жалпы мақсаттағы тіл (GPL) код базаларына негізделген [Cerny2012]. Олар метапрограммалау арқылы кодты қарастырып, UI-ге түрлендірілетін құрылымдық модельді құрастырады. Бұл тәсіл ақпаратты қайта жазу мәселесін шешеді. Алайда, бұл тәсілдер бейімделмелі және контекстке сезімтал UI-лер үшін қолайлы емес.
These approaches are based on existing general purpose language (GPL) code bases [Cerny2012]. They inspect the code through meta programming and assemble a structural model that is transformed to the UI. This approach addresses information restatement. These approaches does not fit to adaptive and context aware UIs.
Генеративтік бағдарламалау
Бұл тәсілдер домендік әдістерді ЖӨБ [Generative programming] жүйесімен байланыстырады. Жүйелік мәселелер компиляция кезінде шешіледі, бірақ бұл болашақта өзгеріп отыратын интерфейстерге (UI) қажетті орындалу уақытындағы ақпаратты тікелей қамтамасыз етпейді.
These approaches connect domain methods with GPL [Generative programming]. Cross cutting concerns are addressed at compile time, which does not directly accommodate future adaptive UIs needing runtime information.
Аспектке негізделген UI
[Cerny2013][Cerny2013a][AspectFaces] ұсынған аспектіге негізделген шешім, кодты тексеруге негізделген және генеративтік бағдарламалау тәсілдерінің артықшылықтарын үйлестіреді. Ол қолданыстағы кодты талдайды және көлденең қиылыс мәселелерін шешу үшін аспектіге бағытталған әдістерді қолданады. Бұл жүйе жұмыс істейтін уақытта қолданылады, ақпаратты қайталауды азайтады, сонымен бірге UI мәселелерін бөліп, оларды бір-бірінен тәуелсіз қайта пайдалануға мүмкіндік береді. [Cerny2013] зерттеуінде авторлар өндірістік жүйеде қолданылған аспектіге негізделген UI тәсілі арқылы UI кодын 32%-ға қысқартты. Басты артықшылықтары – презентацияны бейімдеуге арналған шаблонды қолдану, мәселелердің жеке анықтамалары және түрлі деректерге қолданылатын көбінесе жалпы трансформация ережелері.
Aspect based solution suggested by [Cerny2013][Cerny2013a][AspectFaces] integrates advantages of code inspection based and generative programming approaches. It inspects existing code and applies aspect oriented methods to address cross cutting concerns. It works at runtime, reduces information restatement and at the same time separates UI concerns which allows to reuse each independent of others. In the study at [Cerny2013] authors reduce UI code by 32% through aspect based UI approach applied to a production system. Main advantages are templating for adjusting the presentation, separate definitions of concerns and mostly generic transformation rules applicable across various data.
Мазмұн үлгілері
Мұндай модельдер пайдаланушы интерфейсінің мазмұнын және оның әртүрлі компоненттерін көрсетеді. Бұл модельде эстетикалық ерекшеліктер мен мінез-құлқы туралы мәліметтер қамтылмайды, себебі ол пайдаланушыға бағытталған дизайн моделінің бір түрі.
Models of this kind show the contents of a user interface and its different components. Aesthetics and behavior details are not included in this kind of model as it is a form of usage centered design model.