Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

РЕКОМЕНДАЦИИ ПО ОФОРМЛЕНИЮ ОТЧЕТА ПО ЛАБОРАТОРНОМУ ЗАДАНИЮ ДЛЯ

курса «Информатика»

 

Основное назначение курса - выработка у студентов навыков:

- самостоятельного изучения новых языков программирования,

- ясного оформления постановки решаемой задачи,

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

Каждому студенту для решения предлагается набор из 3 - 4 задач, которые он должен реализовать в виде программ на указанных языках программирования (Паскаль, Модула-2, Си).

Первым этапом решения является разработка достаточно подробной спецификации для данной задачи. Спецификация оформляется и согласуется с ведущим преподавателем до начала программирования (кодирования) на языке реализации и не должна зависеть от особенностей инструментальных средств языка реализации. Допускается на данном этапе производить оформление основной логической схемы реализации в виде текста на псевдокоде.

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

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

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

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

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

Рекомендуемая структура оформления спецификации задачи

1. Общее описание

В этом разделе описывается общая характеристика решаемой задачи. Рекомендуется определить состав основных функций программной реализации (ввод, контроль входных данных, расчет результата, вывод результата и т.п.).

2. Внешний проект задачи

2.1. Входные данные

В этом разделе должны быть максимально точно определены правила и форматы ввода входных данных для решаемой задачи. Не допускается при этом делать ссылки на специфику программного интерфейса библиотеки языка реализации (например, формат ввода целых оператором read). При организации однотипного ввода группы данных рекомендуется в разделе (2) определить общую терминологию и использовать ее при описании ввода конкретного входного объекта. Например, (2) "Входная строка это последовательность символов ..."; (2.1.) " ... строка кодирования - входная строка ... ... шифр - входная строка ...". Допускается при описании правил ввода определение функций контроля входных данных, обработки ошибок ввода и правил умолчания.

2.2. Выходные данные

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

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

3. Функциональное описание задачи

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

3.1. Функции контроля входных данных

3.2. Функции обработки ошибок(ввода, вычислений)

3.3. Функции получения основного результата

3.4. Функции обработки особых ситуаций

3.5. Функции оформления и вывода результатов

4. Требования по проверке функций

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

Проверить, что при <описание внешнего воздействия> [происходит] <описание реакции программы >.

Рекомендуемая структура оформления программной реализации

5. Программная реализация

5.1. Общие проектные решения

В этом разделе рекомендуется определить основные проектные решения, относящиеся к структурам данных и структуре программного проекта. Например, "Входная строка представляется списком значений типа CHAR."

5.2. Псевдокод

Разработку программной реализации следует начинать с определения программной логики на псевдокоде. Практика программирования выработала "стандарт" псевдокода, сходный с конструкциями языка программирования Паскаль: if - then - else - fi; while - do - od; repeat - until и т.п.

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

При написании текста руководствуйтесь правилами по структурному программированию и правилами отступа.

5.4. Дополнительные требования к проверке программной реализации

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

Рекомендации по разработке тест-плана

6. Тест-план

Структура этого раздела может соответствовать структуре раздела (4) или следовать логике внешнего поведения программы. Каждый пункт тест-плана описывает, как производится проверка правильности функционирования программной реализации, и содержит:

- ссылку на требование(я), которое проверяется этим пунктом;

- конкретное входное воздействие на программу (значения входных данных);

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

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

Оформление отчета

7. Отчет

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

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

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