- •Проектирование информационных систем
- •Содержание
- •Лекция 1. Руководство программным проектом
- •Организация процесса конструирования
- •Модели конструирования по:
- •Модели качества процессов конструирования
- •Процесс руководства процессом (срс)
- •Начало проекта
- •Измерения, меры и метрики
- •Планирование проектных задач
- •Планирование проектных задач
- •Лекция 2. Унифицированный язык визуального программирования uml
- •Понятия uml
- •Предметы поведения
- •Группирующие предметы
- •Поясняющие предметы
- •Отношения uml
- •Диаграммы uml
- •Механизмы расширения uml(срс)
- •Объекты
- •Физическое включение Нефизическое включение
- •Отношения в диаграммах классов
- •Деревья наследования
- •Лекция 5. Динамические модели объектно-ориентированных программных систем
- •Автоматы
- •Диаграмма схем состояний системы охранной сигнализации
- •Действия в состояниях
- •Входные и выходные действия и деятельность в состоянии Активна
- •Диаграмма деятельности покупателя в Интернет-магазине
- •Диаграммы взаимодействия
- •1. Диаграммы сотрудничества
- •Д иаграммы сотрудничества
- •2. Диаграммы последовательности.
- •Диаграммы Use Case
- •Актеры и элементы Use Case
- •Отношения в диаграммах Use Case
- •Лекция 6. Модели реализации объектно-ориентированных программных систем
- •1) Компонентные диаграммы
- •2) Диаграммы размещения (развертывания)
- •Лекция 7. Типовое проектирование ис
- •Понятие типового проектирования ис
- •Классификация типовых ис
- •Методы конфигурирования типовой ис
- •Лекция 9. Разработка алгоритмов ис
- •Понятие алгоритма
- •Правила и этапы построения алгоритмов
- •Виды и структуры алгоритмов
- •Элементы алгоритмов
- •Методы проектирования алгоритмов
- •Степень автоматизации проектных работ:
- •Принятая методология процесса разработки:
Лекция 9. Разработка алгоритмов ис
Понятие алгоритма
Правила и этапы построения алгоритмов
Виды и структуры алгоритмов
Элементы алгоритмов
Методы проектирования алгоритмов
Понятие алгоритма
Алгоритм – формальное описание способа решения задачи путем разбиения её на конечную по времени последовательность действий или элементарных операций. При этом преобразуются допустимые исходные данные в желаемый результат.
Формальность подразумевает, что описание должно быть абсолютно полным и учитывать все возможные ситуации, которые могут встретиться по ходу решения задач.
Алгоритм имеет ряд обязательных свойств:
Дискретность
Определенность
Результативность
Массовость
В алгоритме отображаются логика и способ формирования результатов решения задачи с указанием необходимых формул, логических условий и правил контроля достоверности выходных результатов. В нем обязательно должны быть предусмотрены все ситуации, которые могут возникнуть при решении задач.
Алгоритм решения комплекса задач и его программная реализация тесно взаимосвязаны. Специфика применяемых методов проектирования алгоритмов может повлиять на форму представления и содержания обработки данных. Для решения задач могут использоваться алгоритмы, заложенные в готовых программных продуктах – пакетах прикладных программ функционального назначения.
Правила и этапы построения алгоритмов
Правила:
Первое правило – при построении алгоритма, прежде всего, необходимо задать множество объектов, с которыми будет работать алгоритм.
Второе правило – для работы алгоритма требуется память.
Третье правило – дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд).
Четвертое правило – детерменированность. После каждого шага необходимо указывать, какой шаг выполняется следующим, либо давать команду остановки.
Пятое правило – сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов.
Этапы:
постановка задачи;
построение модели;
разработка алгоритма;
проверка правильности алгоритма;
реализация алгоритма;
анализ алгоритма и его сложности;
проверка программы.
Виды и структуры алгоритмов
Алгоритмы в зависимости от цели, начальных условий задачи, путей её решения, определения действий исполнителя подразделяется на следующие виды:
Механические, или детерминированные, жесткие (например, алгоритм работы машины).
Гибкие, например стохастические, т.е. вероятностные и эвристические.
Вероятностный (стохастический) – несколько путей решения для получения результата.
Эвристический – достижение результата и последовательность действий не определены.
Линейный – набор команд, выполняемых последовательно друг за другом.
Разветвляющийся – содержит хотя бы одно условие.
Циклический – многократное повторение одного и того же действие над новыми данными.
На всех этапах подготовки к алгоритмизации задачи широко используется структурное представление алгоритма, в виде схемы.
При записи любого алгоритма используются следующие унифицированные структуры:
Развилка полная. Выполнение программы может пойти двумя различными путями.
Следование. Указывает, что управление передается от одного процесса к другому.
Следование. Указывает, что управление передается от одного процесса к другому.
Развилка неполная. По одной ветви никаких изменений входных данных не происходит.
Цикл – до. Заранее неизвестно число повторений. Выполняется хотя бы один раз.
Цикл – пока. Заранее неизвестно число повторений. Может не выполниться ни разу.
Цикл с параметром. Число повторений цикла известно.
Выбор. Выбор из многих вариантов. Эту структуру можно заменить несколькими вложенными друг в друга структурами развилка полная.
В зависимости от использованных унифицированных структур алгоритмы программных модулей могут быть линейными, разветвляющимися, циклическими и сложными.
