
Проектирование ПО: этапы и исполнители
|
Этап выполнения проекта |
Роль представителя ИТ- |
|
|
отрасли |
|
|
|
1. |
Общее руководство проектом |
Руководитель проекта |
2. |
Управление выч. системой |
Системный администратор |
3. |
Сбор, анализ и согласование |
Бизнес-аналитик |
требований к ПО |
|
|
|
• прототипирование |
|
4. |
Разработка архитектуры |
Архитектор ПО |
5. |
Проектирование |
Проектировщик ПО |
|
• UI (+юзабилити) |
|
|
• софт |
|
6. |
Разработка ПО |
Разработчик ПО |
7. |
Тестирование |
Разработчик тестов, |
|
|
тестировщик |
8. |
Внедрение ПО |
Специалисты группы |
9. |
Сопровождение ПО |
поддержки |
31

Поддержка полного жизненного цикла разработки ПО
Диаграмма Ганта |
Состояние задачи |
|||
|
Не назначена |
|||
|
Назначена |
|||
|
Открыта |
|||
|
|
|||
|
В работе |
|
|
|
|
|
|||
|
|
Переоткрыта |
||
|
Выполнена |
|||
|
|
|
|
|
|
Закрыта |
32
Проектирование ПО: области знаний, умений и навыков
Область |
|
|
Детали |
Парадигма прг |
Императивная |
|
|
|
|
o Структурное прг (==, ветвл, циклы, ф-ции) |
|
|
|
o Модульное прг (файлы) |
|
|
|
o Процедурное прг |
|
|
|
o ООП |
|
|
|
o Обобщенное прг (АТД) |
|
|
Декларативная/функциональная (лямбда-функции) |
||
|
Параллельная |
|
|
|
Автоматная |
… |
|
Архитектура прг |
Клиент-серверная |
… |
|
Алгоритмы и СД |
|
А: |
СД: |
|
|
o сортировка |
o списки |
|
|
o рекурсия |
o деревья |
Язык прг |
• |
общего назначения |
|
|
• |
для СУБД |
|
|
• |
моделирования (UML) |
|
|
• |
скриптовые |
33 |
|
|
|
Проектирование ПО: области знаний, умений и навыков (2)
Область |
|
Детали |
Средства работы с |
• |
Редакторы исходного текста |
языком |
• |
Утилиты авт. документирования кода |
программирования |
• |
(Компиляторы + линковщики) / (трансляторы) |
|
• |
ИСР |
|
• |
Библиотеки |
Целевые прг средства |
Многопоточные, многопроцессные, |
|
|
распределенные, кроссплатформенные |
Системы контроля версий Утилиты багтрекинга Инсталляторы
Дебаггинг и reverse engineering
ОС и их механизмы Тестирование
Навык работы в команде / повторное использование кода Утилиты управления проектом Поиск инфо в сети и использование документации
34

Вычислительная задача и ее решение
Результат Исполнитель
Бизнес |
ИТ |
Вычислитель |
|
+ методы |
+ программа |
|
+ средства |
+ [оператор] |
1 |
|
2 |
|
3 |
Постановка |
|
Программа |
|
Выполненная |
вычислитель- |
|
(комплекс) |
|
вычислитель- |
ной задачи |
|
для |
|
ная задача |
|
|
вычислителя |
|
|
|
|
|
|
|
35

Получение и запуск программы (C++, Win)
main.cpp
.obj
36

Разделение между .h и .cpp
|
|
.h |
|
.cpp |
|
Объявление |
Определение |
||
|
|
|
|
|
Переменная |
• |
имя |
• |
задание начального |
|
• |
тип данных |
|
значения |
Функция |
прототип функции: |
• |
прототип функции |
|
|
• |
имя функции |
• |
тело функции |
|
• |
перечень входных |
|
|
|
|
(формальных) |
|
|
|
|
параметров: |
|
|
|
|
[имена,] типы |
|
|
|
• |
тип выходного |
|
|
|
|
параметра |
|
|
|
|
(результата) |
|
|
37

|
Данные и функции |
Данные |
смысловой фрагмент инфо с возможностью представления в |
|
(2) коде |
|
|
ТД |
соглашение о представлении данных в (2) коде и правил их |
|
обработки |
|
|
Переменная |
область памяти для хранения данных в соответствии с ТД; |
|
(адрес; [имя]) |
|
|
Указатель |
переменная для хр. адреса области памяти. |
|
• операция взятия адреса &; |
|
• операция разыменования * |
|
|
Ссылка |
ук., автоматически разыменовываемый при использовании и |
|
без возможности изменения после инициализации |
|
|
Адресная |
набор операций, применимых к адресам памяти |
арифметика |
|
|
|
Объявление |
набор характеристик переменной или Фн для компилятора |
|
|
Определение |
задание начального значения для переменной / тела для Фн |
38

Переменная и массив: объявление и определение
39

Указатель, динам. память и определение строки
40