Информатика. Курс лекций. Громов Ю.Ю - 159 стр.

UptoLike

тестирования предназначена для того, чтобы удостовериться, что система действительно делает то, для чего она была пред-
назначена.
3. Традиционный нисходящий подход требует, чтобы анализ, разработка, реализация и тестирование выполнялись стро-
го последовательно. Модель с построением прототипов предусматривает применение более гибкого метода проб и ошибок.
Раздел 6.3
1. Главы романа следуют одна из другой в единой сюжетной линии, в то время как статьи энциклопедии в значительной
степени независимы друг от друга. Следовательно, между главами в романе существует больше связей, чем между статьями
в энциклопедии. Однако статьи в энциклопедии, вероятно, имеют более высокий уровень связности, чем главы в романе.
2. Явное связывание включает определение козырной масти, кто пасует, кто имеет право хода и т.д. Сведения, получен-
ные при объявлении ставок, например о том, у кого какие карты, можно рассматривать как неявную связь.
3. Это сложная задача. С одной стороны, можно было бы начать, поместив все в один модуль. В результате была бы
достигнута низкая степень связности при полном отсутствии связей между модулями. Если затем начать деление этого от-
дельного модуля на более мелкие модули, то в результате уровень связанности модулей будет повышаться. Отсюда мы мо-
жем заключить, что увеличение связности приводит к повышению связанности модулей задачи.
4. С другой стороны, предположим, что рассматриваемая задача естественным образом разделяется на три связных мо-
дуля, которые мы назовем А, В и С. Если исходный проект не будет отражать это естественное разделение (например, поло-
вина задачи А оказалась объединена в одном модуле с половиной задачи В и т.д.), то можно ожидать, что связность будет
низкой, а связанность модулейвысокой. В этом случае пересмотр структуры системы с целью выделения задач А, В и С в
отдельные модули, скорее всего, приведет к ослаблению связей между модулями, причем внутренняя связность модулей
будет возрастать.
5. Для того чтобы придать связи персональный характер, объект класса Room мог бы использовать имя игрока при об-
мене сообщениями с ним. Чтобы получить это имя, объекту класса Room потребуется послать соответствующий запрос объ-
екту класса PlayerRecord. Кроме того, объекту класса PlayerRecord может потребоваться передать объекту класса Room све-
дения об уровне игрока.
Раздел 6.4
1.
2.
3. В некотором смысле структуру цикла, представленную в нашем псевдокоде оператором while, можно рассматривать
как шаблон проектирования. Другим хорошим примером является модель "клиент/сервер".
4. Исследователи надеются, что структуры будут служить готовыми строительными блоками, из которых можно будет
собирать большие системы программного обеспечения подобно тому, как из готовых компонентов собираются различные
сложные приборы.
Раздел 6.5
1. Задача тестирования программного обеспечения состоит в обнаружении ошибок. Поэтому разработчики программно-
го обеспечения рассматривают как неудачный такой тест, который не позволил обнаружить новую ошибку.
2. Можно оценить степень разветвленности в модуле. Например, процедурный модуль, содержащий многочисленные
циклы и операторы if-then-else, вероятно, будет более подвержен ошибкам, чем модуль с простой логической структурой.
3. Анализ крайних значений предполагает, что тестирование программного обеспечения будет выполнено как с вход-
ным списком из 100 элементов, так и с пустым входным списком. Кроме того, полезно будет проверить, как поведет себя
программа, если входной список уже будет иметь требуемую упорядоченность.