ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО
     Лекция 2. Инструменты разработки
О ЧЁМ БУДЕМ ГОВОРИТЬ СЕГОДНЯ?
•   IDE
•   Системы контроля версий
•   Bug trackers
•   Системы автоматизации
    тестирования
•   Системы планирования
•   Системы управления
    проектом
•   Системы управления
    требованиями
•   Системы макетирования UI
ДАВАЙТЕ ВСПОМНИМ РОЛИ
•   Программист
•   Тестировщик
•   Аналитик
•   Руководитель проекта


Каждому из них нужны
специализированные инструменты для
нормальной работы
ИНСТРУМЕНТЫ ПРОГРАММИСТА
ОСНОВНЫЕ ЗАДАЧИ ПРОГРАММИСТА

    Разработка
                               Написание кода
    архитектуры


• Системы UML
  моделирования,           • Среда разработки,
• Карандаш, бумага,        • Компилятор,
  доска, флипчарт          • Система контроля
                             версий,
      Отладка              • интерфейс СУБД,
                           • ...


 • Bug tracker
 • Отладчик
 • Профилировщик
СИСТЕМЫ UML МОДЕЛИРОВАНИЯ
 • Microsoft Visio
 • Enterprise Architect
 • Dia
 • Rational Software
   Architect
 • …



Огромный список здесь: http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ (IDE)
• Написание и отладка кода
• Рефакторинг
• Объединение файлов одного
  проекта
• Компиляция и запуск
  приложения
• Запуск тестового сервера
• Интеграция с системами
  контроля версий
• Визуальный редактор для
  элементов интерфейса
• …
ПРИМЕРЫ IDE
 •   Microsoft Visual Studio
 •   Eclipse
 •   Netbeans
 •   InlelliJ Idea
 •   Xcode
 •   Delphi
 •   Aptana IDE
 •   Zend Studio
 •   …


Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ (VCS)
 • Хранение исходного кода в
   общем репозитории
 • Совместная работа
   нескольких программистов с
   одним кодом
 • Хранение версий кода и
   истории изменений
 • Ветвления и слияния версий
 • Разрешение конфликтов
 • Пометка версий проектов



Подробная информация в Википедии: http://ru.wikipedia.org/wiki/VCS
ПРИМЕРЫ СИСТЕМ КОНТРОЛЯ ВЕРСИЙ
 • Централизованные
       • Subversion (SVN)
       • Microsoft Team
         Foundation Server
         (TFS)
 • Распределѐнные
       • Git
       • Mercurial

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ:
 ИСПОЛЬЗОВАНИЕ
 1. Забрать проект из
    репозитория
 2. Завести ветку
 3. Внести изменения
 4. Слить изменения с
    уже сделанными
 5. Внести изменения в
    репозиторий


Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
ИНСТРУМЕНТЫ РУКОВОДИТЕЛЯ ПРОЕКТОВ
ОСНОВНЫЕ ЗАДАЧИ РУКОВОДИТЕЛЯ ПРОЕКТА
    Планирование               Оперативное
       проекта                 управление и
                               контроль

Системы планирования
• ресурсов
• задач
• версий и итераций           • Система управления
                                задачами
  Взаимодействие с            • Система учѐта
  заинтересованным              затраченного времени
      и лицами                • Система управления
                                требованиями
                              • ...
  • email-клиент
  • Skype
  • телефон
СИСТЕМЫ ПЛАНИРОВАНИЯ
• Планирование
  проекта
• Управление
  ресурсами
• Распределение задач
• Контроль расписания
ПРИМЕРЫ СИСТЕМ ПЛАНИРОВАНИЯ
ПРОЕКТОВ
• Microsoft Project
• Megaplan.ru
• eGroupware
• Microsoft Excel :)
СИСТЕМЫ УПРАВЛЕНИЯ ПРОЕКТАМИ
 • Управление задачами
 • Управление версиями
   (дорожная карта)
 • Мониторинг активности
   команды
 • Управление жизненным
   циклом (workflow)
   задачи
 • Функции «Доски» в Agile

Подробная информация в Википедии: http://en.wikipedia.org/wiki/Project_management_software
ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ ПРОЕКТАМИ
 • Jira
 • Basecamp
 • Redmine
 • Microsoft Team
   Foundation Server (TFS)
 • Mantis
 • Microsoft Project
 • Microsoft Excel :)


Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_project_management_software
ИНСТРУМЕНТЫ ТЕСТИРОВЩИКА
ОСНОВНЫЕ ЗАДАЧИ СПЕЦИАЛИСТА ПО КАЧЕСТВУ
    Составление
    тест-планов                Поиск дефектов


• Система управления
  тест-планами
                              • Система
                                отслеживания
                                дефектов
                              • Автоматизация
                                тестирования UI
                              • Системы написания
                                Unit-tests
СИСТЕМЫ ОТСЛЕЖИВАНИЯ ОШИБОК
 • Хранение отчѐтов об
   ошибках
 • Отслеживание
   прогресса
   исправления
 • Предоставление
   информации клиентам
   и заказчику


