SlideShare a Scribd company logo
1 of 49
Корпоративен софтуер в
гаражни условия
Цветелин Павлов
Трудности при вътрешна разработка на корпоративен клас софтуер в организация, която
не се занимава с разработка на софтуерни продукти. История, решения и някои детайли от
разработката на интегрираната информационна система на Русенски университет.
Корпоративен софтуер
Кой софтуер е корпоративен и какво му е толкова специалното?
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
tsvetelin@live.com

More Related Content

Similar to Корпоративен софтуер в гаражни условия

Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)Svetlin Nakov
 
IBM Academic Initiative
IBM Academic InitiativeIBM Academic Initiative
IBM Academic InitiativeIBS Bulgaria
 
eLearn.bg - Benefits for universities
eLearn.bg - Benefits for universitieseLearn.bg - Benefits for universities
eLearn.bg - Benefits for universitiesMoby2 Ltd.
 
Система за електронно обучение и видеоконференции iKnow
Система за електронно обучение и видеоконференции iKnowСистема за електронно обучение и видеоконференции iKnow
Система за електронно обучение и видеоконференции iKnowrobertbul
 
Професия IT специалист
Професия IT специалистПрофесия IT специалист
Професия IT специалистrsabev
 
Резултати от проект "Разработване и внедряване на система за оценка на компет...
Резултати от проект "Разработване и внедряване на система за оценка на компет...Резултати от проект "Разработване и внедряване на система за оценка на компет...
Резултати от проект "Разработване и внедряване на система за оценка на компет...Bulgarian Industrial Association
 
Llp projects info
Llp projects infoLlp projects info
Llp projects infoilko gruev
 
GoodSpring Портфолио
GoodSpring ПортфолиоGoodSpring Портфолио
GoodSpring ПортфолиоTodor Todorov
 
Хай Левъл Проджектс
Хай Левъл Проджектс Хай Левъл Проджектс
Хай Левъл Проджектс Ralitsa Dimitrova
 
Презентация на eCompany.Pro
Презентация на eCompany.ProПрезентация на eCompany.Pro
Презентация на eCompany.ProMoby2 Ltd.
 
University account brochure on e-learn.pro
University account brochure on e-learn.proUniversity account brochure on e-learn.pro
University account brochure on e-learn.proMoby2 Ltd.
 

Similar to Корпоративен софтуер в гаражни условия (20)

Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
Софтуерен университет - качествено обучение безплатно (OpenFest 2012)
 
Studio projects
Studio projectsStudio projects
Studio projects
 
IBM Academic Initiative
IBM Academic InitiativeIBM Academic Initiative
IBM Academic Initiative
 
eLearn.bg - Benefits for universities
eLearn.bg - Benefits for universitieseLearn.bg - Benefits for universities
eLearn.bg - Benefits for universities
 
Система за електронно обучение и видеоконференции iKnow
Система за електронно обучение и видеоконференции iKnowСистема за електронно обучение и видеоконференции iKnow
Система за електронно обучение и видеоконференции iKnow
 
Професия IT специалист
Професия IT специалистПрофесия IT специалист
Професия IT специалист
 
eLearnbg
eLearnbgeLearnbg
eLearnbg
 
Резултати от проект "Разработване и внедряване на система за оценка на компет...
Резултати от проект "Разработване и внедряване на система за оценка на компет...Резултати от проект "Разработване и внедряване на система за оценка на компет...
Резултати от проект "Разработване и внедряване на система за оценка на компет...
 
Llp projects info
Llp projects infoLlp projects info
Llp projects info
 
GoodSpring Портфолио
GoodSpring ПортфолиоGoodSpring Портфолио
GoodSpring Портфолио
 
Creative Commons
Creative CommonsCreative Commons
Creative Commons
 
Проучване за дуалното обучение
Проучване за дуалното обучениеПроучване за дуалното обучение
Проучване за дуалното обучение
 
Moby2Day 2018
Moby2Day 2018Moby2Day 2018
Moby2Day 2018
 
Moby2day 2018
Moby2day 2018Moby2day 2018
Moby2day 2018
 
Заключителен семинар
Заключителен семинарЗаключителен семинар
Заключителен семинар
 
Хай Левъл Проджектс
Хай Левъл Проджектс Хай Левъл Проджектс
Хай Левъл Проджектс
 
Architecture
ArchitectureArchitecture
Architecture
 
