Программа как формализованное описание процесса о бработки данных. Программное средство. Целью программирования является описание процессов обработки данных в дальнейшем  просто

Вид материалаПрограмма
Связанность модулей
Информационно связанными
Временная связанность
Логическая связанность
Случайную связанность
Библиотеки ресурсов
Нисходящая и восходящая разработка программного обеспечения
Восходящий подход
Нисходящий подход
Объяснить про заглушки на примере.
Иерархический метод
Операционный метод
Комбинированный метод
Нисходящий подход обеспечивает
Подобный материал:
1   2   3   4   5   6   7   8

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


Связанность - мера прочности соединения функциональных и информационных объектов внутри одного модуля, характеризующая степень взаимосвязи элементов, реализуемых одним модулем. Иными словами. При создании модуля следует стараться проектировать его таким образом, чтобы в нем выполнялись схожие по своей функциональности действия и использующие при этом одни и те же переменные.

Различают следующие виды связанности:
  • Функциональную
  • Последовательную
  • Информационную
  • Процедурную
  • Временную
  • Логическую
  • Случайную

При функциональной связанности все объекты модуля предназначены для выполнения одной функции, имеют четко определенную цель и при его вызове выполняется одна задача. Например, сложение двух чисел.

При последовательной связанности результат выполнения первой функции является входным значением второй функции. Как правило, такой модуль имеет одну точку входа, выполняет несколько последовательных функции и имеет одну точку выхода. Например, первая функция выполняет сложение двух чисел, а вторая функция вычисляет корень из их суммы.

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

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

Логическая связанность базируется на объединении данных или функций в одну логическую группу. Например, обработка текстовой информации или одного и того же типа данных.

Случайную связанность обычно используют в том случаи, если связь между элементами мала или отсутствует.

На практике целесообразно использовать функциональную, последовательную, и информационную связанности.


Библиотеки ресурсов. Различают два вида библиотек: библиотеки подпрограмм и библиотеки классов. Библиотеки подпрограмм реализуют функции схожие по своему логическому назначению. Пример: библиотека доступа к базам данных. В библиотеках классов реализуют близкие по назначению классы.



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



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


Нисходящая и восходящая разработка программного обеспечения.

При проектировании, реализации и тестировании компонентов структурной иерархии, полученной при декомпозиции, примелют два подхода:
  • восходящий
  • нисходящий



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

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

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

Объяснить про заглушки на примере.

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

Иерархический метод предполагает выполнение строго по уровням. Исключения допускаются, если обнаруживается, что некоторый модуль использует данные другого модуля. Недостаток: большое количество сложных заглушек и в конце реализуется основная масса модулей.

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

Комбинированный метод учитывает наличие готовых модулей при последовательности разработки, а также степень их важности. Сначала разрабатываются наиболее сложные модули (получение данных), а затем реализуются более простые. В создаваемом проекте выделятся основные (ключевые) модули, которые необходимо реализовать первыми.


Нисходящий подход обеспечивает:
  • максимально полное определение спецификаций проектируемого компонента и согласованность компонентов между собой
  • раннее создание интерфейса пользователя и возможность его согласования с заказчиком
  • возможность непосредственного тестирования при создании модулей и их отладка