Проектирование и программирование модулей Тема 8.

Презентация:



Advertisements
Похожие презентации
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Advertisements

1 Тема 1.7. Алгоритмизация и программирование Информатика.
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
ОСНОВЫ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММ. Разработка программ - промышленное производство необходима технология разработки программ. Д. Кнут «Искусство программирования.
Решение прикладных задач: Хранение неограниченного объема информации за любой период времени Возможность анализа любых хранящихся данных за определенный.
Модульное программирование Модульность в программировании подобна честности в политике: каждый утверждает, что она - одно из его достоинств, но кажется,
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
Тема лекции: «Введение в алгоритмизацию». Термин «Алгоритм» Алгоритм – это однозначное и детальное описание последовательности действий по преобразованию.
1 Диаграммы реализации (implementation diagrams).
Лекция 6 Лекция 6 Введение в обработку данных. Среда хранения и средства обработки информационных массивов. Эволюция и характеристика концепций обработки.
Описания, базовые структуры и этапы анализа систем План I. Цель, структура, система, подсистема, задача, проблема. II. Основные признаки и топологии систем.
Практическое занятие 2 СХЕМЫ АЛГОРИТМОВ И ПРОГРАММ.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
База данных – это совокупность структурированных данных определенного назначения. Структурирование данных – это объединение данных по определенным параметрам.
Программа 8-9 класс Семакин И.Г.. 8 класс (1 час в неделю) 1.Введение в предмет (1 ч) 2.Человек и информация (4 ч (3 + 1)) 3.Первое знакомство с компьютером.
АЛГОРИТМЫ Умение составлять алгоритмы просто необходимо, если человек хочет поручить обработку информации машине Алгоритм - определенная последовательность.
Лекция 2 Принципы создания, классификация, состав и структура ЭИС.
Хранение информации Выполнила ученица 10 класса: Пильщикова Мария.
Выполнил: Григорьев Никита группа 2П. План: 1.ПодсистемыПодсистемы 2.Виды системыВиды системы 2.1 Информационной обеспечение 2.2 Техническое обеспечение.
Разработка пользовательских интерфейсов Выполнил: Бредихин Юрий Вячеславович студент 3 курса, 31-И группы Старый Оскол, 2015.
Транксрипт:

Проектирование и программирование модулей Тема 8

Информационные потоки синтеза ПС Этап выработки требований Модель анализа Информационная Функциональная Поведенческая Этап проектирования Этап кодирования Этап тестирования Процедурная разработка Разработка архитектуры Разработка данных Программные модули Проверенное ПС

Особенности проектирования Проектирование – итерационный процесс, при помощи которого требования к ПС преобразуются в инженерные представления ПС

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

Информационные связи проектирования Предварительное проектирование Детальное проектирование Интерфейсное проектирование Требования Архитектура программ и данных Структуры данных и алгоритмы программ

Архитектура Программного обеспечения – это совокупность базовых концепций (принципов) его построения Программного средства – это его строение, как оно видно извне его, т.е. представление ПС как системы, состоящей из некоторой совокупности взаимодействующих подсистем.

По количеству пользователей различают Многопользовательскую архитектуру Однопользовательскую архитектуру Программы Пакеты программ Программные комплексы Программные системы

Структуры данных Это множество элементов данных и связей между ними

Классификация структур данных Структуры данных Простые Базовые Числовые Символьные Логические Перечисление Интервал Указатели Статические Вектор Массивы Множества Записи Таблицы Полу статические Стеки Очереди Деки Строки Дина- мические Линейные или разветвленные связанные списки Графы Деревья Файловые Последовательные Прямого доступа Комбинированного доступа Организованные разделами

Предварительное проектирование включает Структурирование системы Моделирование управления Декомпозиция подсистем на модули

Модульность Модуль – отдельная, функционально законченная программная единица, которая может применяться самостоятельно либо быть частью программы. «Модульность – свойство ПО, обеспечивающее интеллектуальную возможность создания сколь угодно сложной системы» Г.Майерс

Признаки модуля реализует одну или несколько функций, т.е. выполняет какое-то действие; имеет определенную логическую структуру, т.е. определяет его внутренний алгоритм (то, как модуль выполняет функцию); используется в одном или нескольких контекстах – описывает конкретное использование модуля.

Принцип информационной закрытости Содержание модулей должно быть скрыто друг от друга Клиенты Интерфейс «Секрет» Алгоритм Структура данных Реализация интерфейса Размещение ресурса

Информационная закрытость означает следующее Все модули независимы, обмениваются только информацией, необходимой для работы; Доступ к операциям и структурам данных модуля ограничен

Достоинства информационной закрытости Обеспечивается возможность разработки модулей различными независимыми коллективами Обеспечивается легкая модификация системы

Связность модуля – это мера зависимости его частей Чем выше связность модуля, тем лучше результат проектирования Для измерения связности используют понятие силы связности (СС). Существует 7 типов связности

Связность модуля Связность по совпадению (СС=0). В модуле отсутствуют явно выраженные внутренние связи. Логическая связность (СС=1). Части модуля объединены по принципу функционального подобия Временная связность (СС=3). Части модуля не связаны, но необходимы в один и тот же момент времени.

