SlideShare uma empresa Scribd logo
1 de 14
Как пишутся и поддерживаются
Enterprise системы
Сергей Немчинский, Smarte®ama,
2015
Основные проблемы разработки
 Недостаток коммуникации
 Ответственность
 Ценности
 клиента
 разработчика
Что такое Java Enterprise
приложение
 Размер приложения. Относительный и
абсолютный
 Время разработки
 Разные разработчики
 Интеграция
 Распределенность
 Нагрузки
 Количество данных
Программа и промышленный
модуль
 Код, делающий что нужно
 Тесты кода
 Интеграция с другими модулями и ее тесты
 Документация
Процесс разработки
промышленного модуля
 Анализ требований предметной области
 Декомпозиция задачи
 Анализ ограничений и нефункциональных
требований
 Разработка кода
 Тестирование и баг-фиксинг
 Передача на эксплуатацию и
сопровождение
Ценности разработки
 Хороший код – который легко
поддерживать
 Делать != сделать
 Никто не знает все, всегда вокруг тебя
люди, которые знают лучше
 Ценность правильной архитектуры
Библиотеки и фреймворки
 Вопросы правоиспользования
 Зависимости
 Разные версии
 Сложные (многобиблиотечные)
фреймворки
 Сервера приложений – тоже содержат
фреймворки
Enterprise Application и его
проблемы
 Объемы данных
 Устаревшие приложения
 Монолитность систем и интеграция
 Внешняя интеграция
Интеграция и ее история
 Интеграция через базу данных
 Интеграция через вызовы методов
 DCOM, RPC, RMI
 CORBA
 Web-services (SOAP, REST)
 Service Oriented Architecture
Интеграция – это самое сложное
 Интеграция со старым кодом
 Зависимость от других модулей
 Зависимость от окружения
Любимые анти-паттерны
 Преждевременная оптимизация
 Накопить и запустить
 Лодочный якорь
 Магические числа, хард-код
 Процедурный код
 Действие на расстоянии
 Нарушение Information Expert
Бонус: личная эффективность
 Мыслетопливо
 Две системы мышления
 Запоминание
 Как писать список задач
Ваши вопросы
http://smarterama.com

Mais conteúdo relacionado

Mais procurados

Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...SQALab
 
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеSQALab
 
«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»Stfalcon Meetups
 
Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромомSQALab
 
ляпин Bdd и coded ui для прагматиков
ляпин   Bdd и coded ui для прагматиковляпин   Bdd и coded ui для прагматиков
ляпин Bdd и coded ui для прагматиковMagneta AI
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомSQALab
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияMikhail Payson
 
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...COMAQA.BY
 
Документирование дефектов
Документирование дефектовДокументирование дефектов
Документирование дефектовNickola14
 
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектовSQALab
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesSQALab
 
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...QA Dnepropetrovsk Community (Ukraine)
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахSQALab
 
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийMairbek Khadikov
 
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаныSQALab
 
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизацииВадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизацииCOMAQA.BY
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализSQALab
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийAlexander Byndyu
 
«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»DataArt
 
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектурыSQALab
 

Mais procurados (20)

Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
Как мы добавляли UX-исследования в мобильные приложения Aviasales и что из эт...
 
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятное
 
«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»«Розробка мобільних додатків від початку створення ТЗ до релізу»
«Розробка мобільних додатків від початку створення ТЗ до релізу»
 
Человек со стокгольмским синдромом
Человек со стокгольмским синдромомЧеловек со стокгольмским синдромом
Человек со стокгольмским синдромом
 
ляпин Bdd и coded ui для прагматиков
ляпин   Bdd и coded ui для прагматиковляпин   Bdd и coded ui для прагматиков
ляпин Bdd и coded ui для прагматиков
 
Жаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектомЖаргон как средство повышения эффективности работы над проектом
Жаргон как средство повышения эффективности работы над проектом
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
 
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
Никита Мещаненко, Антон Семенченко - Альтернативные пути преподавания основ п...
 
Документирование дефектов
Документирование дефектовДокументирование дефектов
Документирование дефектов
 
Профилактика дефектов
Профилактика дефектовПрофилактика дефектов
Профилактика дефектов
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
Высокоинтерактивные прототипы пользовательского интерфейса - альтернатива Use...
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
 
Советы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложенийСоветы для успешной автоматизации тестирования веб-приложений
Советы для успешной автоматизации тестирования веб-приложений
 
Все твои ходы записаны
Все твои ходы записаныВсе твои ходы записаны
Все твои ходы записаны
 
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизацииВадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
Вадим Зубович - Sikuli script - идеальный инструмент для обучения автоматизации
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализ
 
Автоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложенийАвтоматизированное тестирование веб приложений
Автоматизированное тестирование веб приложений
 
«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»«Особенности Agile-разработки интернет-проектов»
«Особенности Agile-разработки интернет-проектов»
 
