Да се проектира софтуерната архитектура на софтуерната система VeloCity, за отдаване под наем на велосипеди в рамките на града. Основната цел на системата е потребителите през мобилно приложение да се информират за най-близките свободни велосипеди, с които може да се придвижват само в рамките на града. Велосипедите са снабдени с електрическа система за задвижване, но може да се задвижват и със собствена сила на колоездача, чрез педали.
- Системата трябва да поддържа следните групи потребители: a. Наемател на велосипед (обикновен потребител) b. Член на група по техническа поддръжка на велосипедите c. Системен администратор (техническа софтуерна поддръжка) d. Наблюдател/отговорник по използването на велосипедите
- Велосипедите се намират на стоянки, разположени на предварително определени позиции в рамките на града. Батериите на велосипедите се зареждат по време на престоя им на стоянката.
- Наемателите на велосипед се регистрират през мобилното приложение, като в профила им се включвт следните лични данни: имена, ЕГН, както и данни за връзка.
- Системните администратори и наблюдателите използват системата през Уеб приложение.
- Личните данни на потребителите трябва да са абсолютно защитени от външна намеса. Достъпни са единствено до наблюдателя на правомерното използване на велосипедите.
- При заявка от потребителя за търсене на велосипед, приложението му показва най-близката стоянка, където има свободен велосипед с поне Х% заредена батерия. Х е конфигурационен параметър на системата.
- Потребителите може да заплащат услугата чрез кредитна карта, СМС или чрез предварително закупени талони, които съдържат уникален код. Кодът може да се въвежда ръчно или автоматично (QR-code).
- Всеки велосипед има уникален идентификационен номер в системата и е снабден с GPS устройство, както и със смарт-сензори за самодиагностика. При наличие на технически проблем по велосипеда (спукана/спаднала гума, повреда, и т.н.) да се изпраща известие до гупите по техническа поддръжка, които в рамките на половин час трябва да диагностицират повредата и да вземат мерки за отстраняването ѝ.
- Максималното време Т за използване на един велосипед е конфигурационен параметър на сървъра на системата. След изтичане на максималното време се изпраща съобщение на наемателя и той трябва да остави велосипеда на найблизката стоянка и да го замени с друг ако му е необходимо.
- При излизане на велосипед от рамките на града, трябва да се сигнализира наблюдателя в рамките на 1 мин, като се изпратят данни за движението на велосипеда в последните 30 мин.
- При или загуба на връзка с даден велосипед, , трябва да се сигнализира
наблюдателя в рамките на 10 сек, като се изпратят данни за движението на
велосипеда в последните 30 мин, заедно с най-вероятната му позиция на която се е намирал в момента на изгубване на връзката. Т.нар. най-вероятна позиция се определя със специален алгоритъм (напр. чрез изкуствен интелект). - При засичане на пътен или друг инцидент с велосипеда, се изпраща автоматично сигнал до спешна помощ (112), в рамките на 1 сек след засичане на инцидента. В рамките на 5 сек се известява и наблюдателя на системата.
- Системните администратори имат права да конфигурират системата и да следят за правилната ѝ работа.
- Системата трябва да може да се интегрира с всички познати онлайн услуги за географски карти (Google maps, BG maps, Open Street maps и т.н.), като има възможност за бъдещо добавяне на нови карти.
- Допуска се ремонт и профилактика в интервала от 2:30 до 5:30 ч. В останалата част на деня, системата трябва да е 99,999% налична.
- Системата трябва да е устойчива към пикови натоварвания в най-натоварените в денонощието, часове за придвижване.