Разработка пользовательского интерфейса системы групповой работы



Pdf просмотр
страница1/3
Дата24.12.2016
Размер1.01 Mb.
Просмотров414
Скачиваний0
  1   2   3

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ


САНКТ
-
ПЕТЕРБУРГСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

Факультет ________________Компьютерных технологий и управления_____________
Кафедра ___________Вычислительной техники___________ Группа ____4103_______

Направление (специальность) __230100 – Информатика и вычислительная техника__

Квалификация (степень) ________________Бакалавр____________________________





ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ


Разработка пользовательского интерфейса системы групповой работы
Автор квалификационной работы _Ткачев Алексей Евгеньевич_______________ (подпись)
(Фамилия, И.О.)
Руководитель _Тимченко Борис Дмитриевич, к.т.н, доцент___________________(подпись)
(Фамилия, И.О., ученое звание, степень)
К з а щ и т е д о п у с т и т ь
Зав. кафедрой ____Алиев Т.И.__________________________________________(подпись)
( Фамилия, И., О.)
“___”______________ 20___ г.
Санкт-Петербург, 2014 г.

2
Квалификационная работа выполнена с оценкой _______________________________
Дата защиты “____”________________________20___г.
Секретарь ГАК ____________________________________
Листов хранения ___________________________________
Чертежей хранения _________________________________

3
Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики
Факультет ____________Компьютерных технологий и управления____________________
Кафедра _______Вычислительной техники____________ Группа ______4103__________

Направление (специальность) __230100 – Информатика и вычислительная техника_____

Квалификация (степень) _____________Бакалавр__________________________________

УТВЕРЖДАЮ
Зав. кафедрой _Алиев Т.И.______________
___________________20__ г.
З А Д А Н И Е
НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ

Студенту _______________Ткачеву Алексею Евгеньевичу ___________________________
(Фамилия, И., О.)
Руководитель ___Тимченко Борис Дмитриевич, СПБ НИУ ИТМО, каф. ВТ, доцент_____
( Фамилия, И., О., место работы, должность)
1. Наименование темы: __Разработка пользовательского интерфейса системы групповой работы _______________________________________________________________________

2. Срок сдачи студентом законченной работы ____________________________________

3. Техническое задание и исходные данные к работе
Цель квалификационной работы – обеспечить качественные условия взаимодействия пользователя и целевой системы, а также эффективное предоставление доступа к ее функциональности.
Задачи работы:
1)
Проанализировать текущее состояние решения, изучить документацию.
2)
Внести предложения по разработке пользовательского интерфейса клиентской части.
3)
Спроектировать и реализовать необходимые компоненты.
4)
Выполнить тестирование.
4. Содержание выпускной работы (перечень подлежащих разработке вопросов)
Работа должна состоять из введения, двух разделов, заключения, списка источников, глоссария и приложений.
В первом разделе должно быть описано введение в предметную область: приведены общие сведения о создании пользовательского интерфейса, проведен анализ общих принципов функционирования целевой системы.
Второй раздел должен описывать подход к созданию пользовательского интерфейса целевой системы, процесс выработки требований к пользовательскому интерфейсу, программную реализацию новых компонентов и их тестирование.
5. Перечень графического материала (с указанием обязательного материала)
Презентационные материалы к работе в формате Microsoft PowerPoint, рисунки и таблицы в работе.
6. Исходные материалы и пособия

4 1. Арлоу Д., Нейштадт И. UML 2 и Унифицированный процесс. Практический объектно- ориентированный анализ и проектирование, 2е издание. – Пер. с англ. – СПб: Символ
Плюс, 2007. – 624 с.
2. Scala School [Электронный ресурс]. URL: http://twitter.github.io/scala_school/
3. The Scala Programming Language [Электронный ресурс]. URL: http://scala-lang.org/

