(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Проекты | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация (English)

Основы проектирования программного обеспечения

2020/21 учебный год г., Институт математики и информационных технологий, I курс
2 семестр(ы)
Специальности: Лектор (ы):

Содержание лекционных занятий.

Гл.1. Методология проектирования программного обеспечения.

Гл.2. Модели проектирования программного обеспечения.

Гл.3. Оценка решений проектирования программного обеспечения.

Темы докладов для практических занятий.

Тема 1. Исследование примеров модульной структуры программы. (1) Анализ стыковки (coupling). (2) Анализ связности (coherence). (3) Анализ модульной структуры программы на основе графовой модели. (4) Анализ модульной структуры программы с использованием библиотек программных функций.

Тема 2. Разбор примеров решений детального проектирования. (1) Примеры интерфейсов для взаимодействия программных модулей. (2) Примеры интерфейсов пользователя. (3) Примеры решений с применением программных библиотек и повторно используемого кода. (4) Примеры проектирования алгоритма. (5) Примеры проектирования структуры данных.

Тема 3. Разбор примеров решений по архитектуре программной системы. (1) Примеры для автономных программных приложений. (2) Примеры для мобильных сервисов. (3) Примеры для распределенных систем. (4) Примеры для систем управления автономными объектами. (5) Примеры для информационных систем. (6) Примеры для системного ПО.

Тема 4. Изучение способов измерения качества на примерах решений проектирования. (1) Анализ графовых моделей. (2) Верификация моделей. (3) Аудит (инспектирование) кода. (4) Автоматический статический анализ кода. (5) Анализ документации. (6) Экспериментальные измерения работы ПО.

Список литературы.

  1. Макконнелл С. Совершенный код. Мастер-класс / Пер. с англ. — М. : Издательство «Русская редакция», 2010. — 896 стр.
  2. Гецци К., Джазайери М., Мандриоли Д. Основы инженерии программного обеспечения / Пер. с англ. 2-е изд. СПб.: БХВ-Петербург, 2015. 832 с.
  3. Мандел, Т. Разработка пользовательского интерфейса. / Т. Мандел. – Москва: ДМК Пресс, 2007. – 419 с. http://www.biblioclub.ru/131896_Razrabotka_polzovatelskogo_interfeisa.html
  4. Мацяшек Л.А. Анализ требований и проектирование систем. М.: Издательский дом "Вильямс", 2002. 428с.
  5. Баканов А. С. Проектирование пользовательского интерфейса: эргономический подход. / А. С. Баканов, А. А. Обознов. – Москва : Институт психологии РАН, 2009. – 185с. http://www.biblioclub.ru/87305_Proektirovanie_polzovatelskogo_interfeisa_ergonomicheskii_podkhod.html
  6. Камаев В.А., Костерин В.В. Технологии программирования. Учебник, 2-е изд., перераб. и доп. М.: Высшая школа, 2006. 454 с.
  7. Diehl S. Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Berlin Heidelberg: Springer-Verlag, 2007. 187 p.

Инструкции по обучению

  1. По каждой теме для докладов на практических занятиях 1-4 обучающийся выбирает подтему. Самостоятельно выбирает пример программы или программной системы (существующий или теоретический). Выделяет конкретную задачу проектирования для данного примера. Выбранная тема (пример) высылается по email лектору.
  2. Лектор уточняет формулировку примера и задачи проектирования, определяет источники теоретических методов для изучения по выбранной задаче, отправляет обучающемуся. Согласованный выбор отражается в журнале занятий лектором.
  3. Обучающийся готовит в эл.виде доклад (презентацию) по утверждённому примеру задаче проектирования ПО. Отправляет презентацию по email лектору. Данный пункт требует отправки презентации каждую неделю (либо первую версию по новой теме, либо скорректированный вариант по одной из предыдущих тем).
  4. Лектор оценивает презентацию и высылают комментарии по ее улучшению.

Шаги 1-4 повторяются еженедельно. Каждая еженедельная итерация эквивалентна проведению 3 часов аудиторных занятий (1 ч. лекции + 2 ч. практики). Ведется учет в журнале учебной дисциплины.

В итоге, к концу семестра каждый обучающийся должен сформировать набор из 4 презентаций (докладов), каждая должна быть скорректирована не менее 1 раза по результатам комментариев от лектора. Аттестационное занятие будет построено в виде индивидуального собеседования с обучающимся по представленным презентациям (докладам).