37. Структурные сущности предметной области.
Сущности являются основными элементами артефактов объектно-ориентированного анализа и проектирования. С их помощью можно создавать корректные артефакты. Артефакт (artifact) - это некоторый документ, отчет или исполняемая программа, которые производятся, а впоследствии преобразуют или потребляются.
Структурные сущности - это имена существительные в предметной области решаемой задачи. Как правило, они представляют собой статические части, соответствующие концептуальным или физическим элементам системы.
Существует семь разновидностей структурных сущностей.
Класс (class) - это описание совокупности объектов с общими атрибутами, операциями отношениями и семантикой. Класс реализует один или несколько интерфейсов.
Интерфейс (interface) - это совокупность операций, которые определяют определенную службу (сервис, набор услуг), которые предоставляет класс или компонент. Интерфейс отвечает за видимое извне поведение элемента. С помощью интерфейса поведение класса или компонента может быть представлено полностью или частично, он определяет только спецификации операций, но никогда - их практическую реализацию.
Кооперация (collaboration) определяет взаимодействие, она представляет собой совокупность ролей и других элементов, которые, работая вместе, производят некоторый кооперативный эффект, не сводящийся обычно к сумме слагаемых. Кооперация, таким образом, имеет как структурный, так и поведенческий аспект. Один и тот же класс может принимать участие в нескольких кооперациях, которые представляют собой реализацию образцов поведения, определяющих систему.
Прецедент (случай использования, вариант использования - use case) - это описание последовательности выполняемых системой действий, которая производит наблюдаемый результат, значимый для какого-то определенного актера (actor). Основная цель применения прецедентов структурировать поведенческие сущности системы. Реализуются прецеденты посредством кооперации.
Три другие сущности: активные классы, компоненты и узлы - подобны классам, они описывают совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Тем не менее, они в достаточной степени отличаются друг от друга и от классических классов и, учитывая их важность при моделировании определенных аспектов объектно-ориентированных систем, заслуживают персонального рассмотрения.
Активный класс (active class) - класс, объекты которого вовлечены в один или несколько процессов, и поэтому могут инициировать управляющее воздействие. Активный класс практически полная копия обычного, за исключением того, что его объекты представляют собой элементы, деятельность которых осуществляется одновременно с деятельностью других элементов.
Два последних элемента: компоненты и узлы - также имеют свои особенности. Они соответствуют физическим сущностям системы, а предыдущие пять - концептуальным и логическим сущностям.
Компонент (component) - это физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию. В системе можно встретить различные виды устанавливаемых компонентов, классический пример тому компоненты COM, а также компоненты, являющиеся артефактами процесса разработки, например файлы исходного кода. Компонент, обычно, представляет собой физическую упаковку логических объектов, таких как классы, интерфейсы и кооперации.
Узел (node) - это элемент реальной (физической) системы, который существует во время функционирования программного продукта и представляет собой некоторый вычислительный ресурс, обычно обладающий как минимум некоторым объемом памяти, а часто еще и возможностью обработки. Совокупность компонентов может размещаться на узле, а также мигрировать с одного узла на другой.
Перечисленные семь базовых элементов: классы, интерфейсы, кооперации, прецеденты, активные классы, компоненты и узлы - являются основными структурными сущностями, которые могут быть использованы при создании артефактов объектно-ориентированного анализа и проектирования. Существуют и другие разновидности сущностей: актеры, сигналы, утилиты (виды классов), процессы и нити (виды активных классов), приложения, документы, файлы, библиотеки, страницы и таблицы (виды компонентов).
- Разработка и стандартизация программных систем
- 1. Три типа жизненных циклов программных систем.
- Водопадная (каскадная, последовательная) модель
- Итерационная модель
- Спиральная модель
- 3. Стандарт iso серии 9000 при разработке программных систем.
- Iso 9000 — серия международных стандартов, описывающих требования к системе менеджмента качества организаций и предприятий.
- 4. Стандарты Единой системы программной документации (еспд)
- Классификация:
- 5. Стандарты рф (гост р) на документирование пс
- 6. Организация группы проекта при разработке программных систем.
- 7. Три способа определения требований к программной системе.
- 8. Спецификация требований к программной системе.
- 9. Методы контроля спецификации требований.
- 10. Спецификация качества программных систем.
- 11. Функциональная спецификация программных систем.
- 12. Архитектура программных систем
- 13. Основные классы архитектур программных систем.
- 14. Основные модели при разработке программных систем.
- (См. Вопрос 1!)
- 15. Принципы объектно-ориентированного анализа и проектирования пс
- 16. Принципы компонентной архитектуры информационных систем.
- 17. Стандарты семейства idef
- 18. Принципы построения модели idef0
- 19. Принципы разработки моделей as-is и то-ве
- 20. Диаграммы в стандарте idef0
- 21. Понятие работы в стандарте idef0
- 22. Описание взаимодействия работ в стандарте idef0
- 23. Типы связей работ в стандарте idef0
- 24. Стандарт idef1x
- 26. Диаграммы потоков данных.
- 27. Архитектурные виды программной системы.
- 28. Фазы, итерации и циклы разработки программных систем - руп.
- 29. Рабочие процессы создания программных систем - руп.
- 30. Основные артефакты при разработке программных систем.
- 31. Концепция языка uml
- 32. Язык uml как система визуализации, специфицирования, конструирования, документирования
- 33. Понятия модели и системы в языке uml
- 34. Принципы моделирования системной архитектуры в языке uml.
- 35. Принципы представления системы в языке uml.
- 36. Понятие сущностей в языке uml
- 37. Структурные сущности предметной области.
- 38. Отношения в языке uml
- 39. Диаграммы в языке uml
- 40. Правила языка uml.
- 41. Общие механизмы языка uml
- 42. Прецедент как спецификация поведения программных систем.
- 43. Организация прецедентов в языке uml.
- 44. Приемы анализа прецедентов в языке uml
- 45. Диаграммы прецедентов.
- 46. Моделирование требований к системе с помощью диаграмм прецедентов.
- 47. Критерии сравнения инструментальных систем разработки программных систем.
- 48. Технико-экономические показатели разработки программных средств
- 49. Сертификация программных средств
- 50. R-технология программирования