КАЛЕНДАРНЫЙ ПЛАН
№№ п/п
Наименование этапов выпускной квалификационной работы
Срок выполнения этапов работы
Примечание
1
Изучение документации и текущего состояния решения.
01.10.2012-
01.11.2013 2
Анализ клиентской части целевой системы, внесение предложений.
01.11.2013-
01.02.2013 3
Прототипирование, проработка компонентов.
01.02.2014-
1.03.2014 4
Разработка и тестирование модулей.
1.03.2014-
18.06.2014
7. Дата выдачи задания______________1 октября 2013 года_________________________
Руководитель_____________________________Тимченко Б.Д._
(подпись)
Задание принял к исполнению________________Ткачев А.Е.__
(подпись)

5
Санкт-Петербургский национальный исследовательский университет
информационных технологий, механики и оптики



АННОТАЦИЯ
ПО ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ
Студента____________Ткачева Алексея Евгеньевича________________________________
(Фамилия, И., О.)

Факультет ______________Компьютерных технологий и управления__________________
Кафедра __________Вычислительной техники___________ Группа ____4103__________

Направление (специальность) __230100 – Информатика и вычислительная техника_____

Квалификация (степень) ______________Бакалавр_________________________________
Наименование темы: _Разработка пользовательского интерфейса системы групповой работы _______________________________________________________________________
Руководитель______Тимченко Борис Дмитриевич, к.т.н, доцент______________________
(Фамилия, И., О., ученое звание, степень)
Консультант__________________________________________________________________
(Фамилия, И., О., ученое звание, степень)

КРАТКОЕ СОДЕРЖАНИЕ ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ
РАБОТЫ
И ОСНОВНЫЕ ВЫВОДЫ

объем ______ стр., графический материал _______ стр., библиография _________ наим.
Направление и задача исследований
Каждому приложению необходим тот или иной пользовательский интерфейс, ведь он отвечает за взаимодействие пользователя и функций приложения. Основная задача данной выпускной квалификационной работы – спроектировать, разработать и протестировать пользовательский интерфейс, обеспечивающий качественные условия взаимодействия пользователя и целевой системы, а также эффективно предоставляющий доступ к ее функциональности. В рамках работы были определены показатели эффективности интерфейса, проанализирована функциональность целевой системы и разработан подход к созданию пользовательского интерфейса, что позволило спроектировать, разработать и протестировать пользовательский интерфейс целевой системы.
Проектная или исследовательская часть (с указанием основных методов
исследований, расчетов и результатов)
В первом разделе были приведены общие сведения о создании пользовательского интерфейса веб-приложений, определены показатели эффективности интерфейса, проведен анализ функциональности целевой системы и ее существующих аналогов.

6
Во втором разделе описаны: подход к созданию пользовательского интерфейса целевой системы и составляющие его методы, процесс выработки требований к пользовательскому интерфейсу, программная реализация компонентов пользовательского интерфейса и проведение тестирования.
Экономическая
часть
(какие
использованы
методики,
экономическая
эффективность результатов)
В рамках бакалаврской работы экономическая часть не предполагается.
Новизна полученных результатов
Новизна бакалаврской работы заключается в разработке подхода к созданию пользовательского интерфейса веб-приложений.
Является ли работа продолжением курсовых проектов (работ), есть ли публикации
Нет, данная работа не является развитием предыдущих проектов и исследований.
Публикаций по данной теме не имеется.
Практическая ценность работы. Рекомендации по внедрению
Разработанный подход к созданию пользовательского интерфейса может быть успешно адаптирован для использования в разработке различных веб-приложений.
Выпускник_______________________________ Ткачев А.Е._
(подпись)
Руководитель___________________________ Тимченко Б.Д._
(подпись)
“___”______________ 20___ г.


