Разработка программного решения для генерации технических заданий к веб-приложениям (часть 2)
- Подробности
- Опубликовано: 30.06.2024 10:26
- Автор: Чабиев Эльсар Тимурович
- Просмотров: 46

Аннотация: в статье реализуется программное обеспечение для автоматизации генерации документа технического задания к веб-приложениям. Описывается разработка приложения с использованием языков программирования JavaScript и TypeScript, HTML и CSS, а также готовых библиотек React JS, Apryse и Chakra UI. Проводятся функциональное тестирование, а также нагрузочное испытание разработанной программы. Результаты тестирования демонстрируют реализацию заявленных бизнес-требований и приемлемую производительность системы при работе с большим объемом данных.
Ключевые слова: проект технического задания, техническое задание на ПО, разработка технического задания на проектирование, техническое задание на разработку информационной системы, техническое задание систем автоматизации, техническое задание на разработку системы автоматизации, ТЗ разработка системы, этапы разработки ТЗ, ТЗ на разработку программного обеспечения, ТЗ разработка информационной системы, техническое задание гост.
Скачать: PDF (статья), PDF (выпуск №26).
3. Фаза реализации
Ссылка на 1-ю часть статьи. Этап реализации согласно каскадной методологии внедрения информационных систем и технологий подразумевает разработку и кастомизацию программного решения [5]. В нашем случае автоматизации подлежит процесс генерации технического задания на разработку веб-приложения. Составленная ранее схема приложения, иллюстрирующая логику взаимодействия различных интерфейсов реализуемой программы, позволяет нам приступить к данному этапу работ.
Для разработки программной системы воспользуемся языками программирования JavaScript и TypeScript, а также HTML и CSS. В качестве средств реализации были выбраны библиотека React JS, а также Apryse и Chakra UI:
- JavaScript и TypeScript применяются для разработки логики приложения и улучшения стабильности и предсказуемости кода;
- React JS представляет собой библиотеку для создания пользовательских интерфейсов и позволяет быстро разрабатывать веб-приложения;
- Apryse задает библиотеку для работы с документами и предоставляет механизмы для работы с PDF [9];
- Chakra UI содержит компоненты для React JS по упрощению создания удобных и стильных пользовательских интерфейсов [10].
Согласно поставленным задачам на разработку приложения требуется реализовать следующие функциональные блоки:
- ввод данных о проекте через интерактивную форму;
- возможность выбора типа требуемого технического задания;
- автоматическая генерация технического задания на основе введенных данных;
- экспорт сгенерированного технического задания в формате PDF;
- определение незаполненных частей документа для их последующего ввода.
Результаты программирования главного меню программы, а также возможности выбора типа генерируемого технического задания продемонстрированы на рис. 3.1-3.3.
Рис. 3.1. Стартовое меню программы
Рис. 3.2. Ведение данных для типа технического задания «Разработка сайта с нуля»
Рис. 3.3. Ввод данных для типа технического задания «Редизайн сайта»
Результаты разработки механизма автоматической генерации технического задания на основе введенных данных пользователя даны на рис. 3.4-3.5.
Рис. 3.4. Пример автоматической генерации документа для типа технического задания «Разработка сайта с нуля»
Рис. 3.5. Фрагмент автоматически сгенерированного документа для типа технического задания «Редизайн сайта»
Созданный документ технического задания возможно экспортировать во внешний PDF-файл, для чего был реализован соответствующий программный модуль, результат работы которого проиллюстрирован на рис. 3.6.
Рис. 3.6. Пример экспорта сгенерированного технического задания в PDF-формат
Ниже даны итоги программирования логики по проверке незаполненных полей документа технического задания, позволяющей осуществить «защиту от дурака» при вводе данных (рис. 3.7).
Рис. 3.7. Проверка незаполненных частей документа технического задания
4. Фаза тестирования
Подготовленный софтверный продукт подлежит испытанию. Для этого на фазе тестирования доступны две категории оценки программного решения [8]:
- качественная оценка, представимая функциональным видом тестирования, позволяющим проверить работоспособность отдельных моделей программы;
- количественная оценка, заданная нагрузочным тестированием, обеспечивающая контроль производительности приложения в условия подачи большого объема входных данных.
Воспользуемся указанными категориями для проверки качества программного обеспечения.
4.1. Функциональное тестирование
Функциональное тестирование разрабатываемого программного решения является минимально достаточным видом испытаний, позволяющим удостовериться в корректности его работы и соответствии заявленным требованиям [5]. Тестирование проводилось на основе подготовленных тестовых сценариев для каждого функционального блока. Для автоматизации процесса тестирования применялись инструменты Selenium и JUnit, которые позволяют быстро выполнять тесты и фиксировать их результаты. Итоги функционального тестирования приведены в табл. 4.1.
Табл. 4.1. Результаты функционального тестирования реализованного приложения
Функциональный блок | Тестовый сценарий | Результат |
Ввод начальных данных о проекте в интерактивной форме |
Тест на обязательные поля: проверка, что форма не отправляется при незаполненных обязательных полях. |
Успешно |
Тест на формат данных: проверка, что поля принимают данные только в установленном формате (например, электронная почта, телефонный номер). |
Успешно | |
Выбор типа требуемого технического задания | Тест на отображение списка: проверка, что все возможные типы технических заданий отображаются корректно. | Успешно |
Тест на выбор типа: проверка, что пользователь может выбрать тип технического задания. | Успешно | |
Автоматическая генерация технического задания на основе введенных данных | Тест на корректность данных: проверка, что все введенные данные корректно отражаются в сгенерированном техническом задании. | Успешно |
Тест на структуру документа: проверка, что сгенерированный документ имеет правильную структуру и формат. | Успешно | |
Экспорт сгенерированного технического задания в формате PDF | Тест на экспорт: проверка, что документ корректно экспортируется в формате PDF. | Успешно |
Тест содержимого PDF: проверка, что экспортированный PDF-документ содержит все данные и соответствует оригиналу. | Успешно | |
Определение незаполненных частей брифа для корректного и полного заполнения всех необходимых полей | Тест на проверку заполнения полей: проверка, что система выявляет все незаполненные обязательные поля. | Успешно |
Результаты функционального испытания показали работоспособность реализованного приложения: были проверены все разработанные процедуры программы, устранены незначительные алгоритмические неточности, критических ошибок не выявлено. Завершение данных испытаний позволило приступить к следующему виду тестирования.
4.2. Нагрузочное тестирование
Количественная оценка реализованного программного продукта проводилась на основе нагрузочного тестирования. Тестирование велось при различных параметрах входных данных: 1, 10 и 100 одновременно создаваемых документов технического задания. Расчет времени отклика программы осуществлялся с использованием электронного секундомера. Для оценки погрешности времени, затрачиваемого на формирование документов, применялись формулы среднеарифметического:
где ti – время, отсчитанное секундомером; i – номер измерения; n – количество измерений, а таже среднеквадратичного отклонения:
Итоговая погрешность измерений находилась по формуле:
где ta(n-1) – доверительный коэффициент Стьюдента, равный 0.95; А – абсолютная погрешность прибора (в случае электронного секундомера, абсолютная погрешность равна 0.005). Финальное время отклика определялось формулой:
Табл. 4.2. Нагрузочное тестирование создания документов технического задания
Кол-во | Тип техзадания | t1, сек. | t2, сек. | t3, сек. | t4, сек. | t5, сек. | t ср. арифм., сек. | θ, сек. | Δt, сек. | t отк., сек. |
1 | Редизайн сайта | 0,41 | 0,42 | 0,47 | 0,42 | 0,39 | 0,422 | 0,026 | 0,077 | 0,422 ± 0,077 |
Разработка с «нуля» | 0,65 | 0,65 | 0,63 | 0,78 | 0,66 | 0,674 | 0,054 | 0,109 | 0,674 ± 0,109 | |
10 | Редизайн сайта | 0,97 | 1,05 | 1,02 | 1,04 | 0,99 | 1,014 | 0,030 | 0,082 | 1,014 ± 0,082 |
Разработка с «нуля» | 1,72 | 1,8 | 1,68 | 1,74 | 1,71 | 1,730 | 0,040 | 0,094 | 1,730 ± 0,094 | |
100 | Редизайн сайта | 2,04 | 2,18 | 2,02 | 2,1 | 2,05 | 2,078 | 0,057 | 0,113 | 2,078 ± 0,113 |
Разработка с «нуля» | 3,61 | 3,52 | 3,67 | 3,49 | 3,56 | 3,570 | 0,064 | 0,119 | 3,570 ± 0,119 |
Итоги нагрузочного тестирования показали неплохое время отклика программы при различных значениях входных данных (табл. 4.1). Приложение имеет определенный запас «прочности»: несмотря одновременную генерацию 100 документов технического задания, что значительно превышает реальный объем данных, система продемонстрировала лишь незначительное понижение скорости обработки.
Заключение
В результате выполнения работы было реализовано программное решение, которое автоматизирует процесс подготовки технического задания на разработку веб-приложений. Софтверное решение было построено с использованием языков программирования TypeScript, JavaScript, а также HTML и CSS. Были успешно решены следующие задачи:
- проведен анализ существующих приложений для автоматизации подготовки технических заданий, по результатам которого был сформулирован вывод о необходимости реализации собственной разработки;
- идентифицированы и приоритезированы требования к процессу управления техническими заданиями на разработку, что обеспечило основу для дальнейшего проектирования софтверного решения;
- спроектированы процессы в нотациях ARIS VACD и BPMN 2.0 для моделей AS-IS и TO-BE с детализацией до 4-го уровня декомпозиции, что позволило получить представление о целевом состоянии процессов;
- построена карта бизнес-процессов, обеспечивающая наглядное отображение всех операций, составляющих ключевой бизнес-процесс;
- смоделированы данные в нотации UML Class Diagram, включая нормализацию таблиц баз данных до третьей нормальной формы, гарантирующую целостность и непротиворечивость данных;
- сформирована структура приложения, обеспечивающая наглядное представление взаимодействия компонентов разрабатываемой системы;
- реализована программа с использованием различных языков программирования, обеспечивающая создание документа технического задания;
- выполнены качественная оценка работы программы путем проведения функционального тестирования, что подтвердило реализацию всех заявленных бизнес-требований, а также количественная оценка приложения путем нагрузочного тестирования, доказавшая достаточную производительность разработанного решения.
Следование водопадной модели имплементации программных решений позволило последовательно решить ключевые задачи разработки приложения. Так на этапе анализа были идентифицированы бизнес, пользовательские и функциональные требования. Фаза дизайна позволила спроектировать процессы, данные и структуру приложения. Результаты проектирования использовались как целевое представление будущего программного решения, реализуемого на одноименном этапе работ. Завершением задач над программой послужило окончание функционального и нагрузочного тестирований, подтвердивших реализацию требований и высокую производительность системы.
Литература
- A guide to the project management body of knowledge and the standard for project management, 7th edition. Project Management Institute, 2021. – 369 p.
- Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем: учебное пособие. – Ростов н/Д.: Феникс, 2009. – 508 с.
- Степанов Д.Ю. Метод формирования ресурсного плана в проектах внедрения ERP-систем на основе бенчмаркинга и оценщика // Высокопроизводительные вычислительные системы и технологии. – 2022. – Т.4, № 1. – c.1-6. – URL: http://stepanovd.com/science/article/135-2022-1-resourceplan.
- Dmitry Yu. Stepanov. Novel planning technique for ERP-systems implementation projects // Communications in Computer and Information Science, Springer, Cham. 2022. vol. 1733, pp.115-124. https://doi.org/10.1007/978-3-031-23744-7_9. – URL: https://stepanovd.com/science/article/143-2022-2-planningtechnique.
- Катасонова Н.С. RICEFS-классификация разработок и настроек для оценки трудозатрат // Корпоративные информационные системы. – 2023. – №4 (24) – С. 26-37. – URL: https://corpinfosys.ru/archive/2023/issue-24/230-2023-24-ricefclassification.
- Хабр страница компании Аксеникс [Электронный ресурс] // Жизненный цикл проекта внедрения ERP-системы на примере коробочных SAP и 1С решений, а также кастомных разработок. Режим доступа: https://habr.com/ru/companies/axenix/articles/799333/ (дата обращения 31.03.2024).
- Бобровников А.Э. Введение в управление проектами внедрения ERP-систем. М.: 1С-Паблишинг, 2021. – 320 с.
Выходные данные статьи
Чабиев Э.Т. Разработка программного решения для генерации технических заданий к веб-приложениям (часть 2) // Корпоративные информационные системы. – 2024. – №2 (26) – с. 19-32. – URL: https://corpinfosys.ru/archive/2024/issue-26/289-2024-26-technicalspecification.
Об авторе
![]() |
Чабиев Эльсар Тимурович – выпускник кафедры корпоративных информационных систем института информационных технологий РТУ МИРЭА. Тема выпускной квалификационной работы магистра «Программное решение для генерации технических заданий по разработке веб-приложений». Электронная почта для взаимодействия с автором: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.. |
Статьи выпуска №26
- Разработка приложения для генерации технических заданий (часть 2);
- Формирование план-графика для проекта внедрения 1С и SAP (часть 2);
- PMBoK для управления проектами внедрения ERP-систем (часть 1);
- SWEBoK для применения программной инженерии в ERP-проектах;
- TOGAF для построения корпоративной архитектуры в ИТ-проектах.