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

16. Дайте определение и приведите пример линейного двусвязного списка.

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

Логическая структура двусвязного списка:

В первой записи пустым является обратный указатель, а в последней – прямой.

В этом случае доступ к списку возможен как с начала списка, так и с его конца.

Включение списка и исключения элемента из списка осуществляется путем корректировки указателей.

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

1

2

3

4

5

6

7

Описание i-ой строки матрицы

1

A1

A2

A3

2

A4

A5

Указатель описания следующей строки

3

A6

A7

Описание очередной строки матрицы  количество ненулевых элементов.

Указатели списка значений элементов  адрес списка значений элементов.

Список значений элементов

Номер очередногоэлемента в строке

Значение элемента

Указатель на следующий элемент

Получим следующую логическую структуру разреженной матрицы:

Нарисовать по таблице

----------------------------------------------------------------------------------------------------

17. Укажите верные утверждения относительно таблицы решений.

Таблица решений состоит из:

а) описания условий для входных данных;

б) входных данных для функции ПО;

в) описания действий (выполняемых операций обработки информации) программы;

г) описания операторов программы;

д) указания порядка выполнения действий;

е) комбинации условий для входных данных;

ж) спецификации функций ПО.

Ответ: ТР состоит из а, в, д, е.

----------------------------------------------------------------------------------------------------

18. Отметьте правильные утверждения относительно файла и обмена информацией между внешней и оперативной памятью:

а) конечное множество записей на внешнем носителе называется файлом;

б) в файле возможно выделение поля записи;

в) обмен между внешней и оперативной памятью производится кластерами;

г) в кластер могут включаться любое целое количество секторов;

д) кластерам для записи одного файла должны выделяться смежные области дисковой памяти;

е) минимальной единицей информации в операциях обмена между внешней и оперативной памятью является запись;

ж) кластер включает количество секторов, кратное двум;

з) для контроля операций ввода-вывода собственно информация (данные) на магнитном диске снабжаются контрольными кодами.

Ответ: правильными, относительно файла и обмена информацией между внешней и оперативной памятью, являются следующие утверждения – а, в, е, ж.

----------------------------------------------------------------------------------------------------

  1. Что такое таблица решений? Назовите этапы создания ПО, при выполнении которых могут быть применены такие таблицы.

Таблица решений - внешняя спецификация ПО, в которой отражаются комбинации условий, выполняемых для входных данных, и соответствующие этим комбинациям действия по преобразованию информации. Может быть применена при проектировании, кодировании и тестировании ПО. ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ-частью оператора ЕСЛИ-ТО и требует ответа ‘да-нет’. Нижняя часть ТР используется для определения действий, т.е. ТО-части оператора ЕСЛИ-ТО. Левая часть ТР содержит собственно описание условий и действий, а в правой части перечисляются все возможные комбинации условий и, соответственно, указывается, какие конкретно действия и в какой последовательности выполняются, когда определенная комбинация условий имеет место. Методика построения ТР:

1) Определить все условия и действия в спецификации.

2) Вписать действия и условия в таблицу.

3) В нумерованных столбцах отметить все возможные комбинации условий и выполняемых действий.

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

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

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

----------------------------------------------------------------------------------------------------

  1. Дайте определение жизненного цикла программного продукта и назовите его основные этапы при традиционной технологии разработки ПО.

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

Традиционно в ЖЦ ПП принято выделять следующие этапы:

  • анализ, посредством которого осуществляется формализованное специфицирование (описание) предъявляемых к АСОИ требований, или иначе, целей ПП;

  • проектирование, включающее разработку иерархической структуры разрабатываемого ПО, функциональые спецификации отдельных модулей и структуры данных БД;

  • программирование или, иначе говоря, кодирование функциональных модулей;

  • тестирование и отладка, в процессе которых выявляется соответствие ПП его спецификациям;

  • эксплуатация и сопровождение, когда разработанное ПО функционирует в составе (или в качестве) АСОИ в конкретной области применения.

----------------------------------------------------------------------------------------------------

  1. Назовите основные преимущества CASE- технологий по сравнению с традиционной технологией проектирования.

CASE-технологии обладают следующими основными достоинствами: 1) улучшают качество создаваемого ПО за счет средств автоматического контроля, прежде всего, контроля проекта. 2) позволяют за короткое время создавать прототип будущей системы, что позволяет на ранних этапах оценить ожидаемый результат. 3) ускоряют процесс проектирования и разработки. 4) позволяют разработчику больше времени уделять творческой работе по созданию ПО, освобождая его от рутинной работы. 5) поддерживают развитие и сопровождение разработки .6) поддерживают технологии повторного использования компонент разработки.

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

В следующей таблице сравниваются цели и содержание этапов при традиционной разработке и с применением CASE-средств.

Традиционная разработка

CASE-технологии

Основные усилия на кодирование и тестирование

Основные усилия на анализ и проектирование

"Бумажные" спецификации

Быстрое итеративное прототипирование

Ручное кодирование

Автоматическая кодогенерация

Ручное документирование

Автоматическая генерация документации

Тестирование кодов

Автоматический контроль проекта

Сопровождение кодов

Сопровождение спецификаций проектирования

----------------------------------------------------------------------------------------------------

  1. В чем отличие моделей жизненного цикла (ЖЦ) программного продукта (ПП) в традиционной и CASE- технологии разработки ПО?

Модель ЖЦ ПО определяет порядок выполнения этапов, а также критерии перехода от этапа к этапу.

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