7
СОДЕРЖАНИЕ
Введение ...................................................................................................... 9 1
Раздел ................................................................................................... 10 1.1
Предметная область ..................................................................... 10 1.1.1
Пользовательский интерфейс ............................................... 10 1.1.2
Интерфейс веб-приложения ................................................. 11 1.2
Целевая система ........................................................................... 12 1.2.1
Файловые контент-системы ................................................. 12 1.2.2
Обзор существующих файловых контент-систем.............. 13 1.2.3
Функциональные особенности целевой системы .............. 17 1.2.4
Групповая работа ................................................................... 20 1.2.5
Журналирование .................................................................... 21 1.2.6
Архитектура целевой системы ............................................. 22 1.3
Задачи работы ............................................................................... 25 2
Раздел ................................................................................................... 26 2.1
Разработка подхода к созданию пользовательского интерфейса
26 2.1.1
Модель навигации и функциональные блоки .................... 26 2.1.2
Моделирование прецедентов ............................................... 28 2.1.3
Макетирование ....................................................................... 31 2.1.4
Разработка .............................................................................. 32 2.1.5
Тестирование .......................................................................... 34 2.1.6
План создания пользовательского интерфейса целевой системы
36 2.1.7
Инструменты .......................................................................... 37 2.2
Выработка требований к пользовательскому интерфейсу ...... 38 2.2.1
Функциональные блоки целевой системы .......................... 38

8 2.2.2
Навигационная модель страниц администрирования........ 41 2.2.3
Моделирование прецедентов страниц администрирования
42 2.2.4
Макетирование страниц администрирования .................... 47 2.3
Разработка и тестирование страниц администрирования ....... 52 2.4
Портальная страница ................................................................... 53
Заключение ................................................................................................ 55
Список источников ................................................................................... 56
Глоссарий ................................................................................................... 57
Приложение 1 ............................................................................................ 58

9
ВВЕДЕНИЕ
Пользовательский интерфейс – совокупность всех методов и способов взаимодействия пользователя и системы. Очевидно, что любой прикладной программе необходим тот или иной пользовательский интерфейс, ведь на него возлагается важная задача – представление функциональности приложения конечному пользователю.
Цель данной выпускной квалификационной работы – обеспечить качественные условия взаимодействия пользователя и целевой системы, а также эффективно предоставить доступ к ее функциональности посредством пользовательского интерфейса.
На пути к воплощению этой цели возникает проблема: субъективность восприятия пользователя, разнообразие функций приложения и множество вариантов подходов к оцениванию не позволяют дать однозначный ответ на вопрос, каким должен быть интерфейс, наиболее эффективно справляющийся с поставленными перед ним задачами.
Для разрешения данной проблемы в рамках ВКР был разработан подход создания пользовательского интерфейса веб-приложения целевой системы – файловой контент-системы групповой работы. В ходе работы были определены показатели эффективности интерфейса, проанализирована функциональность целевой системы и ее отличия от представленных на рынке решений, выработаны стадии создания интерфейса и проанализированы и адаптированы способы реализации этих стадий, что позволило создать эффективный подход к созданию пользовательского интерфейса в заданных условиях.
С помощью полученного подхода был спроектирован, разработан и протестирован пользовательский интерфейс целевой системы, в полной мере отвечающий выработанным требованиям и выполняющий поставленные задачи в соответствии с комплексом показателей эффективности.

10
1

РАЗДЕЛ
1.1

Предметная область
1.1.1

Пользовательский интерфейс
Пользовательский интерфейс (интерфейс пользователя, user interface,
UI) – разновидность интерфейса, в котором одна сторона представлена человеком (пользователем), а другая машиной (устройством).
Проектирование пользовательского интерфейса программного продукта – это процесс создания правил и методов взаимодействия пользователя и программы.
Перед пользовательским интерфейсом любой программы стоят задачи по эффективному представлению ее функциональности и по организации взаимодействия пользователя и программы. Фактически, это значит, что методы ввода и вывода приложения должны быть ясны для понимания, естественны и легки для запоминания. В этом заключается понятие юзабилити.
Согласно международному стандарту ISO 9241-11 юзабилити
(usability, «способность быть использованным») – степень, с которой продукт может быть использован определёнными пользователями при определённом контексте использования для достижения определённых целей с должной эффективностью, продуктивностью и удовлетворённостью.
Проблема юзабилити актуальна и важна, ведь какой бы уникальной и полезной не была функциональность программы, неэффективный интерфейс не только затрудняет к ней доступ, но и отпугивает потенциальных пользователей.
Существует множество систем определения эффективности интерфейса с точки зрения показателей юзабилити. Одна из самых

