Файл: Разработка программного обеспечения и его применение в авиационнокосмической промышленности Аннотация.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2023
Просмотров: 10
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
УДК 004.413
С.А. Падишин, Ю.Е. Путилин
Военная академия связи, Санкт-Петербург
Разработка программного обеспечения и его применение в авиационно-космической промышленности
Аннотация. На основе краткого обзора истории разработки программного обеспечения (SE) вводятся важные концепции и технические термины в этой области, включая жизненный цикл SE, модель процесса, архитектуру программного обеспечения и метод проектирования различных систем. После простого описания его курса стандартизации и известных коммерческих инструментов разработки анализируется статус применения SE в аэрокосмической отрасли как внутри страны, так и за рубежом. Наконец, ожидания выражены.
Ключевые слова: Разработка, регрессивное тестирование, программный элемент, программный продукт, юзабилити-тестирование.
S.A. Padishin U. E. Putilin
Military Telecommunications Academy, Saint Petersburg
Software development and its application in the aerospace industry
Annotation. Based on a brief overview of the history of software development (SE), important concepts and technical terms in this field are introduced, including the life cycle of SE, process model, software architecture and the method of designing various systems. After a simple description of its standardization course and well-known commercial development tools, the status of SE application in the aerospace industry both domestically and abroad is analyzed. Finally, expectations are expressed. Keywords: Development, regression testing, software element, software product, usability testing.
Дизайн программного обеспечения прошел несколько этапов развития за последние несколько десятилетий, от проектирования программ в более ранние годы до проектирования программных систем и разработки программного обеспечения после 70-х годов прошлого века. Принимая хорошо разработанные инженерные методы управления, контроля и анализа, применяя их к этапам анализа, проектирования, кодирования, тестирования
и обслуживания программного обеспечения, программная инженерия использует общие инженерные теории и методы
для разработки программных продуктов. В основном
он фокусируется на следующих аспектах, таких как возможность разработки программных задач, архитектура программного обеспечения, методы разработки программного обеспечения
и наборы инструментов, используемые для разработки программного обеспечения. Именно программная инженерия делает программное обеспечение предметом научной инженерии.
Весь период времени программного обеспечения от его запуска
до конца его использования называется жизненным циклом. Чтобы уменьшить сложность разработки и обслуживания программного обеспечения, жизненный цикл программного обеспечения часто делится на следующие этапы; каждый этап имеет свои определенные задачи.
Планирование. Определить цели программного проекта
и определить доступные ресурсы и бюджет для его реализации. Изучить как техническую, так и экономическую целесообразность проекта, и оценить график проекта.
Анализ требований. Для обсуждения требований заказчика. Этот этап выполняется при сотрудничестве заказчиков и разработчиков программного обеспечения, окончательные требования должны быть четкими.
Системный дизайн. Чтобы преобразовать все требования
в логические модули, каждый модуль отвечает определенным требованиям. Кодировать программные модули, используя выбранный язык программирования.
Тест. Для проверки правильности и надежности ПО обычно запускают с тестов отдельных модулей, затем тестируют ПО
в сборе.
Эксплуатация и обслуживание. Для исправления ошибок и сбоев
в программном обеспечении, которые обнаруживаются с помощью программного продукта
В жизненном цикле программного продукта разные проекты обычно используют разные модели процессов в зависимости от его масштаба, сложности и характеристик. Часто используемые модели, включая модель водопада, модель V, инкрементную модель, эволюционную модель, спиральную модель, фонтан.
Модель и интеллектуал Модель и т. д. Различные модели организуют и реализуют этапы жизненного цикла в разном порядке или последовательности. Небольшой программный проект
с четкими требованиями обычно использует модель водопада, например, 6 этапов жизненного цикла программного обеспечения будут реализованы в последовательном порядке, каждый этап генерирует свои полуфабрикаты, а целевой программный продукт будет создан в конец. Для проектов, которые имеют только размытые системные требования, требования не могут быть четко определены или требования быстро меняются, часто предлагаются инкрементная модель или эволюционная модель, эти два типа модели позволяют разработать программную систему на основе ограниченных требований и когда требования меняются. обновлены или изменены, программное обеспечение может быть быстро дополнено и изменено с самого начала. [1, 5]
Архитектура программного обеспечения отражает высокоуровневую архитектуру системы. Существует
еще стандартное определение, но оно часто указывает на структуру или структуры, с помощью которых построена программная система, они формируют все части системы, как
внешние характеристики, так и отношения между различными частями.
Архитектура программного обеспечения — это абстракция системы на более высоком уровне, которая раскрывает самый ранний дизайн системы. Он упрощает компоненты системы и их внутренние взаимосвязи; однако он также может отчетливо выявить существующие проблемы в системе. Если каждая часть программной системы может свободно взаимодействовать друг
с другом в выбранной архитектуре, то можно легче гарантировать удобство использования и качество системы. Это также помогает улучшить возможность повторного использования программных компонентов.[2-4]
При построении архитектуры программного обеспечения следует
в основном учитывать несколько аспектов, например,
как организовать все компоненты и интегрировать их в систему;
как спроектировать структуру управления и поток данных
в системе; как решить проблемы связи между данными
и управляющей информацией; как определить протоколы связи
и режим управления интерфейсом; как выделить функции среди компонентов и модулей; как оценить производительность
и расширяемость системы.
Репрезентативные архитектуры для программного обеспечения включают в себя систему конвейерной фильтрации, иерархическую систему, виртуальный шаблон для моделирования дополнительных функций аппаратного или программного обеспечения
для обеспечения трансплантируемости продукта, клиент-серверную систему, систему на основе данных, такую как складская система, гипертекстовая система или система классной доски и т. д.
Для разных архитектур программного обеспечения могут подразумеваться разные методы проектирования. В принципе, часто используются 3 типа методов разработки программного обеспечения: (1) анализ данных и метод проектирования; (2) функциональный анализ и метод проектирования; (3) Объектно-ориентированный метод анализа и проектирования.
Первый тип метода в основном используется для систем на основе данных, таких как складская система и гипертекстовая система. Репрезентативным использованием метода, управляемого функциями, является структурный анализ и проектирование,
он использует подход сверху вниз и разбивает сложную систему
на ряд подсистем, а подсистемы на модули, каждый модуль выполняет простую функцию и сохраняет соответствующую независимость
, что делает вся система легко внедряется
и обслуживается. Объектно-ориентированный метод, объединивший первые 2 типа методов, является объектно-ориентированным методом, где объект состоит как из данных,
так
и из функции. Он начинается с анализа объектов-компонентов
в системе, используя подход снизу вверх для завершения анализа
и проектирования. К основным характеристикам объектно-ориентированного метода относятся: инкапсуляция данных
и функций, позволяющая легко расширять объекты;
В настоящее время объектно-ориентированный метод является горячей точкой для исследований, но структурный анализ
и проектирование по-прежнему являются хорошо отработанным
и широко используемым методом в разработке программного обеспечения, особенно в аэрокосмической промышленности,
его единственным недостатком является низкая возможность повторного использования.[6]
Начало работ, связанных с программной инженерией, в Китае произошло с задержкой на несколько десятилетий по сравнению
с остальным миром. В прошлом
10 20 лет были достигнуты успехи, и был установлен набор национальных стандартов для стандартизации разработки программного обеспечения. Но индустрии программного обеспечения по-прежнему требуется больше времени и усилий, чтобы догнать мировые темпы.[7]
В авиационно-космической отрасли концепции программной инженерии получили широкое распространение с 1996 года.
На одном из совещаний руководства аэрокосмической отрасли, состоявшемся в 1998 году, среди других рабочих мероприятий были перечислены еще несколько пунктов, а именно: повышение качества программного обеспечения для аэрокосмической отрасли, установление критериев сертификации программного обеспечения. и стандарты приемки в аэрокосмической промышленности. Сейчас, хотя ситуация все еще далека от удовлетворительной, прогресс неуклонно достигается.
По разным причинам индустрия программного обеспечения в Китае все еще недостаточно развита. Было проделано мало работ, касающихся повторного использования программного обеспечения, как теоретически, так и на практике. По-прежнему существуют большие разрывы по сравнению со многими другими странами. Следовательно, главной задачей наших инженеров
в ближайшем будущем будет осознание важности разработки программного обеспечения и ее влияния на другие области, овладение базовой теорией, использование правильных методов
и инструментов, извлечение уроков из полученного опыта и уроков. другими, и стремиться к большему прогрессу в этой области.
Литература
1. Я и Соммервилль Э. Разработка программного обеспечения, издательство Machinery Industry Publishing Company, Пекин, 2003 г. 1.
2. Шари Лоуренс П. Флигер. Программная инженерия — теория и практика. Университет Цинхуа, Пекин, 2003 г. 8.
3. Лен Басс, Пол Клементс. Архитектура программного обеспечения на практике. Университет Цинхуа, Пекин, 2002 г. 10.
4. Скотт В. Амблер, Объектно-ориентированная разработка программного обеспечения. Издательство Machinery Industry Publishing Company, Пекин, 2003 г.
5. Я и Соммервиль, Пит Сойер. Разработка требований, издательство Machinery Industry Publishing Company, Пекин, 2003 г. 8.
6. Лаборатория разработки программного обеспечения, SWEBOK, версия 0.95, 2001 г. 5.
7. Чжоу Су, Ван Вен. Разработка программного обеспечения, издательство Science, Пекин, 2002 г. 9.