Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Способы конструирования программ, модульные программы, основы доказательства правильностиСодержание книги
Поиск на нашем сайте
4.1. Дайте определение модуля. Какие требования предъявляются к модулям? Модуль — функционально законченный фрагмент программы, оформленный в виде отдельного файла с исходным кодом или поименованной непрерывной её части (например, Active Oberon), предназначенный для использования в других программах. Модули позволяют разбивать сложные задачи на более мелкие в соответствии с принципом модульности. Обычно проектируются таким образом, чтобы предоставлять программистам удобную для многократного использования функциональность (интерфейс) в виде набора функций, классов, констант. Модули могут объединяться в пакеты и, далее, в библиотеки. Удобство использования модульной архитектуры заключается в возможности обновления (замены) модуля, без необходимости изменения остальной системы. В большинстве случаев различные модули могут запускаться как на одном сервере, так и на разных, для распределения нагрузки и создания распределенной архитектуры.
4.2. Что понимают под связностью и сцеплением модулей? Какие типы связности и сцепления считаются допустимыми и почему? Сцепление является мерой взаимозависимости модулей, которая • по образцу • по управлению • по общей области данных • по содержимому. • ошибка одного модуля, приводящая к изменению общих данных, может проявиться при • при ссылке к данным в общей области модули используют конкретные имена, что уменьшает гибкость разрабатываемого программного обеспечения.
4.3. Чем нисходящий подход к разработке отличается от восходящего? Перечислите достоинства и недостатки этих подходов. Восходящий подход. При использовании восходящего подхода сначала проектируют и • наличие издержек на проектирование и реализацию тестирующих программ, которые нельзя • позднее проектирование интерфейса, а соответственно невозможность продемонстрировать • раннее определение интерфейса пользователя, демонстрация которого заказчику позволяет
4.4. Что называют структурным программированием и почему? Назовите основные и дополнительные структуры. Какие способы описания структурных алгоритмов существуют? Приведите примеры структурных алгоритмов. Одним из способов обеспечения высокого уровня технологичности разрабатываемого • позволяет использовать неструктурные способы передачи управления, причем часто на схеме
4.5. Дайте определения понятию “заглушка модуля”. Что отражает схема иерархии? Перечислите основные средства изменения топологии схемы иерархии программы.
4.6. Назовите критерии оценки качества схемы иерархии. Фонд критериев оптимальности схем иерархии является необходимым подспорьем при оптимизации схем иерархии и состоит из 13 критериев. Первый — полнота выполнения специфицированных функций. Второй — возможность быстрого и дешевого пополнения новыми, ранее не специфицированными функциями. Третий, вытекающий из блочно-иерархического подхода, — обозримость (понятность) для проектировщика составных частей программы. Четвертый критерий оценки качества структуры — максимальная независимость по данным отдельных частей программы. Пятый — возможность связывания программы с обширной многоуровневой схемой иерархии конкретным редактором связей (линковщиком). Если начинаете работать над новой программой, то очень полезно выполнить на ЭВМ ее модель в виде пустых заглушек модулей, которые не содержат никаких действий. Шестой — достаточность оперативной памяти. Здесь рассматриваются варианты с описанием особенно структурированных статических и динамических переменных на разных уровнях схемы иерархии. Проверка удовлетворения данного критерия осуществляется расчетами с некоторыми машинными экспериментами. Седьмой — оценка влияния топологии схемы иерархии на скорость выполнения программы при использовании оверлеев (динамической загрузки программы) и механизма подкачки страниц при разработке программы, которая целиком не может быть размещена в оперативной памяти. Восьмой — отсутствие разных модулей, выполняющих похожие действия. В идеале — один и тот же модуль вызывается на разных уровнях схемы иерархии. Девятый — достижение при реализации программы такого сетевого графика работы коллектива программистов, который обеспечивает равномерную загрузку коллектива по ключевым датам проекта. Десятый — всемерное сокращение затрат на тестирование уже собранного ядра программы по ключевым датам сетевого графика реализации. Характеризуется простотой используемых заглушек и качеством тестирования по всем вычислительным маршрутам модулей. Достигается первичной реализацией сверху вниз модулей ввода и вывода программы с отсрочкой реализации остальных ветвей схемы иерархии. Обычно затраты на тестирование как по срокам, так и деньгам составляют около 60% стоимости всего проекта. Хорошая схема иерархии сокращает затраты на тестирование по сравнению с первоначальным вариантом в 2 — 5 раз и более. Одиннадцатый — использование в данном проекте как можно большего числа разработанных в предшествующих проектах модулей и библиотек при минимальном объеме изготавливаемых заново частей. Двенадцатый — удачное распределение модулей по компилируемым файлам программы и библиотекам. Тринадцатый — накопление уже готовых модулей и библиотек модулей для использования их во все новых разработках. Итак, хорошая структура программы обеспечивает сокращение общего объема текстов в 2 или 3 раза, что соответственно удешевляет проект; на несколько порядков удешевляет тестирование (на тестирование обычно приходится не менее 60% от общих затрат проекта), а также облегчает и удешевляет сопровождение программы.
|
||||
Последнее изменение этой страницы: 2017-02-17; просмотров: 360; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.61.142 (0.007 с.) |