Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программная инженерия (Ехлаков Ю.П.).doc
Скачиваний:
160
Добавлен:
09.11.2018
Размер:
1.48 Mб
Скачать
      1. Конструирование по

Конструирование программного обеспечения в описания области знаний SWEBOK заключается в создании рабочего программного обеспечения посредством комбинации кодирования, верификации (проверки), модульного тестирования, интеграционного тестирования и отладки (рис. 18).

Рис. 18. Содержание раздела «Конструирование ПО »

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

Основы конструирования программного обеспечения определяются следующими положениями:

  • Минимизация сложности при создании программного кода.

  • Готовность (ожидание) периодических изменений требований.

  • Конструирование с возможностью проверки программного кода.

  • Обязательное использование стандартов в конструировании.

Уменьшение сложности в конструировании программного обеспечения достигается при уделении особого внимания созданию простого и легко читаемого кода, пусть и в ущерб стремлению сделать его идеальным (например, с точки зрения гибкости или следования тем или иным представлениям о красоте, утончённости кода, ловкости тех или иных приемов, позволяющих его сократить в ущерб размерам и т.п.).

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

«Конструирование для проверки» предполагает, что построение программного обеспечения должно вестись таким образом, чтобы само программное обеспечение помогала вести поиск причин сбоев, будучи прозрачной для применения различных методов проверки, как на стадии независимого тестирования (например, инженерами-тестировщиками), так и в процессе эксплуатации, когда особенно важна возможность быстрого обнаружения и исправления возникающих ошибок.

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

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

Модели конструирования включают набор операций, последовательность действий и результаты. Виды моделей определяются стандартом ЖЦ, методологиями и практиками. Основные стандарты ориентированы на экстремальное программирование (XP - eXtreme Programming - упрощенная методология организации разработки программ для небольших и средних по размеру команд разработчиков, занимающихся созданием программного продукта в условиях неясных или быстро меняющихся требований) и использование методологии Rational Unified Process (RUP) - четко определенный процесс (технологическая процедура), описывающий структуру жизненного цикла проекта, роли и ответственности отдельных исполнителей, выполняемые ими задачи и используемые в процессе разработки модели, отчеты и т.д.

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

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

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

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

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

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

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

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