11 распространенных из них – система показателей Шнейдермана[1]. Согласно этим показателям интерфейсы характеризуются:

скоростью работы пользователя;

количеством человеческих ошибок;

субъективной удовлетворенностью;

скоростью обучения навыкам оперирования интерфейсом;

степенью сохраняемости этих навыков при неиспользовании продукта.
Показатели Шнейдермана подходят не только как критерии оценки готового решения, но и как ориентиры, которых стоит придерживаться при проектировании пользовательского интерфейса.
1.1.2

Интерфейс веб-приложения
Веб-приложение – клиент-серверное приложение, в котором клиентом выступает браузер, а сервером – веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети.
Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб- приложения являются межплатформенными сервисами[2].
Веб-среда имеет свои уникальные особенности, отличающие ее от настольной. Со временем границы между ними становятся все более расплывчатыми, но, тем не менее, остается определенная специфика создания именно веб-интерфейсов с широкими интерактивными возможностями. Возможность изменения контента прямо на странице уходит корнями в традиции настольных приложений, однако различия существенны и влияют на ключевые принципы проектирования пользовательского интерфейса.

12
Одним из основных требований к веб-интерфейсам является их одинаковый внешний вид и функциональность при работе в различных браузерах, то есть идентичный пользовательский опыт (user experience).
Данное требование необходимо учитывать при разработке и проектировании интерфейсов, так как различные способы взаимодействия реализуют различные технологии, которые браузеры могут поддерживать или не поддерживать. Хороший пример такой технологии – подход Ajax
(Asynchronous Javascript and XML). При использовании Ajax интерфейсы не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.
Для упрощения задачи обеспечения однообразия веб-интерфейсов в различных браузерах часто используют front-end фреймворки, например
Twitter Bootstrap.
1.2

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

Файловые контент-системы
Файл – это абстракция, обозначающая поименованную совокупность данных. Большая часть электронной информации хранится в виде файлов: это документы, изображения, аудиоданные, видео и многое другое. С понятием файла неразрывно связано понятие носителя, то есть объекта,

13 обеспечивающего хранение, доступ, изменение и другие действия над файлами.
На протяжении последних пятнадцати лет локальные сети и интернет постепенно вытесняют портативные носители информации из жизни пользователей. Использование внешних HDD, CD, DVD, флэш-карт и USB накопителей уже не может отвечать растущим потребностям в области постоянства доступности, сохранности и защищенности данных. Поскольку сегодня практически любой компьютер имеет выход в глобальную сеть, пользователям нечасто требуется переносить данные на внешние устройства или переписывать на другой компьютер. В наше время за перенос информации отвечают провода и электронные сигналы. Беспроводные стандарты Bluetooth и Wi-Fi и вовсе делают физические компьютерные соединения ненужными.
Файловые контент-системы идеально вписываются в современные технические условия, удовлетворяют всем потребностям пользователя, которые больше не могут быть удовлетворены традиционными накопителями, и имеют внушительный ряд преимуществ перед альтернативами, таких как: упрощенный контроль версий, доступность с любого устройства, централизованное хранение данных, управление доступом различных пользователей, гибкость структуры данных и многие другие.
1.2.2

