Download - Корпоративен софтуер в гаражни условия
Корпоративен софтуер в гаражни условия
Цветелин ПавловТрудности при вътрешна разработка на корпоративен клас софтуер в организация, която не се занимава с разработка на софтуерни продукти. История, решения и някои детайли от разработката на интегрираната информационна система на Русенски университет.
Корпоративен софтуерКой софтуер е корпоративен и какво му е толкова специалното?
Enterprise software
Enterprise software, also known as enterprise application software (EAS), is purpose-designed computer software used to satisfy the needs of an
organization rather than individual users. Such organizations can vary from businesses, schools, interest-based user groups and clubs, retailers, or governments.
Enterprise software is an integral part of a (computer based) Information System, and as such includes web site software
production.
Wikipedia
Категории
• Accounting software• Business intelligence (BI и Self-BI)• Business process management ( BPM)• Content management systems (CMS / ECM)• Customer relationship management (CRM)• Database
• Master data management (MDM)
• Enterprise resource planning (ERP)• Enterprise asset management (EAM)• Supply chain management (SCM)
Wikipedia
Най-важните характеристики
• Винаги наличен (High availability)• Мащабируемост (Scalability)• Надеждност (Reliability)• Сигурност (Security)• Ремонтопригодност (Maintainability)• Управляемост (Manageability)• Изисква солидна инфраструктура• Изисква допълнителни дейности за поддържане в
изправно състояние• Висока себестойност
„Формула 1“ на софтуера.
Русенски университетКорпорация ли е, не е ли и какъв софтуер трябва да го обслужва?
Защо „гаражни условия“?
Русенски университет не е корпорация, но от гледна точка на информационните системи…
… wait for it …
Русенски университет
В модерни учебни зали и изследователски лаборатории [...] се обучават около 10 000 студенти и докторанти.
Обучението се провежда от 499 висококвалифицирани преподаватели на основен трудов договор...
Официален сайт на Русенски университет
Русенски университет
• ≈10 000 – 12 000 обучаващи се• ≈ 500 души преподаватели• ≈ 100 – 200 души персонал• Две териториално изнесени звена – филиалите в
Силистра и Разград• 8 факултета, 32 катедри, 15 дирекции
Официален сайт на Русенски университет
Русенски университет не е корпорация, но от гледна точка на информационните системи…
… wait for it … Информационното обслужване трябва да се
извършва от корпоративен клас софтуер.
Защо „гаражни условия“?
• Основната цел на университета е обучението на студенти, а не производството на софтуер• Развитието на софтуера не е бизнес приоритет• Ниски заплати• Свит щат
• Липса на дългосрочна стратегия за информационно обслужване• Работа „на парче“ по „занаятчийски“
• И заради разликата с „външните изпълнители“
The Системата
…това, което всички наричат „система Студент“ …
… всъщност е система за обезпечаване на работните процеси за обучение на студенти.
…това, което всички наричат „система Студент“ е свързано с:• Управление на студентско състояние• Управление на учебни планове• Управление на изпитни протоколи• Управление на учебен разпис• Интеграция със системите на МОН• Касови и безкасови разплащания• Натоварване на преподавателския състав• Материална база на университета• Човешки ресурси• Личен състав• Труд и работна заплата• и всичко останало…
Историята
Legacy
• Clipper• Човекът-система• Невъзможност да отговорят на нуждите на
организацията• „Онлайн“ какво…?• Натоварване на персонала заради липса на
автоматизация• Опашки…• Кой за какво отговаря?
Началото
— Ще разработвате „система Студент“!— Добре…
Началото
… ами обхват, бюджет, екип, необходими ресурси, времеви прозорец, критични функционалности, стратегия и подход за разработка?
The Dark Ages
— Как върви разработката на системата, напредвате ли?— Даа-а, напредваме…
Стратегически цели
• Разпределяне на отговорностите• Разгъване на работните процеси от край до край• Максимална възможна автоматизация• Проектиране за разширяемост• Интегриране на готови решения, където е възможно• Хомогенна среда от инфраструктура до line of business
приложенията• Базиране на платформи вместо собствена разработка
Архитектурата
Инфраструктурата
Развоен център
Десктоп приложение
Уеб приложение
SharePoint приложение
Междувременно…
— Готова ли е системата?— Ами… Имаме едни архитектурните шаблони тука…— Трябва да разработите и новия сайт на университета…
Новият сайт на университета 2010
… 2 години по-късно…
BG051PO001-3.1.08-0019„Усъвършенстване на системата за управление в Русенския университет за осигуряване на прозрачност и ефективност“
По проекта
• Определихме обхват• Определихме бюджет• Определихме времеви прозорец• Сформирахме екип
• Довършихме инфраструктурата• Новият сайт на университета• Система за управление на учебните планове• Система за управление на студентското състояние
Екипът…
… в момент на върхова производителност…
Datacenter
Новият сайт на университета 2013
Новият сайт
• Базиран на SharePoint Server• … всъщност са 110 сайта, 29 приложни услуги и 19
комплекта сервизни уеб приложения с услуги• + по един сайт за всеки потребител (общо ≈12 110)• Разпределяне на отговорностите• Работни процеси за одобрение
LOB системиLOB = Line of business
Учебни планове
• Обезпечаване на процесите по създаване и утвърждаване на учебни планове• Domain-driven архитектура• Трислоен пласт с услуги, трислойно уеб приложение• SharePoint Provider-Hosted App за преглед на учебните
планове• Уеб базиран редактор• Работни процеси и документооборот в SharePoint
Учебни планове
SharePoint Provider-Hosted App
Учебни планове
SharePoint Provider-Hosted App
Студентско състояние
• Обезпечаване на процесите по промяна на студентското състояние и обучение на студенти• Data-driven архитектура• Трислоен пласт с услуги, трислойно клиентско
приложение• Modern UI Point of Service десктоп приложение за
факултетните канцеларии• Работни процеси и документооборот в SharePoint
Студентско състояние
Modern UI Point of Service App
Студентско състояние
Modern UI Point of Service App
Предстоящо през 2015
• Втори release на системите за студентско състояние и учебни планове• Система за учебен разпис• Лични профили за студентите• Преглед на собственото състояние – дисциплини, изпити,
оценки• Личен календар с разписа на занятията• Административни процедури онлайн• Office 365 for Universities
• Онлайн плащания
Takeaways
Когато стартирате софтуерен проект
• Задължително уточнете обхвата на функционалностите (scope)• Задължително уточнете бюджета и начина на
управление• Използвайте agile методика и изберете хора, с които
да комуникирате, когато имате въпроси или предложения• „Scale as you need” – стартирайте с малко, но винаги
проектирате за разрастване• Когато правите технологичен избор, избирайте
технологията с най-малък риск• Изучаването на технологията също е риск
• Формирайте екип!• Задължително TDD при многопластови решения!
Трябва ли да разработвам enterprise клас софтуер?
ДА
Как?
• On-premise, хибридно или изцяло cloud• Visual Studio Online• BizSpark• Microsoft IT Academy & MSDN• Windows Azure
Благодаря за вниманието!Цветелин Павлов
http://facebook.com/tsvetelin