- •5,6 Семестр Общие принципы проектирования программных систем. Этапы жизненного цикла программной системы.
- •1. Постановка задачи:
- •Требования, предъявляемые к программным системам:
- •2. Разработка:
- •3. Реализация:
- •Нисходящее и восходящее проектирование.
- •Структурное программирование (без go to).
- •2) Ветвление (if): 3) цикл с предусловием (do while):
- •1.2.4. Язык проектирования (метаязык)
- •Глава 2. Структуры данных.
- •2.1. Агрегативные переменные
- •2.2. Динамические структуры данных.
- •2.2.1. Списки. (Списочные структуры).
- •2.2.2. Очереди
- •2.2.3. Стеки
- •2.2.4. Множества
- •2.2.5. Деревья и графы
- •1 . Направленный граф:
- •2 . Ненаправленный граф:
- •2.3. Абстрактные структуры данных
- •2.3.2. Объекты
- •2.4. Файловые типы данных
- •2.4.4. Операции над файлами
- •4. Специальные операции:
- •Специальные типы файлов языка Pascal.
- •Файлы в других языках
- •3. Алгоритмы
- •3.1. Типы алгоритмов. Сложность алгоритмов.
- •3.2. Способы реализации алгоритмов.
- •5.2 Реализация наследования в Паскале
- •5.3 Проблема наследования статических методов
- •6.1 Объекты и их жизненный цикл
- •6.2. Инкапсуляция. Св-ва
- •6.3 Наследование
- •6.4. Области видимости
- •6.5 Информация о классе
- •Особенности архитектуры программ
- •7 .1 Обработчики сообщений Windows в Delphi
- •Средства разработки Windows приложений
- •4.4.2 Основные понятия ооп
- •4.4.3 Типы оос
- •4.4.4 Общие принципы работы оос-м
- •Особенности объектно-ориентированных систем
- •4.1 Декомпозиция и абстракция
- •Методы проектирования ориентированные на обработку
- •4.2.1 Модульное программирование
- •4.2.2 Функциональная декомпозиция
- •1. Пошаговое уточнение:
- •2. Метод анализа потоков данных:
- •Связанность модулей
- •Сцепление модулей
- •4.2.3. Технология структурного анализа проекта
- •4.2.4 Язык определения задач psl/psa
- •Методология Джексона
- •Методология Уорнера
- •4.2.6. Метод иерархических диаграмм hipo
- •Методы проектирования ориентированные на данные
Средства разработки Windows приложений
1) Классические средства: обычные компиляторы дополненные SDK.
2) Специализированные ООС среды: SmallTalk, Actor.
3) Смещённые ОО-нные среды: включают в себя ОО-нные расширения стандартных языков дополненные библиотеки классов (C++ + MTC), (BP + OWL), (Delphi и C++ Builder), (Visual Basic).
Эта группа разработана для опытных пользователей, но не для профессионалов.
4.4.1 ООП
ООП является одной из парадигм программирования (т.е. концептуальный подход). Парадигмы бывают: визуальная, потоков данных, логическая, основанная на правилах, процедурная.
Эти подходы существуют и используются, но они не являются результатом эволюции. Многообразность подходов объясняется желанием использовать различные подходы и наличием различных архитектур ВМ-н.
Как и всякая другая парадигма ООП использует свои метафоры (аналоги из реального мира для объяснения абстрактных понятий): метафора наследования, метафора передачи данных, метафора интегральной схемы.
4.4.2 Основные понятия ооп
Активные данные:
В ООП объекты удобно рассматривать в качестве активных данных обменивающиеся сообщениями (например: если объект – строка текста, то можно отдать команду вывести себя на экран).
Передача сообщений:
Единственный способ взаимодействия объектов. В сообщении указывается адресом и действие которое он должен выполнить. Передача сообщений придаёт поведению объектов хар-р активных данных, а так же поддерживает разделение ф-ций.
Такой механизм взаимодействия даёт объектам уникальную степень автономности. В том смысле, что передача сообщения не предполагает передачу управления.
Классы: порождение экземпляров, наследование:
Является ключевым понятием для ОП, шаблоном построения действующих объектов. Экземпляр класса – объект.
Ключевым св-вом класса является наследование, т.е. создание новых классов наследующих особенности родительских классов и возможность добавления новых особенностей.
При проектировании строится иерархия классов. В некоторых ООС допускается возможность множественного наследования, т.е. иметь мн-во родителей.
Преимуществом является стабильность протокола взаимодействия объектов при расширении иерархии классов. Эта стабильность достигается использованием замещения методов (замещение может быть статическим или динамическим, например: виртуальные методы) (полиморфизм).
4.4.3 Типы оос
Критерий1: Чисто ООС и гибридные системы.
В чисто ООС-ме программирования всё является классом – Smalltalk.
Гибридные системы совмещают в себе обычные принципы программирования с ООП. (С++, Лисп и т.д.). В гибридных системах для взаимодействия с объектом не используется в чистом виде передача сообщений (в основном передача управления). В гибридных системах возможен доступ к полям данных.
Критерий2: Системы с одиночным и множественным наследованием.
Критерий3: Возможность параллельной обработки (параллельного и последовательного типа).
В системе параллельного типа взаимодействие между несколькими объектами одновременно. В последовательных системах только между двумя одновременно.
Признаки позволяющие определить степень ООС-мы:
Критерий1: Классы и мн-во экземпляров.
Критерий2: Инкапсуляция ф-ций и данных.
Критерий3: Связывание переходов выполнения (динамическая перегрузка).
Критерий4: Множественное наследование.
Критерий5: Механизм обмена сообщениями.
Если все 5 критериев выполняются то система является полностью ООС-мой.