Подробная информация в Википедии: http://en.wikipedia.org/wiki/Bug_tracking_system
ПРИМЕРЫ СИСТЕМ ОТСЛЕЖИВАНИЯ ОШИБОК
 • Jira
 • Basecamp
 • Redmine
 • Microsoft Team
   Foundation Server (TFS)
 • Mantis
 • Bugzilla
 • Microsoft Excel :)


Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
СИСТЕМЫ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
 • Тестирование ПО без
   участия человека
 • Периодический запуск
   набора юнит-тестов
 • Автоматическая
   проверка
   пользовательского
   интерфейса


Подробная информация в Википедии: http://en.wikipedia.org/wiki/Test_automation
ПРИМЕРЫ СИСТЕМ АВТОМАТИЗАЦИИ
 ТЕСТИРОВАНИЯ
 •   Unit test frameworks
       • *Unit (jUnit, NUnit, jsUnit,…)
       • Visual Studio Unit Testing
         Framework
       • …
 •   Автоматизация тестирования UI
       • Selenium IDE
       • MS Visual Studio Test Manager
       • Testing Anywhere
       • Telerik Test Studio
       • …




Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
ИНСТРУМЕНТЫ АНАЛИТИКА
ОСНОВНЫЕ ЗАДАЧИ АНАЛИТИКА
     Выяснение
                                Управление
     требований
                                требованиями


• email-клиент
• Skype                        • Система управления
• телефон                        требованиями
                               • Wiki
                               • Текстовый редактор
   Макетирование
  пользовательского            Написание
     интерфейса                проектной
                               документации


  • Системы для               • Текстовый редактор
    макетирования
    UI
СИСТЕМЫ УПРАВЛЕНИЯ ТРЕБОВАНИЯМИ
 • Хранение требований
 • Структурирование
   информации
 • Фиксирование
   коммуникаций с
   заказчиком
 • Хранение технических
   спецификаций и
   комментариев от
   участников команды


Подробная информация в Википедии: http://en.wikipedia.org/wiki/Requirements_management
ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ
ТРЕБОВАНИЯМИ
• Wiki:
   • Confluence
   • Microsoft SharePoint
   • DokuWiki
   • PBWorks
• Специализированные
  решения:
   • IBM Rational RequisitePro
   • Borland CaliberRM
   • OSRMT
• Microsoft Excel :)
СИСТЕМЫ МАКЕТИРОВАНИЯ
 ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
 • Создание макетов UI
 • Демонстрация
   макетов команде и
   заказчику
 • Создание рабочих
   прототипов
 • Документирование
   интерфейсов

Подробная информация в Википедии: http://en.wikipedia.org/wiki/User_experience_design
ПРИМЕРЫ СИСТЕМ МАКЕТИРОВАНИЯ
 ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
 • Axure RP
 • Balsamiq
 • ProtoShare
 • Microsoft Visio
 • Grapholite
 • Google Drive (drawing
   tool)

Cписок здесь: http://en.wikipedia.org/wiki/Graphical_user_interface_builder
ВРЕМЯ ЗАДАВАТЬ ВОПРОСЫ

