- •1. Раскройте содержание предварительного и детального внешнего проектирования по.
- •3. Назовите этапы проектирования логики программного модуля и дайте им характеристику.
- •Если некоторые операторы многократно используются в программе, то они оформляются в виде модуля.
- •4. Назовите цель и перечислите принципы модульного программирования.
- •5. В чем отличие отладки и тестирования программ?Какие методы применяются на этих этапах?
- •6. Перечислите основные стратегии тестирования. Какие известные Вам методы реализуют каждую из стратегий?
- •7. Дайте определения основных типов данных и назовите операции их обработки.
- •9. Дайте определения статических структур данных. Каковы их отличительные особенности?
- •10. Дайте определения полустатических структур данных. Каковы их отличительные особенности?
- •12. В чем отличия двумерного массива (матрицы) и таблицы?
- •13. В чем отличие стратегий тестирования и какие практические рекомендации можно дать по их применению?
- •14 Приведите компактную структуру в памяти эвм для хранения приведенной ниже матрицы:
- •15. Дайте определение и приведите пример линейного односвязного списка.
- •16. Дайте определение и приведите пример линейного двусвязного списка.
- •17. Укажите верные утверждения относительно таблицы решений.
- •18. Отметьте правильные утверждения относительно файла и обмена информацией между внешней и оперативной памятью:
- •19. Что такое таблица решений? Назовите этапы создания по, при выполнении которых могут быть применены такие таблицы.
- •20. Дайте определение жизненного цикла программного продукта и назовите его основные этапы при традиционной технологии разработки по.
- •21. Назовите основные преимущества case- технологий по сравнению с традиционной технологией проектирования.
- •22. В чем отличие моделей жизненного цикла (жц) программного продукта (пп) в традиционной и case- технологии разработки по?
- •23. Перечислите основные принципы структурного программирования.
- •24. Приведите последовательность работ при тестировании по. В чем заключается тестирование теста?
- •25. Какие схемы применяются при документировании проекта разработки по, согласно гост 19.701-90?
- •27. Отметьте правильные утверждения и дайте необходимые пояснения.
- •28. Приведите двумерную матрицу, которая в памяти эвм хранится в виде следующего нелинейного списка:
- •29. Назовите группы символов, которые используются в схемах проектов по согласно гост, и приведите примеры таких символов. 26 билет
- •30 Дайте краткие определения принципов, на которых базируется объектно-ориентированное программирование (ооп)?
- •31. Определите, какие из перечисленных ниже объектов относятся к типам данных, а какие - к структурам данных.
- •35. Пусть в таблице решений описаны n условий для входных данных и m действий программы, тогда кол-во столбцов в ней равно
- •26. Укажите назначение схем программ (что они отражают) и классы (группы) символов, применяемых в этих схемах (согласно гост 19.701-90)
- •36. Отнесите перечисленные символы к соответствующим классам:
- •32. Отметьте правильные утверждения относительно массива и таблицы:
- •33. Отметьте правильные утверждения относительно тестирования по методу эквивалентного разбиения:
- •34. Перечислите правильные утверждения:
3. Назовите этапы проектирования логики программного модуля и дайте им характеристику.
Программный модуль- это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт, пригодный для использования в описаниях процесса.
Этапы проектирования программного модуля:
кодирование алгоритма обработки и преобразования информации на каком-либо языке программирования
отладка модуля Отладкой называется процесс выявления природы ошибки программы и исправления ошибок, после того, как ошибки были обнаружены в процессе тестирования. Из всех этапов проектирования логики программных модулей этап отладки является наименее формализованным. В нем выделяют две задачи: определение природы ошибки; исправление ошибки. Решение первой из этих задач занимает около 95 % времени, затрачиваемых на отладку. Поэтому любые средства ускорения процесса определения местоположения ошибки в программ имеют важное значение.
тестирование модуля полное тестирование программы невозможно. Тест для любой программы будет обязательно неполным, то есть тестирование не гарантирует отсутствие всех ошибок. Стратегия проектирования тестов заключается в том, чтобы попытаться уменьшить эту неполноту насколько это возможно. При этом ключевым вопросом является следующий: какое подмножество всех возможных тестов имеет наивысшую вероятность обнаружения ошибок при ограниченных времени, трудовых затратах, стоимости, машинном времени и т. п.
Принципы:
сложность взаимодействия модуля с другими модулями должна быть меньше сложности его внутр структуры
хороший модуль снаружи проще, чем изнутри
хороший модуль проще использовать, чем построить
Для качественной характеристики модулей введены 7 классов точности и 5 видов сцеплений.
Классы точности:
прочность по совпадению
Если некоторые операторы многократно используются в программе, то они оформляются в виде модуля.
прочность по логике – при каждом вызове выполняется некоторая функция из набора функций модуля.
прочность по классу – модуль выполняет несколько функций, отнесенных разработчиком к одному классу.
процедурно-прочный модуль – модуль выполняет несколько функций, отнесенных к функциональной процедуре решения задачи.
коммуникационно-прочный модуль – нем все функции связаны по данным.
информационная прочность – модуль выполняет несколько функций над одной и той же процедурой.
функциональная прочность – модуль выполняет одну функцию.
Виды сцеплений:
Сцепление по содержимому –модуль ссылается на содержимое другого модуля
Сцепление по общей области модуль ссылается на одну и ту же глобальную структуру данных.
Сцепление по управлению – один модуль управляет функционированием другого.
Сцепление по формату – модуль ссылается на одну и ту же структуру данных.
Сцепление по данным – передаваемые параметры – простые, неструктурированные данные.
4. Назовите цель и перечислите принципы модульного программирования.
Модуль – это замкнутая программа, которую можно вызвать из другого модуля и самостоятельно откомпилировать. Другое определение: программный модуль – это любой фрагмент описания процесса, оформляемый как самостоятельный программный продукт, пригодный для использования в описаниях процесса.
Основная причина по которой разрабатываемое ПО разбивается на модули – борьба со сложностью ПО.Принципы модульного программирования позволяют получать программные комплексы минимальной сложности. Эти принципы следующие:а) усиление внутренних связей в каждом модуле (иначе принцип называется повышением прочности модуля); б) ослабление взаимосвязи между модулями (иначе этот принцип называется ослаблением сцепления модулей).
Модуль – это программа, обладающая тремя основными атрибутами: он выполняет одну или несколько функций;
модуль реализует некоторую логику (алгоритм).
используется в одном или нескольких контекстах.
При этом функция – это то, что делает модуль, а не то, как он это делает. А вот логика характеризует, как модуль выполняет свои функции. Контекст описывает конкретное применение.Принципы модульного программирования позволяют получать программные комплексы минимальной сложности. Эти принципы следующие:
а) усиление внутренних связей в каждом модуле (иначе принцип называется повышением прочности модуля);
б) ослабление взаимосвязи между модулями (иначе этот принцип называется ослаблением сцепления модулей).