SlideShare a Scribd company logo
1 of 53
  Уменьшение влияния человеческого фактора при разработке бизнес-приложений  ( на примере  CustIS   Universal )   Алексеев Алексей [email_address] [email_address] Николай Гребнев [email_address] [email_address]
Структура доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ЧЕЛОВЕЧЕСКИЙ ФАКТОР В РАЗРАБОТКЕ ПО
Человеческий фактор ,[object Object],[object Object]
Человеческий фактор
Методологии ,[object Object],[object Object],[object Object],[object Object]
Средства разработки
МЕТОДЫ СНИЖЕНИЯ ЧЕЛОВЕЧЕСКОГО ФАКТОРА
Стоимость ошибки Код Сборка Unit- тесты Code Review Тестирование Эксплуатация
Стоимость ошибки Unit- тесты Code Review Тестирование Эксплуатация
Аспекты качества инструментария ,[object Object],[object Object],[object Object],[object Object]
Эффективность ,[object Object],if  (ptr == null) Корректность if  (ptr) Лаконичность VS
CUSTIS UNIVERSAL
?
ORM ,[object Object],[object Object],[object Object],[object Object]
Примеры  ORM ,[object Object],[object Object],[object Object]
Процесс компиляции ,[object Object],[object Object],[object Object],[object Object]
ВАЛИДАЦИЯ МОДЕЛИ   ВО ВРЕМЯ КОМПИЛЯЦИИ ,[object Object]
LINQ  КАК ИНСТРУМЕНТ ПОВЫШЕНИЯ КАЧЕСТВА
LINQ (Language-Integrated Query) ,[object Object]
До  LINQ new   SimpleQuery < Post >( @“from Post p  where p.Blog.Author = ?&quot; , author);
LINQ from   Post  p  in  Session.Posts where  p.Blog.Author == author select  p;
Преимущества  LINQ ,[object Object],[object Object],[object Object],LINQ (Language-Integrated Query) является революционной инновацией в Visual Studio 2008 и .NET Framework версии 3.5, которая является мостом между миром объектов и миром данных.  Традиционно запросы к данным выражаются в виде простых строк без проверки типов при компиляции или поддержки IntelliSense. Кроме того, разработчику приходится изучать различные языки запросов для каждого типа источника данных: базы данных SQL, XML-документов, различных веб-служб и т. д. LINQ делает  запрос  первоклассной конструкцией языка в C# и Visual Basic. Можно создавать запросы к строго типизированным коллекциям объектов с помощью зарезервированных слов языка и знакомых операторов. На следующем рисунке показан частично выполненный запрос LINQ к базе данных SQL Server в C# с полной проверкой типов и поддержкой IntelliSense.                                                                                              
Стоимость ошибки Сборка Код Unit- тесты Code Review Тестирование Эксплуатация
LINQ  и данные ,[object Object],[object Object],[object Object],Employee  leader = Session.Employee.First(); var  q =  from   Department  d  in  Session.Department where  d.Leader == leader select  d;
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
LINQ  к доменной модели и ООП ,[object Object],[object Object],public   class   Employee { … public   bool  IsManager { get  {  return  Subordinates.Count() > 0; } } … } … var  q =  from   Employee  e  in  Session.Employee where  e.IsManager select  e;
LINQ  к доменной модели невозможно или не имеет смысла использовать
Решение (на примере  Universal) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Свойства, используемые в запросах from   Employee  e  in   Session select  e.IsManager from   Employee  e  in   Session select   Subordinates.Count() > 0
Корректность  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Анализ реализации ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Обнаружена циклическая зависимость
Стоимость ошибки Код Unit- тесты Code Review Тестирование Эксплуатация Сборка
Роль  Linq 2 Model ,[object Object],[object Object],[object Object],[object Object]
МОДЕЛЬ СОСТОЯНИЙ
Состояния ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Императивные проверки ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Декларативные ограничения ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Декларативные ограничения ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ВЕРИФИКАЦИЯ МОДЕЛИ СОСТОЯНИЙ
Структура Крипке
Структура Крипке
CTL ,  формулы  состояний ,[object Object],[object Object],[object Object],[object Object],[object Object]
CTL ,   формулы пути ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
CTL
 
 
 
 
В ЗАКЛЮЧЕНИЕ
Человеческий фактор ,[object Object],[object Object],[object Object]
С ustIS Universal
Вопросы ? Следите за  http://team.custis.ru

More Related Content

What's hot

