Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы с ответами 2018.doc.doc
Скачиваний:
14
Добавлен:
16.05.2023
Размер:
2.1 Mб
Скачать

13. Дайте определение сцепления модулей и приведите примеры модулей с разными видами сцепления.*

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

Сцепление по данным предполагает, что модули обмениваются данными, представленными скалярными значениями.

Сцепление по образцу предполагает, что модули обмениваются данными, объединенными в структуры. Этот тип также обеспечивает неплохие характеристики, но они хуже, чем у предыдущего типа, так как конкретные передаваемые данные «спрятаны» в структуры, и потому уменьшается «прозрачность» связи между модулями. Кроме того, при изменении структуры передаваемых данных необходимо модифицировать все использующие ее модули.

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

Сцепление по общей области данных предполагает, что модули работают с общей областью данных. Этот тип сцепления считается недопустимым, поскольку:

- программы, использующие данный тип сцепления, очень сложны для понимания при сопровождении программного обеспечения;

- ошибка одного модуля, приводящая к изменению общих данных, может проявиться при выполнении другого модуля, что существенно усложняет локализацию ошибок;

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

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

14.Дайте определение технологии программирования. Какие технологии Вы знаете и к каким периодам относится появление этих технологий? *

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

– указание последовательности выполнения технологических операций;

– перечисление условий, при которых выполняется та или иная операция;

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

1ый этап: (стихийное программирование) – до сер. 60-х.

ассемблеры, Фортран, Алгол

• Подпрограммы

• Проектирование снизу вверх

• Кризис: 80% времени – отладка и тестирование

2-ый этап - структурный подход к программированию (60-70 г.г.)

• Процедурная декомпозиция (разбиение на части) сложных систем и реализация в виде небольших подпрограмм (до 40-50 операторов)

• Проектирование сверху вниз

• Структурирование данных

• Модульное программирование (языки Pascal, Си)

• Объем программ до 100 000 операторов

• Кризис (межмодульные интерфейсы)

3-ый этап - объектный подход к программированию ( 8090г.г.)

• Программа- совокупности объектов (экземпляр класса) • Иерархия классов

• Взаимодействие – передача сообщений

• Независимая разработка и отладка объектов •

Конструирование сложных объектов из простых

• Языки: Pascal, C++, Modula, Java, Delphi, C++ Builder, Visual C++

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

• Кризис (зависимость модулей друг от друга)

4-ый этап – компонентный подход и CASE-технологии (с сере­дины 90-х годов XX в. до нашего времени).

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

• компонентный подход и CASE-технологии