Киреенко Д.В. группа 9362 Контрольные вопросы к лекции №1 1. Что из себя представляет стандарт IDEF. Для чего он предназначен? Стандарт IDEF – средство функционального моделирования программных систем (ПС). Процесс моделирования IDEF – это совокупность методов, правил и процедур, предназначенных для построения функциональной модели системы какой-либо предметной области. Функциональная модель IDEF отображает структуру процессов функционирования системы и ее отдельных подсистем (выполняемые ими действия и связи между ними). Стандарт IDEF предназначен для решения задач моделирования программных систем, позволяет отображать и анализировать модели систем. Следующие нотации предназначены для: Нотация IDEF0 - для документирования процессов производства и отображения информации об использовании ресурсов на каждом из этапов проектирования систем; Нотация IDEF1 - для документирования информации о производственном окружении систем; Нотация IDEF2 - для документирования поведения системы во времени. 2. Что такое парадигма программирования? Что она определяет? Парадигма программирования — это совокупность идей и понятий, определяющих концептуализации, стиль написания компьютерных определяющий организацию программ, способ вычислений, и структурирование работы, выполняемой компьютером. Парадигма определяет стиль написания программы. Парадигма не связана с каким-то конкретным языком программирования (не определяется однозначно языком программирования). Практически все современные языки программирования в той или иной мере допускают использование различных парадигм. 3. Для чего по вашему мнению нужны парадигмы программирования? По моему мнению, парадигмы программирования нужны для того, чтобы упорядочить и структурировать программу, обеспечить возможность одновременной разработки большим коллективом, т.е. сделать программу удобной и понятной не только самому программисту, но и тем, кто также работает с этой программой или будут работать в дальнейшем. Парадигма делает программу ясной для вычислительной машины: для точного и быстрого исполнения. 4. Назовите основное достоинство и основной недостаток объектно-ориентированной парадигмы (по вашему мнению). Основным достоинством объектно-ориентированной парадигмы является возможность создавать расширяемые системы. Расширяемая система – система (некоторая существующая система), которую можно заставить работать с новыми компонентами, причем без внесения в нее каких-либо изменений. Компоненты могут быть добавлены на этапе выполнения. Основным недостатком объектно-ориентированной парадигмы является неэффективность в процессе распределения памяти. Динамическое связывание и проверка типа на этапе выполнения требуют по ходу работы информации о типе объекта. Такая информация хранится в дескрипторе типа, и он выделяется один на класс. Каждый объект имеет невидимый указатель на дескриптор типа для своего класса. Таким образом, в объектно-ориентированных программах требуемая дополнительная память выражается в одном указателе для объекта и в одном дескрипторе типа для класса 5. Какие при разработке объектно-ориентированных программ применяются методологии и в какой последовательности? Какие принципы при этом используются? При разработке объектно-ориентированных программ применяются следующие методологии: 1) Объектно-ориентированный анализ (ООА) – это методология ана- лиза предметной области, при которой требования к проектируемой системе воспринимаются с точки зрения классов и объектов, выявленных в предметной области; 2) Объектно-ориентированное проектирование (ООД) – это методоло- гия проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы; 3) Объектно-ориентированное программирование (ООП) – это мето- дология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования. Первые две составляющие объектного подхода получили название ООАП. При разработке объектно-ориентированных программ используются следующие принципы: Принцип декомпозиции – разбиение целого на составные элементы. В рамках объектного подхода рассматривают два вида декомпозиции: алгоритмическую и объектную. Объектная декомпозиция предполагает выделение основных содержательных элементов задачи, разбиение их на классы, определение свойств (данные) и поведения (операции) для каждого класса его, а также взаимодействия классов друг с другом. Принцип абстрагирования применяется при решении многих задач, т.к. любая модель позволяет абстрагироваться от реального объекта, подменяя его изучение исследованием формальной модели. Абстрагирование позволяет выделить основные элементы предметной области, обладающие одинаковой структурой и поведением, облегчает анализ и проектирование системы. Принцип иерархичности предписывает рассматривать процесс по- строения модели на разных уровнях абстрагирования (детализации) в рамках фиксированных представлений. Иерархия упорядочивает абстракции, помогает разбить задачу на уровни и постепенно ее решать по принципу "сверху – вниз" или "от общего – к частному", увеличивая детализацию ее рассмотрения на каждом очередном уровне. Принцип многомодельности утверждает, что никакая единственная модель не может с достаточной степенью адекватности описывать различные аспекты сложной системы, и допускающий использование нескольких взаимосвязанных представлений, отражающих отдельные аспекты поведения или структуры систем.