C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.Igor Shkulipa
 
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМ
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМПрограммирование на языке C Sharp (СИ решетка) ПРАКТИКУМ
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМAlexandr Konfidentsialno
 
Глава 3: примитивные типы и операции с ними в Java
Глава 3: примитивные типы и операции с ними в JavaГлава 3: примитивные типы и операции с ними в Java
Глава 3: примитивные типы и операции с ними в Javametaform
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Vitaly Hornik
 
C# Desktop. Занятие 14.
C# Desktop. Занятие 14.C# Desktop. Занятие 14.
C# Desktop. Занятие 14.Igor Shkulipa
 
Глава1: Обзор технологии Java
Глава1: Обзор технологии JavaГлава1: Обзор технологии Java
Глава1: Обзор технологии Javametaform
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest
 
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...MoscowJS
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняAlexander Granin
 
Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Alexandr Konfidentsialno
 
Базовые операторы Java
Базовые операторы JavaБазовые операторы Java
Базовые операторы Javametaform
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04Computer Science Club
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Fedor Malyshkin
 
язык програмирования
язык програмированияязык програмирования
язык програмированияOlegmingalev1997
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Platonov Sergey
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs ReflectionDenis Tsvettsih
 

What's hot (20)

C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.C++ Базовый. Занятие 04.
C++ Базовый. Занятие 04.
 
Insane Byte' 2017
Insane Byte' 2017Insane Byte' 2017
Insane Byte' 2017
 
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМ
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМПрограммирование на языке C Sharp (СИ решетка) ПРАКТИКУМ
Программирование на языке C Sharp (СИ решетка) ПРАКТИКУМ
 
Глава 3: примитивные типы и операции с ними в Java
Глава 3: примитивные типы и операции с ними в JavaГлава 3: примитивные типы и операции с ними в Java
Глава 3: примитивные типы и операции с ними в Java
 
Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?Всё ли ты знаешь о JavaScript ООП?
Всё ли ты знаешь о JavaScript ООП?
 
C# Desktop. Занятие 14.
C# Desktop. Занятие 14.C# Desktop. Занятие 14.
C# Desktop. Занятие 14.
 
Глава1: Обзор технологии Java
Глава1: Обзор технологии JavaГлава1: Обзор технологии Java
Глава1: Обзор технологии Java
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
Step 2
Step 2Step 2
Step 2
 
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUICodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
CodeFest 2010. Высоцкий С. — Автоматизация тестирования Flex/Flash GUI
 
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
«Пуленепробиваемый фронтенд: разработка под React на TypeScript», Станислав П...
 
Back to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодняBack to the future: Функциональное программирование вчера и сегодня
Back to the future: Функциональное программирование вчера и сегодня
 
Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)Программирование на языке C Sharp (СИ решетка)
Программирование на языке C Sharp (СИ решетка)
 
Базовые операторы Java
Базовые операторы JavaБазовые операторы Java
Базовые операторы Java
 
WTF Code @ jug.lv
WTF Code @ jug.lvWTF Code @ jug.lv
WTF Code @ jug.lv
 
20120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture0420120309 formal semantics shilov_lecture04
20120309 formal semantics shilov_lecture04
 
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
Методики «Inversion of Control» и «Dependency Injection». Применение в Spring.
 
язык програмирования
язык програмированияязык програмирования
язык програмирования
 
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
Евгений Рыжков, Андрей Карпов Как потратить 10 лет на разработку анализатора ...
 
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API: SyntaxTree vs CodeDom, SemanticModel vs ReflectionRoslyn API: SyntaxTree vs CodeDom, SemanticModel vs Reflection
Roslyn API : SyntaxTree vs CodeDom, SemanticModel vs Reflection
 

Viewers also liked

Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераПустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераngrebnev
 
Психология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовПсихология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовngrebnev
 
Test Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковTest Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковngrebnev
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?ngrebnev
 
Domain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийDomain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийngrebnev
 
Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?ngrebnev
 

Viewers also liked (6)

Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастераПустая болтовня или эффективное совещание? – Все в руках scrum-мастера
Пустая болтовня или эффективное совещание? – Все в руках scrum-мастера
 
Психология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессовПсихология управления: создание самоорганизующихся процессов
Психология управления: создание самоорганизующихся процессов
 
Test Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисковTest Driven Development как инструмент уменьшения кадровых рисков
Test Driven Development как инструмент уменьшения кадровых рисков
 
Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?Domain Driven Design - как, почему и зачем?
Domain Driven Design - как, почему и зачем?
 
