Лекция: Объектный анализ и проектирование

Как было отмечено в начале пособия, одной из причин успешного продвижения объектной технологии является то, что понятие объекта оказалось удачным с точки зрения построения моделей процессов и систем. Поэтому достаточно быстро объекты вышли за рамки «чистого» программирования, захватив и другие этапы разработки программных систем, прежде всего – анализ предметной области и проектирование структуры системы [5-7]. Были разработаны специальные методики для проведения объектного анализа и построения объектных моделей, а также – специальные средства описания этих этапов. Наибольшее распространение здесь получил специальный графический язык объектного моделирования UML (Unified Modeling Language), который предлагает описывать предметную область с помощью ряда диаграмм, среди которых центральное место занимает диаграмма взаимодействия классов.

Развитие объектной технологии координируется общественной некоммерческой организацией Object Management Group (OMG). Версия 2.0 языка UML была принята консорциумом OMG в 2004 году как средство моделирования больших информационных систем. Эта версия языка включает в себя 13 типов диаграмм.

Интересным и перспективным направлением развития объектной технологии консорциум OMG считает использование объектных моделей информационных систем для автоматической генерации программного кода и структур баз данных. Эта технология известна как Model Driven Architecture (MDA), т.е. Архитектура, Управляемая Моделью. Суть ее в том, что разработчик (системный аналитик, т.е. уже не “чистый” программист) совместно с заказчиком разрабатывает с помощью средств языка UML модель создаваемой системы. На основе этой модели автоматически генерируется структура базы данных, программный код для реализации бизнес-логики и необходимые пользовательские интерфейсные элементы. Для сложных систем такой подход дает неоспоримые преимущества, т.к. необходимые изменений гораздо легче внести в высокоуровневую модель, чем непосредственно в программный код.

Естественно, что реализация технологии MDA требует соответствующей программной поддержки. Одним из лидеров в этой области является корпорация Borland, которая в рамках продукта Delphi 2006 реализовала инструмент ECO (Enterprise Core Objects).

Еще одним интересным направлением является использование паттернов проектирования(design patterns) [17]. Эти паттерны описывают наиболее типичные схемы взаимодействия объектов и классов и поэтому по сравнению с изолированными классами представляют более мощный инструмент. Набор типовых паттернов позволяет быстрее создать объектный проект системы и упрощает внесение в него необходимых изменений.

Контрольные вопросы

1. Что такое компонентные классы и для чего они вводятся?

2. Что такое свойства (property) в компонентной модели и как они описываются?

3. Приведите пример описания класса, использующего понятие свойства.

4. Как свойства используются в программах?

5. Какие свойства называются опубликованными?

6. Как в компонентной модели Borland Delphi реализуется обработка событий?

7. Как в классах объявляются свойства процедурного типа?

8. Какие стандартные процедурные типы объявлены в библиотеке VCL?

9. Как можно реализовать обработку нестандартных событий?

10. Какие базовые классы в библиотеке VCL поддерживают компонентную модель?

11. Что такое свойство потоковости и для чего оно необходимо?

12. Что обеспечивает механизм владения и как он реализуется?

13. Что такое визуальные и невизуальные компоненты и как они используются?

14. Перечислите основные концепции компонентной модели Java Beans.

15. Какие правила используются для описания компонентных классов в модели Java Beans?

16. Приведите пример описания компонентного класса Java Beans.

17. Как реализуется обработка событий в компонентной модели Java Beans?

18. Назовите основные классы событий в модели Java Beans.

19. Перечислите основные интерфейсы слушателя в модели Java Beans.

20. Как создаются и регистрируются объекты-слушатели в модели Java Beans?

21. Что обеспечивает механизм сериализации в языке Java?

22. Как объявляются свойства в языке C# ?

23. Что такое делегаты и для чего они вводятся?

24. Как описываются и используются делегаты?

25. Как можно пополнить список вызовов делегата?

26. Как в языке C# вводится обработка событий?

27. В чем состоят особенности создания распределенных приложений?

28. Какие технологии используются при создании распределенных приложений?

29. В чем состоят особенности технологии MS COM/DCOM?

30. Что лежит в основе создания распределенных приложений для платформы Java?

31. Что такое технология CORBA?

32. Что такое SOAP?

33. Для чего используется язык UML?

34. Что такое паттерны проектирования?

еще рефераты
Еще работы по информатике