Промышленная разработка ПО. Лекция 2. Инструменты

  • 1.
    ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО Лекция 2. Инструменты разработки
  • 2.
    О ЧЁМ БУДЕМГОВОРИТЬ СЕГОДНЯ? • IDE • Системы контроля версий • Bug trackers • Системы автоматизации тестирования • Системы планирования • Системы управления проектом • Системы управления требованиями • Системы макетирования UI
  • 3.
    ДАВАЙТЕ ВСПОМНИМ РОЛИ • Программист • Тестировщик • Аналитик • Руководитель проекта Каждому из них нужны специализированные инструменты для нормальной работы
  • 4.
  • 5.
    ОСНОВНЫЕ ЗАДАЧИ ПРОГРАММИСТА Разработка Написание кода архитектуры • Системы UML моделирования, • Среда разработки, • Карандаш, бумага, • Компилятор, доска, флипчарт • Система контроля версий, Отладка • интерфейс СУБД, • ... • Bug tracker • Отладчик • Профилировщик
  • 6.
    СИСТЕМЫ UML МОДЕЛИРОВАНИЯ • Microsoft Visio • Enterprise Architect • Dia • Rational Software Architect • … Огромный список здесь: http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
  • 7.
    ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ(IDE) • Написание и отладка кода • Рефакторинг • Объединение файлов одного проекта • Компиляция и запуск приложения • Запуск тестового сервера • Интеграция с системами контроля версий • Визуальный редактор для элементов интерфейса • …
  • 8.
    ПРИМЕРЫ IDE • Microsoft Visual Studio • Eclipse • Netbeans • InlelliJ Idea • Xcode • Delphi • Aptana IDE • Zend Studio • … Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments
  • 9.
    СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ(VCS) • Хранение исходного кода в общем репозитории • Совместная работа нескольких программистов с одним кодом • Хранение версий кода и истории изменений • Ветвления и слияния версий • Разрешение конфликтов • Пометка версий проектов Подробная информация в Википедии: http://ru.wikipedia.org/wiki/VCS
  • 10.
    ПРИМЕРЫ СИСТЕМ КОНТРОЛЯВЕРСИЙ • Централизованные • Subversion (SVN) • Microsoft Team Foundation Server (TFS) • Распределѐнные • Git • Mercurial Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
  • 11.
    СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ: ИСПОЛЬЗОВАНИЕ 1. Забрать проект из репозитория 2. Завести ветку 3. Внести изменения 4. Слить изменения с уже сделанными 5. Внести изменения в репозиторий Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
  • 12.
  • 13.
    ОСНОВНЫЕ ЗАДАЧИ РУКОВОДИТЕЛЯПРОЕКТА Планирование Оперативное проекта управление и контроль Системы планирования • ресурсов • задач • версий и итераций • Система управления задачами Взаимодействие с • Система учѐта заинтересованным затраченного времени и лицами • Система управления требованиями • ... • email-клиент • Skype • телефон
  • 14.
    СИСТЕМЫ ПЛАНИРОВАНИЯ • Планирование проекта • Управление ресурсами • Распределение задач • Контроль расписания
  • 15.
    ПРИМЕРЫ СИСТЕМ ПЛАНИРОВАНИЯ ПРОЕКТОВ •Microsoft Project • Megaplan.ru • eGroupware • Microsoft Excel :)
  • 16.
    СИСТЕМЫ УПРАВЛЕНИЯ ПРОЕКТАМИ • Управление задачами • Управление версиями (дорожная карта) • Мониторинг активности команды • Управление жизненным циклом (workflow) задачи • Функции «Доски» в Agile Подробная информация в Википедии: http://en.wikipedia.org/wiki/Project_management_software
  • 17.
    ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯПРОЕКТАМИ • Jira • Basecamp • Redmine • Microsoft Team Foundation Server (TFS) • Mantis • Microsoft Project • Microsoft Excel :) Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_project_management_software
  • 18.
  • 19.
    ОСНОВНЫЕ ЗАДАЧИ СПЕЦИАЛИСТАПО КАЧЕСТВУ Составление тест-планов Поиск дефектов • Система управления тест-планами • Система отслеживания дефектов • Автоматизация тестирования UI • Системы написания Unit-tests
  • 20.
    СИСТЕМЫ ОТСЛЕЖИВАНИЯ ОШИБОК • Хранение отчѐтов об ошибках • Отслеживание прогресса исправления • Предоставление информации клиентам и заказчику Подробная информация в Википедии: http://en.wikipedia.org/wiki/Bug_tracking_system
  • 21.
    ПРИМЕРЫ СИСТЕМ ОТСЛЕЖИВАНИЯОШИБОК • Jira • Basecamp • Redmine • Microsoft Team Foundation Server (TFS) • Mantis • Bugzilla • Microsoft Excel :) Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
  • 22.
    СИСТЕМЫ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ • Тестирование ПО без участия человека • Периодический запуск набора юнит-тестов • Автоматическая проверка пользовательского интерфейса Подробная информация в Википедии: http://en.wikipedia.org/wiki/Test_automation
  • 23.
    ПРИМЕРЫ СИСТЕМ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ • Unit test frameworks • *Unit (jUnit, NUnit, jsUnit,…) • Visual Studio Unit Testing Framework • … • Автоматизация тестирования UI • Selenium IDE • MS Visual Studio Test Manager • Testing Anywhere • Telerik Test Studio • … Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems
  • 24.
  • 25.
    ОСНОВНЫЕ ЗАДАЧИ АНАЛИТИКА Выяснение Управление требований требованиями • email-клиент • Skype • Система управления • телефон требованиями • Wiki • Текстовый редактор Макетирование пользовательского Написание интерфейса проектной документации • Системы для • Текстовый редактор макетирования UI
  • 26.
    СИСТЕМЫ УПРАВЛЕНИЯ ТРЕБОВАНИЯМИ • Хранение требований • Структурирование информации • Фиксирование коммуникаций с заказчиком • Хранение технических спецификаций и комментариев от участников команды Подробная информация в Википедии: http://en.wikipedia.org/wiki/Requirements_management
  • 27.
    ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ ТРЕБОВАНИЯМИ •Wiki: • Confluence • Microsoft SharePoint • DokuWiki • PBWorks • Специализированные решения: • IBM Rational RequisitePro • Borland CaliberRM • OSRMT • Microsoft Excel :)
  • 28.
    СИСТЕМЫ МАКЕТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГОИНТЕРФЕЙСА • Создание макетов UI • Демонстрация макетов команде и заказчику • Создание рабочих прототипов • Документирование интерфейсов Подробная информация в Википедии: http://en.wikipedia.org/wiki/User_experience_design
  • 29.
    ПРИМЕРЫ СИСТЕМ МАКЕТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА • Axure RP • Balsamiq • ProtoShare • Microsoft Visio • Grapholite • Google Drive (drawing tool) Cписок здесь: http://en.wikipedia.org/wiki/Graphical_user_interface_builder
  • 30.