Методы и средства инженерии программного обеспечения

       

Конструирование ПО (Software Construction)


 Конструирование ПО – создание работающего ПО с привлечением методов  верификации,  кодирования  и  тестирования компонентов. К инструментам конструирования ПО отнесены языки программирования  и конструирования, а также программные методы и инструментальные системы (компиляторы, СУБД, генераторы отчетов, системы управления версиями, конфигурацией, тестированием и др.). К формальным средствам описания процесса конструирования ПО, взаимосвязей  между человеком и компьютером и с учетом среды окружения отнесены языки конструирования.

Область знаний «Конструирование ПО (Software Construction)»  включает следующие разделы:

– снижение сложности  (Reduction in Complexity),

– предупреждение отклонений от стиля  (Anticipation of Diversity),

– структуризация для  проверок (Structuring for Validation),

– использование внешних стандартов (Use of External Standards)

 

Основу данной области составляют задачи понижения сложности конструирования программного продукта, предупреждение отклонений от стиля (лингвистического, формального, визуального и др.), которое обеспечивается применением наиболее подходящих стилей  конструирования, структуризация ПО и использование внешних стандартов.

Лингвистический стиль основан на использовании словесных инструкций  и выражений для представлений отдельных элементов (конструкций) программ. Он используется  при конструировании несложных  конструкций и приводится  к виду  традиционных функций и процедур,  логическому и функциональному их программированию и др.

Формальный стиль используется для  точного, однозначного и формального определения компонентов  системы. В результате его применения обеспечивается  конструирование сложных систем с  минимальным количеством ошибок, которые могут возникнуть в связи с неоднозначностью определений или  обобщений  при конструировании ПО неформальными методами.

Визуальный стиль является наиболее универсальным стилем конструирования ПО. Он  позволяет разработчикам  проекта представлять в наглядном виде  сложные программные конструкции.
Например, графический  интерфейс пользователя освобождает  разработчика от подбора необходимых координат и свойств  объектов интерфейса.  Визуальный язык  проектирования UML представляет разработчику набор удобных  диаграмм  для задания статической и динамической структуры ПО [31].

При  применении  визуального стиля конструирования создается текстовое и диаграммное  описание структуры ПО, которое  выводится на экран дисплея не только для их  рассмотрения, но и корректировки.

В процессе конструирования должны использоваться  внешние стандарты  ЯП (Ада 95, С++ и др.), языков описания данных (XML, SQL и др.), средств  коммуникации (COM, CORBA  и др.),  интерфейсов компонентов  (POSIX, IDL, APL) [33],  сценариев UML [31] и др.

Управление конструированием

базируется  на моделях конструирования, планировании и внесении изменений.

Модели конструирования включают набор операций, последовательность действий и результаты. Виды моделей определяются стандартом ЖЦ, методологиями и практиками. Основные стандарты ориентированы на  экстремальное программирование и  RUP [32].

Планирование  состоит в определении порядка создания компонентов  и методов обеспечения качества. Измерение в конструировании ориентировано на количественную оценку объема кода,  степени использования ПИК, вероятности появления дефектов и количественных показателей качества ПО. 

Внесение изменений  проводится с целью сохранения функциональной целостности системы и рефакторинга кода на основе проведенного метрического анализа необходимости проведения изменений в конструируемое  ПО.

Тестирование в конструировании. Проводится две формы  тестирования созданного кода – модульное и интеграционное. Виды тестирования описаны в специальной области знаний (см. ниже). При этом используются два стандарта (IEEE 829-1996 и IEEE 1008-1987) тестирование элементов ПО и документации. Обеспечение качества конструирования базируется не только на тестировании и отладке отдельных программ, а  и на  просмотрах, инспектировании, анализе и оценках  результатов тестирования.

 

Таким образом, рассмотренные механизмы конструирования  позволяют разработчику проекта принять решение об использовании методов конструирования или  проектирования. Наиболее современным считается  метод моделирования  UML.

 


Содержание раздела