М. В. Красильникова проектирование информационных систем раздел: Теоретические основы проектирования информационных систем Учебное пособие
Вид материала | Учебное пособие |
Структурные карты Константайна Основные элементы структурных карт. Структурные карты Джексона Характеристики хорошей модели реализации Данные о клиенте |
- Лекция: Основные понятия технологии проектирования информационных систем (ИС): Предмет, 189.07kb.
- Методические рекомендации по выполнению курсовой работы по курсу «Проектирование информационных, 76.85kb.
- Лекция 6 (2 часа). Раздел Архитектура информационных систем предприятий, 197.71kb.
- Программа дисциплины "Проектирование информационных систем" Индекс дисциплины, 261.62kb.
- Учебно-методический комплекс дисциплины проектирование информационных систем Для студентов, 466.59kb.
- А. Г. Тюрганов уфимский государственный авиационный технический университет семантическое, 25.57kb.
- Название научной школы, направлений, 378.51kb.
- Рабочая программа дисциплины проектирование экономических информационных систем цели, 110.33kb.
- Учебная программа дисциплины сд. Ф. 01 Проектирование информационных систем, 130.91kb.
- Case-технологии. Современные методы и средства проектирования информационных систем, 1890.27kb.
Структурные карты Константайна
Базовыми строительными блоками программной системы являются модули. Все виды модулей в любом языке программирования имеют ряд общих свойств, среди которых при проектировании важны следующие:
- модуль состоит из множества операторов языка программирования, записанных последовательно;
- модуль имеет имя, по которому к нему можно ссылаться как к единому фрагменту;
- модуль может принимать и/или передавать данные, как параметры в вызывающей последовательности или связывать данные через фиксированные ячейки.
Структурные карты Константайна являются моделью отношений иерархии между программными модулями (рис. 13).
Основные элементы структурных карт.
Типы модулей
Рис. 13. Основные элементы и типы модулей структурных карт.
Структурные карты Джексона
Техника структурных карт Джексона основана на методологии структурного программирования Джексона. Эта техника позволяет осуществлять проектирование нижнего уровня структуры ПО и на этом этапе является близкой к традиционным блок-схемам.
Диаграмма Джексона включает объекты следующего типа:
- структурный блок представляет частную функцию или блок кодов с одним входом и одним выходом.
- Процедурный блок является специальным видом структурного блока, представляющим вызов ранее определенной процедуры.
- Библиотечный блок аналогичен процедурному и представляет вызов библиотечного модуля.
Для взаимоувязывания блоков используются связи следующих типов:
- последовательная связь;
- параллельная связь;
- условная связь;
- итерационная связь.
Характеристики хорошей модели реализации
Структурные карты сами по себе ничего не говорят о качестве модели реализации, т.к. являются всего лишь инструментом для демонстрации структуры системы и составляющих ее модулей, а также их связи друг с другом.
Один из фундаментальных принципов структурного проектирования заключается в том, что большая система должна быть расчленена на обозримые модули. При этом существенным является то, что это расчленение должно быть выполнено таким образом, чтобы модули были как можно более независимыми (так называемый критерий сцепления) и чтобы каждый модуль выполнял единственную функцию (критерий связности). Существуют и другие принципы оценки и улучшения качества проекта на основе структурных карт. Однако сцепление и связность являются основными критериями.
Сцепление
Сцепление является мерой взаимозависимости модулей. В хорошем проекте сцепления должны быть минимизированы, т.е. модули должны быть слабо зависимыми настолько, насколько это возможно.
Существуют три типа нормального сцепления: сцепление по данным, сцепление по образцу, сцепление по управлению.
На практике наиболее часто используемым типом сцепления является сцепление по данным.
Два модуля сцеплены по данным, если они взаимодействуют через передачу параметров и при этом каждый параметр является элементарным информационным объектом. В случае небольшого количества передаваемых параметров сцепление по данным обладает наилучшими характеристиками.
Два модуля сцеплены по образцу, если один посылает другому составной информационный объект. Пример составного объекта: Данные о клиенте, включающий в себя поля Название организации, Почтовый адрес, Телефон, Номер счета и т.д.
Два модуля сцеплены по управлению, если один посылает другому информационный объект – флаг, предназначенный для управления его внутренней логикой. Существует два вида флага: описательный (конец файла, введенные данные и т.д.) и управляющий (читать следующую запись, установить в начало).
Связность
Связность – мера прочности соединения функциональных и информационных объектов внутри одного модуля.
Выделяют следующие уровни связности:
- функциональная (функционально связный модуль содержит объекты, предназначенные для выполнения единственной задачи, пример: расчет заработной платы);
- последовательная (модуль имеет последовательную связность, если его объекты охватывают подзадачи, для которых выходные данные одной из подзадач служат входными данными для следующей, пример: открыть файл – прочитать запись – закрыть файл);
- информационная (информационно связный модуль содержит объекты, использующие одни и те же входные или выходные данные);
- процедурная (процедурно связный модуль является модулем, объекты которого включены в различные подзадачи, в которых управление переходит от каждой подзадачи к последующей, пример: последовательность утренних процедур);
- временная (временно связным модулем является модуль, объекты которого включены в подзадачи, связанные временем исполнения, пример: установившаяся последовательность действий перед сном);
- логическая (модулем с логической связностью является модуль, объекты которого содействуют решению общей подзадачи, для которой эти объекты отобраны во внешнем по отношению к модулю мире, пример: чем ехать до места отдыха (поехать автомобилем, поехать поездом, поплыть на корабле, полететь самолетом));
- случайная (случайно связным модулем является модуль, объекты которого соответствуют подзадачам, незначительно связанным друг с другом, пример: 1. Ремонтировать автомобиль 2. Пить пиво. 3. Смотреть телевизор).