Моделирование корпоративной архитектуры
Моделирование корпоративной архитектурыМоделирование корпоративной архитектуры
Моделирование корпоративной архитектуры
 

Destaque

XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeDmytro Mindra
 
Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)Victor_Cr
 
Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"Victor_Cr
 
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: LegacyVictor_Cr
 
Шаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. РефакторингШаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. РефакторингSergey Nemchinsky
 
Щаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. АнтипаттерныЩаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. АнтипаттерныSergey Nemchinsky
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклыSergey Nemchinsky
 
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсыОсновы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсыSergey Nemchinsky
 
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Sergey Nemchinsky
 
Как найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететьКак найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететьSergey Nemchinsky
 
Working Effectively With Legacy Code
Working Effectively With Legacy CodeWorking Effectively With Legacy Code
Working Effectively With Legacy CodeNaresh Jain
 

Destaque (11)

XP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy codeXP Days Ukraine 2014 - Refactoring legacy code
XP Days Ukraine 2014 - Refactoring legacy code
 
Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)Legacy: как победить в гонке (Joker)
Legacy: как победить в гонке (Joker)
 
Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"Club of anonimous developers "Refactoring: Legacy code"
Club of anonimous developers "Refactoring: Legacy code"
 
XPDays Ukraine: Legacy
XPDays Ukraine: LegacyXPDays Ukraine: Legacy
XPDays Ukraine: Legacy
 
Шаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. РефакторингШаблоны разработки ПО. Рефакторинг
Шаблоны разработки ПО. Рефакторинг
 
Щаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. АнтипаттерныЩаблоны разработки ПО. Антипаттерны
Щаблоны разработки ПО. Антипаттерны
 
основы Java переменные, циклы
основы Java   переменные, циклыосновы Java   переменные, циклы
основы Java переменные, циклы
 
Основы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсыОсновы Java. ООП. Объекты, классы, интерфейсы
Основы Java. ООП. Объекты, классы, интерфейсы
 
Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"Конспект лекций по курсу "Шаблоны разработки ПО"
Конспект лекций по курсу "Шаблоны разработки ПО"
 
Как найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететьКак найти первую работу и как с нее не вылететь
Как найти первую работу и как с нее не вылететь
 
Working Effectively With Legacy Code
Working Effectively With Legacy CodeWorking Effectively With Legacy Code
Working Effectively With Legacy Code
 

Semelhante a Как пишутся и поддерживаются Enterprise системы

презентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеровпрезентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеровBerik Badayev
 
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentVasily Demin
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Alexander Gornik
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...LuxoftTraining
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest
 
Microsoft CRM Platform for Managers
Microsoft CRM Platform for ManagersMicrosoft CRM Platform for Managers
Microsoft CRM Platform for ManagersRoman Savran
 
Методологии разработки ПО
Методологии разработки ПОМетодологии разработки ПО
Методологии разработки ПОVadim Lyakhovets
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QAFest
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольАлександр Шамрай
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...Alex V. Petrov
 
Cистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRACистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRATeamlead
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...SQALab
 
Cеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформыCеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформыMDIF
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"GeeksLab Odessa
 
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговлеAndrew Sovtsov
 

Semelhante a Как пишутся и поддерживаются Enterprise системы (20)

Msf Dz
Msf DzMsf Dz
Msf Dz
 
презентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеровпрезентация Soylem v27_для_партнеров
презентация Soylem v27_для_партнеров
 
AZadonsky Mobile Applications Development
AZadonsky Mobile Applications DevelopmentAZadonsky Mobile Applications Development
AZadonsky Mobile Applications Development
 
Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)Разработка корпоративных (бизнес) приложений (лекция 1)
Разработка корпоративных (бизнес) приложений (лекция 1)
 
Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...Эффективное объектно-ориентированное проектирование и структурное качество пр...
Эффективное объектно-ориентированное проектирование и структурное качество пр...
 
