Структуризация информационной модели

Лекция № 7

Контрольні запитання

1. Яку задачу вирішує комутація в комп’ютерній мережі?

2. Що називають інформаційним потоком в комп’ютерній мережі?

3. Які особливості покладаються на глобальні та локальні мітки потоку?

4. Яким чином можна визначити маршрут просування потоків даних?

5. Які фактори повинні враховуватися для вибору оптимального маршруту?

6. Які функції покладено на транзитні вузли в комутаційній мережі?

7. Який пристрій призначений для виконання комутації?

8. Для чого призначена таблиця комутації? В яких пристроях вона втілена? Які дані в ній зазначено?

9. Що передбачає операція де мультиплексування?

10. Як називається комутатор, в якому всі вхідні інформаційні потоки комутуються на один вихідний інтерфейс?

Структуризация моделей программ (продолжение)

Резюме по структуризации функциональной модели:

· В рамках классического структурного программирования 70-х поуровневая структуризация заключается в функциональной абстракции / декомпозиции.

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

Рассмотренная функциональная абстракция должна дополняться абстракцией данных.

В классических языках (Алгол) - три способа структуризации данных:

· типизация - средство разграничения видов данных и привязки к ним возможных операций - удобное средство контроля при компиляции и в период выполнения

· агрегатирование - составные типы (массивы, записи) - сокращение пространства имен, индексация однородных объектов

· локализация - ограничение видимости данных внутри процедур - упрятывание деталей, сокращение пространства имен и предотвращение конфликта имен. Вопрос 1.

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

Идея новых видов модульности в современных языках: объединять данные и обрабатывающие их процедуры и скрывать видимость всех элементов, кроме интерфейсных. Исторически впервые - в АТД (язык CLU, 1979).

Предыстория и идея абстрактных типов данных (АТД)

Тип данных – это множество значений данных вместе с множеством операций, определенных на них. Вопрос 2. В ранних языках были только стандартные типы данных (integer, char и пр.). В Паскале и С появились типы, задаваемые программистом:

а) именуемые описания переменных стандартного типа (операторы type, typedef),

б) перечислимые типы и диапазоны (type, enum), где задается свое множество именуемых значений (отображаемых на подмножество целых констант). В обоих случаях определяются производные типы, наследующие множество операций базового типа. Естественное развитие: дать возможность программисту определять свои операции. Как? – описывая их процедурами. При этом любые другие операции запрещаются путем инкапсуляции (упрятывания) данных. Таким образом осуществляется абстракция данных, аналогичная функциональной абстракции.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: