
- •Цель и задача курса. Характеристики качества по.
- •1.2. Эволюция технологий программирования.
- •1.3. Структурный подход к программированию
- •1.4. Основания и история объектно-ориентированного подхода к программированию
- •1.5. Сложность по
- •1.6. Пути ограничения сложности
- •1.7. Основные положения объектной модели
- •1) Абстрагирование является одним из главных способов, используемых для решения сложных задач.
- •2) Ограничение доступа (инкапсуляция).
- •3) Модульность.
- •4)Иерархия.
- •Варианты использования (прецеденты)
- •2.3. Диаграммы вариантов использования
- •Пример диаграммы ви для финансовой торговой системы:
- •Связи типа «расширение» и «использование». Кроме связей между действующими лицами и ви на диаграмме существуют 2 других типа связей. Это связи типа «расширение» и «использование».
- •2.4. Диаграммы классов. Общая характеристика
- •2.4.1 Ассоциации
4)Иерархия.
При большом числе абстракций необходимо использовать механизм помогающий упростить проектирование сложных систем, такой механизм – иерархия. Иерархия – это упорядочение абстракций, расположение их по уровням.
Основными видами иерархических структур применительно к сложным системам являются:
структура класса (типовая иерархия или иерархия по составу);
структура объектов (структурная иерархия).
Затем вопросы: параллелизм, типизация и сохраняемость - самостоятельно!
. Язык UML. Общая характеристика
Унифицированный язык моделирования UML (Unified Modeling Language) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль принадлежит программному обеспечению. С помощью UML можно разработать детальный план создаваемой системы, отображающий ее концептуальные элементы, такие как системные функции и бизнес-процессы, и конкретные особенности реализации, в том числе классы, схемы баз данных и программные компоненты многократного использования.
Для чего нужно моделирование?
Чтобы создать качественное программное обеспечение, необходимо разработать прочное архитектурное основание проекта, открытое к возможным усовершенствованиям. Важным шагом на пути к созданию качественного ПО, является моделирование. Модели позволяют наглядно продемонстрировать желаемую структуру и поведение системы. Они также необходимы для визуализации и управления ее архитектурой.
Архитектура – это совокупность решений:
об организации программной системы;
о выборе структурных элементов, составляющих систему и их интерфейсов;
о поведении этих элементов и их связи с другими элементами;
о составлении из этих структурных и поведенческих элементов более крупных систем;
об архитектурном стиле, определяющем всю организацию системы.
Архитектура программной системы охватывает не только её структурные и поведенческие аспекты, но и использование, функциональность, производительность, гибкость, возможности повторного применения, полноту, экономические и технологические ограничения и компромиссы, а также эстетические вопросы.
При создании промышленного программного продукта задача состоит не в том, чтобы написать большой по объему код, а в том, чтобы написать правильный код, причем так, чтобы объем его был минимален. При этом разработка качественного ПО сводится к вопросам выбора архитектуры, подходящих инструментов и средств управления процессом. Моделирование – это повсеместно принятая инженерная методика. Модель является упрощенным представлением реальности. Модель – это чертеж системы. Каждая система м.б. описана с разных точек зрения, для этого используются различные модели. Модель м.б. структурной, подчеркивающей организацию системы, или поведенческой, т.е. отражающей ее динамику.
Модели строятся для того, чтобы лучше понимать разрабатываемую систему. Моделирование позволяет решить 4 задачи:
Визуализировать систему в ее текущем или желательном для нас состоянии;
Определить структуру или поведение системы;
Получить шаблон, позволяющий затем сконструировать систему;
Документировать принимаемые решения, используя полученные модели.
Чем больше и сложнее система, тем большее значение приобретает моделирование при ее разработке. Моделировать сложную систему необходимо, поскольку иначе мы не можем воспринять ее как единое целое.
При этом нельзя ограничиться созданием одной модели. При разработке любой сложной системы необходимо использовать совокупность нескольких моделей.
Итак, назначение языка UML – визуализация, конструирование и документирование объектно-ориентированных систем.
Язык моделирования – это совокупность графических объектов, которые используются в моделях. Совокупность графических объектов, используемых в моделях, называется нотацией. Нотация является синтаксисом языка моделирования.
UML – это не просто графический язык. Каждой графической нотации соответствует спецификация, содержащая её текстовое представление. Например, пиктограмме класса соответствует спецификация, полностью описывающая его атрибуты, операции и поведение, хотя на пиктограмме м.б. показана только часть этой совокупности. С помощью графической нотации система визуализируется, с помощью спецификаций описываются её детали.
В настоящее время разработаны инструментальные программы поддержки языка UML. Наиболее известной из них является программа Rational Rose 2000. Создан ряд средств визуального программирования, обеспечивающий прямую генерацию кода программ из UML-моделей. Эти средства интегрированы с наиболее распространенными языками программирования С++, Java и др.