Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



Как было отмечено в начале пособия, одной из причин успешного продвижения объектной технологии является то, что понятие объекта оказалось удачным с точки зрения построения моделей процессов и систем. Поэтому достаточно быстро объекты вышли за рамки «чистого» программирования, захватив и другие этапы разработки программных систем, прежде всего – анализ предметной области и проектирование структуры системы [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. Что такое паттерны проектирования?





Дата публикования: 2014-11-02; Прочитано: 375 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...