Технологии программирования
Шрифт:
Еще одним преимуществом такого подхода к моделированию системы является то, что среда Rational Rose способна генерировать "скелетный код" системы. Для использования этой возможности следует разработать компоненты и диаграмму компонентов на раннем этапе конструирования. Генерацию кода можно начать сразу после создания компонентов и нанесения на диаграмму зависимостей между ними. В результате будет автоматически построен код, который можно создать, основываясь на проекте системы. Это не означает, что с помощью Rose можно получить любой код, реализующий бизнес-логику приложений. Результат сильно зависит от используемого языка программирования, но в общем случае предполагает определение классов, атрибутов, областей действия. Это позволяет сэкономить время,
Конструирование можно считать завершенным, когда программное обеспечение готово и протестировано. Важно убедиться в адекватности модели и программного обеспечения. Модель будет чрезвычайно полезна в процессе сопровождения ПО.
В фазе конструирования пишется большая часть кода проекта. Rose позволяет создать компоненты в соответствии с проектированием объектов. Чтобы показать зависимости между компонентами на этапе компиляции, создаются диаграммы компонентов. После выбора языка программирования можно осуществить генерацию скелетного кода для каждого компонента. По завершении работы над кодом модель можно привести в соответствие с ним с помощью обратного проектирования.
Фаза ввода в действие наступает, когда готовый программный продукт передают пользователям. Задачи в этой фазе предполагают завершение работы над финальной версией продукта, завершение приемочного тестирования, завершение составления документации и подготовку к обучению пользователей. Чтобы отразить последние внесенные изменения, следует обновить спецификацию требований к программному обеспечению, диаграммы вариантов использования, классов, компонентов и размещения. Важно, чтобы ваши модели были синхронизированы с готовым продуктом, поскольку они будут использоваться при его сопровождении. Кроме того, модели будут неоценимы при внесении усовершенствований в созданную систему уже через несколько месяцев после завершения проекта. В фазе ввода в действие Rational Rose не настолько полезна, как в других фазах. В этот момент приложение уже создано. Rose предназначена для оказания помощи при моделировании и разработке программного обеспечения и даже при планировании его размещения. Однако Rose не является инструментом тестирования и не способна помочь в планировании тестов или процедур, связанных с размещением ПО. Для этой цели созданы другие продукты. Итак, в фазе ввода в действие Rose применяется, прежде всего, для обновления моделей после завершения работы над программным продуктом.
10.6. РАБОТА НАД ПРОЕКТОМ В СРЕДЕ RATIONAL ROSE
Из всех рассмотренных видов канонических диаграмм в среде Rational Rose 98/98i не поддерживается только диаграмма деятельности.
В ходе работы над диаграммами проекта имеется возможность удаления и добавления соответствующих графических элементов, установления отношений между этими элементами, их спецификации и документирования.
Общая последовательность работы над проектом аналогична последовательности рассмотрения канонических диаграмм в книге.
Одним из наиболее мощных свойств среды Rational Rose является возможность генерации программного кода после построения и проверки моделей. Общая последовательность действий, которые необходимо выполнить для этого, состоит из шести этапов:
— проверки модели независимо от выбора языка генерации кода;
— создания компонентов для реализации классов;
— отображения классов на компоненты;
— установки свойств генерации программного кода;
— выбора
класса, компонента или пакета;— генерации программного кода.
ВЫВОДЫ
• CASE-средства позволяют в автоматизированном режиме реализовать проектные модели.
• Реализованные проектные модели должны быть полными, отражать как функциональные, так и информационные аспекты проектируемых автоматизированных систем.
• CASE-средства включают набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения программного проекта и разрабатывать приложения в соответствии с информационными потребностями "пользователей.
• Большинство существующих CASE-средств основано на методологиях структурного (в основном) или объектно-ориентированного анализа и проектирования, использующих спецификации в виде диаграмм или текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств.
• Передовые CASE-средства способны не только составлять спецификации, но и их проверять, а также генерировать исходный код программ.
• CASE-средства производятся множеством производителей и только наиболее удачные из них проходят проверку практикой.
• CASE-средство Rational Rose фирмы "Software Corporation" (США) предназначено для автоматизации этапов анализа и проектирования ПО, а также для генерации кодов на различных языках и выпуска проектной документации. Rational Rose использует объединенную методологию объектно-ориентированного анализа и проектирования, основанную на подходах трех ведущих специалистов в данной области: Буча, Рамбо и Джекобсона.
• Язык UML CASE-средства Rational Rose позволяет создавать несколько типов визуальных диаграмм:
— диаграммы вариантов использования;
— диаграммы последовательности;
— кооперативные диаграммы;
— диаграммы классов;
— диаграммы состояний;
— диаграммы компонент;
— диаграммы размещения.
Контрольные вопросы
1. Что такое CASE-средства?
2. Зачем необходимы CASE-средства?
3. В чем заключается сущность визуального моделирования?
4. Что отображают диаграммы вариантов использования?
5. Что отображают диаграммы последовательности?
6. Что отображают кооперативные диаграммы?
7. Что отображают диаграммы классов?
8. Что отображают диаграммы состояний?
9. Что отображают диаграммы компонент?
10. Что отображают диаграммы размещения?
11. В чем состоит суть модели разработки программного обеспечения "водопад", ее особенности и недостатки?
12. Изложите шаги методики разработки приложений с использованием Rational Rose.
Глава 11
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
11.1. ОСНОВНЫЕ СВЕДЕНИЯ
Любой заказчик хочет получить надежное программное изделие, которое полностью удовлетворяет его потребности. Различные уровни надежности обеспечиваются разными инженерными подходами к тестированию. Другими словами, за достаточные средства можно достичь уровня надежности как у такой-то фирмы или даже уровня, необходимого для атомной энергетики или космических исследований.
Итак, уровень надежности программных изделий определяется инженерией тестирования. Как достичь высочайшего уровня надежности? Ясно, что тексты программ, написанные в одной организации, можно заново инспектировать, тестировать автономно и в составе ядра в иной организации. В самой программе можно одновременно производить расчеты по разным алгоритмам с использованием разных вычислительных методов и сличать результаты в контрольных точках, использовать подстановки рассчитанных результатов в исходные уравнения и тем самым контролировать результаты решения. Из изложенного видно, что уровень надежности программных изделий напрямую связан с затратами как денежных средств, так и времени проекта.