- •Алгоритмические основы программной инженерии: конспекты лекций глава 1. Основы.
- •1945 Г. — Джон фон Нейман сформулировал основные принципы построения и функционирования эвм. Методологии разработки программного обеспечения
- •Проектирование и алгоритмизация программ
- •Алгоритмы и свойства алгоритмов
- •Сложность алгоритма
- •Тестирование. Отладки
- •Справка chm
- •Комментирование
- •Доработка и сопровождение программы в процессе эксплуатации
- •Пример сложной разработки программного продукта "copras"
- •Экстремальная разработка программного обеспечения по концепции xp
- •Стратегия rup Rational Unified Process
- •Ниже представлена самостоятельная работа — пример реализации диаграммы компонентов
- •Ниже представлена самостоятельная работа — пример реализации диаграммы развертывания
- •Системное программное обеспечение эвм
- •Домашнее задание: ответить на вопрос: «Чем отличаются кластеры от секторов?»
- •Домашнее задание: ответить на вопрос: «Какого размера кластер может быть?»
- •Домашнее задание: ответить на вопрос: «Чем стек отличается от индексированного массива?»
- •Интерфейсная оболочка для взаимодействия пользователя с ос и операционными средами
- •Система программирования (ide — Integrated Development Environment).
- •Определение ядра операционной системы
- •Классификация ос по функциональности
- •Что рекомендуется знать?
- •Домашнее задание: прочитать. Pipe
Алгоритмические основы программной инженерии: конспекты лекций глава 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) Экспериментальный. — Массовость. — Сложность и ресурсоемкость.