Обзор существующих файловых контент-систем
Ниже представлен сравнительный обзор и анализ наиболее популярных из существующих решений в области файловых хранилищ, а именно Dropbox, OneDrive (ранее - SkyDrive), Google Drive.
Dropbox – один из старейших и известнейших сервисов файлового хранения, и, как следствие, имеющий внушительную базу пользователей, привыкшую к различным его особенностям и интерфейсу. Dropbox обладает русской локализацией интерфейсов веб-сайта и клиентских приложений,

14 выпущенных для операционных систем Windows, Mac OS и Linux. Также приложение Dropbox доступно обладателям смартфонов и планшетов под управлением iOS, Android, Symbian, BlackBerry и Bada. Работа с программой интуитивно понятна и не вызывает затруднений даже у начинающих пользователей. Для рядовых пользователей Dropbox предлагает бесплатное хранение до 2 ГБ данных. Встроенная система контроля изменений обеспечивает дополнительную защиту — в течение 30 дней любой удаленный файл можно восстановить, для любого измененного файла можно просмотреть его предыдущее состояние. Кроме того, данные в Dropbox можно отправлять по электронной почте. Каждому аккаунту присваивается уникальный электронный почтовый ящик. При отправке данных на такой адрес, файл помещается в связанный аккаунт Dropbox. В Dropbox возможность редактирования документов не предусмотрена, на формат и размер мультимедиа файлов ограничений нет. Присутствует возможность автоматической синхронизации и выгрузки файлов, система бэкапирования позволяет восстановить нужную версию файла из окна браузера.
Достоинства:

неограниченный размер загружаемых файлов;

создание галерей изображений – публичная ссылка на папку, содержащую изображения, приведёт к веб-галерее с удобным просмотром изображений;

возможность синхронизации данных по локальный сети (снижает объем потребляемого трафика);

возможности автоматического импорта отснятых фото и видео в
«облако» со смартфонов или при подключении цифровой камеры к
ПК;

система контроля изменений;

создание общих папок для совместной работы с другими пользователями;

15

возможность положить файл в Dropbox просто отправив его по почте.
Недостатки:

возможность синхронизации только одной папки для всех устройств;

нет возможности настроить права отдельных пользователей при совместной работе с общей папкой;

нет возможности редактирования файлов через веб-интерфейс.
Google Drive, известный также как Диск Google – сервис облачного хранения данных от Google. В распоряжении пользователя бесплатная регистрация, загрузка и использование ПО, тесная интеграция с сервисами
Google, такими как почта Gmail и социальная сеть Google+, единая учетная запись для всех продуктов. После активации, Google Drive заменяет Google
Docs, принимая на себя весь его полезный функционал. Веб-интерфейс предоставляет богатые возможности по управлению файлами, созданию различных офисных документов, заметок, комментариев, рецензий, форм, скриптов, а также их совместному редактированию в режиме реального времени с поддержкой голосовой связи. Просмотр более 30 форматов файлов доступен прямо через браузер — можно смотреть видео высокой четкости или открывать файлы, созданные в Adobe Illustrator и Photoshop, без установки дополнительных программ. Можно составлять документы, таблицы, презентации одновременно в режиме реального времени, комментируя действия других участников и общаясь с ними по голосовой связи. Система контроля изменений файлов также уделяет больше внимания документам — все правки, внесенные в документы, таблицы и презентации, сохраняются в Google Drive навсегда. Для файлов других форматов хранится история изменений, внесенных за последние 30 дней. Из интересных и полезных особенностей можно отметить, что Google Drive умеет распознавать объекты на загруженных фотографиях и текст на

16 отсканированных документах. Клиентское приложение доступно для персональных компьютеров и ноутбуков с операционными системами
Windows и Mac, а пользователи Linux могут работать с интернет-версией
Диска через браузер. Также Google Drive доступен владельцам смартфонов с iOS и Android. После регистрации, Диск Google предоставляет 15 гигабайт для бесплатного хранения данных. Максимальный объем облачного хранилища для одного человека составляет 16 ТБ, что является наивысшим показателем среди аналогичных облачных сервисов.
Достоинства:

