- •1.Назовите цель разбиения исходных данных программ на классы эквивалентности. Приведите пример выделения классов эквивалентности для какой-либо задачи (в виде дерева разбиения). * *
- •2.Дайте определение структуры данных. Приведите пример структуры данных. Дайте пояснения относительно ее частей.*
- •3.Дайте определение схемы. Приведите пример. Какие группы символов используются в Вашем примере (согласно гост 19.701-90).*
- •4.Дайте определение таблицы решений. Приведите пример.*
- •5.Дайте определение модели жизненного цикла пп. Приведите какую-либо модель жц и дайте необходимые пояснения.*
- •6.Дайте определение нотации. Приведите пример.*
- •7.Дайте определение спецификациям по, назовите известные Вам внешние
- •8. Назовите группы символы, которые используются в схемах проектов по согласно гост, и приведите примеры таких символов. *
- •11. Назовите нотации и приведите пример нотации для изображения структурных алгоритмов.*
- •12.Дайте определение прочности модуля и приведите примеры модулей с разными классами прочности.*
- •13. Дайте определение сцепления модулей и приведите примеры модулей с разными видами сцепления.*
- •14.Дайте определение технологии программирования. Какие технологии Вы знаете и к каким периодам относится появление этих технологий? *
- •15. Дайте определение объектно-ориентированного программирования (ооп). Назовите и охарактеризуйте основные свойства ооп.*
- •16. Блочно-иерархический подход к созданию программных систем.*
- •17. Проблемы разработки сложных программных систем.*
- •18. Дайте определение модели жизненного цикла (жц) программного продукта (пп). Каскадная модель жц пп. Область применения, достоинства и недостатки.*
- •19. Этапы жизненного цикла (жц) программных продуктов (пп). Схема жц пп.*
- •20. Функциональное и структурное тестирование программ: цели, отличия стратегий, рекомендации по применению.*
- •21. Этапы тестирования программ. Стадии тестирования в процессе разработки программного обеспечения. Методы, используемые на каждой стадии.*
- •22. Ручной контроль как метод тестирования.* *
- •23. Методы структурного тестирования. Общий недостаток методов.* //белый ящик
- •24. Методы функционального тестирования. Области применения.* //черный ящик
- •25. Основные положения метода эквивалентного разбиения.*
- •26. Основные положения метода граничных значений.*
- •27. Пошаговое тестирование модульных программ. Достоинства и недостатки подходов.*
- •28. Стихийное программирование. Этапы совершенствования архитектуры программ.*
- •29. Структурное программирование. Определение подхода, цель и принципы.*
- •30. Нисходящая стратегия разработки программ.*
- •31. Принципы модульного программирования.* *
- •32. Основные понятия объектно-ориентированного программирования.*
- •33. Достоинства и недостатки объектно-ориентированного программирования.*
- •35. Сравнение этапов жизненного цикла в case-технологиях и при традиционной разработке по.*
- •36. Спиральная модель жизненного цикла программных продуктов.*
- •37. Дайте определение модели жизненного цикла пп. Приведите каскадную и спиральную модели жц и дайте краткие пояснения. *
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поддерживают технологии повторного использования компонент разработки).