- •Контрольные вопросы по дисциплине «Объектно-ориентированное программирование»
- •Ранняя история объектного подхода
- •Зарождение объектного программирования
- •Современные объектные технологии
- •Архитектура платформы Microsoft.Net
- •Оболочка .Net Framework
- •Свойства качественной программы
- •Критерии качества декомпозиции проекта
- •Понятие класса в ооп
- •Понятие объекта в ооп
- •Наследование
- •Инкапсуляция
- •Полиморфизм
- •Паттерны проектирования
- •Порождающие паттерны
- •Структурные паттерны
- •Паттерны поведения
-
Оболочка .Net Framework
- ориентирована на нужды программистов. Она поддерживает объектно-ориентированную разработку и в нее включено несколько тысяч стандартных классов. Программисты могут создавать собственные классы, как в прикладных приложениях (не могут обращаться к ресурсам компьютера напрямую, рассчитаны на непосредственное взаимодействие с пользователем), так и на системном уровне расширения стандартных возможностей .Net (переходный уровень, обеспечивает взаимодействие программ компьютерной системы с другими программами и с аппаратным обеспечением). Обычно в прикладных проектах разработки создаются новые классы в качестве наследников стандартных классов .Net.
Библиотека классов (фсл) охватывает множество областей, связанных с функционалом ОС, предоставляя программистам доступ к следующим возможностям:
1. Работа в сети 2. Обращение к базам данных 3. Организация безопасного функционирования
4. Система ввода и вывода 5. Готовые элементы пользовательского интерфейса, с помощью которых создаются компактные графические прикладные приложения, потому что они поддерживаются на системном уровне и нет необходимости включать их в свою программу.
6. Стандартные возможности, востребованные разработчиками, такие как: удобный набор базовых типов данных от строк до массивов, средства их гибкой обработки, а так же богатый набор стандартных функций.
7. Поддержка интерфейса программирования Win32 для совместимости с действдующими версиями Виндовс.
8. Библиотека классов Windows Forms. Она содержит формы графического интерфейса, элементы управления, что сильно упрощает создание графических оконных приложений.
-
Свойства качественной программы
Целью оценки качества является ее целенаправленное улучшение.
Под критерием качества понимается измеряемые числовые показатели, характеризующие степень выполнения объектом своего назначения. В общем случае критериями качества отражать обобщенную полезность анализируемого объекта. Эффективность технологий проектирования программных средств в первую очередь характеризуется трудоемкостью, длительность создания + достигаемым качеством программы при применении соответствующих технологий. Поэтому анализ критериев качества программных средств является основой для оценки эффективности технологий их проектирования.
Сточки зрения неинженерности (вычислительные) показателей:
Понимаемость – св-во программы минимизировать интеллектуальные усилия, необходимые для ее понимания. (информативность, модульность, осмысленность, структурированность, сложность)
Надежность – св–во программы работать без отказов в течение некоторого промежутка времени (корректность, устойчивость)
Сопровождаемость - св-во приложения минимизировать усилия для необходимости внесения в нее изменений, при которых одни части сохраняются, а другие преобразуются для получения нового результата (Модульность, сложность, изменяемость, тестируемость, переносимость, распараллеливание)
Эффективность – св-во приложения выполнять функции без лишних затрат ресурсов (распараллеливание, оптимизированность)
Функциональные критерии качества отражают основную специфику применения и степень соответствия программных средств их целевому назначению.
Переносимость- записи на разных ос
Информативность – пояснения программы в блок схемах, каждый блок должен быть пояснен
Осмысленность – упрощение программы
Структурированность – упорядочивание структуры программы
Устойчивость – за определенное число шагов получить желаемый результат
Изменяемость – возможность вносить изменения в код программы
Распараллеливаемость – возможность раздельного решения (раздел задач между ядрами процессора)
Оптимизированность – выбор наилучшего решения в конкретной ситуации
Модульность – декомпозиция на ряд внутренне связанных между собой модулей
Показатели качества разделяются на две группы:
Функциональные критерии качества отражают основную специфику применения и степень соответствия программы своему целевому назначению. В ряде случаев функциональные критерии могут быть сведены к некоторым показателям обобщённой эффективности применения программ. Функциональные критерии весьма различны и соответствуют разнообразию целевого назначения функций и областей применения программы. Они являются важнейшими и обязательными для каждой системы.
Конструктивные критерии качества программ более инвариантны (неизменны, независимы от некоторых условий) к их целевому назначению и основным функциям. К ним относят сложность программ, надёжность функционирования, используемые ресурсы, корректность программ и т.д. Некоторые КК могут быть важны с позиции прямого функционального назначения, определяемых программными средствами.