интеграция с сервисами Google, такие как Gmail, Google+;

возможность просмотра большого количества форматов файлов в окне браузера через веб-интерфейс;

создание общих папок для совместной работы с другими пользователями;

средства для создания и редактированию документов, как через веб-интерфейс, так и через приложения для ПК и смартфонов;

некоторые возможности совместной работы с другими пользователями;

максимальный объем хранилища 16 ТБ;

распознавание текста в отсканированных изображениях;

система контроля изменений файлов — вечная для документов, и
30-ти дневная для всех остальных типов файлов;

фильтрация файлов по типу, расширенная сортировка файлов.
Недостатки:

максимальный размер загружаемого файла – 10 ГБ;

возможности совместной работы весьма малы и неудобны.
Сервис OneDrive бесплатно предоставляет зарегистрированным пользователям 7 Гбайт дискового пространства. Хранить можно файлы

17 любых форматов, но некоторые получают дополнительные преимущества.
Так, если это документы Microsoft Office, то, с помощью интегрированных в
OneDrive Office Web Apps, их можно редактировать прямо в браузере, а установленный на компьютере Microsoft Office позволяет сохранять и открывать документы непосредственно в OneDrive. Фото и видео структурируются по каталогам с возможностью показа в браузере виде слайд-шоу, доступ к файлам можно разграничивать для различных категорий пользователей, а сопутствующий сервис Windows Live Mesh позволяет автоматически синхронизировать через OneDrive файлы на одном или нескольких компьютерах.
Достоинства:

расширенная функциональность для документов Office;

фото и видео каталогизировано;

сервис интегрирован в среду Windows Live;
Недостатки:

относительно низкая производительность;

жесткое ограничение на максимальный размер загружаемого файла;

простои в работе сервера.
Необходимо также отметить, что все представленные выше системы имеют определенные пробелы в областях поиска файлов (отсутствие работы с метаданными, слабая консолидация контента), групповой работы
(начальный уровень ее обеспечения поверхностно проработан только в
Google Drive), а также отсутствует дескриптивность имен.
1.2.3

Функциональные особенности целевой системы
Представленные выше недостатки популярных систем хранения вовсе не делают их плохими, свою основную работу они выполняют на должном уровне, иначе они и не смогли бы снискать столь обширную клиентскую

18 базу. Но когда требования к системе выходят за рамки простейших задач вида «загрузить с утра документ с домашнего компьютера, выгрузить в офисе на рабочий», начинает ощущаться недостаточность функциональности в некоторых аспектах работы с файлами.
Целевая система C3 предназначена для обеспечения наиболее удобной и функциональной файловой работы для группы из любого количества человек, объединенных общим проектом, заданием, идеей или целью. Для этого была выработана и разработана особая совокупность средств, расширяющая привычные возможности файловых систем, при этом поддерживая качество их реализации на конкурентоспособном уровне. С3 – акроним от communication, collaboration, content, и это название отражает назначение системы. Ее основная задача – предоставление пользователю удобной и производительной среды для работы с файлами в рамках рабочей группы, обладающей широким спектром возможностей коммуникации, простотой и постоянством доступа к файлам, а также инструментами учета и восстановления. Выполнение данной задачи обеспечивается определенными концептуальными решениями, приведенными ниже.
C3 – в первую очередь контент система файлового типа. А файл, как уже было отмечено, это поименованная совокупность данных. Из этого определения вытекают два важных следствия: что данные объединены в файл по какому-либо критерию (поэтому они и образуют совокупность или логическую единицу данных), и что имя файла в той или иной степени должно отражать этот критерий объединения.
Во втором следствии кроется глобальная проблема файлового хранения – проблема именования. Пользователи привыкли давать файлам неинформативные для большинства других людей (а по прошествии времени и для них самих) имена. Простой пример – документ с первой лабораторной работой по теории автоматов за восьмой семестр в подавляющем большинстве случаев называется «lab1.*», как и любой документ с первой

