Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы с ответами 2018.doc.doc
Скачиваний:
14
Добавлен:
16.05.2023
Размер:
2.1 Mб
Скачать

33. Достоинства и недостатки объектно-ориентированного программирования.*

Преимущества ООП

Технология создания виртуальных объектов имеет много преимуществ. Программный код легко разобрать. К другим плюсам относятся:

  • При написании больших проектов без объектно-ориентированного программирования не обойтись. На написание не потребуется много времени.

  • Удобство. Программист создает сущность, а она работает с программой.

  • Повторять одно и то же не потребуется. Достаточно задать одну сущность и вставлять ее на протяжении всего кода в нужные места.

Виртуальный объект создается для выполнения определенных задач. Программы надежно защищены от атак извне. Это происходит за счет скрытия переменных внутри классов. Также объекты используют в других приложениях

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

  • Данные и операции вместе образуют определенную сущность, и они не «размазываются» по всей программе, как это нередко бывает в случае процедурного программирования.

  • Локализация кода и данных улучшает наглядность и удобство сопровождения программного обеспечения.

  • Инкапсуляция информации защищает наиболее критичные данные от несанкционированного доступа.

Минусы ООП

Объектно-ориентированное программирование не лишено недостатков. Среди недостатков выделяют:

  • Часть программ требует больших ресурсов оборудования.

  • На сложные объекты затрачивается больше оперативной памяти.

  • Изучение объектно-ориентированного программирования сложнее, чем функционального программирования. На него потребуется больше временных ресурсов.

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

34. CASE-технологиями называют реализованные в виде пп-ов технологические системы, ориентированные на создание сложных программных систем и поддержку их полного жц или его осн-х этапов. В наствремя CASE-технологии прочно вошли в практику программной индустрии. При этом они исп-ся не только для производства ПП, но и как мощный инструмент решения исследовательских и проектных задач. CASE-технологии яв-ся естественным продолжением эволюции всей отрасли разработки ПО. Традиционно выделяют 6 периодов, качественно отличающихся применяемой техникой и методами разработки ПО. В качестве инструментальных средств в эти периоды использовались:1ассемблеры, дампы памяти, анализаторы; 2компиляторы, интерпретаторы, трассировщики;3символические отладчики, пакеты программ;4системы анализа и управления исходными текстами;5CASE-средства анализа требований, проектирования спецификаций и структуры, редактирования интерфейсов (1-ая генерация CASE-1);6CASE-средства генерации исходных текстов и реализации интегрированного окружения поддержки полного ЖЦ разработки ПО (2-ая генерация CASE-II).ТО, CASE-средства яв-ся рез-ом естественного эволюционного развития отрасли технологических средств. CASE-технологии начали развиваться с целью преодоления ограничений методологии структурного программирования. Эта методология, несмотря на формализацию в составлении программ, характеризуется все же сложностью понимания, большой трудоемкостью и стоимостью использования, трудностью внесения изменений в проектные спецификации. Однако заложенные в ней принципы позволили развивать эту методологию и повысить ее эффективность за счет автоматизации наиболее рутинных этапов. автоматизация рутинных работ возможна только в случае их формализации. Формализация в структурном программировании оказалась наиболее приемлемой для автоматизации. CASE обладают следующими основными достоинствами:1улучшают качество создаваемого ПО за счет средств автоматического контроля, прежде всего, контроля проекта;2позволяют за короткое время создавать прототип будущей системы, давая возможность на ранних этапах оценить ожидаемый результат;3ускоряют процесс проектирования и разработки;4позволяют разработчику больше времени уделять творческой работе по созданию ПО, освобождая его от рутинной работы;5поддерживают развитие и сопровождение разработки (заметим, что этот аспект не затрагивался ни одной из рассмотренных нами технологий программирования);6поддерживают технологии повторного использования компонент разработки).