- •О.Н. Ванеев, д.Е. Турчин
- •Лабораторный практикум
- •Кемерово 2013
- •Описание лабораторного практикума
- •1.2.2. Множества и операции над ними
- •1.2.3. Декартово произведение множеств. Соответствия и отношения на множествах
- •1.2.4. Основные понятия теории графов
- •1.2.5. Анализ модели системы
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1. Определение цели системы.
- •2. Выделение подсистем.
- •3. Выделение внешних систем.
- •4. Выделение входов, ресурсов и затрат.
- •5. Выделение выходов, результатов и прибыли.
- •1.3. Порядок выполнения работы
- •2.3. Порядок выполнения работы
- •3.3. Порядок выполнения работы
- •4.3. Порядок выполнения работы
- •5.2.2. Метод ранжирования вариантов
- •2.2.3. Метод парных сравнений
- •5.3. Порядок выполнения работы
- •Основные положения объектной модели.
- •6.2.2. Общая характеристика объектов и классов. Отношения между объектами и классами Общая характеристика объектов.
- •Общая характеристика классов.
- •6.2.2. Понятие о языке uml. Диаграммы классов Понятие о языке uml.
- •Диаграммы классов uml.
- •6.2.3. Реализация класса и его элементов на языке программирования c# Состав класса. Описание класса.
- •Поля и константы. Методы.
- •Свойства.
- •6.3. Порядок выполнения работы
- •6.4. Контрольные вопросы
- •Диаграммы последовательностей.
- •7.2.2. Отношения между классами. Моделирование наследования Отношение между классами. Ассоциация, агрегация и зависимость.
- •7.2.3. Реализация отношений между классами на языке c#
- •7.3. Порядок выполнения работы
- •8.4. Контрольные вопросы
- •Рекомендуемая литература
- •Приложение п.1. Значения статистических критериев
Общая характеристика классов.
Класс – описание множества объектов, которые имеют одинаковые атрибуты, операции и смысл. Любой объект представляет собой экземпляр класса.
Различают внутреннее представление класса (реализацию) и внешнее представление класса (интерфейс) (рис. 6.Х).
Рис. 6.Х. Структура представления класса
Интерфейс объявляет возможности (услуги) класса, но скрывает его структуру.
В конкретных языках программирования константы и переменные, формирующие структуру данных класса имеют разные названия. Например, в языках Java, C# и Object Pascal используется термин поле (field), а в языке C++ – элемент данных (data-member). Для операций, реализующих поведение класса, в разных языках также используется своя терминология. Например, в языке C++ для операции применяют термин функция-член (function-member), а в языках Smalltalk, Java и C# – метод (method).
По уровню видимости элементов класса интерфейс может быть разделен на четыре части:
• открытую (public), элементы которой являются общедоступными;
• защищенную (protected), элементы которой доступны только самому классу и его подклассам;
• закрытую (private), элементы которой доступны только самому классу;
• пакетную (package), элементы которой доступны только классам, входящим в один и тот же пакет.
Уровни видимости интерфейса в разных языках программирования имеют свои особенности. Все без исключения уровни поддерживает язык C++. В нем же реализован механизм друга по отношению к классу. Другом класса считается класс, который имеет доступ ко всем частям этого класса. Данный механизм нарушает принцип инкапсуляции, поэтому должен применяться с осторожностью.
Реализация класса описывает секреты поведения класса.
6.2.2. Понятие о языке uml. Диаграммы классов Понятие о языке uml.
Для создания объектно-ориентированных моделей используют языки визуального моделирования, наиболее популярным из которых в настоящее время является UML.
UML (Unified Modeling Language) – стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем. UML может использоваться для визуализации, разработки и документирования программных систем.
Система обозначений UML принята международным консорциумом OMG (Object Modeling Group) в качестве стандарта. В данном учебном пособии описываются базовые понятия версии UML 2.3, которая появилась в мае 2010 г.
Модели UML могут транслироваться в текст на языках программирования (Java, C++, C#, Visual Basic и др.) и таблицы для реляционной базы данных.
Основным средством представления модели в UML являются диаграммы. Диаграмма UML – это нагруженный связный граф, в котором вершины нагружаются элементами модели, а дуги (ребра) – отношениями между элементами.
Одна диаграмма способна изобразить лишь отдельный аспект системы, поэтому используют набор диаграмм. Этот набор обеспечивает визуальное представление программной системы с разных точек зрения. Объединение всех точек зрения дает полную картину, достаточную для решения конкретных задач разработки программного обеспечения.
Диаграммы UML разделяются на две группы:
• структурные диаграммы, которые отражают статическую структуру элементов в программной системе (диаграммы пакетов, компонентов, классов, объектов и др.);
• диаграммы поведения, которые описывают динамику программной системы на различных этапах ее разработки (диаграммы прецедентов, деятельности, последовательности, коммуникации и др.).
Основное назначение UML – предоставить, с одной стороны, достаточно формальное, с другой стороны, достаточно удобное средство, позволяющее описать устройство и работу объектно-ориентированной программной системы.