Связность модуля Процедурная связность (СС=5). Части модуля связаны порядком выполняемых действий, реализующих сценарий поведения. Коммуникативная связность (СС=7). Части модуля связаны по данным (работают с одной и той же структурой данных)

Связность модуля Информационная (последовательная) связность (СС=9). Выходные данные одной части модуля используются как входные данные другой части модуля. Функциональная связность (СС= 10). Части модуля вместе реализуют одну функцию.

Характеристика связности модуля Вид связности СопровождаемостьРоль модуля Функциональная Лучшая сопровождаемость «Черный ящик» Информационная Не совсем «черный ящик» Коммуникативная«Серый ящик» Процедурная Худшая сопровождаемость «Просвечивающий ящик» Временная«Белый ящик» Логическая По совпадению

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

Виды сцепления Сцепление по данным (СЦ=1). Один модуль вызывает другой. Входные и выходные параметры вызываемого модуля – простые элементы данных. А В Элементы данных

Виды сцепления Сцепление по образцу (СЦ=3). Один модуль вызывает другой. В качестве параметров используются структуры данных. А В Структуры данных

Виды сцепления Сцепление по управлению (СЦ=4). Один модуль управляет функционирование другого (с помощью флагов или переключателей), посылая ему управляющие данные. начало Флаг конец А В Флаг

Виды сцепления Сцепление по внешним ссылкам (СЦ=5). Модули ссылаются на один и тот же глобальный элемент данных. ВС А N M Элемент данных

Виды сцепления Сцепление по общей области (СЦ=7). Модули разделяют одну и ту же глобальную структуру данных. ВС А N M Структура данных

Виды сцепления Сцепление по кодам (СЦ=10). Команды перемежаются друг с другом Независимое сцепление (СЦ=0). Модули не вызывают друг друга и не работают с общими данными.

Классификация методов разработки структуры программ Методы разработки структуры программ Нисходящие Восходящие Классический подход Нисходящая разработка Нисходящая реализация Классический подход Восходящая разработка Восходящая реализация Архитектурный подход Конструктивный подход разработка реализация разработка реализация целенаправленная

Структурная схема это схема, отражающая состав и взаимодействие по управлению частей разрабатываемого ПО определяется архитектурой разрабатываемого ПО

Компоненты структурной схемы Программы Подсистемы Базы данных Библиотеки ресурсов

Структурная схема Решение задачи Оформление сделки Ввод и накопление данных Поиск данных Формирование отчетных документов

Спецификации процессов Псевдокод Блок-схема алгоритма Flow - форма Диаграмма Насси-Шнейдермана Краткое текстовое описание

Псевдокод Структура ПсевдокодСтруктура Псевдокод Следование Выбор : … Все-выбор Ветвление Если то иначе Все-если Цикл с заданным количеств- ом повторе- ний Для =,,, Все-цикл Цикл-пока Все цикл Цикл-до Выполнять До

Псевдокод Процесс: Проверка и внесение данных о клиенте Вход: Информация о клиенте по его звонку Выход: Формирование данных о клиенте в БД Алгоритм: 1. Проверить в накопителе наличие данных о клиенте 2. Если данные отсутствуют ТО внести новую запись о клиенте в БД 3. Вывести данные о клиенте на экран

Псевдокод Процесс: Внесение заказа Вход: Проект заказа, Данные о клиенте, Данные о продуктах Выход: Заказ Алгоритм: 1. Рассмотрение списка продукции 2. Рассмотрение других заказов 3. Внести данные в проект заказа 4. Произвести расчет услуг по заказу 5. Представить проект заказа клиенту 6. ЕСЛИ клиент не удовлетворен сформированным заказом ТО 6.1. Произвести его корректировку 6.2. Вернуться к пункту 4

Схемы алгоритмов (ГОСТ ) Название ОбозначениеНазначение Терминатор Действие Начало, завершение программы или подпрограммы Процесс Действие Обработка данных Данные Данные Операции ввода-вывода Решение Условие Ветвление, выбор, поисковые и итерационные процессы Подготовка Счетные циклы

Схемы алгоритмов Название ОбозначениеНазначение Граница цикла Любые циклы Предопределен ный процесс Имя Выбор процедуры Соединитель Имя Маркировка разрыва линий Комментарий Комментарий Пояснение к операциям

Flow - форма Следование

Flow - форма Ветвление Если то иначе

Диаграмма Насси- Шнейдермана Ветвление Да Нет

Flow - форма Цикл - до Пока

Функциональная схема Это схема взаимодействия компонентов ПО с описанием информационных потоков, состава данных в потоках и указанием используемых файлов и устройств

Функциональная схема (ГОСТ ) Название ОбозначениеНазначение Сохранение данных Для структур данных, которые должны быть сохранены без уточнения типа устройств ОЗУ Для обозначения структур данных, хранящихся в ОП ЗУ с прямым доступом Для обозначения структур данных, хранящихся на магнитных дисках Документ Для обозначения структур данных, выводимых на печать Ручной ввод Для обозначения ручного ввода данных с клавиатуры Дисплей Для обозначения данных, выводимых на дисплей компьютера Ручная операция Для обозначения любого процесса, выполняемого человеком