30
Лекция 2. Инструменты разработки ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО

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

Embed Size (px)

DESCRIPTION

Лекция 2. Инструменты, использующиеся для профессиональной разработки ПО.

Citation preview

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

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

ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО

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

• IDE

• Системы контроля версий

• Bug trackers

• Системы автоматизации тестирования

• Системы планирования

• Системы управления проектом

• Системы управления требованиями

• Системы макетирования UI

О ЧЁМ БУДЕМ ГОВОРИТЬ СЕГОДНЯ?

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

ДАВАЙТЕ ВСПОМНИМ РОЛИ

• Программист

• Тестировщик

• Аналитик

• Руководитель проекта

Каждому из них нужны специализированные инструменты для нормальной работы

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

ИНСТРУМЕНТЫ ПРОГРАММИСТА

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

ОСНОВНЫЕ ЗАДАЧИ ПРОГРАММИСТА

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

Отладка

• Системы UML моделирования,

• Карандаш, бумага, доска, флипчарт

• Среда разработки,• Компилятор,• Система контроля

версий,• интерфейс СУБД,• ...

• Bug tracker• Отладчик• Профилировщик

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

• Microsoft Visio

• Enterprise Architect

• Dia

• Rational Software Architect

• …

СИСТЕМЫ UML МОДЕЛИРОВАНИЯ

Огромный список здесь: http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools

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

• Написание и отладка кода

• Рефакторинг

• Объединение файлов одного проекта

• Компиляция и запуск приложения

• Запуск тестового сервера

• Интеграция с системами контроля версий

• Визуальный редактор для элементов интерфейса

• …

ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ (IDE)

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

• Microsoft Visual Studio

• Eclipse

• Netbeans

• InlelliJ Idea

• Xcode

• Delphi

• Aptana IDE

• Zend Studio

• …

ПРИМЕРЫ IDE

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments

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

• Хранение исходного кода в общем репозитории

• Совместная работа нескольких программистов с одним кодом

• Хранение версий кода и истории изменений

• Ветвления и слияния версий

• Разрешение конфликтов

• Пометка версий проектов

СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ (VCS)

Подробная информация в Википедии: http://ru.wikipedia.org/wiki/VCS

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

• Централизованные

• Subversion (SVN)

• Microsoft Team Foundation Server (TFS)

• Распределённые

• Git

• Mercurial

ПРИМЕРЫ СИСТЕМ КОНТРОЛЯ ВЕРСИЙ

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

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

1. Забрать проект из репозитория

2. Завести ветку

3. Внести изменения

4. Слить изменения с уже сделанными

5. Внести изменения в репозиторий

СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ: ИСПОЛЬЗОВАНИЕ

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

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

ИНСТРУМЕНТЫ РУКОВОДИТЕЛЯ ПРОЕКТОВ

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

ОСНОВНЫЕ ЗАДАЧИ РУКОВОДИТЕЛЯ ПРОЕКТА

Планирование проекта

Оперативное управление и контроль

Взаимодействие с заинтересованными

лицами

Системы планирования• ресурсов• задач• версий и итераций • Система управления

задачами• Система учёта

затраченного времени• Система управления

требованиями• ...

• email-клиент• Skype• телефон

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

• Планирование проекта

• Управление ресурсами

• Распределение задач

• Контроль расписания

СИСТЕМЫ ПЛАНИРОВАНИЯ

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

• Microsoft Project

• Megaplan.ru

• eGroupware

• Microsoft Excel :)

ПРИМЕРЫ СИСТЕМ ПЛАНИРОВАНИЯ ПРОЕКТОВ

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

• Управление задачами

• Управление версиями (дорожная карта)

• Мониторинг активности команды

• Управление жизненным циклом (workflow) задачи

• Функции «Доски» в Agile

СИСТЕМЫ УПРАВЛЕНИЯ ПРОЕКТАМИ

Подробная информация в Википедии: http://en.wikipedia.org/wiki/Project_management_software

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

• Jira

• Basecamp

• Redmine

• Microsoft Team Foundation Server (TFS)

• Mantis

• Microsoft Project

• Microsoft Excel :)

ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ ПРОЕКТАМИ

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_project_management_software

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

ИНСТРУМЕНТЫ ТЕСТИРОВЩИКА

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

ОСНОВНЫЕ ЗАДАЧИ СПЕЦИАЛИСТА ПО КАЧЕСТВУ

Составление тест-планов Поиск дефектов

• Система управления тест-планами

• Система отслеживания дефектов

• Автоматизация тестирования UI

• Системы написания Unit-tests

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

• Хранение отчётов об ошибках

• Отслеживание прогресса исправления

• Предоставление информации клиентам и заказчику

СИСТЕМЫ ОТСЛЕЖИВАНИЯ ОШИБОК

Подробная информация в Википедии: http://en.wikipedia.org/wiki/Bug_tracking_system

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

• Jira

• Basecamp

• Redmine

• Microsoft Team Foundation Server (TFS)

• Mantis

• Bugzilla

• Microsoft Excel :)

ПРИМЕРЫ СИСТЕМ ОТСЛЕЖИВАНИЯ ОШИБОК

Cписок здесь: http://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems

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

• Тестирование ПО без участия человека

• Периодический запуск набора юнит-тестов

• Автоматическая проверка пользовательского интерфейса

СИСТЕМЫ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

Подробная информация в Википедии: http://en.wikipedia.org/wiki/Test_automation

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

• 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

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

ИНСТРУМЕНТЫ АНАЛИТИКА

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

ОСНОВНЫЕ ЗАДАЧИ АНАЛИТИКА

Выяснение требований Управление

требованиями

Макетирование пользовательского

интерфейса

• email-клиент• Skype• телефон

• Система управления требованиями

• Wiki• Текстовый редактор

• Системы для макетирования UI

Написание проектной документации

• Текстовый редактор

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

• Хранение требований

• Структурирование информации

• Фиксирование коммуникаций с заказчиком

• Хранение технических спецификаций и комментариев от участников команды

СИСТЕМЫ УПРАВЛЕНИЯ ТРЕБОВАНИЯМИ

Подробная информация в Википедии: http://en.wikipedia.org/wiki/Requirements_management

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

• Wiki:

• Confluence

• Microsoft SharePoint

• DokuWiki

• PBWorks

• Специализированные решения:

• IBM Rational RequisitePro

• Borland CaliberRM

• OSRMT

• Microsoft Excel :)

ПРИМЕРЫ СИСТЕМ УПРАВЛЕНИЯ ТРЕБОВАНИЯМИ

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

• Создание макетов UI

• Демонстрация макетов команде и заказчику

• Создание рабочих прототипов

• Документирование интерфейсов

СИСТЕМЫ МАКЕТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Подробная информация в Википедии: http://en.wikipedia.org/wiki/User_experience_design

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

• Axure RP

• Balsamiq

• ProtoShare

• Microsoft Visio

• Grapholite

• Google Drive (drawing tool)

ПРИМЕРЫ СИСТЕМ МАКЕТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Cписок здесь: http://en.wikipedia.org/wiki/Graphical_user_interface_builder

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

ВРЕМЯ ЗАДАВАТЬ ВОПРОСЫ