Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АОПИ. Старое / АОПИ. Глава 1. Конспекты (31_03_19).rtf
Скачиваний:
67
Добавлен:
10.09.2019
Размер:
630.31 Кб
Скачать

Алгоритмические основы программной инженерии: конспекты лекций глава 1. Основы.

1945 Г. — Джон фон Нейман сформулировал основные принципы построения и функционирования эвм. Методологии разработки программного обеспечения

Концепции: 1. Повторное использование кода. 2. Исправление ошибок. 3. Правильная организация программной инженерии.

Подходы к разработке программного обеспечения (далее — ПО): 1. Rational Unified Process (RUP). [организация работы большой команды] 2. Extreme Programming (XP).

RUP. 4 базовых этапа: 1. Анализ требований. 2. Проектирование. 3. Реализация. 4. Внедрение.

Проблемы, возникающие при разработке ПО: — неполнота и непредвиденное изменение требования; — перевыполнение задачи.

XP. 2 базовых этапа: 1. Постановка задачи. 2. Составление технического задания (далее — ТЗ) [описание задачи на формальном языке]. 1) Функциональное назначение программы с перечнем тех функций, которые должна выполнять программа. 2) Входные, выходные и промежуточные данные с указанием организации (формата) их ввода-вывода. 3) Требование к надежности программного продукта с указанием тех ошибок, которые должна отлавливать программа и перечнем информационных сообщений, которые должны выдаваться пользователю в качестве идентификации ошибки. 4) Требования к ресурсоёмкости. 5) Технико-экономическое обоснование с указанием стоимости разработки продукта.

Экстремальное программирование: — рефакторинг (постоянная переработка кода). — разработка в рекордно-короткие сроки.

Проектирование и алгоритмизация программ

Проектирование. Создается структура программы с делением задачи на отдельные фрагменты, а затем для каждого фрагмента выбираются известные или разрабатываются новые алгоритмы его прохода.

Параллельно с разработкой алгоритма решаются вопросы организации данных, т. е. выделяются данные стандартных типов и способы их представления, а также разрабатываются новые структуры данных, и определяется круг выполняемых с этими структурами операций.

Один фрагмент — одно задание.

Алгоритмы и свойства алгоритмов

Алгоритм — конечный набор правил, однозначно раскрывающий содержание и последовательность выполнения операций для решения поставленной задачи.

Свойства алгоритма: 1. Универсальность. 2. Определенность. 3. Конечность.

Алгоритмический процесс — реализация алгоритма на уровне программирования и кодирования.

Алгоритмическая модель: — Дискретность (вся процедура отчета должна быть представлена последовательностью действий следующих друг за другом и связана причинно-следственными связями). — Понятность и однозначность (детерминированность) (последовательность и содержание операций должны в точности соответствовать алгоритмической модели). — Результативность (или конечность) (получение результата за конечное число шагов). Если при каких-либо входных данных алгоритм не заканчивается или не выдает результат, то он считается нерезультативным. — Адекватность и правильность (алгоритм должен выдавать ожидаемый правильный результат). Правильность выясняется посредством сравнения с выходными данными по модели или объекту, который получен альтернативным способом: 1) Численный; 2) Аналитический; 3) Экспериментальный. — Массовость. — Сложность и ресурсоемкость.