19 лабораторной работой по любому предмету за любой семестр. Низкая информативность подобного имени налицо. Проблема усугубляется при низкой информативности имен более высоких уровней иерархии файлового дерева, то есть каталогов. Ведь если пользователь по каким-либо причинам не сможет проследить четкий иерархический путь до файла с названием
«lab1.*» (например …/восьмой_семестр/теория_автоматов/lab1.*), то он никак не сможет узнать о характере содержимого файла, не открывая его.
Острее всего данная проблема ощущается при множественном представлении доступа к файлам, то есть, когда пользователь может получить доступ к данным, не только последовательно пройдя по иерархическому дереву, но и другими путями. Хороший пример - выдача результатов поисковых запросов, где имя файла – мало того, что основной источник информации о его содержимом (ведь обычно результатов много, а на доскональную проверку каждого из них требуется время), так еще и прямо влияет на успешность самого результата запроса. Также очень важно, чтобы при групповой работе участники группы могли просто и быстро разобраться в файлах, внесенных в среду (созданных самостоятельно, либо перенесенных с какого-либо ресурса) другими пользователями, для обеспечения наибольшей производительности группы.
С3 решает это проблему с помощью двух эффективных инструментов: работу с метаданными и дескриптивных имен.
Метаданные – это набор дополнительных структурированных данных.
Для файлов метаданными могут быть тэги, дата создания, размер, имя автора и многие другие. Некоторые из них присваиваются системой автоматически
(дата создания, имя автора), а некоторые напрямую задаются пользователем
(тэги, название файла). Работа с широким спектром метаданных улучшает качество результата поискового запроса и упрощает идентификацию файла при групповой работе, но полностью проблему не решает, так как не исключает вероятность того, что файл останется сложноидентифицируемым.

20
Тогда на помощь приходят дескриптивные имена. Дескриптивное имя
– имя, которое дает пользователю достаточное представление о содержимом файла. Например, название файла «отчет 2013» в каталоге «…/бухгалтерия/» не дескриптивно, так как разных отчетов в 2103 году могло быть великое множество, а название «годовой отчет 2013» вполне дескриптивно, ведь каждый бухгалтер знает, что годовой отчет может быть только один.
И тут возникает резонный вопрос, кто же определяет, дескриптивно ли конкретное имя в данном контексте или нет? Чтобы верно на него ответить, нужно разобраться в понятиях группы и групповой работы, а также ролей ее участников.
1.2.4

Групповая работа
Группа в C3 – некоторое количество людей (от одного и более), вовлеченных в совместную работу по некой общей тематике. Это может быть и университетская учебная группа (как с преподавателем, так и без), и отдел фирмы, и команда разработчиков, и даже один человек, работающий над своим проектом.
Любая эффективная групповая работа подразумевает субординацию, разделение областей ответственности и обязанностей. То же относится и к файловой работе. У каждого файла есть хозяин или владелец – человек, привнесший этот файл в систему. Им может быть любой член группы, у которого есть право создания файла. Владелец задает файлу имя, присваивает теги, описание и другие метаданные. Управляет правами участников группы ее лидер, то есть человек ответственный за модерирование контента, координирующий действия членов команды (и управляющий их добавлением и удалением из группы) и отвечающий за функционирование группы в системе в целом. Именно он является лицом, контролирующим дескриптивность имен файлов и каталогов, так как, во- первых, он наделен полными правами доступа на весь находящийся в группе

