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