DVS

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

Что мы сделали

  • Аудит бизнес-процессов.

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

  • Интеграция с существующими системами.

    Ломать не строить. Но мы не сторонники варианта "давайте всё переделаем с нуля", поскольку он увеличивает сроки и затраты клиента. Мы создали двухстороннюю интеграцию с более чем пятью подсистемами заказчика. Более того, сохранение подсистем независимыми делает всю систему более гибкой и менее зависимой от решений конкретного производителя.

  • Работа с большими объемами данных.

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

  • Служба поддержки пользователей.

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

  • Полная документация.

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

    • Документация по внедрению - предназначена для системных администраторов, где детально и последовательно описывается процесс развертывания системы, что позволяет сотрудникам клиента разворачивать систему на новых серверах без привлечения разработчиков;
    • Документация по администрированию - предназначена для операторов системы, которые выполняют служебные функции по обслуживанию читателей и виртуальных залов, работают со статистикой использования библиотечных фондов и т.д. Описывает функционал и варианты использования административной части проекта;
    • Документация по использованию - описывает сценарии использования функционала по поиску, просмотру и заказу документов на печать, что позволяет читателям ознакомиться с системой и начать работу буквально за считанные минуты.

Как мы это сделали

  • Консалтинг.

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

  • Проектирование.

    Большинство проблем в работе системы устраняется на этапе проектирования. Перед нами стояла задача спроектировать систему, которая могла бы масштабироваться простой настройкой новых серверов системным администратором. И мы успешно справились с этой задачей!

    • Мы перешли от работы системы на одном сервере до работы на нескольких серверах без вмешательства в программный код;
    • Мы обеспечили рост использования системы от одного виртуального читального зала до ста без архитектурных доработок.
  • Разработка.

    Вовремя информированный заказчик спокоен! Спокойный заказчик - довольный заказчик. Наш процесс разработки построен таким образом, что заказчик может в любую минуту проследить за прогрессом выполнения этапа работ и, при желании, вовремя его скорректировать. Этого мы добились всего тремя способами:

    • прозрачное общение через систему таск-трекинга;
    • использование распределенной системы контроля версий;
    • циклический процесс разработки (Scrum).
  • Тестирование.

    Не верь - Проверь! Таков девиз наших тестировщиков. Мы просто обязаны предоставить пользователям качественный продукт, поэтому процессу тестирования уделяется особое внимание. Мы внедрили несколько уровней тестирования системы:

    • ручное тестирование - мы разработали детальные тест планы на каждый раздел системы. При внедрении доработок на рабочие сервера, наши тестировщики выполняют тестирование по тест планам. Это позволяет исключить "человеческий фактор" в процессе тестирования;
    • автоматизированное тестирование - тестирование большей части системы выполняется автоматически по нажатию одной кнопки. Это позволяет выполнять тестирование системы при каждом этапе доработок и оперативно обнаруживать проблемы, которые могут возникнуть в результате доработок;
    • нагрузочное тестирование - с помощью нагрузочного тестирования мы можем искусственно создавать пиковые нагрузки на систему и обнаруживать вероятные проблемные места.

Тестирование

В проекте использовался mercurial, redmine, jmeter. Подробней - на странице как мы работаем.

Больше технических подробностей

  • Операционная система: Windows Server 2008 R2
  • Серверная часть: C#, .NET Framework 4.0, IIS 7.0, NLB Cluster, EntityFramework, WCF, REST, MVC, XML, XSLT, JSON
  • Веб интерфейс: HTML, Razor, Twitter Bootstrap, JavaScript
  • Просмотрщик документов: фреймворк Adobe Flex, Action Script 3
  • Хранение данных: MS SQL Server, AppFabric Cache для часто используемых данных
  • Обработка документов: SwfTools, доработка утилит на c++