21 контент, а во-вторых, имеет средства воздействия на всех других участников группы, а значит и на всех возможных владельцев файлов.
Над рабочей группой существует еще один уровень иерархии – администратор портала. Он занимается управлением участниками всего развернутого экземпляра системы, категориями (наборами стандартных тегов, объединенных общей тематикой) и добавлением в систему групп.
Фактически, администратор – супервизор всей системы, модерирующий ее и ей управляющий.
Такая иерархическая модель, дескриптивность имен и использование метаданных также способствует важному аспекту файлового хранения – консолидации данных, то есть созданию определенного контекста внутри рабочей группы.
Все эти свойства в совокупности обеспечивают такие важные характеристики, как: постоянная доступность контента, простой доступ к данным (контекст предоставляет более эффективный доступ к файлам, например, при поиске – исследуя его, можно прийти к нужному контенту, даже не подозревая о его существовании), а также то, что называется data retention – удержание данных группы (даже в случае, если некоторые члены ее покинут, или совместная работа закончится, все знания будет просто восстановить и использовать повторно).
1.2.5

Журналирование
Очередная особенность C3 – система журналирования. Обычно при работе с файловыми системами пользователи сталкиваются с критическим неудобством – сама история работы с файлами в той или иной степени хранится внутри системы, а для хранения всех связанных с ней комментариев, пояснений и переписки приходится использовать сторонние средства (электронная почта, Skype и так далее). В C3 эта проблема решена с помощью журнала – файла особого типа, в котором сделанные записи никогда не редактируются, а только добавляются, при этом доступна

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

Архитектура целевой системы
Контент-система С3 разделена на две подсистемы: хранилище (C3-
Storage) и веб-портал (C3-Web). Взаимодействие между подсистемами осуществляется по протоколу HTTP, схема представлена на рисунке 1.

23
Рисунок 1. Архитектура целевой контент-системы С3
Компоненты хранилища:

REST API – отвечает за предоставление интерфейса доступа к ресурсам файлового хранилища.

Access Library – система управления доступом, отвечает за предоставление доступа С3-Web к ресурсам C3-Storage.

VFS – Виртуальная файловая система. Предоставляет другим компонентам интерфейс для работы с хранимыми ресурсами и каталогами.

24

Replication – механизм синхронизации содержимого нескольких копий объекта. Процесс, под которым понимается копирование данных из одного источника на другой (или на множество других) и наоборот. При репликации изменения, сделанные в одной копии объекта, могут быть распространены в другие копии.

Search – поисковая система. Для полнотекстового поиска используется библиотеку Apache Lucene. Apache Lucene – свободная библиотека для полнотекстового поиска, написанная на
Java. Достоинства библиотеки – развитые возможности поиска, хорошая система построения и хранения индекса, возможен параллельный поиск по множеству индексов с объединением результатов, возможностью одновременного поиска и обновления индекса. Сам индекс построен из сегментов.

Berkeley DB (BDB) — высокопроизводительная встраиваемая система управления базами данных, реализованная в виде библиотеки. BDB является нереляционной базой данных — она хранит пары «ключ — значение».
Компоненты веб-слоя реализуют следующие возможности:

User Interface – Пользовательский интерфейс, получает от пользователя команды и возвращает ответы в виде html-страниц.

ACL – Система управления доступом, отвечает за аутентификацию и авторизацию пользователей, а так же за разграничение прав доступа к ресурсам и группам.

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

25
«черный ящик», то есть их внутренние механизмы работы неважны в рамках поставленной задачи.
1.3

Задачи работы
Результат, который должен быть достигнут по итогам данной работы
– пользовательский интерфейс, отвечающий требованиям по показателям юзабилити, использующий пользовательский опыт работы с различными файловыми системами, будь то рассмотренные выше веб-сервисы или обычный проводник Windows, и при этом эффективно представлять все функциональные особенности системы C3. Для достижения данного результата на основе анализа предметной области и целевой системы поставлены следующие задачи:

Разработка подхода к созданию пользовательского интерфейса;

Выбор инструментов проектирования и разработки пользовательского интерфейса;

Разработка требований к пользовательскому интерфейсу;

Программная реализация пользовательского интерфейса;

Организация тестирования пользовательского интерфейса.

26
2



Поделитесь с Вашими друзьями:
  1   2   3


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал