Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по Леонову, 5семестр.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
503.3 Кб
Скачать

1. Признаки сложных систем. Сложность, присущая программному обеспечению.

Основные признаки сложных систем:

  1. Может быть представлена в виде иерархии.

  2. Выбор низшего уровня абстракции (т е элементарных объектов) произволен и определяется наблюдателем.

  3. Внутриэлементные связи сильнее межэлементных.

  4. Иерархические типы систем обычно состоят из немногих типов подсистем, которые лишь комбинируются по-разному.

  5. Работающая сложная система – развитие простой работающей системы.

4 характеристики сложности програ200ммного обеспечения:

  1. Сложность реальной стоящей задачи (непонимание разработчика и заказчика)

  2. Сложность управления процессом разработки.

  3. Избыточная гибкость, присущая программному обеспечению (проблемы со стандартизацией).

  4. Сложность описания поведения больших программных систем (дискретных систем).

2. Компоненты объектно-ориентированного подхода.

Объектно-ориентированный подход – это методология программирования и проектирования, основанная на представлении программ в виде объектов, каждый из которых является реализацией класса. Классы образуют иерархию. ОО подход направлен на борьбу со сложным программным обеспечением.

В Объектно-ориентированном подходе выделяют:

  1. Анализ – построение модели реального мира.

  2. Проектирование – на основе модели реального мира строится модель программы.

Составные части объектного подхода:

(Всего 7 частей, 4 главные)

1. Абстрагирование – упрощенное описание системы, при кот одни св-ва и детали выделяются (объединяются), а другие опускаются. Существует так называемый принцип наименьшего удивления – абстракция должна охватывать не больше и не меньше системы, должна охватывать всё поведение объекта. При абстрагировании поведение объектов рассматривается как контракт (клиент-сервер).

Полный порядок операций и их выполнение – протокол.

Абстракция – представление об объекте в кот мы включаем только те св-ва, кот считаем нужным, или по-другому – существенные хар-ки объектов.

При выполнении контракта должно всегда выполняться некоторое логическое условие – вариант. Значение логического условия неизменно – инвариантность. Сущ-ет предусловие (вариант перед началом операции) и постусловие (после начала операции). Инвариант позволяет доказать работу программы.

2. Инкапсуляция – процесс отделения друг от друга элементов объектов, отвечающих его уровню и поведению. Инкапсуляция снижает общую сложность. С её помощью разделяются контракт и реализация.

3. Модульность – разложение системы на сильно-связанные внутри модуля и слабо-связанные между собой модули.

4. Иерархия – упорядочивание абстракций по уровням для классов и структур или для объектов.

2 способа разбиения иерархии:

Is – a - для объектов

Part-of – для классов и структур

5. Типизация – способ защиты от использования объектов одного класса вместо другого. Бывает сильная (Pascal) и сильная (C) или статическая и динамическая.

6. Параллелизм – св-во характеризующее активный объект (отдельный поток управления).

7. Сохраняемость – способность объекта существовать во времени и в пространстве, перемещаясь из его адресного пространства.