Презентация на eCompany.Pro
Презентация на eCompany.ProПрезентация на eCompany.Pro
Презентация на eCompany.Pro
 
University account brochure on e-learn.pro
University account brochure on e-learn.proUniversity account brochure on e-learn.pro
University account brochure on e-learn.pro
 
MMD Scale Presentation
MMD Scale   PresentationMMD Scale   Presentation
MMD Scale Presentation
 

Корпоративен софтуер в гаражни условия

  • 1. Корпоративен софтуер в гаражни условия Цветелин Павлов Трудности при вътрешна разработка на корпоративен клас софтуер в организация, която не се занимава с разработка на софтуерни продукти. История, решения и някои детайли от разработката на интегрираната информационна система на Русенски университет.
  • 2. Корпоративен софтуер Кой софтуер е корпоративен и какво му е толкова специалното?
  • 3. 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
  • 4. Категории • 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
  • 5. Най-важните характеристики • Винаги наличен (High availability) • Мащабируемост (Scalability) • Надеждност (Reliability) • Сигурност (Security) • Ремонтопригодност (Maintainability) • Управляемост (Manageability) • Изисква солидна инфраструктура • Изисква допълнителни дейности за поддържане в изправно състояние • Висока себестойност
  • 6. „Формула 1“ на софтуера.
  • 7. Русенски университет Корпорация ли е, не е ли и какъв софтуер трябва да го обслужва? Защо „гаражни условия“?
  • 8. Русенски университет не е корпорация, но от гледна точка на информационните системи… … wait for it …
  • 9. Русенски университет ​В модерни учебни зали и изследователски лаборатории [...] се обучават около 10 000 студенти и докторанти. Обучението се провежда от 499 висококвалифицирани преподаватели на основен трудов договор... Официален сайт на Русенски университет
  • 10. Русенски университет • ≈10 000 – 12 000 обучаващи се • ≈ 500 души преподаватели • ≈ 100 – 200 души персонал • Две териториално изнесени звена – филиалите в Силистра и Разград • 8 факултета, 32 катедри, 15 дирекции Официален сайт на Русенски университет
  • 11. Русенски университет не е корпорация, но от гледна точка на информационните системи… … wait for it … Информационното обслужване трябва да се извършва от корпоративен клас софтуер.
  • 12. Защо „гаражни условия“? • Основната цел на университета е обучението на студенти, а не производството на софтуер • Развитието на софтуера не е бизнес приоритет • Ниски заплати • Свит щат • Липса на дългосрочна стратегия за информационно обслужване • Работа „на парче“ по „занаятчийски“ • И заради разликата с „външните изпълнители“
  • 14. …това, което всички наричат „система Студент“ … … всъщност е система за обезпечаване на работните процеси за обучение на студенти.
  • 15. …това, което всички наричат „система Студент“ е свързано с: • Управление на студентско състояние • Управление на учебни планове • Управление на изпитни протоколи • Управление на учебен разпис • Интеграция със системите на МОН • Касови и безкасови разплащания • Натоварване на преподавателския състав • Материална база на университета • Човешки ресурси • Личен състав • Труд и работна заплата • и всичко останало…
  • 17. Legacy • Clipper • Човекът-система • Невъзможност да отговорят на нуждите на организацията • „Онлайн“ какво…? • Натоварване на персонала заради липса на автоматизация • Опашки… • Кой за какво отговаря?
  • 18. Началото — Ще разработвате „система Студент“! — Добре…
  • 19. Началото … ами обхват, бюджет, екип, необходими ресурси, времеви прозорец, критични функционалности, стратегия и подход за разработка?
  • 20. The Dark Ages — Как върви разработката на системата, напредвате ли? — Даа-а, напредваме…
  • 21. Стратегически цели • Разпределяне на отговорностите • Разгъване на работните процеси от край до край • Максимална възможна автоматизация • Проектиране за разширяемост • Интегриране на готови решения, където е възможно • Хомогенна среда от инфраструктура до line of business приложенията • Базиране на платформи вместо собствена разработка
  • 28. Междувременно… — Готова ли е системата? — Ами… Имаме едни архитектурните шаблони тука… — Трябва да разработите и новия сайт на университета…
  • 30. … 2 години по-късно…
  • 31. BG051PO001-3.1.08-0019 „Усъвършенстване на системата за управление в Русенския университет за осигуряване на прозрачност и ефективност“
  • 32. По проекта • Определихме обхват • Определихме бюджет • Определихме времеви прозорец • Сформирахме екип • Довършихме инфраструктурата • Новият сайт на университета • Система за управление на учебните планове • Система за управление на студентското състояние
  • 33. Екипът… … в момент на върхова производителност…
  • 36. Новият сайт • Базиран на SharePoint Server • … всъщност са 110 сайта, 29 приложни услуги и 19 комплекта сервизни уеб приложения с услуги • + по един сайт за всеки потребител (общо ≈12 110) • Разпределяне на отговорностите • Работни процеси за одобрение
  • 37. LOB системи LOB = Line of business
  • 38. Учебни планове • Обезпечаване на процесите по създаване и утвърждаване на учебни планове • Domain-driven архитектура • Трислоен пласт с услуги, трислойно уеб приложение • SharePoint Provider-Hosted App за преглед на учебните планове • Уеб базиран редактор • Работни процеси и документооборот в SharePoint
  • 41. Студентско състояние • Обезпечаване на процесите по промяна на студентското състояние и обучение на студенти • Data-driven архитектура • Трислоен пласт с услуги, трислойно клиентско приложение • Modern UI Point of Service десктоп приложение за факултетните канцеларии • Работни процеси и документооборот в SharePoint
  • 44. Предстоящо през 2015 • Втори release на системите за студентско състояние и учебни планове • Система за учебен разпис • Лични профили за студентите • Преглед на собственото състояние – дисциплини, изпити, оценки • Личен календар с разписа на занятията • Административни процедури онлайн • Office 365 for Universities • Онлайн плащания
  • 46. Когато стартирате софтуерен проект • Задължително уточнете обхвата на функционалностите (scope) • Задължително уточнете бюджета и начина на управление • Използвайте agile методика и изберете хора, с които да комуникирате, когато имате въпроси или предложения • „Scale as you need” – стартирайте с малко, но винаги проектирате за разрастване • Когато правите технологичен избор, избирайте технологията с най-малък риск • Изучаването на технологията също е риск • Формирайте екип! • Задължително TDD при многопластови решения!
  • 47. Трябва ли да разработвам enterprise клас софтуер? ДА
  • 48. Как? • On-premise, хибридно или изцяло cloud • Visual Studio Online • BizSpark • Microsoft IT Academy & MSDN • Windows Azure
  • 49. Благодаря за вниманието! Цветелин Павлов http://facebook.com/tsvetelin tsvetelin@live.com

