Требования к разработке ИС «SYNERGY Workflow»
=====================================

Общие требования к Системе
------------------------------------------------------

1. Система должна поддерживать работу на следующих серверных ОС: Linux - рекомендуется использовать ОС Debian GNU/Linux версий не ниже 9.0 (AMD64).
2. Система должна поддерживать работу на реляционных СУБД и на noSQL СУБД.
3. Система не должна требовать обязательного приобретения дополнительных компонентов (лицензии на ОС, на СУБД и т.п.).
4. Система должна поддерживать шифрование подключений с помощью протокола SSL (HTTPS).
5. Система должна поддерживать работу с распределённым хранилищем данных.
6. Система должна обеспечивать возможность распределенной работы и удаленного доступа к ресурсам и объектам.
7. Система должна поддерживать работу в архитектуре Internet/Intrаnet.
8. Система должна предоставлять Web-интерфейс, который не требует установки клиентской части. Система должна поддерживать интернет-браузеры Google Chrome, Mozilla Firefox актуальных версий.
9. Система должна предоставлять возможность реализовывать пользовательские интерфейсы, используя HTML и/или JavaScript.
10. Система должна предоставлять комплект средств разработки (Software Development Kit - SDK), включая:
  * REST API;
  * способы авторизации: сессионная, по логину и паролю, по ключам;
  * события, возникающие в различных точках исполняемого кода при выполнении определённых условий;
  * очереди сообщений;
  * поддержку плагинов;
  * JavaScript интерпретаторы.
11. Система должна предоставлять инструментарий для локализации языка интерфейса. Система должна обеспечить возможность добавлять и настраивать неограниченное количество языков без программирования в процессе эксплуатации. А также позволять изменять переводы в режиме реального времени, без остановки системы и без применения сторонних инструментов.
12. Система должна предоставлять возможность администрирования организационной структуры, функциональных ролей и учетных записей пользователей.
13. Система должна предоставлять возможность регулирования доступа к объектам системы в соответствии с правами доступа пользователя.
14. Система должна предоставлять возможность создания, редактирования форм в визуальном редакторе форм.
15. Система должна предоставлять инструмент управления бизнес-процессами, поддерживающий нотацию BPMN.
16. Система должна предоставлять дизайнер бизнес-процессов. Создание и редактирование бизнес-процессов должно выполняться в рабочем пространстве дизайнера бизнес-процессов.
17. Система должна поддерживать версионность документов.
    
Требования к модулям Системы
----------------------------

1. Система должна предоставлять доступ пользователям к модулю поручений.
2. Система должна предоставлять доступ пользователям к модулю настроек документоборота.


Требования к модулю поручений
------------------------------------------------------

1. Модуль должен предоставлять возможность создания работ с указанием названия, сроков исполнения, приоритета, ответственного и соисполнителей, а также указанием дополнительной информации: нагрузка, ключевые слова, комментарии, вложения, форма завершения.
2. Модуль должен предоставлять возможность создания протоколов. В результате запуска протокола система должна автоматически создавать протокольные поручения.
3. Модуль должен предоставлять возможность комментирования работы, просмотра и прикрепления вложений в соответствие с правами доступа и видом работы.
4. Модуль должен предоставлять возможность добавления трех видов комментариев к работе: относящиеся к работе, относящиеся к документу и личные.
5. Модуль должен предоставлять возможность отправки работы на согласование, утверждение, ознакомление.
6. Модуль должен предоставлять возможность автоматического заполнения названий работ вида согласование, утверждение, ознакомление.
7. Модуль должен предоставлять доступ пользователю к своим работам с использованием основных фильтров:
 * на исполнении;
 * на контроле;
 * делегированные (если кто-либо делегировал право на просмотр работ пользователю или пользователь является исполняющим обязанности);
8. Модуль должен предоставлять доступ пользователю к фильтру «Делегированные», который содержит фильтр по работам делегировавшего пользователя либо руководителя.
9. Интерфейс модуля должен предусматривать визуальное различие работ по приоритетам.
10. Интерфейс модуля должен предусматривать визуальное различие работ по истечению срока исполнения: актуальные, просроченные и работы, до окончания исполнения которых осталось меньше трети срока исполнения.
11. Модуль должен предоставлять возможность текстового поиска по названию, автору, исполнителю.
12. Модуль должен позволять перепоручать работы подчиненным.
13. Модуль должен позволять передать и перепоручать работы исполнителю, не являющемуся подчиненным, в случае указания соответствующей опции.
14. Модуль должен предоставлять возможность выбрать форму завершения работы путем выбора из справочника.
15. Модуль должен предоставлять возможность подтвердить либо отклонить результат работы.
16. Модуль должен предоставлять возможность каскадно завершать дерево работ путем завершения родительского элемента.
17. Модуль должен позволять просмотреть пользователю ход выполнения работы или документа: дата и время начала/завершения этапа, кем был этап завершен.
18. Модуль должен позволять просмотреть пользователю все будущие этапы маршрута. 
19. Модуль должен хранить информацию об изменениях в файлах работы или документа: создание, редактирование, удаление.
20. Модуль должен предоставлять возможность подписания документов ЭЦП.
21. Модуль должен поддерживать ЭЦП НУЦ.
22. Модуль должен хранить информацию о всех визах документа в листах согласования, утверждения, ознакомления, подписей.
23. Модуль должен предоставлять возможность руководителю создавать и редактировать резолюцию.
24. Модуль должен предоставлять возможность руководителю указывать форму завершения работы в резолюции путем выбора из справочника.



Требования к модулю настроек поручений и документооборота
------------------------------------------------------

1. Модуль должен предоставлять возможность создания, редактирования, скрытия приоритетов, указания значения по умолчанию.
2. Модуль должен предоставлять возможность редактирования процессов системы: настройки названий и подстановок, сообщений хода исполнения, состояний в списке работ, форм процесса, уведомлений.
3. Модуль должен предоставлять возможность указания настроек резолюций, а также шаблона пункта резолюции.
4. Модуль должен предоставлять возможность указания дополнительных настроек документооборота, времени на выполнение работ по-умолчанию, настроек переназначения работ при увольнении/переводе пользователя.
