СТАТЬЯ |
21.12.00
|
Что не умеет RDL
Ранее мы определили, что, по нашему мнению, должен обеспечивать кодогенератор Delphi. В целом RDL охватывает все перечисленные возможности, за исключением, пожалуй, одного: он не позволяет создавать формы. Вы может представить себе среду Delphi без форм? Мы, к сожалению, тоже. Основная парадигма визуального программирования в среде Delphi состоит в задании значений соответствующих свойств (значений атрибутов классов) и написании кода обработчиков событий. И здесь, к сожалению, RDL нам не помощник. Но, действительно ли это столь серьезное ограничение? Здесь могут существовать различные мнения.
Один из путей таков. Проектируется пользовательский интерфейс в среде Delphi (а где это сделать быстрее и проще?) и выполняется преобразование программного кода в модели Rational Rose. Несмотря на то, что формы получаются достаточно громоздкими, их можно “причесать”, а главное, не отображать в них несущественные детали. В Rational Rose проектируется, собственно, объектная модель, модель данных, компонентная модель, т. е. архитектурно существенные элементы. В сочетании с моделью пользовательского интерфейса системы они образуют, ту структуру системы, которая может быть отслежена средствами управления конфигурациями, включается в документацию, легко анализируется на предмет наличия принципиальных ошибок и является основой для функционального тестирования, т. е. может быть использована на любом этапе жизненного цикла (ЖЦ) разработки ПО. RDL при этом обеспечивает полное согласование моделей и программного кода в течение всего ЖЦ ПО. Мы стараемся придерживаться именно такого подхода.
Пример совместного использования Delphi и Rational Rose
К сожалению, вряд ли возможно в рамках небольшой статьи продемонстрировать полноценный пример реального приложения. Однако это и не требуется. Возвращаясь к тому месту статьи, где мы описывали, что ожидаем от Rose и Delphi на каждом этапе разработки, мы отметили, что важным для нас при проектировании является создание базовой архитектуры, в данном случае, с включением элементов объектной модели Delphi. Вот здесь мы и продемонстрируем возможности RDL.
В качестве примера мы выбрали фрагмент системы, обеспечивающей отображение показателей состояния пациента для лечащего врача. Функциональные требования к системе представлены на следующей диаграмме.
Рис. 3. Функциональная диаграмма системы
На диаграмме отражены три действующих лица: администратор, прибор, врач. Функции системы, связанные с прибором, мы рассматривать не будем. В отношении прибора для нас существенно, что показатель получается с определенной периодичностью, и система предоставляет интерфейс для его сохранения в БД. Все оставшиеся функции системы связаны с пользовательским интерфейсом и обеспечением хранения информации в БД или ее выборкой.
В основу системы мы закладываем следующие архитектурные решения:
При проектировании системы мы должны определить классы для представления пользовательского интерфейса (boundary classes), управляющие классы, реализующие логику работы системы (control classes) и классы-сущности для отображения структуры хранения информации (entity classes).
Классы – сущности, спроектированные нами, представлены на рис. 4.
Рис 4. Классы – сущности системы
Из объектной модели классов - сущностей мы получили физическую модель данных для реляционной СУБД и обеспечили ее генерацию для конкретной СУБД. Подробности того, как это можно сделать в среде Rational Rose, здесь мы опускаем.
Поскольку мы планируем построение GUI на основе объектной модели Delphi, разумно предположить, что классы для представления пользовательского интерфейса (boundary classes) мы можем получить при прототипировании пользовательского интерфейса в среде Delphi. Проектируются классы пользовательского интерфейса (boundary classes) для окна представленного на рис. 5.
Рис. 5. Внешний вид главного окна системы
Дополнительную информацию Вы можете получить в компании Interface Ltd.
Отправить ссылку на страницу по e-mail
Interface Ltd.Отправить E-Mail http://www.interface.ru |
|
Ваши замечания и предложения отправляйте автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 21.12.00 |