Domain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложенийDomain Driven Design в условиях разработки распределенных приложений
Domain Driven Design в условиях разработки распределенных приложений
 
Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?Разработчик, аналитик, заказчик — как найти общий язык?
Разработчик, аналитик, заказчик — как найти общий язык?
 

Similar to Уменьшение влияния человеческого фактора при разработке бизнес приложений

Статический анализ кода в DDD
Статический анализ кода в DDDСтатический анализ кода в DDD
Статический анализ кода в DDDAleksei Alekseev
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.Igor Shkulipa
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программированияguestfc8ae0
 
Cтиль программирования
Cтиль программированияCтиль программирования
Cтиль программированияConstantin Kichinsky
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...Ontico
 
Testing of Embedded SW – Alternative to Classic TDD
Testing of Embedded SW – Alternative to Classic TDDTesting of Embedded SW – Alternative to Classic TDD
Testing of Embedded SW – Alternative to Classic TDDДмитрий Овечкин
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETGoSharp
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишковcorehard_by
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0akrakovetsky
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...OdessaFrontend
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...SQALab
 
20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliaminComputer Science Club
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияRuslan Shevchenko
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.Igor Shkulipa
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 27bits
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0matroskin1980
 

Similar to Уменьшение влияния человеческого фактора при разработке бизнес приложений (20)

Статический анализ кода в DDD
Статический анализ кода в DDDСтатический анализ кода в DDD
Статический анализ кода в DDD
 
C# Desktop. Занятие 16.
C# Desktop. Занятие 16.C# Desktop. Занятие 16.
C# Desktop. Занятие 16.
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программирования
 
Cтиль программирования
Cтиль программированияCтиль программирования
Cтиль программирования
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
TDD: когда нужно и, самое главное, когда не нужно / Павел Калашников (SimbirS...
 
Testing of Embedded SW – Alternative to Classic TDD
Testing of Embedded SW – Alternative to Classic TDDTesting of Embedded SW – Alternative to Classic TDD
Testing of Embedded SW – Alternative to Classic TDD
 
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NETОпыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
Опыт разработки сложных клиент-серверных приложений на TypeScript и ASP.NET
 
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья ШишковC++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
C++ CoreHard Autumn 2018. Заглядываем под капот «Поясов по C++» - Илья Шишков
 
Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0Что нового в Visual Studio 2010 и .Net 4.0
Что нового в Visual Studio 2010 и .Net 4.0
 
Aspect Oriented Approach
Aspect Oriented ApproachAspect Oriented Approach
Aspect Oriented Approach
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
 
Net 3.0 & Linq
Net 3.0 & LinqNet 3.0 & Linq
Net 3.0 & Linq
 
Qt tool evaluation
Qt tool evaluationQt tool evaluation
Qt tool evaluation
 
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...Леонид Динерштейн - Разработка программ через тестирование поведения средства...
Леонид Динерштейн - Разработка программ через тестирование поведения средства...
 
20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin20100927 28 reqformalization-kuliamin
20100927 28 reqformalization-kuliamin
 
анализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестированияанализ кода: от проверки стиля до автоматического тестирования
анализ кода: от проверки стиля до автоматического тестирования
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 2
 
Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0Alexander manuhin selenium_php_v2.0
Alexander manuhin selenium_php_v2.0
 

Уменьшение влияния человеческого фактора при разработке бизнес приложений

Editor's Notes

  1. 17:30 Отдел технол. Развития DDD- фреймворк для прикладных разработчиков
  2. 17:35
  3. 17:35
  4. Человеческий фактор – причина многих проблем. В разработке ПО является одним из ключевых.
  5. Можно решить проблему методологией, а можно – техникой (инфраструктурой). Если техникой получается сделать хорошо – то лучше техникой. Дальше будем говорить именно про технические средства
  6. 17:35
  7. Анимировать по строчкам?
  8. Анимировать по строчкам?
  9. Диагностика должна быть понятной, достаточно подробной, локальной Проверки не должны существенно замедлять цикл сборки Жесткость модели?
  10. В промышленном ПО важнее корректность, предсказуемость
  11. 17:35
  12. Разработка в ОО, а данные в РСУБД
  13. 17:35
  14. * Статическая проверка, is
  15. Анимировать по строчкам?
  16. Вынуждены оперировать идентификаторами
  17. Анимировать по строчкам?
  18. 17:35
  19. Так-то лучше
  20. Развитие
  21. 17:35
  22. Доменная модель страхового случая.