- •Основні концепції індустріалізації програми.
- •2. Задача супроводження проектів проблемних програм.
- •3. Задача налагодження проектів системних програм.
- •4. Роль засобів специфікації в системних програмах.
- •5. Специфікації мов та задач.
- •6. Базові технології розробки прикладних програм.
- •7. Технології генерації тестів та тестування.
- •8. Стандартизація комп"ютерних мов.
- •9. Етапи розробки прикладних програм з використанням технологічних комплексів.
- •10. Основи технології модульного програмування.
- •11. Організація міжмодульних зв"язків за даними.
- •12. Особливості угод про зв"язки за даними.
- •13. Організація міжмодульних зв"язків за управлінням.
- •16. Особливості угод про зв"язки в мові Pascal.
- •17. Органцізація передачі результатів підпрограм і функцій.
- •18. Технологія налагодження програм на рівні машинних команд.
- •21. Способи пошуку помилок при налагоджені програм.
- •22. Способи декомпозиції програм за структурами вхідних та вихідних даних. 23. Способи декомпозиції програм за обчислювальними формулами.
- •24. Технології тестування програм елементарними тестами для кореції їх роботи.
- •25. Технології тестування програм комплексними тестами.
- •26. Технології тестування програм тестами продуктивності.
- •29. Організація роботи з таблицями в програмах.
- •30. Роль ключових та функціональних полів в таблицях.
- •31. Організація роботи з таблицями з використанням прямої адреси.
- •32. Організація роботи з таблицями з використанням лінійного пошуку.
- •33. Організація роботи з таблицями з використанням двійкового пошуку.
- •39. Відношення порядку на ключових полях.
- •45. Структури і типи даних для визначення графів-автоматів.
11. Організація міжмодульних зв"язків за даними.
Сцепление модуля – это мера его зависимости по способу передачи данных от других модулей. Чем слабее сцепление модуля с другими модулями, тем сильнее его независимость от других модулей. Для оценки степени сцепления существует шесть видов сцепления модулей:
по данным;
по образцу;
по управлению;
по внешним ссылкам;
по общей области данных;
по содержимому.
Худшим видом сцепления модулей является сцепление по содержимому. Таким является сцепление двух модулей, когда один из них имеет прямые ссылки на содержимое другого модуля (например, на константу, содержащуюся в другом модуле). Такое сцепление модулей недопустимо.
Не рекомендуется использовать также сцепление по общей области – это такое сцепление модулей, когда несколько модулей используют одну и ту же область памяти.
Сцепление по образцу предполагает, что модули обмениваются данными, объединенными в структуры. Этот тип обеспечивает неплохие характеристики, по сравнению с предыдущими. Недостаток заключается в том, что конкретные передаваемые данные «спрятаны» в структуры, и потому уменьшается «прозрачность» связи между модулями. Кроме того, при изменении структуры передаваемых данных необходимо модифицировать все использующие ее модули.
При сцеплении по управлению один модуль посылает другому некоторый информационный объект (флаг), предназначенный для управления внутренней логикой модуля. Таким способом часто выполняют настройку режимов работы программного обеспечения. Подобные настройки также снижают наглядность взаимодействия модулей и потому обеспечивают не лучшие характеристики технологичности разрабатываемого программного обеспечения.
Сцепление по внешним ссылкам предполагает, что модули ссылаются на один и тот же глобальный элемент данных [1].
Единственным видом сцепления модулей, который рекомендуется для использования современной технологией программирования, является сцепление по данным (параметрическое сцепление) – это случай, когда данные передаются модулю либо при обращении к нему как значения его параметров, либо как результат его обращения к другому модулю для вычисления некоторой функции. Такой вид сцепления модулей реализуется на языках программирования при использовании обращений к процедурам (функциям).
12. Особливості угод про зв"язки за даними.
Сцепление по данным – передаваемые параметры – простые (неструктурированные) данные. При небольшом количестве передаваемых параметров этот вид сцепления модулей обеспечивает наилучшие технологические характеристики разрабатываемого ПО. Примером является функция, возвращающая из двух переданных ей целых переменных максимальное:
Function Max(a,b: integer): integer;
Begin
If a>) then Max:=a
Else Max:=b;
End;
Следует иметь в виду, что “модули с памятью”, действия которых зависят от истории вызовов (модуль меняет данные и при следующем вызове работает с другими данными, чем при предыдущем вызове), спользуют сцепление по общей области, что делает их работу в общем случае непредсказуемой. Именно этот вариант используют статические переменные С и С++.