Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ecampus_2sem / Лекция 8

.docx
Скачиваний:
25
Добавлен:
10.02.2015
Размер:
28.54 Кб
Скачать

Основы программной инженерии

Лекция 8. Кодирование (конструирование) ПО

Разогрев

Обсудить вопросы:

  1. С чего начинается процесс разработки программного обеспечения?

  2. А чем заканчивается?

  3. А что еще нужно сделать, чтобы создать хороший программный продукт?

Определение (SWEBOK)

Детальное создание рабочей программной системы посредством комбинации кодирования, верификации (проверки), модульного тестирования (unit testing), интеграционного тестирования и отладки.

Единственный вид деятельности, который выполняется обязательно. Это крупная часть процесса – от 30% до 80%. Занимает центральное место в процессе разработки.

Тесно связано с проектированием и тестированием. Границы очень размыты. Можно считать, что включает в себя в той или иной степени все остальные виды деятельности (анализ, проектирование, сопровождение, планирование, интеграцию, тестирование).

В рамках этой деятельности создается основная масса активов проекта. Исходный код – часто, единственно верное описание программы.

Является наиболее инструментально-насыщенной.

Фундамент конструирования

  1. Минимизация сложности (в первую очередь в направлении читаемости кода)

  2. Ожидание изменений

  3. Конструирование с возможностью проверки (техники: ревью кода, модульное тестирование, структурирование кода, применение автоматизированных средств тестирования, ограниченное применение сложных для понимания язвковых структур)

  4. Применения стандартов (оформление и содержание документов, языки программирования, стили кодирования, платформы, инструменты). Внутренние и внешние стандарты.

Управление конструированием

  1. Модели конструирования (XP, RUP, Scrum…). Методологии. Практики. Разные типы проектов – разные подходы к конструированию.

  2. Планирование конструирования.

  3. Измерения

Практика конструирования

  1. Проектирование в конструировании

  2. Языки конструирования

  3. Кодирование. Техники:

    1. Создание легко читаемого кода. Использование соглашений.

    2. Использование классов, перечислений, переменных, именованных констант и др. выразительных сущностей.

    3. Организация кода (выражения, шаблоны, модули, пакеты, классы)

    4. Использование структур управления

    5. Обработка ошибок

    6. Обеспечение безопасности

    7. Управление ресурсами (в т.ч. при параллельном доступе)

    8. Документирование кода

    9. Производительность

    10. Рефакторинг

  4. Тестирование. Модульное тестирование. Интеграционное тестирование.

  5. Повторное использование

  6. Качество

    1. Тестирование

    2. TDD

    3. Пошаговое кодирование

    4. Assertions

    5. Отладка

    6. Ревью кода

    7. Статический анализ

  7. Интеграция

Если останется время:

Метафора конструирования

  1. Литературная

  2. Сельскохозяйственная

  3. Жемчужина

  4. Строительная

Хорошая/плохая метафора. Комбинирование метафор.

Соседние файлы в папке ecampus_2sem