УДК 004
Хакимова Т.В. студент магистратуры Хакасский государственный университет им. Н. Ф. Катанова
Россия, г. Абакан Научный руководитель: Голубничий А.А. старший преподаватель кафедры ПОВТиАС РАЗРАБОТКА ТРЕБОВАНИЙ К РЕАЛИЗАЦИИ ПРОГРАММНОГО
ПРОДУКТА R TUTORIAL Аннотация: В статье анализируются требования, предъявляемые к разрабатываемому программному продукту для изучения языка программирования R для мобильной платформы iOS.
Ключевые слова: техническое задание, мобильное программное обеспечение, изучение программирования
Khakimova T. V. magistracy student Katanov Khakass State University Russia, Abakan Supervisor: Golubnichiy A.A.
Senior lecturer department of computing software and automated systems DEVELOPMENT OF REQUIREMENTS FOR THE IMPLEMENTATION
OF THE SOFTWARE R TUTORIAL
Abstract: The article analyzes the requirements for the developed software product for learning the R programming language for the iOS mobile platform.
Keywords: technical task, mobile software, learning programming
При создании любого программного продукта, особое внимание стоит уделить системе требований, предъявляемых к будущей разработке. В рамках настоящего исследования нами рассматриваются требования, предъявляемые к программному продукту, создаваемому для изучения языка программирования R [1] для мобильной операционной системы iOS. Первым этапом для проектирования программного продукта, служит составление технического задания. На основании типовой формы технического задания в соответствии с ГОСТ [2], была составлена соответствующая структура требований:
Название программного продукта: R Tutorial
Сфера применения: программный продукт разрабатывается в целях обучения программированию на языке R, изучению особенностей данного языка и как краткий справочник по данному языку.
Требования к программе
Функциональные требования:
Программа должна способствовать процессу обучения пользователей языку программирования R, а также должны быть реализованы следующие компоненты:
справочник по особенностям синтаксиса языка R, набор материалов по изучению языка программирования R, набор тестовых заданий для проверки закрепления знаний, официальная документация языка.
Требования к программной документации:
Программная документация должна описывать каждый структурный элемент программы. Назначение структурных элементов, их состав и инструкции для работы с ними конечных пользователей.
Нефункциональные требования:
Требования к интерфейсу: интерфейс программного продукта должен быть выполнен в нейтральных тонах, преимущественно в белом цвете и оттенках серого, в градиенте цветов от до # 999999. Цветовая схема
должна быть привычной для пользователя. Должны отсутствовать резкие и непривычные глазу сочетания цветов и цветовых оттенков.
Для оформления рекомендуются темы, используемые в программном продукте ЯБШсНо, пример цветовых схем показан на рисунках 1. и 2.
p plotting of R objects
plot <- function (X, y, ...
{
if is.function:x &&
is.null attr x, "class")))
i
if (mi ssi rig (y)) y <- NULL
# check for ylab argument hasylab <- function..) [all is.na( pmatch names list ... , "yl ab'")))
if hasylab(. . . ))
pi ot.function [x, y, ...
else
piot.function C X, y,
ylab = paste(
deparse (substitute :'x))
"(XT),
}
else
useMethod("plot")
# plotting of R objects
plot <- function (x, y, ...)
{
if (i s. f uncti on00 &&
is.null attr(x, "class")))
{
if (mssingCy)) y <- NULL
# check for ylab argument hasylab <- function(...) ! al 1 is. na( pmatch: names(li st(. . . )) , "ylab")))
if hasylabf...))
pi ot.function(x, y, ...)
else
piot.function( it, y,
ylab = paste(
deparse(substitute(x)). "00"), ...)
}
el se
usenethodC"plot")
Рисунок 1 - Темные схемы оформления: Dracula и Twilight
# plotting of R objects
plot - function (x, y, ...
{
if (is.functiOn(x) &&
is.null attrix, "class")))
{
if (missing(y)^ y <- NULL
# check for ylab argument hasylab <- function(...) all is.na( pnnatch names(1ist(...)),
"ylab")))
if (hasylab(...)) piot.function^x,
)
}
else
pi ot. f uncti On(
y,
ylab paste С
deparse(substitute (x)), "(x)"),
el se
usемethod("plot";
# plotting of R objects plot <- function Cx, y, ■■■
i
if (is.function(x) &&
is.nul1(attr(x, "class")))
{
if (missing(y)) y <- NULL
# check for ylab argument hasylab <- function(...) al 1 (is. na( pmatch(names(1i st(...)),
"ylab")))
if (hasylab(...)) pi ot.functi on(x,
)
el se
piot.functi on( x, y,
ylab = paste(
deparse(substitute(x)), "(x)"),
}
el se
useMethod("plot")
Рисунок 2 - Светлые схемы оформления: Xcode и TextMate
Основные структурные компоненты программного продукта должны быть доступны из главного окна программы.
Надежность. При реализации компонентов системы, отдельное внимание стоит уделить механизму проверки проведения тестирования. Модуль должен быть настроен таким образом, что максимально используемый объем память не должен превышать 10% от имеющегося в аппаратном обеспечении.
Производительность. Показатели скорости запуска компонентов системы не должны превышать более чем на 30% аналогичные значения при запуске других мобильных приложений для изучения программирования.
Требования к информационной и программной совместимости.
Программный продукт должен работать на платформах iOS 12 и выше, на всех поддерживаемых моделях iPhone.
Методология и стадии разработки.
Для разработки программного продукта выбрана методология Agile software development.
В рамках технического задания к разработке выделены основные функции, которые должен выполнять программный продукт: справочник по особенностям синтаксиса языка R; среда для проверки программного кода, реализованная по типу песочницы; набор материалов по изучению языка программирования R; набор тестовых заданий для проверки закрепления
знаний; официальная документация языка; адаптивный тренажер. Для реализации программного продукта была выбрана методология Agile.
Использованные источники:
1. R: The R Project for Statistical Computing [Электронный ресурс] URL: https://www.r-project.org (дата обращения 17.06.2019)
2. ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению