- •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. Дайте определение модели жизненного цикла пп. Приведите каскадную и спиральную модели жц и дайте краткие пояснения. *
12.Дайте определение прочности модуля и приведите примеры модулей с разными классами прочности.*
Прочный модуль — это модуль, выполняющий несколько операций над одной и той же структурой данных, которая неизвестна вне этого модуля. Прочность модуля – это мера его внутренних связей. Чтобы определить прочность модуля, необходимо проанализировать выполняемую им функцию (или функции), с тем, чтобы решить, к какому из семи классов он относится. Классы эти специально определены для того, чтобы ввести количественную характеристику «доброкачественности» конкретных типов модулей.
1. Прочность по совпадению. Между предложениями модуля нет устойчивых смысловых связей. Такая ситуация возникает, если повторяющуюся группу предложений программы оформляют в виде отдельного модуля и используют его в разных контекстах.
Например модуль вычисления суммы , может использоваться в разных контекстах, и в зависимости от контекста изменяется и смысл связей между предложениями модуля.
Основная проблема с модулями такого класса – это необходимость тщательной проверки, не теряется ли смысл обработки данных при каждом новом использовании модуля.
2. Прочность по логике - при каждом вызове выполняется некоторая функция из набора функций модуля. Как следует из этого определения, прочный по логике модуль выполняет несколько функций, и требуемая в конкретный момент функция выбирается (определяется) вызывающим модулем.
Пример: библиотека стандартных программ, реализующих численные методы.
Основная проблема с модулями этого класса – это использование одного и того же сопряжения в разных программах. Правила этого сопряжения должны быть выдержаны как в вызывающей, так и вызываемой программах.
3. Прочность по классу – модуль выполняет несколько функций, отнесенных разработчиком к одному классу. Например: autoexec.bat.
Обычно это первые или последние модули в программных комплексах, на которые возлагаются операции инициализирования и завершения.
Для таких модулей основная проблема состоит в том, что они неявно связаны с другими модулями и при изменениях прочных по классу модулей часто возникают ошибки, когда эти связи не учитываются.
4. Процедурно-прочный модуль – выполняет несколько функций относящихся к одной функциональной процедуре решения задачи. Здесь единственная проблема состоит в том, что фрагменты программы, относящиеся к одной функции, могут быть не последовательными в тексте модуля, усложняются изменения в модуле.
5. Коммуникационно- прочный модуль. Это процедурно прочный модуль, в котором все функции модуля связаны по данным.
Те же проблемы, что и у процедурно – прочного модуля, но они менее острые, т.к. связь по данным в одной функции ускоряет связь предложений этойфункциии их разрыв менее вероятен, а иногда невозможен.
6. Информационная прочность – модуль выполняет несколько функций над одной и той же строкой данных, но каждая функция представляется отдельным входом в модуль.
7. Функциональная прочность – это когда модуль выполняет одну функцию – это то, к чему следует стремиться при проектировании модульной структуры ПО. Информационно - прочные модули следует рассматривать как физическое соединение нескольких функционально – прочных модулей.
Модуль может соответствовать описанию нескольких типов прочности. В этом случае принято его относить к высшему типу прочности, определению которой он удовлетворяет.