Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Проектирование
На данном этапе происходит описание процесса обработки информации, формируется общая структура программного изделия и определяются потоки передачи данных по системе. Существуют различные методы проектирования, с помощью которых достигается минимальная сложность программного изделия. Однако в основе любой методологии лежит процесс разбиения системы на отдельные программные единицы – модули. Модульное проектирование – это умение разбивать задачу по определенным правилам на некоторое число модулей и использовать стандартные библиотечные модули. Модуль - это отдельная функционально-законченная программная единица, являющаяся частью системы и обладающая следующими основными свойствами: 1. Каждый модуль реализует одну или несколько функций; 2. Размер модуля должен быть небольшим (не более ста операторов); 3. Модуль может вызываться неоднократно. Применение модульного принципа позволяет: 1. Облегчить понимание сложных задач за счет ее разбиения на отдельные функциональные части; 2. Упрощается процесс тестирования, отладки и сопровождения, так как небольшие по размеру модули всегда имеют простую логику, легче анализируются и проще исправляются. Для небольших модулей легче оценить временные и материальные затраты на их реализацию; 3. Улучшается возможность оптимального использования исполнителей за счет распараллеливания работ. Цель: создание модульной иерархической схемы, которая определяет структуру
программного изделия и его взаимосвязи. В общем виде эту схему можно представить так: Основные подходы к разработке иерархической схемы: 1. Последовательность расположения модулей конкретного уровня не определяет последовательность выполнения модулей. То, какой модуль вызывается в конкретный момент, определяет модуль, расположенный уровнем выше. Вызов модулей одного уровня друг другом запрещен. 2. Управляющий модуль управляет работой всей системы в целом. Областью управления модуля является вся совокупность модулей, которые он может вызывать. Областью влияния модуля являются модули, на которые оказывается воздействие рассматриваемого модуля. 3. Для каждого модуля системы должно быть указано: · Имя модуля, которое используется при его вызове; · Номер в иерархической схеме; · Описание функции, которую выполняет модуль (как это будет реализовано не раскрывается); · Список параметров, т.е. число и порядок входных и выходных данных. Могут быть указаны их атрибуты, формат записи, диапазон изменения и ориентировочный размер занимаемой памяти; · Внешние эффекты, связанные с выдачей сообщений, приемов, запросов и т.д. Кроме иерархической структуры большое внимание уделяется разработке внутренней логики модуля, в связи с чем вводится понятие связанность модуля. Чем выше данный показатель, тем лучше ориентирован модуль. Выделяют несколько видов связанности, а именно:
· По совпадению – модуль, не имеющий осмысленных связей, т.е. последовательность действий, которые могут вызываться в различных частях программы; · Логическая – совокупность операторов, для которых существует алгоритм переключения; · Временная – модуль содержит функционально не связанные, но выполняемые в одно и то же время действия; · Процедурная – модуль содержит набор процедур, реализующих определенную функцию; · Связь по данным – модуль, включающий операции по обработке конкретного набора данных; · Последовательная – модуль, реализующий единственную функцию с разбиением на подфункции; · Функциональная – модуль содержит одну единственную функцию и не может быть разбит на отдельные части. Другой характерной чертой модуля, которая определяет их независимость, является понятие сцепления модуля – чем меньше сцепление двух модулей, тем независимей является модульная иерархическая структура. Более независимые модули могут подвергаться изменениям, не требующих изменений в других модулях. Модуль является независимым, если он не содержит информации о другом модуле. Выделяют следующие виды сцепления:
· По кодам – связь модулей за счет использования внутренней области другого модуля; · По внешним ссылкам – использование одних и тех же глобальных переменных; · По управлению – передача параметров-переключателей; · По общей области – обращение к общей области данных; · По структуре – связь по данным с учетом их структуры; · По данным – взаимодействие модулей, которые обмениваются данными в виде параметров. При этом вызывающий модуль знает имя и значения, а также тип передаваемых данных в другой модуль, но вызываемый модуль ничего не знает о вызывающем. Указанные характеристики, т.е. сцепление и связанность, не могут использоваться как основные характеристики при проектировании системы в целом. Поэтому процесс проектирования должен включать анализ и декомпозицию данных в соответствии с выбранным методом проектирования и завершаться построением иерархической схемы, отражающей структуру взаимосвязи между всеми модулями, а также описанием функций каждого модуля и межмодульного интерфейса. Этап проектирования можно считать завершенным, если выполнены следующие задачи: 1. Определена структура и число исходных модулей; 2. Описано взаимодействие модулей с учетом стандартных правил взаимодействия с другими модулями (вид сцепления); 3. Определены все информационные потоки; 4. Подготовлена документация и набор тестов; 5. Спроектированная система проверена пользователем на соответствие всем требованиям системы. Пример разработки иерархической структуры модулей Требуется разработать программный продукт, обеспечивающий обслуживание процесса бронирования мест на авиационных пассажирских перевозках. Заказчиком определяются следующие основные функции системы: 1. Поддержка информации о рейсах; 2. Обслуживание бронирования мест для пассажиров; 3.
Дата добавления: 2014-03-04; просмотров: 441; Нарушение авторских прав Мы поможем в написании ваших работ! |