Анотация
Анотация: Дисциплината "Обектно-ориентирани приложения" се провежда по програма, основана на текущите познания на студентите от специалност "Компютърни системи и технологии", придобити до момента по дисциплините “Обектно-ориентирано програмиране 1 част”, “Обектно-ориентирано програмиране 2 част” курсовото проектиране по същите, Синтез и анализ на алгоритми”, “Програмни системи”, “Дискретни структури” и “Бази от данни”. Студентите се запознават със съвременни методологии за проектиране и разработка на обектно-ориентирани приложения-UML диаграми за представяне на моделите и тяхното кодиране на езика за програмиране Java. Разглеждат се основните видове UML диаграми за моделиране работата на приложенията. За кодиране на основните модели на обектно-ориентираното проектиране се използва езика Java.
Основни цели на дисциплината:
Овладяване на принципите на обектно-ориентираното моделиране;
- Усвояване на принципите за проектиране и изграждане на отделните слоеве на обектно-ориентираните приложения-потребителски интерфейс, логика на действието и работа с бази данни;
- Усвояване на умения за създаване на високопроизводителен и стабилен програмен код на обектно-ориентираните приложения;
- Усвояване на последните версии на библиотечните класове и интерфейси на езика Java;
- Усвояване на принципите за разработка и анализ на приложения с използване на шаблони, колекции и интерфейси;
- Усвояване на съвременни методи при изграждане, анализ и поддръжка на обектно-ориентирани приложения.
Програмна среда на дисциплината е Eclipse 4.3.2 с Java 7.0 или по-нови версии. Потребителският интерфейс се основава на технологията SWING, базите данни - на JDBC.
Съдържание
1. Основи на Обектно-ориентираното проектиране:
1.1. Масиви. Колекции-видове. Сравнители;
1.2. Шаблонни колекции. Класове, съхраняващи колекции.Организация;
1.3. Видове модели на класовете.
2. Структурни диаграми на класовете:
2.1. Класови диаграми;
2.2. Асоциация-кардиналност,незадължителност, мултипликатор,роля
2.3. Имплементиране на асоциация
3. Структурни диаграми на класовете:
3.1. Зависимости. Имплементиране;
3.2. Агрегация и композиция. Имплементиране;
3.3. Интерфейси. Имплементиране.
4. Моделиране на класовете за съхраняване на информация в релационни бази от данни
4.1. Моделиране на обектите в РБД;
4.2. Основни принципи при моделиране на обекти и класове;
4.3. Създаване на обектни идентификатори в класовете
4.4. Моделиране на обектните наследявания в РБД;
4.5. Моделиране на отношения (релации);
4.6. Стратегии за имплементиране на кода.
5. Моделиране на обектите и обектните отношения в бази от данни
5.1. Създаване на команди за взаимодействие с базата от
данни;
5.2. Взаимодействие на Java с базите от данни;
6. Моделиране на състоянието и активностите на обектите
6.1. Диаграми на състоянията и активностите
6.2. Диаграми на активностите (Activity Diagram). Същност;
6.3. Принципи на създаване;
6.4. Карти на взаимодействието между класовете (CRC Cards)
7. Модел-Начин на изобразяване-Контролер
7.1. Особености на Модел-Начин на изобразяване-Контролер ( MVC) в Swing
7.2. Схема на модела;
7.3. Паралелизъм в архитектурата на MVC.
8. Моделиране на логиката на приложенията
8.1. Диаграми на начина на използване
8.2. Диаграми на последователността
9. Моделиране на логиката на приложенията
9.1. Диаграми на състоянията и активностите
9.2. Етапи на създаване на диаграмите на последователността;
10. Обща структура на ОО приложение и имплементация
10.1. CRC карти;Рамкова програма на модела;
10.2. Моделиране на таблични интерфейсни класове;