Editor's Notes

  1. Казвам се Цветелин Павлов и съм софтуерен инженер в Центъра за информационно и компютърно обслужване на Русенски университет. Няма да ви разказвам как да правите успешен корпоративен софтуер в гаража си най-малкото защото не се чувствам като успял човек, който може да раздава съвети. Но мога да споделя нещичко за трудностите и предизвикателствата, с които ние се сблъскахме по време на разработката на интегрираната информационна система на университета.
  2. Преди всичко, за да съм сигурен, че всички сме на „същата страница“ искам да обясня какво представлява корпоративния клас информационни системи и защо са толкова специални, че да ви губя времето с тях…
  3. Според определението в Wikipedia корпоративен е софтуер, насочен към организациите, а не към крайните потребители, т.е. бизнес софтуерът, който организациите използват, за да вършат своята работа. Забележете, че не става дума само за „бизнес“ организации.
  4. … кратко списъче на видовете корпоративен софтуер, извадено от същата статия в Wikipedia само защото наименованията на тези категории са по-популярни и хората стоплят по-бързо, когато чуят „ERP”, “CRM”, “BPM” и т.н. Забелязвате ли, че CMS-ите, които много от вас познават също присъстват като „корпоративен софтуер“? Става дума за т.нар. Enterprise Content Management или ECM, което е „почти същото“ като блогът ви на WordPress, но „обогатено“ с множеството процеси, проверки, одобрения и въобще контрол на информацията, докато тя стане „онлайн съдържание“. Отделно, ECM включва и софтуерите за управление на документацията в организацията, т. нар. Document management или документооборот на български. При SharePoint например има функционалности, които позволяват на даден документ да бъде наложена възбрана за извършване на каквото и да е действие, до като трае ревизия, например, с цел да не се позволи злонамерено изкривяване или заличаване на информацията.