ВУЗ: Московский государственный университет технологий и управления им. К.Г. Разумовского
Категория: Методичка
Дисциплина: Программирование
Добавлен: 16.02.2019
Просмотров: 2041
Скачиваний: 15
колледж при МГУТУ, 2016
П-203
Прикладное программирование/СР
6.4 Метод проверки требований к исходным кодам
Изложенный ниже метод применяется ко всем файлам, содержащим исходный текст, и
входящим в состав программной документации по отдельности. Для каждого файла вно-
сится в протокол запись: «Требования к исходным кодам для файла ####» – соответ-
ствует/не соответствует (где вместо #### указывается название файла).
Проверка состоит из следующих этапов:
• Наличие комментария в начале файла, содержащего автора работы, номера задания
и варианта, краткой формулировки задания (или его части)
• Наличие комментариев к неочевидным действиям (проверяется методом экспертной
оценки лицом, осуществляющим испытания)
• Для каждой подпрограммы наличие комментария, содержащего полное описание ее
работы, описание всех аргументов и результатов. Достаточность этого комментария
для возможности использовать подпрограмму в других программах (без изучения
собственно текста подпрограммы).
• Для каждой глобальной переменной указание ее назначения.
• Для всех переменных, кроме переменных цикла, использование «говорящих» назва-
ний
• Для всех подпрограмм использование говорящих названий.
• Использование одного оператора на одной строке программы.
• Количество пробелов перед строкой программы должно соответствовать уровню
вложенности (по два пробела на уровень вложенности).
• Слова begin и end, соответствующие друг другу, располагаются строго с одной и той
же позиции по вертикали.
• Количество строк в подпрограмме и в самой программе (между begin и end) – не
более 25 строк.
• Использование модулей для трех и более сходных по назначению подпрограмм.
• Отсутствие в подпрограммах использования глобальных переменных (напрямую).
• Разделение подпрограмм на предназначенные для вычислений (в них не должно
быть ввода-вывода) и на предназначенные для ввода-вывода (в них вычисления
должны быть только такие, что нужны для ввода-вывода).
• Отсутствие операторов goto, break, continue; процедур halt и exit.
• Проверка того, что вместо явно указанных значений чисел, в тексте программы
используются константы.
В случае, если все перечисленные этапы пройдены, то в протокол о соответствии файла
требованиям, в противном случае – о несоответствии.
6.5 Метод проверки требований к исходным кодам в части компиляции во
Free Pascal 3.6
Изложенный ниже метод применяется ко всем файлам, содержащим исходный текст, и
входящим в состав программной документации по отдельности. Для каждого файла вно-
сится в протокол запись: «Требования к исходным кодам в части компиляции во Free
Pascal 3.6 для файла ####» – соответствует/не соответствует (где вместо #### ука-
зывается название файла).
Проверка осуществляется путем открытия файла с исходным кодом в среде Free Pascal
3.6, осуществления компиляции (обе работы делаются в соответствии с документацией
к Free Pascal). В случае, если компиляция завершилась успешно в протокол заносится
запись о соответствии требованиям, в противном случае – о несоответствии.
16
колледж при МГУТУ, 2016
П-203
Прикладное программирование/СР
2.2.3
Пояснительная записка технического проекта
Технический проект – это модель будущего программного изделия (или его частей) и будущей разработки.
На этом этапе исполнитель (в больших проектах) проводит исследование с целью:
• выявления наиболее оптимального способа будущей разработки программного продукта (он выбирает язы-
ки программирования, среды разработки, другие необходимые программные и аппаратные средства);
• изучения научной и/или технической литературы с целью получения информации о том, как в настоящее
время осуществляется решение тех или иных подзадач, что встречаются внутри данной задачи (например,
технический проект может в себя включать изучение математических основ нейронных сетей и их адапта-
цию для конкретной задачи): результатом этого этапа могут быть изложение алгоритмов, которые будут
использованы в будущем программном продукте;
• построения модели будущего программного продукта с тем или иным уровнем детализации (выделение
основных частей, их характеристик, способов взаимодействия между ними);
• в случае обмена информации с другими программными изделиями и/или использования файлов, в техни-
ческий проект включается информация о выборе формата хранения/передачи данных.
В проектах того масштаба, что мы рассматриваем, стадия технического проекта может быть опущена. Од-
нако, мы ее включаем в состав жизненного цикла с целью формального документирования процесса выбора
архитектурных решений и конкретных алгоритмов.
Разрабатывая технический проект в самостоятельной работе следует учитывать, что программа должна
состоять из собственно программы и модуля, осуществляющего основные вычисления. Цель такого разделения
состоит в том, что перед написанием программы и модуля необходимо будет создать другую программу, которая
предназначена для автоматического тестирования этого модуля.
Писать программу автоматического тестирования и модуль в самостоятельной работе будут разные студенты
для одного и того же варианта, однако способ использования модуля (то есть его интерфейс) должен быть
фиксирован до начала написания как основной программы, так и программы автоматического тестирования.
Собственно целью технического проекта в самостоятельной работе будет:
• выбор метода решения задачи;
• выбор алгоритма решения задачи и документирование этого выбора, в том числе, путем рисования блок-
схемы.
• выбор интерфейса модуля и документирование этого выбора;
Начальная часть документа похожа на начальные части технического задания и программы и методики
испытаний.
17
колледж при МГУТУ, 2016
П-203
Прикладное программирование/СР
1. Введение
1.1 Наименование программы
Решение квадратного уравнения
1.2 Условное обозначение темы разработки
ПП-00
1.3 Документ, на основании которого ведется разработка
Сборник самостоятельных работ по МДК01.02 Прикладное программирование
2. Назначение и область применения
2.1 Назначение программы
Программа предназначена для автоматического решения квадратных уравнений
2.2 Краткая характеристика области применения
Программа может использоваться любыми лицами, деятельность которых требует реше-
ния конкретных квадратных уравнений.
3. Технические характеристики
3.1 Постановка задачи на разработку программы
Программа предназначена для решения конкретных квадратных уравнений вида ax
2
+
bx + c = 0, где a, b и c – заданные вещественные числа.
3.2 Описание применяемых математических методов
Применяемый метод имеет ограничение: a 6= 0.
Для решения используются стандартные формулы с использованием дискриминанта.
1. Вычисляется дискриминант по формуле: D = b
2
− 4ac.
2. Если D < 0, то уравнение не имеет решения
3. Если D = 0, то уравнение имеет один корень: x =
−b
2a
.
4. Если D > 0, то уравнение имеет два корня: x
1
=
−b+
√
D
2a
, x
2
=
−b−
√
D
2a
.
Метод выбран в соответствии с п. 4.5.2 технического задания.
3.3 Описание алгоритма
Выбранный метод решения непосредственно приводит к следующему алгоритму:
18
колледж при МГУТУ, 2016
П-203
Прикладное программирование/СР
начало
a, b, c
a 6= 0
Некорректные
входные данные
D := b
2
− 4ac
D < 0
Данное уравнение
не имеет решений
D = 0
Данное уравнение име-
ет один корень x=
−b
2a
Данное уравнение
имеет два корня
x1=
−b+
√
D
2a
, x2=
−b−
√
D
2a
конец
да
нет
да
нет
да
нет
19
колледж при МГУТУ, 2016
П-203
Прикладное программирование/СР
3.4 Описание и обоснование выбора метода организации входных и выходных данных
В разрабатываемом программном изделии выбор метода организации входных и выходных данных
не требуется
3.5 Описание и обоснование выбора состава технических и программных средств
Состав технических и программных средств полностью описан в техническом задании (пп. 4.4; 4.5.4;
4.5.5)
3.6 Интерфейс программного модуля
Вычислительную часть программы содержит модуль solveseq, содержащий функцию solve:
tsolve=(bad_data,roots_0,roots_1,roots_2);
function solve (a,b,c: real; var x1,x2: real): tsolve;
Функции передаются аргументы a, b и c – коэффициенты квадратного уравнения ax
2
+ bx + c = 0.
Возвращаемые значения:
bad_data,
если a = 0
roots_0,
если уравнение не имеет корней
roots_1,
если уравнение имеет один корень (он передается в параметре x_1)
roots_2,
если уравнение имеет два корня (они возвращаются в параметрах x_1 и x_2)
4. Источники, использованные при разработке
Квадратное
уравнение
[Электронный
ресурс]
–
Режим
доступа:
https://ru.wikipedia.org/wiki/Квадратное_уравнение
2.2.4
Программа автоматического тестирования модуля
Программа автоматического тестирования модуля должна разрабатываться на основе пояснительной запис-
ки технического проекта, в котором описан интерфейс будущего модуля. Используя этот интерфейс, студент
должен запустить на достаточном числе примеров подпрограммы, входящие в модуль, и проверить, что они
возвращают правильные результаты.
В случае, если модуль осуществляет работу с файлами, программа автоматического тестирования авто-
матически создает файлы с тестовыми данными, передает их название в подпрограмму модуля и проверяет
корректность возвращенных данных (или содержимое результирующего файла).
По окончании работы программа автоматического тестирования модуля выводит на экран либо предложение
«Все тесты успешно пройдены», либо предложение «Тест такой-то прошел с ошибкой».
Программа сдается на проверку в электронном виде, а также в виде распечатки.
2.2.5
Программа
На этом этапе студент разрабатывает программу в соответствии с техническим заданием и пояснительной
запиской технического проекта. При этом он проверяет, что программа автоматического тестирования модуля
успешно выполняется при подключении созданного им модуля.
Программа сдается на проверку в электронном виде, а также в виде распечатки.
2.2.6
Протокол испытаний
На этом этапе студент разрабатывает документ, который в начальной своей части похож на программу и
методику испытаний (от титульной страницы до пункта 5.2 включительно), а далее студент вставляет протокол
в форме, разработанной самостоятельно.
2.3
Варианты заданий
Замечание: объем программы и тип используемых конструкций языка достаточно сильно отличаются, так
как написание программы не главное в самостоятельной работе. Предполагается, что все предлагаемые задания
просты. Некоторые задания специально сформулированы недостаточно точно, уточнение производит студент
при разработке технического задания.
1. По данному файлу создать второй файл, в котором все байты записаны в обратном порядке
2. В данном текстовом файле определить количество строк
3. В данном текстовом файле определить количество слов (слово – непрерывная последовательность симво-
лов, состоящая из букв и знаков дефиса, слово может продолжаться на следующей строке (перенос))
4. В данном текстовом файле определите статистику использования разных символов.
20