Файл: Вопрос 1 Определение алгоритма.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.12.2023

Просмотров: 187

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Вопрос 1 - Определение алгоритма

Вопрос 2 - языки программирования

Вопрос 3 - Особенности программирования задач

Вопрос 4 - ООП

Вопрос 5 - Инкапсуляция, наследование, полиморфизм

Вопрос 6 - Классификация ОС

Вопрос 7 - Характеристики, функции, структура MS Win

Вопрос 8 - Характеристики UNIX

Вопрос 9 - Понятия программы, программной системы (комплекса), программного продукта (средства, изделия), программного обеспечения.

Вопрос 18 - Файловая организация внешней памяти. Каталог, дескриптор

Файловые системы

КАТАЛОГИ

Вопрос 19 - Загрузка выполняемых файлов в оперативную память. Организация динамического выделения памяти

Вопрос 20 - Программные средства управления внешними устройствами. Драйвер – назначение и структура

Вопрос 21 - Понятие базы данных (БД), системы управления базами данных (СУБД), банка данных (БнД)

Вопрос 22 - Модели данных

Вопрос 23 - Этапы проектирования БД

Вопрос 24 - Методы проектирования БД

Вопрос 25 - Роль нормализации при проектировании БД



1 отсутствует эталон программы, которому должны соответствовать все результаты тестирования проверяемой программы;

  1. принципиально невозможно создать тестовый набор для исчерпывающей проверки;

  2. отсутствуют формализованные критерии качества программ и процесса тестирования;

4 необходимо создавать тесты, которые находят ошибки, а не демонстри­рует правильность работы программы;

  1. необходимо привлекать для тестирования сторонних специалистов;

  2. необходимо избегать невоспроизводимых тестов;

Автономное тестирование Наиболее формализованным и автоматизированным в настоящее время процессом является автономное тестирование (тестирование программных модулей), включающее проверки: структуры модуля, вычислений и преобразований данных в модуле, полноты функций модуля.

Комплексное тестирование — исследование структуры комплекса, связи между модулями, внешней связи, возможностей эксплуатации и др.

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

Направления тестирования

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

При нисходящем тестированиив первую очередь проверяется главный модуль, к которому постепенно подключаются модули более низких иерар­хических уровней, при этом так же возможно использование программ — за­глушек. При использовании данного метода появляется возможность сохра­нения и развития исходных тестовых данных по мере подключения модулей нижних иерархических уровней, т.е. с самого начала тестирования могут ис­пользоваться реальные исходные данные, которые уточняются по мере под­ключения модулей. Недостаток: затрудненный поиск ошибок в подключае­мых; модулях.


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

Ручной метод или инспекция кода(без применения ЭВМ), по мнению не­которых специалистов, позволяет выявить до 70% программных алгоритми­ческих ошибок. В данном случае выполняются следующие виды проверок программы: ручное тестирование программы непосредственно разработчиком, сквозной просмотр текста программы группой специалистов с позиции устранения типовых ошибок.

Отладка процесс исправления ошибок, обнаруженных при тестирова­нии, состоит из многократного чередования этапов тестирования, локализа­ции и исправления ошибок.

Если при тестировании полученные результаты отличаются от эталонных (ожидаемых), то необходимо определить местоположение ошибки (локализо­вать ее), ее характер, а затем выработать одну или несколько гипотез о при­роде ошибок. Важно исследовать полученные данные в поисках противоре­чий выдвинутым гипотезам.

Вопрос 14. Классификация ошибок с точки зрения процесса разработки.

Ошибки с точки зрения процесса разработки можно разделить на:

  1. Синтаксические ошибки

Синтаксические ошибки выявляются транслятором, поэтому их устране­ние не вызывает особых трудностей. Трансляторы выделяют два вида оши­бок: собственно ошибка (Error) и предупреждение (Warning). Предупрежде­ние выдается в случае, когда конструкция синтаксически допустима, но су­ществует значительная вероятность существования смысловой (семантиче­ской) ошибки.

  1. Опечатки

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

  1. Ошибки реализации алгоритма


