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

Preview:

DESCRIPTION

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

Citation preview

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

Тема 8

Информационные потоки синтеза ПСЭтап выработки требований

Модель анализа•Информационная•Функциональная•Поведенческая

Этап проектирования

Этап кодирования

Этап тестирования

Процедурная разработка

Разработка архитектуры

Разработка данных

Программные модули

Проверенное ПС

Особенности проектирования

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

Этап проектирования

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

Информационные связи проектирования

Предварительное проектирование

Детальное проектирование

Интерфейсное проектирование

ТребованияАрхитектура программ и

данных

Структуры данных и алгоритмы программ

Архитектура

программного обеспечения – это совокупность базовых концепций (принципов) его построения

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

По количеству пользователей различают

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

Структуры данных

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

Классификация структур данных

Структуры данных

ПростыеБазовые

Статические ФайловыеДина-мические

Полустатические

ЧисловыеСимвольныеЛогическиеПеречислениеИнтервалУказатели

ВекторМассивыМножестваЗаписиТаблицы

СтекиОчередиДекиСтроки

Линейные или разветвленные связанные спискиГрафыДеревья

ПоследовательныеПрямого доступа

Комбинированногодоступа

Организованные разделами

Предварительное проектирование включает

Структурирование системы

Моделирование управления

Декомпозиция подсистем на

модули

Модульность

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

Признаки модуля

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

Критерии оценки

Хороший модуль снаружи проще, чем внутриХороший модуль проще использовать, чем построить

Принцип информационной закрытости

Содержание модулей должно быть скрыто друг от друга

Клиенты

Интерфейс

«Секрет»

АлгоритмСтруктура данныхРеализация интерфейсаРазмещение ресурса

Информационная закрытость означает следующее

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

Достоинства информационной закрытости

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

Связность модуля – это мера зависимости его частей

Чем выше связность модуля, тем

лучше результат проектирования

Для измерения связности

используют понятие силы

связности (СС).

Существует 7 типов связности

Связность модуля

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

Связность модуля

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

Связность модуля

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

Характеристика связности модуля

Вид связности Сопровождаемость

Роль модуля

Функциональная Лучшая сопровождаемость

«Черный ящик»

Информационная

Не совсем «черный ящик»

Коммуникативная

«Серый ящик»

Процедурная Худшая сопровождаемость

«Просвечивающий ящик»

Временная «Белый ящик»

Логическая

По совпадению

Сцепление модулей - это

мера взаимозависимости

модулей по данным

внешняя характеристика

модуля, которую желательно

уменьшать

Виды сцепления

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

А

В

Элементы данных

Виды сцепления

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

В

Структуры данных

Виды сцепления

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

начало

Флаг

конец

А

В

Флаг

Виды сцепления

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

В С

А N

M

Элемент данных

Виды сцепления

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

В С

А N

M

Структура данных

Виды сцепления

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

Классификация методов разработки структуры программ

Методы разработки структуры программ

Нисходящие Восходящие

Классический подход

Нисходящая разработка

Нисходящая реализация

Классический подход

Восходящая разработка

Восходящаяреализация

Архитектурный подход

Конструктивный подход

разработка

реализация

разработка

реализация

целенаправленная

Структурная схема

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

Компоненты структурной схемы

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

Б л о к р е ш е н ия Б л о к в ы в од а р езул ьта таа

Д и спе тч ер

Структурная схема

Решение задачи

Ввод и накопление данных Поиск

данных

Оформление сделки

Формирование отчетных

документов

База данных

Ввод данных

Редактирование данных

Структурная схема

Структурная схема

Спецификации процессов

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

ПсевдокодСтруктура Псевдокод Структур

аПсевдокод

Следование

<Действие 1>< Действие 2>

Выбор Выбор <код>< код 1>:< Действие 1 >< код 2>:< Действие 2 >…Все-выбор

Ветвление Если <Условие>то < Действие 1 >иначе < Действие 2 >Все-если

Цикл с заданным количеств-ом повторе- ний

Для <индекс>= <n>,<k>,<h>,< Действие>Все-цикл

Цикл-пока Цикл-пока< Условие >< Действие 1 >Все цикл

Цикл-до Выполнять< Действие>До < Условие >

ПсевдокодПроцесс: Проверка и внесение данных о

клиентеВход: Информация о клиенте по его

звонкуВыход: Формирование данных о клиенте в

БДАлгоритм:1. Проверить в накопителе наличие данных

о клиенте2 . Если данные отсутствуют ТО внести новую запись о клиенте в БД3. Вывести данные о клиенте на экран

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

Схемы алгоритмов (ГОСТ 19.702-90)

Название Обозначение

Назначение

Терминатор Действие

Начало, завершение программы или подпрограммы

Процесс Действие

Обработка данных

Данные Данные

Операции ввода-вывода

Решение Условие

Ветвление, выбор, поисковые и итерационные процессы

Подготовка Подготовка

Счетные циклы

Схемы алгоритмовНазвание Обозначение Назначение

Граница цикла

Любые циклы

Предопределенный процесс

ИмяВыбор процедуры

Соединитель Имя

Маркировка разрыва линий

Комментарий Комментарий

Пояснение к операциям

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

<Действие 1>

<Действие 2>

<Действие 3>

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

Если <Условие>

то <Действие 1>

иначе

<Действие 2>

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

Да Нет<Действие 1> <Действие 2>

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

Пока <Условие>

<Действие >

Функциональная схема (технологическая)

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

Функциональная схема (ГОСТ 19.702-90)

Название Обозначение НазначениеСохранение данных

Для структур данных, которые должны быть сохранены без уточнения типа устройств

ОЗУ

Для обозначения структур данных, хранящихся в ОП

ЗУ с прямым доступом

Для обозначения структур данных, хранящихся на магнитных дисках

Документ Для обозначения структур данных, выводимых на печать

Ручной ввод

Для обозначения ручного ввода данных с клавиатуры

Дисплей Для обозначения данных, выводимых на дисплей компьютера

Ручная операция

Для обозначения любого процесса, выполняемого человеком

Recommended