Использование стереотипов существенно увеличивают наглядность графического представления диаграммы компонентов и позволяют архитектору уточнить характер реализации модели программистом на выбранном языке программирования.
Таблица 6.2. Графическое изображение стереотипов компонентов и их характеристика
Графическое изображение и имя по умолчанию | Название стереотипа | Характеристика стереотипа компонента |
Subprogram Specification | Спецификация подпрограммы. Содержит описание переменных, процедур и функций и не содержит определений классов | |
Subprogram Body | Тело подпрограммы. Содержит реализацию процедур и функций, не относящихся к каким-то классам, при этом не содержит определений классов или реализаций операций других классов | |
Main Program | Главная программа. Реализует базовую логику работы программного приложения и содержит ссылки на другие компоненты модели | |
Package Specification | Спецификация пакета. Содержит определение класса, его атрибутов и операций. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «h» | |
Package Body | Тело пакета. Содержит код реализации операций класса. В языке программирования С++ спецификации пакета соответствует отдельный файл с расширением «cpp» | |
Task Specification | Спецификация задачи. Может содержать определение класса, его атрибутов и операций, которые предполагается использовать в независимом потоке управления | |
Task Body | Тело задачи. Может содержать реализацию операций класса, которые имеют независимый поток управления. | |
Generic Subprogram | Типовая подпрограмма. Содержит описание переменных, процедур и функций, которые могут быть использованы в нескольких программных приложениях. При этом типовая подпрограмма не содержит определений классов | |
Generic Package | Типовой пакет. Содержит определение класса, его атрибутов и операций, которое может быть использовано в нескольких программных приложениях | |
Database | База данных. Содержит определение одного или нескольких классов, их атрибутов и, возможно, операций. При этом соответствующие классы могут быть реализованы в форме одной или нескольких таблиц базы данных |
2.1.1 Добавление компонента на диаграмму компонентов и редактирование его свойств
Для добавления компонента на диаграмму компонентов нужно с помощью левой кнопки мыши нажать кнопку с изображением пиктограммы компонента на специальной панели инструментов, отпустить левую кнопку мыши и щелкнуть левой кнопкой мыши на свободном месте рабочего листа диаграммы. Добавить компонент на диаграмму можно также с помощью операции главного меню: Tools
Create Component или с помощью операции контекстного меню: New Component, предварительно выделив представление компонентов в браузере проекта.В результате этих действий на диаграмме появится изображение компонента с маркерами изменения его геометрических размеров и предложенным средой именем по умолчанию, которое разработчику следует изменить (рис. 6.1).
Рисунок 6.1 - Диаграмма компонентов после добавления компонента Main.exe
Для каждого компонента можно определить различные свойства, такие как стереотип, язык программирования, декларации, реализуемые классы. Редактирование этих свойств для произвольного компонента осуществляется с помощью диалогового окна спецификации свойств (рис. 6.2).
Рисунок 6.2 - Диалоговое окно спецификации свойств компонента Main.exe
В частности, для компонента Main.exe можно выбрать стереотип <<EXE>> из предлагаемого вложенного списка, поскольку применительно к разрабатываемой модели предполагается реализация этого компонента в форме исполнимого файла. При этом на вкладке Realizes (Реализует) содержатся все классы, включая и актеров, которые на данный момент присутствуют в модели.
По умолчанию в среде IBM Rational Rose 2003 для всех добавляемых на диаграмму компонентов в качестве языка реализации используется язык анализа, который в последствии следует изменить на тот язык программирования, который предполагается использовать для написания программного кода. В дальнейшем при генерации программного кода необходимо будет дополнительно выбрать те классы, которые реализует тот или иной компонент модели.
2.1.2 Добавление отношения зависимости и редактирование его свойств
Добавление отношения зависимости на диаграмму компонентов аналогично добавлению соответствующего отношения на диаграмму вариантов использования. Для добавления зависимости между двумя компонентами нужно с помощью левой кнопки мыши нажать кнопку с изображением зависимости на специальной панели инструментов, отпустить левую кнопку мыши, щелкнуть левой кнопкой мыши на изображении исходного компонента на диаграмме и отпустить ее на изображении целевого компонента. В результате этих действий на диаграмме появится изображение отношения зависимости в форме пунктирной линии со стрелкой, соединяющей два выбранных компонента.
2.1.3 Пример построения диаграммы компонентов
Ниже представлена диаграмма компонентов для программного средства, реализующего алгоритм дискриминантного анализа (рис. 6.3).
Рисунок 6.3 – Диаграмма компонентов рассматриваемого ПС
2.2 Тестирование программного средства
Тестирование – процесс многократного повторения программы с целью обнаружения ошибок. Существуют следующие методы тестирования ПС:
- статическое тестирование (ручная проверка программы за столом);
- детерминированное тестирование (при различных комбинациях исходных данных);
- стохастическое (исходные данные выбираются произвольно, на выходе определяется качественное совпадение результатов или примерная оценка).
При тестировании разработанного ПС необходимо использовать подходящий по функциональности пакет прикладного математического программного обеспечения.