Upload
mikhail-payson
View
292
Download
8
Embed Size (px)
DESCRIPTION
Лекция 2. Инструменты, использующиеся для профессиональной разработки ПО.
Citation preview
Лекция 2. Инструменты разработки
ПРОМЫШЛЕННАЯ РАЗРАБОТКА ПО
• IDE
• Системы контроля версий
• Bug trackers
• Системы автоматизации тестирования
• Системы планирования
• Системы управления проектом
• Системы управления требованиями
• Системы макетирования UI
О ЧЁМ БУДЕМ ГОВОРИТЬ СЕГОДНЯ?
ДАВАЙТЕ ВСПОМНИМ РОЛИ
• Программист
• Тестировщик
• Аналитик
• Руководитель проекта
Каждому из них нужны специализированные инструменты для нормальной работы
ИНСТРУМЕНТЫ ПРОГРАММИСТА
ОСНОВНЫЕ ЗАДАЧИ ПРОГРАММИСТА
Разработка архитектуры Написание кода
Отладка
• Системы UML моделирования,
• Карандаш, бумага, доска, флипчарт
• Среда разработки,• Компилятор,• Система контроля
версий,• интерфейс СУБД,• ...
• Bug tracker• Отладчик• Профилировщик
• Microsoft Visio
• Enterprise Architect
• Dia
• Rational Software Architect
• …
СИСТЕМЫ UML МОДЕЛИРОВАНИЯ
Огромный список здесь: http://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools
• Написание и отладка кода
• Рефакторинг
• Объединение файлов одного проекта
• Компиляция и запуск приложения
• Запуск тестового сервера
• Интеграция с системами контроля версий
• Визуальный редактор для элементов интерфейса
• …
ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ (IDE)
• 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
• Хранение исходного кода в общем репозитории
• Совместная работа нескольких программистов с одним кодом
• Хранение версий кода и истории изменений
• Ветвления и слияния версий
• Разрешение конфликтов
• Пометка версий проектов
СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ (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
ВРЕМЯ ЗАДАВАТЬ ВОПРОСЫ