CASE-технология базируется на спиральной модели ЖЦ ПП, суть кот в следующем. Делается упор на начальные этапы ЖЦ: анализ требований, проектирование спецификаций, предварительное и детальное проектирование. На этих этапах проверяется и обосновывается реализуемость технических решений путем создания прототипов. Все эти этапы выполняются на каждом витке спирали ЖЦ. Каждый виток спирали соответствует некоторому уровню детализации проекта. Каждый следующий виток характеризуется более высокой степенью детализации создаваемого ПО. Каждый виток заканчивается тем, что уточняются цели и характеристики проекта и планируются работы следующего витка спирали. Тем самым реализуется нисходящий принцип проектирования. Специалистами отмечаются следующие преимущества спиральной модели:

-накопление и повторное использование программных средств, моделей и прототипов;

-ориентация на развитие и модификацию ПО в процессе проектирования;

-анализ риска и издержек в процессе проектирования.

----------------------------------------------------------------------------------------------------

  1. Перечислите основные принципы структурного программирования.

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

1) Каждый программный модуль (блок, функция, процедура) должен иметь только один вход и один выход

Это позволяет максимально упростить стыковку модулей в программе.

2) В программах рекомендуется применять 4 вида конструкций:

а) последовательность (модулей, блоков, операторов)

б) разветвление – условный оператор

в) циклы с предусловием и с постусловием

г) выбор из нескольких альтернатив (переключатель)

3) Разработку программ рекомендуется вести сверху-вниз или по нисходящей стратегии

ПО структурируется по схеме:

ПО → компоненты 1-го уровня → … → компоненты i-го уровня → функции (до тех пор пока конец компонентов уровня становится очевидным)

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

---------------------------------------------------------------------------------------------------

  1. Приведите последовательность работ при тестировании ПО. В чем заключается тестирование теста?

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

а) постановка задачи для теста,

б) проектирование теста,

в) написание тестов,

г) тестирование тестов,

д) выполнение тестов,

е) изучение результатов тестирования.

Решающую роль играет проектирование тестов. Возможен целый ряд подходов к стратегии проектирования тестов. Полное тестирование программы невозможно. Тест для любой программы будет обязательно неполным, то есть тестирование не гарантирует отсутствие всех ошибок. Стратегия проектирования тестов заключается в том, чтобы попытаться уменьшить эту неполноту насколько это возможно. При этом ключевым является следующий вопрос: какое подмножество всех возможных тестов имеет наивысшую вероятность обнаружения ошибок при ограничении времени, трудовых затратах, стоимости, машинном времени и т.п. Как правило, исчерпывающее тестирование для всех входных данных программы неосуществимо, поэтому ограничиваются меньшим. При этом исходят из максимальной отдачи теста по сравнению с затратами на его создание. Она измеряется вероятностью того, что тест выявит ошибки, если они имеются в программе. Затраты измеряются временем и стоимостью подготовки, выполнения и проверки результатов теста.

---------------------------------------------------------------------------------------------------

  1. Какие схемы применяются при документировании проекта разработки ПО, согласно ГОСТ 19.701-90?

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

При документировании проекта разработки ПО применяют:

  • схемы данных отображают путь данных при решении задач и определяют этапы обработки и применяемые носители данных;

  • схемы программ отображают последовательность операций в программе;

  • семы работы системы отображают управление операциями и поток данных в системе;

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

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

---------------------------------------------------------------------------------------------------

  1. Укажите назначение схем программ (что они отражают) и классы (группы) символов, применяемых в этих схемах (согласно ГОСТ 19.701-90).

Схемы программ отображают последовательность операций в программе.

Схема программы состоит из:

- символов процесса, указывающих фактические операции обработки данных

- линейных символов для указания потока управления

- специальных символов

- символ «данные».

Следует отметить, что размеры и соотношение геометрических элементов символов ГОСТ 19.701-90 не устанавливаются и являются рекомендуемыми. При этом размер a выбирают из ряда 10, 15, 20 мм или увеличивают на число, кратное 5. Размер b устанавливают равным 1,5а или 2а.

---------------------------------------------------------------------------------------------------

  1. Отметьте правильные утверждения и дайте необходимые пояснения.

Редуцирование таблицы решений заключается в:

а) увеличении количества действий программы (повышении степени детализации действий);

б) уменьшении количества условий для входных действий (объединении условий);

в) уменьшении количества столбцов таблицы путем объединения некоторых столбцов.

Ответ: Редуцирование таблицы решений заключается в уменьшении количества столбцов таблицы путем объединения некоторых столбцов - если есть 2 столбца, у которых перечень действий совпадает, и которые отличаются только результатами условий ‘Д’ и ‘Н’ в одной строке, то такие столбцы могут быть слиты в один.

Например:

ТР

Условия

1

2

3

4

5

6

7

8

С1

Д

Д

Д

Д

Н

Н

Н

Н

С2

Д

Д

Н

Н

Д

Д

Н

Н

С3

Д

Н

Д

Н

Д

Н

Д

Н

Действия

D1

1

1

1

1

1

1

1

D2

2

2

2

2

2

2

2

D3

2

D4

1

Редуцированная ТР

Условия

1

2

3

4

С1

Д

Н

Н

Н

С2

-

Д

Н

Н

С3

-

-

Д

Н

Действия

D1

1

1

1

D2

2

2

2

D3

2

D4

1

Если выполняется условие С1, то нет необходимости в проверке условий С2 и С3. Поэтому комбинации условий 1,2,3,4 могут быть заменены обобщающей комбинацией (Д, -, -), где ‘-’ означает любую из возможных альтернатив (в данном случае Д или Н). Аналогично комбинации условий 5 и 6 могут быть заменены обобщающей комбинацией (Н, Д, -). Редуцированная таким образом ТР будет иметь вид таблицы 2.

---------------------------------------------------------------------------------------------------

Соседние файлы в папке Шпоры к междису