Под эту категорию подпадают все ошибки, вызванные неверным про­граммированием при верном алгоритме. Этот тип ошибок, по-видимому, яв­ляется самым распространенным и наиболее трудно классифицируемым.

Ошибки использования памяти этого класса являются самыми опасными (как правило, приводят к зависанию или общему сбою программы) и трудно обнаруживаемыми. Классификация ошибок такого рода представлена в таблице:

Тип

Варианты

Ошибки распреде­ления свободной памяти

а) Выделение памяти неверного размера (слиш­ком большого или меньше нужного) б) Освобождение невыделенной памяти (часто в результате повторного освобождения)

Ошибки доступа к памяти

а) Выход за границы массива (по указателю или индексу) б) Доступ по неинициализированному указателю (адресу)

Использование неинициализирован­ных переменных




  1. Ошибки алгоритма

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

  1. Ошибки метода

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

Программная и эксплуатационная документация может использоваться для изготовления и сопровождения программного изделия, для его тестиро­вания (испытания), для его эксплуатации.

Документирование должно начинаться одновременно с разработкой про­дукта или даже раньше. В процессе разработки создаются следующие ос­новные программные документы:


Текст программ - запись программы с необходимыми комментариями.

Описание программы - сведения о логической структуре и функциони­ровании программы.

Программа и методика испытаний - требования, подлежащие проверке при испытании программы, а также порядок и методы их контроля.

Техническое задание.

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

Эксплуатационные документы:

Руководство пользователя - сведения о назначении программы, области применения, применяемых методах, ограничениях при применении, конфи­гурации технических средств; сведения для обеспечения процедуры общения пользователя с вычислительной системой в процессе выполнения програм­мы. Создается на основе документов «Описание применения» и «Руково­дство оператора», описанных в ЕСПД.

Руководство системного администратора - сведения для обеспечения установки, функционирования и настройки программ на условия конкретно­го применения. Создается на основе документа «Руководство системного программиста», описанного в ЕСПД.

Программа и методика испытаний

Документ должен содержать сле­дующие разделы:

  • объект испытаний;

  • цель испытаний;

  • состав предъявляемой документации;

  • технические требования;

  • порядок проведения испытания;

  • методы испытаний.

Описание программы

Описание программы должно содержать следующие разделы:

  • общие сведения;

  • функциональное назначение;

  • описание логической структуры;

  • используемые технические средства;

  • вызов и загрузка;

  • входные данные;

  • выходные данные.

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

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


Пояснительная записка

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

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

Текст программы

Основная часть документа должна состоять из текстов одного ила не­скольких разделов, которым даны наименования. Каждый из этих разделов реализуется одним из типов символической записи, например:

  • символическая запись на исходном языке;

  • символическая запись на промежуточных языках;

  • символическое представление машинных кодов и т. п.

В символическую запись разделов рекомендуется включать коммента­рии, которые могут отражать, например, функциональное назначение, струк­туру.

Описание применения

Описание применения должна содержать следующие разделы: назначение программы, условия применения, описание задачи, входные и выходные данные.

Руководство системного программиста

Руководство системного программиста должно содержать следующие разделы:

  • общие сведения о программе;

  • структура программы;

  • настройка программы;

  • проверка программы;

  • дополнительные возможности;

  • сообщения системному программисту.

Руководство программиста

Руководство программиста должно содержать следующие разделы:

  • назначение и условия применения программы;

  • характеристики программы; обращение к программе;

  • входные и выходные данные;

  • сообщения.

Руководство оператора

Руководство оператора должно содержать следующие разделы:

  • назначение программы;

  • условия выполнения программы;

  • выполнение программы;

  • сообщения оператору.


Вопрос 16. Методы оценки свойств программного продукта

Общие положения

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