Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Практичность




Практичность выражает степень сложности выполнения пользователем стоящей перед ним задачи и тип реализованного в системе механизма помощи пользователю. У этого атрибута качества несколько сторон.

♦ Изучение возможностей системы. Каким образом можно облегчить задачу пользователя, связанную с изучением незнакомой системы или одного из ее аспектов?

♦ Эффективное использование системы. Каким образом система способствует повышению эффективности работы с ней?

♦ Минимизация последствий ошибок. Что система может сделать для того, чтобы ошибка, допущенная пользователем, не привела к серьезным последствиям?

♦ Адаптация системы к потребностям пользователя. Что может сделать пользователь (или система), чтобы выполнить его задачу стало проще?

♦ Доверие и удовлетворение пользователя. Как система может убедить пользователя в том, что он предпринял правильное действие?

В последние пять лет активно изучались вопросы взаимосвязи между практичностью и программной архитектурой (см. врезку «Практичность: были не правы, каемся»). Как правило, проблемы, связанные с практичностью, в процессе разработки выявляются путем макетирования и пользовательского тестирования. Чем позже выявляется проблема и чем ниже в архитектурной иерархии находится ее решение, тем труднее, с точки зрения временных и финансовых ограничений, с ней разобраться. Излагая примеры сценариев, мы намерены сосредоточиться на тех аспектах практичности, которые в наибольшей степени влияют на характер архитектуры. Следовательно, в правильности составления этих сценариев необходимо убедиться еще до реализации архитектурного решения — в противном случае над этим придется работать в процессе пользовательского тестирования и макетирования.

Общие сценарии практичности

Пример сценария практичности приводится на рис. 4.8. «Пользователь, желающий свести к минимуму последствия допущенной ошибки, пытается отменить системную операцию в момент ее исполнения; отмена занимает менее одной секунды». Общие сценарии практичности состоят из следующих элементов.

♦ Источник стимула. В роли источника стимула всегда выступает конечный пользователь.

♦ Стимул. Стимул заключается в желании конечного пользователя добиться эффективного применения возможностей системы, изучить способы управления операциями системы, минимизировать последствия ошибок, адаптировать систему к выполнению стоящих перед ним задач или обеспечить удобство пользования системой. В нашем примере пользователь намерен отменить операцию — это один из вариантов минимизации последствий ошибок.

♦ Артефакт. Артефактом всегда является система.

ПРАКТИЧНОСТЬ: БЫЛИ НЕ ПРАВЫ, КАЕМСЯ

(ИЛИ «ЭТО НЕ ПО-АРХИТЕКТУРНОМУ»)

Примерно пять лет назад ряд уважаемых специалистов в области программной инженерии сделали весьма смелое публичное заявление:

Для того чтобы сделать пользовательский интерфейс четким и простым в применении, требуется тщательно наладить механизм взаимодействия пользователя с системой... «впрочем, эти вещи не имеют отношения к архитектуре».

К нашему несчастью, этих специалистов звали Басс, Клеменц и Кацман, а книга называлась «Архитектура программных систем: практическое пособие, 1-е издание». За пять последующих лет мы узнали много нового о разных атрибутах качества, но больше всего мы поднаторели в вопросах практичности.

Мы всегда утверждали, что качество системы напрямую зависит от качества архитектуры; впрочем, наша аргументация по этому поводу в первом издании временами страдала. Несмотря ни на что, за прошедшие пять лет не случилось ничего такого, что смогло бы поколебать нашу уверенность в жесткой взаимосвязи качества архитектуры и системы. Все свидетельства говорят в пользу этого утверждения, и практичность в этом смысле не исключение. Действительно, многие вопросы практичности завязаны на архитектуру. Более того — те характеристики практичности, реализовать которые труднее всего (в частности, те, которые почти нереально воплотить в жизнь после того, как система уже сконструирована), наиочевиднейшим образом демонстрируют связь с архитектурой.

Если мы хотим, чтобы пользователь имел возможность прервать исполняемую операцию и, таким образом, вернуться к состоянию системы, зафиксированному до ее начала, мы должны прописать эту возможность в архитектуре. То же самое нужно сделать, чтобы позволить пользователю аннулировать результаты предыдущего действия или проинформировать его о состоянии текущей операции. Подобных примеров жуть как много.

К чему мы все это говорим? Утверждать, что тот или иной атрибут качества или ряд его аспектов носят неархитектурный характер, проще всего. Не все имеет отношение к архитектуре, это правда, однако довольно часто наши выводы по этому вопросу основываются на поверхностном анализе проблемы. Стоит копнуть чуть глубже, и свидетельства о связи с архитектурой не заставят себя долго ждать. И горе тому архитектору (равно как и авторам книг по архитектуре!), который их не заметит.

— RK

♦ Условия. Действия пользователя, имеющие отношение к практичности, всегда приходятся на периоды прогона или конфигурирования системы. Все действия, зафиксированные до наступления этих периодов, считаются произведенными разработчиками. Несмотря на то что пользователь и разработчик может оказаться одним и тем же лицом, мы всегда разделяем эти дне роли. В примере на рис. 4.8 отмена операции производится в период прогона.

♦ Реакция. Система должна либо предоставлять пользователю все необходимые средства, либо уметь предвидеть его потребности. В нашем примере отмена операции производится по желанию пользователя, а система восстанавливается в предшествующем состоянии.

♦ Количественная мера реакции. Реакция в данном случае измеряется продолжительностью выполнения задачи, количеством ошибок, количеством разрешенных проблем, степенью удовлетворения пользователя, повышением уровня знаний пользователя, процентным отношением успешно проведенных операций к общему числу операций, а также количеством времени/данных, потерянных из-за ошибки. Согласно примеру с рис. 4.8, отмена операции занимает не более одной секунды.

Варианты составления общих сценариев практичности представлены в табл. 4.6.




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 1040; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.