Artsofte for b2 b
Artsofte for b2 b Artsofte for b2 b
Artsofte for b2 b
 
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
CodeFest 2010. Уразов А. — Quality-Oriented Programming (Программирование, ор...
 
Sep reqm-lec1
Sep reqm-lec1Sep reqm-lec1
Sep reqm-lec1
 
Microsoft CRM Platform for Managers
Microsoft CRM Platform for ManagersMicrosoft CRM Platform for Managers
Microsoft CRM Platform for Managers
 
MS ALM 2013 Review
MS ALM 2013 ReviewMS ALM 2013 Review
MS ALM 2013 Review
 
Методологии разработки ПО
Методологии разработки ПОМетодологии разработки ПО
Методологии разработки ПО
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
STRATOPLAN. Efficient Object-Oriented Design and Structured Quality of Softwa...
 
Cистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRACистема управления бизнес-процессами на основе JIRA
Cистема управления бизнес-процессами на основе JIRA
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
 
Project under control
Project under controlProject under control
Project under control
 
Cеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформыCеминар: Работа с технологиями - Технологические платформы
Cеминар: Работа с технологиями - Технологические платформы
 
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
JSLab.Тимур Шемсединов. "Архитектура программных систем на Node.js"
 
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
 

Mais de Sergey Nemchinsky

Как найти первую работу и не вылететь с нее
Как найти первую работу  и не вылететь с нееКак найти первую работу  и не вылететь с нее
Как найти первую работу и не вылететь с нееSergey Nemchinsky
 
Java enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективыJava enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективыSergey Nemchinsky
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. DatabasesSergey Nemchinsky
 
Основы Java. 4. Collection Framework
Основы Java. 4. Collection FrameworkОсновы Java. 4. Collection Framework
Основы Java. 4. Collection FrameworkSergey Nemchinsky
 
Основы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статикаОсновы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статикаSergey Nemchinsky
 
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoFШаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoFSergey Nemchinsky
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLSergey Nemchinsky
 
Шаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. ВведниеШаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. ВведниеSergey Nemchinsky
 
Шаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASPШаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASPSergey Nemchinsky
 

Mais de Sergey Nemchinsky (12)

Как найти первую работу и не вылететь с нее
Как найти первую работу  и не вылететь с нееКак найти первую работу  и не вылететь с нее
Как найти первую работу и не вылететь с нее
 
Java enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективыJava enterprise: обучение, работа, перспективы
Java enterprise: обучение, работа, перспективы
 
Clean code
Clean codeClean code
Clean code
 
Основы Java. 5. Databases
Основы Java. 5. DatabasesОсновы Java. 5. Databases
Основы Java. 5. Databases
 
Основы Java. 4. Web
Основы Java. 4. WebОсновы Java. 4. Web
Основы Java. 4. Web
 
Основы Java. 4. Collection Framework
Основы Java. 4. Collection FrameworkОсновы Java. 4. Collection Framework
Основы Java. 4. Collection Framework
 
Основы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статикаОсновы Java. 3. Конструкторы, уровни доступа, статика
Основы Java. 3. Конструкторы, уровни доступа, статика
 
Основы Java. 2. JVM
Основы Java. 2. JVMОсновы Java. 2. JVM
Основы Java. 2. JVM
 
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoFШаблоны разработки ПО. Часть 3. Шаблоны GoF
Шаблоны разработки ПО. Часть 3. Шаблоны GoF
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
 
Шаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. ВведниеШаблоны разработки ПО. Часть 1. Введние
Шаблоны разработки ПО. Часть 1. Введние
 
Шаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASPШаблоны разработки ПО. Шаблоны GRASP
Шаблоны разработки ПО. Шаблоны GRASP
 

Как пишутся и поддерживаются Enterprise системы

  • 1. Как пишутся и поддерживаются Enterprise системы Сергей Немчинский, Smarte®ama, 2015
  • 2.
  • 3. Основные проблемы разработки  Недостаток коммуникации  Ответственность  Ценности  клиента  разработчика
  • 4. Что такое Java Enterprise приложение  Размер приложения. Относительный и абсолютный  Время разработки  Разные разработчики  Интеграция  Распределенность  Нагрузки  Количество данных
  • 5. Программа и промышленный модуль  Код, делающий что нужно  Тесты кода  Интеграция с другими модулями и ее тесты  Документация
  • 6. Процесс разработки промышленного модуля  Анализ требований предметной области  Декомпозиция задачи  Анализ ограничений и нефункциональных требований  Разработка кода  Тестирование и баг-фиксинг  Передача на эксплуатацию и сопровождение
  • 7. Ценности разработки  Хороший код – который легко поддерживать  Делать != сделать  Никто не знает все, всегда вокруг тебя люди, которые знают лучше  Ценность правильной архитектуры
  • 8. Библиотеки и фреймворки  Вопросы правоиспользования  Зависимости  Разные версии  Сложные (многобиблиотечные) фреймворки  Сервера приложений – тоже содержат фреймворки
  • 9. Enterprise Application и его проблемы  Объемы данных  Устаревшие приложения  Монолитность систем и интеграция  Внешняя интеграция
  • 10. Интеграция и ее история  Интеграция через базу данных  Интеграция через вызовы методов  DCOM, RPC, RMI  CORBA  Web-services (SOAP, REST)  Service Oriented Architecture
  • 11. Интеграция – это самое сложное  Интеграция со старым кодом  Зависимость от других модулей  Зависимость от окружения
  • 12. Любимые анти-паттерны  Преждевременная оптимизация  Накопить и запустить  Лодочный якорь  Магические числа, хард-код  Процедурный код  Действие на расстоянии  Нарушение Information Expert
  • 13. Бонус: личная эффективность  Мыслетопливо  Две системы мышления  Запоминание  Как писать список задач