это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
ID (номер) заказа
1656606
Ознакомительный фрагмент работы:
Аннотация: В данной статье рассматриваются новые подходы к разработке программного обеспечения, основанные на проектном управлении и применении гибких методологий. Приведены основные стадии разработки программного обеспечения, определен инструментарий и инженерные технологии, повышающие применение гибких методологий на практике. Выделено документационное обеспечение процесса разработки с перечислением государственных стандартов.
Ключевые слова: разработка программного обеспечения; гибкие методологии; методология Agile; технологии разработки программного обеспечения; инженерные технологии DevOps; государственные стандарты.
В условиях перехода на проектное управление для разработки программного обеспечения распространение получили гибкие методологии Agile, в соответствии с которыми разработка программного обеспечения представлена в виде спринта. В данном случае качество программного обеспечения во много зависит от профессиональных навыков команды IT-проекта и выбранных инженерных технологий.
Основные этапы жизненного цикла при использовании гибкой методологии Agile необходимо представить в виде общего списка или бэклога (хранилища задач) проекта. Хранилище задач необходимо сформировать до начала реализации проекта, а затем в процессе его реализации обновлять. Для определения приоритетов выполняемых задач командой производится оценка в зависимости от времени на выполнение задачи и приоритетности её для успешного завершения проекта [2, c.178].
Процессы разработки программного обеспечения по методологии Agile и задачи команды разработки приведены в таблице 1.
Таблица 1 – Процессы разработки программного обеспечения по методологии Agile и задачи команды разработки
Этапы жизненного цикла Задачи
Создание бэклога для проекта автоматизации Идентификация пользовательских задач для разрабатываемого программного обеспечения
Оценка аналогов разрабатываемого программного обеспечения
Формирование требований к программному обеспечению
Формирование списка задач для бэклога
Формирование критериев со стороны владельца для определения приоритета задач
Планирование задач (выбор из бэклога приоритетных для первого спринта задач) Выбор приоритетных задач в зависимости от пользовательских задач
Выбор приоритетных задач в зависимости от преимуществ аналогов
Выбор приоритетных задач в зависимости от важности их для владельца
Оценка приоритетных задач методом построения дерева решений
Формирование списка приоритетных задач для реализации первого спринта
Выполнение задач первого спринта (пилотный проект автоматизации) Проведение собраний для обсуждения выполнения задач
Контроль выполнения задач
Оценка задач на SCRUM-разработке
Выпуск реализа программного обеспечения Оценка дизайна разработанного программного обеспечения
Оценка функциональности разработанного программного обеспечения
Оценка степени защиты разработанного программного обеспечения
Обсуждение первого спринта, обновление бэклога Презентация разработанного программного обеспечения
Оценка причин не выполнения приоритетных задач
В данном случае команда также является самоорганизующейся и каждый член команды не имеет формальных компетенций и обязанностей.
В настоящее время для управления проектом разработки программного обеспечения распространение получила гибкая методология Agile Software Development [1, c.266].
Принципы и идеи методологии Agile учитываются в различных технологиях разработки программного обеспечения, характеристики которых приведены в таблице 2.
Таблица 2 – Технологии разработки программного обеспечения, основанные на принципах и идеях методологии Agile
Название технологии Особенности
Agile Modeling Принципы и приемы для упрощения процесса моделирования бизнес-процессов и подготовки сопровождающих документов
Agile Unified Process Определяет бизнес-требования при описании предметной области разрабатываемого программного продукта. Она является упрощенной версией методологии IBM Rational Unified Process
Dynamic Systems Development Method (DSDM) Выпуск нескольких прототипов программного обеспечения, независимость разработчиков в принятии решений и тестировании программного обеспечения
Extreme Programming XP Разработка программного обеспечения производится итерациями. При этом наиболее важной стадией является стадия тестирования
Getting Real Применяется при разработке веб-приложений. Вначале разрабатывается пользовательский интерфейс, а затем функциональная часть
Open Up Процесс разработки программного обеспечения включает начальную фазу, фазу уточнения, конструирования и передачи
Scrum Возможность изменения требований после каждого выпуска прототипа программного обеспечения
Применение гибких методологий для разработки программного обеспечения создает необходимость выпуска нескольких прототипов программного продукта с целью демонстрации их заказчику для дальнейшего улучшения.
При разработке программного обеспечения возникают проблемы, связанные с ошибками в идентификации пользовательских задач, ошибки в оптимизации функций программного продукта, низкая информативность о текущих возможностях выпущенного реализа программного обеспечения, сложность в сборке программного продукта.
Для повышения качества разработки программного продукта применяют автоматизированные инструменты, входящие в состав инженерных технологий DevOps.
Инженерные технологии DevOps позволяют сократить время на выпуск нового реализа и повысить гибкость процесса разработки без потери качества, устранить проблемы интеграции программного обеспечения на ранних стадиях его разработки, выполнить модульное тестирование (Unit Testing), инспекцию кода (Code Review) [3, c.965].
В состав инженерных технологий DevOps входит различное специализированное обеспечение, достоинства, недостатки которого приведены в таблице 3.
Таблица 3 – Достоинства и недостатки инструментов инженерной технологии DevOps
Компонент DevOps Назначение компонента Инструмент реализации Достоинства Недостатки
CI-платформа Проверка программного кода, проведение тестов качества, сохранение артефактов и выпуск реализов для тестирования Jenkins Открытость, кроссплатформенность, возможность масштабирования функционала, поддержка технологии REST Application Programming Interface Необходимость организации работы выделенного сервера для рационального распределения нагрузки, сложность настройки по реализацию определенных задач разработчика
Code review system Статический анализ программного кода с целью выявления ошибок и дефектов SonarQube Открытость, кроссплатформенность, набор расширений средство для проверки программного кода с помощью плагинов и поддержка интерфейса REST Application Programming Interface Отсутствие плагинов для проверки исходного кода для не распространенных языков программирования, сложность проверки защиты программного продукта
Build tools Инструменты сборки Ant, Maven, Gradel Кроссплатформенность, возможность разрешения конфликтов в версии, использование новых библиотек Не поддержка многомодульных сборок
Документационным обеспечением процесса разработки программного обеспечения являются государственные стандарты. Среди таких стандартов следует отметить ГОСТ 33707-2016 соответствующий международному стандарту ISO/IEC 2382:2015 «Информационные технологии. Словарь». Положение стандарта соответствуют требованиям международного стандарта ISO/IEC JTC 1 «Информационные технологии» [4].
Применение данного стандарта в процессах разработки программного обеспечения позволяет ускорить поиск необходимой терминологии по информационным системам, определить толкование таких понятий как «программирование», «операционные методы и средства», «языки программирования», «база данных», «распределенная обработка данных». Стандарт применяется разработчиками программного обеспечения для подготовки технических заданий, Устава, паспорта IT-проекта.
При разработке программное обеспечение необходимо учитывать требования по защите данных с целью предотвращения попыток получения несанкционированного доступа.
В области защиты программного обеспечения в настоящее время действующими являются стандарты ГОСТ Р 56545-2015, ГОСТ Р 56546-2015, ГОСТ Р 56938-2016, ГОСТ Р 56939-2016, ГОСТ Р 57628-2017, ГОСТ Р 54411-2018 [5].
Кроме перечисленных стандартов в настоящее время на государственном уровне реализуются проекты стандартов, подготовленные техническим комитетом по стандартизации защиты информации, среди которых следует отметить стандарты ГОСТ Р 58142-2018, ГОСТ Р 58143-2018, ГОСТ Р 58189-2018, ГОСТ Р 58112-2019.
Среди существующих проектов следует также отметить проект стандарта ГОСТ Р 51624 «Защита информации. Автоматизированные системы в защищенном исполнении». В данном стандарте устанавливаются требования к защите информации в автоматизированных информационных системах от утечки по техническим каналам, преднамеренных и непреднамеренных воздействий на информацию, хранящуюся на носителях информации, получения несанкционированного доступа к данным с целью их модификации, искажения или блокировки [6].
Таким образом, новые подходы разработки программного обеспечения основаны на применении гибких методологий Agile, инженерных технологий DevOps и государственных стандартов для подготовки проектов автоматизации и защиты программного обеспечения.
Библиографический список:
1. Божко Ю. О. Управление разработкой программного продукта на основании методологии Scrum (Agile) / Статья в сборнике Информатика, управляющие системы, математические и компьютерное моделирование. – 2018. – С.265-270.
2. Воеводин, Е. А. Методологии управления IT-проектами // Статья в сборнике Актуальные проблемы экономической теории и практики. – 2018. – С.175-183.
3. Самойленко, В. В. Применение практики DevOps при работе по Agile методологиям // Аллея науки. – 2018. – №10. – С.963-969.
4. Стандарты Федерального агентства по техническому регулированию и метрологии. URL: http://protect.gost.ru/.
5. Стандарты Федеральной службы по техническому и экспортному контролю. URL: http://protect.gost.ru/6. ГОСТ Р 51624. Защита информации. Автоматизированные системы в защищенном исполнении. URL: https://fstec.ru/component/attachments/download/2064.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!