- •Проектирование информационных систем
- •Вопрос 1. Программирование и процесс разработки Выбор языка программирования
- •Внесение изменений на стадии реализации
- •Модификация кода и итеративный процесс
- •Изменение кода, case-средства и обратное проектирование
- •Вопрос 2. Преобразование результатов проектирования в программный код
- •Создание определений классов на основе диаграмм классов
- •Определение класса с методами и простыми атрибутами
- •Добавление атрибутов-ссылок
- •Атрибуты-ссылки и имена ролей
- •Отображение атрибутов
- •Создание методов на основе диаграмм взаимодействия
- •Метод Register- -enterItem
- •Классы-контейнеры в программном коде
- •Исключения и обработка ошибок
- •Метод Sale- -makeLineItem
- •Вопрос 3. Порядок реализации и основное программное решение
Федеральное государственное образовательное учреждение
высшего профессионального образования
«Пермская государственная сельскохозяйственная академия
имени академика Д.Н. Прянишникова»
Проектирование информационных систем
специальность 080801 «Прикладная информатика (в экономике)»
Лабораторная работа № 12
Тема: МОДЕЛЬ РЕАЛИЗАЦИИ: ПРЕОБРАЗОВАНИЕ РЕЗУЛЬТАТОВ ПРОЕКТИРОВАНИЯ В ПРОГРАММНЫЙ КОД
Учебные вопросы:
Программирование и процесс разработки.
Преобразование результатов проектирования в программный код.
Порядок реализации и основное программное решение.
Литература, техническое и программное обеспечение:
Методическая разработка по теме занятия.
Класс ПЭВМ.
После завершения проектирования диаграмм классов и взаимодействия на текущей итерации разработки приложения ТТ остался еще один существенный момент – генерация кода для объектов уровня предметной области.
При этом в процессе генерации кода в качестве входной информации будут использоваться созданные на стадии проектирования артефакты языка UML – диаграммы взаимодействия и диаграммы классов.
В контексте RUP существует понятие "модель реализации". К этой модели относятся такие артефакты реализации, как исходный код, структура баз данных, страницы JSP/XML/HTML и т.п. Код, который будет рассмотрен в этой главе, тоже составляет часть модели реализации.
Вопрос 1. Программирование и процесс разработки Выбор языка программирования
Рассматриваемые примеры написаны на языке Java. Такой выбор объясняется популярностью и широким распространением этого языка. Однако автор не выделяет язык Java среди других языков. Языки С#, Visual Basic, C++, Smalltalk, Python и многие другие тоже удовлетворяют принципам объектного проектирования и могут использоваться для преобразования разработанной модели в исходный код.
Выполнение предварительного проектирования совсем не означает, что в процессе программирования нельзя выполнять макетирование и проектирование. Современные средства разработки предоставляют прекрасную среду для быстрого изучения альтернативных подходов, а некоторые из них (или даже многие) позволяют сочетать процессы проектирования и программирования.
Однако некоторые разработчики считают, что до начала этапа программирования желательно разработать базовые визуальные модели. Это особенно полезно тем разработчикам, которые обладают "визуальным стилем мышления" и лучше воспринимают информацию, представленную в виде диаграмм.
Написание кода на объектно-ориентированном языке программирования, наподобие Java или С#, не относится к процессу анализа или проектирования системы – это конечная цель проектирования. Артефакты, создаваемые в контексте RUP в рамках модели проектирования, предоставляют часть информации, необходимой для генерирования кода.
Преимущество объектно-ориентированного подхода к анализу, проектированию и программированию в рамках RUP состоит в том, что он обеспечивает полный цикл разработки системы – от формулировки требований до программной реализации. Артефакты последовательно трансформируются в артефакты следующей стадии разработки, постепенно обеспечивая превращение системы в работающее приложение.
Внесение изменений на стадии реализации
Значительная часть усилий и творческого потенциала была задействована на стадии проектирования. Как станет видно из последующего обсуждения, генерация программного кода является относительно механическим процессом преобразования.
Тем не менее, процесс программирования не сводится к примитивной генерации кода. Совсем наоборот: результаты, полученные на стадии проектирования, оказываются далеко не совершенными. В процессе программирования и тестирования наверняка потребуется внести многочисленные изменения, а также выявить и разрешить возникшие проблемы.
Артефакты проектирования будут составлять эластичное ядро, которое можно масштабировать, сохраняя при этом изящность и устойчивость, а также обеспечивая решение новых возникающих в процессе программирования проблем. Поэтому на стадии построения и тестирования будьте готовы к изменению проектных решений.