Студопедия — Основной характеристикой троса служит его разрывная крепость.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Основной характеристикой троса служит его разрывная крепость.

Ответственностью класса называют кратное неформальное перечисление основных

функций объектов класса. Ответственность класса обычно определяют на начальных этапах

проектирования, когда атрибуты и операции класса еще не определены. Эту информацию

отображают на диаграмме классов в специальных секциях условного изображения класса

7.7 В каких случаях используют диаграммы состояний объекта? Построите диаграмму

состояний для любого управляющего объекта.

Диаграммы состояний объекта. Под состоянием объекта применительно к диаграмме

состояний понимают ситуацию в жизненном цикле объекта, во время которой он: удовлетворяет некоторому условию, осуществляет определенную деятельность или ожидает некоторого события. Изменение состояния, связанное с нарушением условия или, соответственно, завершением деятельности или наступлением события называют переходом. Диаграммы состояний показывают состояния объекта, возможные переходы, а также события или сообщения, вызывающие каждый переход.

 

7. 9. Что понимают под диаграммой компонентов? Какую информацию она содержит? В каких случаях целесообразно строить диаграммы компонентов?

Диаграммы компонентов применяют при проектировании физической структуры

разрабатываемо программного обеспечения. Эти диаграммы показывают, как выглядит

программное обеспечение на физическом уровне, т. е. из каких частей оно состоит и как эти части связаны между собой.

Диаграммы компонентов оперируют понятиями компонент и зависимость. Под компонентами при этом понимают физические заменяемые части программного обеспечения, которые

соответствуют некоторому набору интерфейсов и обеспечивают их реализацию. По сути дела, это отдельные файлы различных типов: исполняемые (.ехе), текстовые, графические, таблицы баз данных и т. п., составляющие разрабатываемое программное обеспечение.

Кроме этого, на диаграмме компонентов допустимо уточнять зависимость между

компонентами, используя обозначения обобщения, ассоциации, композиции, агрегатирования и реализации.

Для программного обеспечения с архитектурой «клиент-сервер», диаграмму компонентов

можно использовать в качестве структурной схемы, определяющей архитектуру разрабатываемого

программного обеспечения, так как она позволяет показать связи по управлению частей системы (компонентов). Однако при проектировании такую схему необходимо уточнить, показав более подробно состав компонентов разрабатываемой системы.

 

7. 10. Какую информацию содержит диаграмма размещения? В каких случаях целесообразно использовать эти диаграммы?

Диаграмма размещения отражает физические взаимосвязи между программными и

аппаратными компонентами системы. Каждой части аппаратных средств системы, например, компьютеру или датчику, на диаграмме размещения соответствует узел. Соединения узлов означают наличие в системе соответствующих коммуникационных каналов. Внутри узлов указывают размещенные на данном оборудовании программные компоненты разрабатываемой программной системы, сохраняя указанные на диаграмме компонентов отношения зависимости.

С точки зрения диаграммы размещения локальная и глобальная сети - это тоже узлы, которые обладают некоторой спецификой.

 

8.1 Назовите основные типы интерфейсов. Чем характеризуется каждый из них? Какими средствами реализуется? Какие типы интерфейсов являются основными в наше время?

Примитивным называют интерфейс, который организует взаимодействие с пользователем в

консольном режиме. Обычно такой интерфейс реализует конкретный сценарий работы

программного обеспечения, например: ввод данных - решение задачи - вывод результата (рис. 8.3,

а). Единственное отклонение от последовательного процесса, которое обеспечивается данным

интерфейсом, заключается в организации цикла для обработки нескольких наборов данных (рис.

8.3, б). Подобные интерфейсы в настоящее время используют только в процессе обучения

программированию или в тех случаях, когда вся программа реализует одну функцию, например, в

некоторых системных утилитах.

Интерфейс-меню в отличие от примитивного интерфейса позволяет пользователю выбирать

необходимые операции из специального списка, выводимого ему программой. Эти интерфейсы

предполагают реализацию множества сценариев работы, последовательность действий в которых

определяется пользователем.

Различают одноуровневые и иерархические меню. Первые используют для сравнительно

простого управления вычислительным процессом, когда вариантов немного (не более 5-7), и они

включают операции одного типа, например, Создать, Открыть, Закрыть и т. п. Вторые - при

большом количестве вариантов или их очевидных различиях, например, операции с файлами и

операции с данными, хранящимися в этих файлах.

Интерфейсы со свободной навигацией также называют графическими пользовательскими

интерфейсами (GUI - Graphic User Interface) или интерфейсами WYSIWYG (What You See Is What

You Get - что видишь, то и получишь, т. е., что пользователь видит на экране, то он и получит при

печати). Эти названия подчеркивают, что интерфейсы данного типа ориентированы

на использование экрана в графическом режиме с высокой разрешающей способностью.

Объектно-ориентированные интерфейсы пока представлены только интерфейсом прямого

манипулирования. Этот тип интерфейса предполагает, что взаимодействие пользователя с

программным обеспечением осуществляется посредством выбора и перемещения пиктограмм,

соответствующих объектам предметной области. Для реализации таких интерфейсов также ис-

пользуют событийное программирование и объектно-ориентированные библиотеки.

 

8.2 Перечислите психофизические особенности человека, которые необходимо учитывать при проектировании интерфейсов. Какие ограничения это накладывает на интерфейс?

Особенности восприятия цвета. Цвет в сознании человека ассоциируется с эмоциональным фоном. Известно, что теплые цвета: красный, оранжевый, желтый человека возбуждают, а холодные: синий, фиолетовый, серый - успокаивают. Причем цвет для человека является очень сильным раздражителем, поэтому применять цвета в интерфейсе необходимо крайне осторожно.

Следует иметь в виду, что обилие оттенков привлекает внимание, но быстро утомляет.

Поэтому не стоит ярко раскрашивать окна, с которыми пользователь будет долго работать.

Необходимо учитывать и индивидуальные особенности восприятия цветов человеком, например, примерно каждый десятый человек плохо различает какие-либо цвета, поэтому в ответственных случаях необходимо предоставить пользователю возможность настройки цветов.

Особенности восприятия звука. В интерфейсах звук обычно используют с разными целями: для привлечения внимания, как фон, обеспечивающий некоторое состояние пользователя, как источник дополнительной информации и т. п. Применяя звук, следует учитывать, что большинство людей очень чувствительны к звуковым сигналам, особенно, если последние указывают на наличие ошибки. Поэтому при создании звукового сопровождения целесообразно предусматривать возможность его отключения.

Субъективное восприятие времена. Человеку свойственно субъективное восприятие

времени. Считают, что внутреннее время связано со скоростью и количеством воспринимаемой и обрабатываемой информации. Занятый человек обычно времени не замечает. Зато в состоянии ожидания время тянется бесконечно, что связано с тем, что в это время мозг оказывается в состоянии информационного вакуума. (К аналогичному состоянию приводит и усталость: информация поступает, но больше обрабатывается, а потому и ход времени замедляется.)

Доказано, что при ожидании более 1-2 с пользователь может отвлечься, «потерять мысль», что неблагоприятно сказывается на результатах работы и увеличивает усталость, так как каждый раз после ожидания много сил тратится на включение в работу.

Сократить время ожидания можно, заняв пользователя, но не отвлекая его от работы.

Например, можно предоставить ему какую-либо информацию для обдумывания. По возможности целесообразно выводить пользователю промежуточные результаты: во-первых, он будет занят их обдумыванием, во-вторых, по ним он сможет оценить будущие результаты и отменит операцию, если они его не удовлетворяют.

Известны попытки использования для «развлечения» пользователя анимации, например, в

Windows при копировании файлов демонстрируется «ролик» с летающими листочками. Однако следует иметь в виду, что, когда какую-либо анимацию смотришь первый раз, то это интересно, а когда в течение получаса наблюдаешь, как «летают» листочки при получении информации из Интернета, то это начинает раздражать.

Чтобы уменьшить раздражение, возникающее при ожидании, необходимо соблюдать основное правило: информировать пользователя, что заказанные им операции потребуют некоторого времени выполнения. Обычно для этого используют индикаторы оставшегося времени, анимированные объекты, как в Интернете, и изменение формы курсора мыши на песочные часы.

Очень важно точно обозначить момент, когда система готова продолжать работу. Обычно для этого используют значительные изменения внешнего вида экрана.

В конечном итоге взаимодействие пользователя с интерфейсом будет определяться не только физическими возможностями и особенностями человека по восприятию, обработке и запоминанию информации, представленной в различных формах, а также по выполнению им разнообразных действий, но и пользовательской моделью интерфейса.

 

8.3 Что понимают под термином «диалог»? Сколько диалогов может реализовывать программное обеспечение?

Под диалогом понимают регламентированный обмен информацией между человеком и компьютером, осуществляемый в реальном масштабе времени и направленный на совместное решение конкретной задачи: обмен информацией и координация действий. Каждый диалог состоит из отдельных процессов ввода-вывода, которые физически обеспечивают связь пользователя и компьютера.

В основу абстрактных диалогов должна закладываться идеология технологического процесса, для автоматизации которого предназначается программный продукт. Именно анализируя составляющие автоматизируемого технологического процесса, разработчик определяет сценарии диалогов, которые должны быть предусмотрены в программном обеспечении. Кроме сценариев, при проектировании абстрактных диалогов используют диаграммы состояний интерфейса или графы диалога.

Граф диалога — ориентированный взвешенный граф, каждой вершине которого сопоставлена конкретная картинка на экране (кадр) или определенное состояние диалога, характеризующееся набором доступных пользователю действий. Дуги, исходящие из вершин, показывают возможные изменения состояний при выполнении пользователем указанных действий. В качестве весов дуг указывают условия переходов из состояния в состояние и операции, выполняемые во время перехода.

Таким образом, каждый маршрут на графе соответствует возможному варианту диалога.

Причем представление диалога в виде графа в зависимости от стадии разработки может

выполняться с разной степенью детализации. По сути граф диалога - это граф состоянии

конечного автомата, моделирующего поведение программного обеспечения при воздействиях

пользователя. Для представления таких графов уже были введены две нотации: нотация диаграмм

состояний структурного подхода к разработке и нотация диаграмм состояний UML. Причем нотация UML является более мошной, так как позволяет использовать

обобщенные состояния. Поэтому, чтобы не вводить новую нотацию для представления графа диалога, будем использовать обозначения UML.

 

8.4 Назовите основные типы диалога и его формы. Какие модели используют для описания диалогов? Что служит исходными данными для проектирования диалогов?

Типы диалога. Тип диалога определяет, кто из «собеседников» управляет процессом обмена

информацией. Соответственно различают два типа диалога: управляемые программой и

управляемые пользователем.

Диалог, управляемый программой, предусматривает наличие жесткого, линейного или

древовидного, т. е. включающего возможные альтернативные варианты, сценария диалога,

заложенного в программное обеспечение. Такой диалог обычно сопровождают большим

количеством подсказок, которые уточняют, какую информацию необходимо вводить на каждом

шаге.

Диалог, управляемый пользователем, подразумевает, что сценарий диалога зависит от

пользователя, который применяет систему для выполнения необходимых ему операций. При этом

система обеспечивает возможность реализации различных пользовательских сценариев.

Формы диалога. Никакой диалог невозможен, если не существует языка, понятного

«собеседникам». Описание языка, на котором ведется диалог, включает определение его

синтаксиса - правил, определяющих допустимые конструкции (слова, предложения) языка или

его форму, и семантики - правил, определяющих смысл синтаксически корректных конструкций

языка или его содержание. В зависимости от вида используемых в конкретном случае синтаксиса

и семантики различают три формы диалога:

• фразовую,

• директивную,

• табличную.

Фразовая форма предполагает «общение» с пользователем на естественном языке или его

подмножестве. Содержание диалога в данной форме составляют повелительные,

повествовательные и вопросительные предложения и ответы на вопросы. Общение может

осуществляться в свободном формате, но возможна и фиксация отдельных фраз.

Организация диалога на естественном языке на современном уровне - задача не решенная, так

как естественный язык крайне сложен и пока не удается в достаточной степени формализовать его

синтаксис и семантику.

Чаще всего используют диалоги, предполагающие односложные ответы, например:

Программа 1 Tf0.46: Введите свой возраст (полных лет):

Пользователь: 48.

В этом случае программа содержит ограниченное описание как синтаксиса, так и семантики

используемого ограниченно-естественного языка. Для данного примера достаточно определить

синтаксис понятия «целое положительное число» и наложить ограничение на значение числа.

Однако существует некоторый опыт создания интерфейсов на базе ограниченного

подмножества предложений естественного языка в основном для интеллектуальных систем.

Синтаксис и семантика языков диалога, реализуемых в таких интерфейсах, достаточно сложны.

При обработке фраз в этих случаях оперируют понятием словоформа. Словоформа - отрезок

текста между двумя соседними пробелами или знаками препинания. Обработка словоформ вне

связи с контекстом называется морфологическим анализом.

Выделяют два метода морфологического анализа:

• декларативный - предполагает, что в словаре находятся все возможные словоформы каждого

слова, тогда анализ сводится к поиску словоформы в словаре. Данный метод обеспечивает

возможность обработки сообщений, состоящих из строчных и прописных букв в произвольной

комбинации, причем как латинского, так и русского или других алфавитов;

• процедурный - предполагает выделение в текущей словоформе основы, которую затем

идентифицируют.

После распознавания словоформ осуществляют синтаксический анализ сообщения, по

результатам которого определяют его синтаксическую структуру, т. е. выполняют разбор

предложения.

Далее выполняют семантический анализ, т. е. определяют смысловые отношения между

словоформами. При этом выявляют главные предикаты, определяющие смысл предложения.

Таким образом, интерфейс, реализующий фразовую форму диалога, должен: преобразовывать

сообщения из естественно-языковой формы в форму внутреннего представления и обратно,

выполнять анализ и синтез сообщений пользователя и системы, отслеживать и запоминать

пройденную часть диалога.

Основными недостатками фразовой формы при использовании подмножества естественного

языка являются:

• большие затраты ресурсов;

• отсутствие гарантии однозначной интерпретации формулировок;

• необходимость ввода длинных грамматически правильных фраз.

Основное достоинство фразовой формы состоит в относительно свободном общении с

системой.

Директивная форма предполагает использование команд (директив) специально

разработанного формального языка. Командой в этом случае называют предложение этого языка,

описывающее комбинированные данные, которые включают идентификатор инициируемого

процесса и, при необходимости, данные для него.

Команду можно вводить:

• в виде строки текста, специально разработанного формата, например, команды MS DOS,

которые вводятся в командной строке;

• нажатием некоторой комбинации клавиш клавиатуры, например, комбинации «быстрого

доступа» современных Windows-приложений;

• посредством манипулирования мышью, например, «перетаскиванием» пиктограмм;

• комбинацией второго и третьего способов.

Основными достоинствами директивной формы являются:

• сравнительно небольшой объем вводимой информации;

• гибкость - возможности выбора операции в данном случае ограничены только набором

допустимых команд;

• ориентация на диалог, управляемый пользователем;

• использование минимальной области экрана или неиспользование ее вообще;

• возможность совмещения с другими формами.

Недостатки директивной формы:

• практическое отсутствие подсказок на экране, что требует запоминания вводимых команд и

их синтаксиса;

• почти полное отсутствие обратной связи о состоянии инициированных процессов;

• необходимость навыков ввода текстовой информации или манипуляций мышью;

• отсутствие возможности настройки пользователем.

Исследования показали, что директивная форма удобна для пользователя-профессионала,

который обычно быстро запоминает синтаксис часто используемых команды или комбинации

клавиш. Основные достоинства формы (гибкость и хорошие временные характеристики)

проявляются в этом случае особенно ярко.

Табличная форма предполагает, что пользователь выбирает ответ из предложенных

программой. Язык диалога для табличной формы имеет простейший синтаксис и однозначную

семантику, что достаточно легко реализовать. Удобна эта форма и для пользователя, так как

выбрать всегда проще, чем вспомнить, что особенно существенно для пользователя-непрофессио-

нала или пользователя, редко использующего конкретное программное обеспечение. Однако применение табличной формы возможно не всегда: ее можно использовать только, если

множество возможных ответов на конкретный вопрос конечно. Причем, если количество

возможных ответов велико (более 20), то применение табличной формы может оказаться

нецелесообразным.

Достоинствами табличной формы являются:

• наличие подсказки, что уменьшает нагрузку на память пользователя, так как данная форма ориентирована не на запоминание, а на узнавание;

• сокращение количества ошибок ввода: пользователь не вводит информацию, а указывает на нее;

• сокращение времени обучения пользователя;

• возможность совмещения с другими формами;

• в некоторых случаях возможность настройки пользователем.

К недостаткам данной формы относят.

• необходимость наличия навыков навигации по экрану;

• использование сравнительно большой площади экрана для изображения визуальных

компонентов;

• интенсивное использование ресурсов компьютера, связанное с необходимостью постоянного обновления информации на экране.

 

8. 7. Перечислите основные компоненты графических пользовательских интерфейсов. В каких случаях используют каждый из них?

Окна. Окно - обычно прямоугольная, ограниченная рамкой область физического экрана. Окно

может менять размеры и местоположение в пределах экрана. Все окна можно разделить на 5 категорий:

• основные окна (окна приложений);

• дочерние или подчиненные окна;

• окна диалога;

• информационные окна;

• окна меню.

Окно приложения Windows обычно содержит: рамку, ограничивающую рабочую область окна, строку заголовка с кнопкой системного меню и кнопками выбора представления окна и выхода, строку меню, пиктографическое меню (панель инструментов), горизонтальные и вертикальные полосы прокрутки и строку состояния.

Информационные окна бывают двух типов: окна сообщений и окна помощи. Окна сообщений, кроме заголовка с кнопкой системного меню, обычно содержат текст сообщения и одну или несколько кнопок реакции пользователя, например, кнопки Yes и No или кнопки Yes, No и Cancel.

Окно помощи имеет более сложную структуру: оно может содержать меню, полосы прокрутки и информационная область, т. е. по структуре оно аналогично окну приложения, но отличается от него тем, что имеет узко специальное назначение, обеспечивая навигацию по справочной

информации.

Окна меню Windows можно использовать как открывающиеся панели

иерархического меню или как отдельные контекстные меню. Каждой строке окна меню может

соответствовать:

• команда;

• меню следующего уровня, что обозначается стрелкой;

• окно диалога, что обозначается тремя точками.

Кроме того, в некоторых строках добавляется указание клавиш быстрого вызова..

Пиктограммы. Пиктограмма представляет собой небольшое окно с графическим

изображением, отражающим содержимое буфера, с которым она связана. Различают:

• программные пиктограммы;

• пиктограммы дочерних окон;

• пиктограммы панели инструментов;

• пиктограммы объектов.

Программными пиктограммами, которые связаны с соответствующей программой, управляет операционная система. Так, можно «свернуть» окно приложения в пиктограмму на панели задач Windows или «развернуть» его обратно «на рабочий стол».

Аналогично многодокументная программная система управляет пиктограммами дочерних

окон, обеспечивающими доступ к различным документам, одновременно обрабатываемым

программной системой.

Пиктограммы панели инструментов обычно дублируют доступ к соответствующим функциям через меню, обеспечивая их быстрый вызов.

Пиктограммы объектов используют для прямого манипулирования этими объектами.

Как правило, все пиктограммы можно перемещать мышью. Кроме того, для облегчения

работы с пиктограммами обычно используют «всплывающие» подсказки, которые появляются, если пользователь в течение некоторого времени удерживает мышь над пиктограммой панели инструментов.

Прямое манипулирование изображением. Прямое манипулирование изображением - это

возможность замены команды воздействия на некоторый объект физическим действием в

интерфейсе, осуществляемым с помощью мыши. При этом любая область экрана рассматривается

как адресат, который может быть активизирован при подведении курсора и нажатии клавиши

мыши.

По реакции на воздействие различают следующие типы адресатов:

• указание и выбор (развертывание пиктограмм, определение активного окна и т. п.);

• буксировка и «резиновая нить» (перенос объекта или его границ);

• экранные кнопки и «скользящие» барьеры (выполнение дискретных или циклически

повторяемых действий, например, выполнение некоторой операции или рисование,

подразумеваемых при активизации определенной области экрана - кнопки).

Не последняя роль в графических интерфейсах отводится динамическим визуальным сигналам,

которые представляют собой изменение изображения на экране. Основная цель этих сигналов

заключается в предоставлении пользователям дополнительной информации. Простейшим

примером такого сигнала является изменение изображения курсора мыши при выполнении кон-

кретных операций, например, изображение его в форме песочных часов во время обработки.

Другой пример - изменение изображения кнопки при нажатии на нее. Хотя в отличие от

анимационных интерфейсов прямого манипулирования эти визуальные сигналы играют в

графических интерфейсах вспомогательную роль, обеспечивая более реалистическую картинку.

Компоненты ввода-вывода. Как уже упоминалось, в окнах приложения могут размещаться

специальные компоненты, используемые для ввода-вывода информации. Интерфейс практически

любого современного программного обеспечения включает несколько меню: основное или

«ниспадающее» иерархическое меню, пиктографические меню (панели инструментов) и

контекстные меню для разных ситуаций. Любое из указанных меню представляет собой

компонент ввода-вывода, реализующий диалог с пользователем, используя табличную форму.

Иерархические меню используют, чтобы организовать выполняемые программным

обеспечением операции, если их число превышает 5-8 (6 в соответствии с рекомендациями фирмы IBM), и обеспечить пользователю их обзор. Панели инструментов и контекстные меню применяют для обеспечения быстрого доступа к часто используемым командам, обеспечивая пользователю возможность относительно свободной навигации.

Кроме меню в интерфейсе используют и другие компоненты ввода-вывода, которые можно разделить на три группы в соответствии с тем, какую форму диалога они реализуют: фразовую, табличную или смешанную. Директивная форма диалога обычно предполагает ввод комбинаций клавиш или перемещение пиктограмм, а потому не требует использования компонентов ввода-вывода.

 

8.9 Какие интеллектуальные компоненты пользовательских интерфейсов существуют в

настоящее время? Каковы их основные назначения? В каких случаях их целесообразно применять?

Советчики. Советчики представляют собой форму подсказки. Обычно их можно вызвать с помощью меню справки, командной строки окна или из всплывающего меню. Советчики помогают пользователям в выполнении конкретных задач, но только, если пользователь представляет, что ему нужно сделать. Например, пользователь, работающий в Microsoft Word, собирается вставить в документ рисунок, но не знает как. Он активизирует Помощника-Скрепку и вводит вопрос в специальное поле. Справочная система анализирует вопрос и формирует список тем, косвенно связанных с интересующей пользователя, в расчете, что пользователь сам выберет нужную справку.

Мастера. Программу-мастер используют для выполнения общераспространенных, но редко выполняемых отдельным пользователем задач, таких, как установка программ или оборудования.

Выполнение подобных действий требует от пользователя принятия сложных взаимосвязанных решений, последовательность которых и диктует программа-мастер. Интеллектуальные Мастера способны на каждом шаге демонстрировать в окне просмотра результаты ответов пользователя на предыдущие вопросы, помогая последнему сориентироваться в ситуации.

Мастер реализует последовательный или древовидный сценарий диалога, поэтому его

целесообразно использовать для решения хорошо структурированных, последовательных задач. При этом необходимо:

• предоставить пользователю возможность возврата на предыдущий шаг;

• предусмотреть возможность отмены работы Мастера;

• нумеровать шаги и сообщать пользователю количество шагов Мастера, особенное, если таких шагов больше трех;

• пояснять пользователю каждый шаг;

• по возможности демонстрировать результат уже выполненных операций на каждом шаге.

Программные агенты. Наибольший интерес на настоящий момент представляют программные агенты, используемые для выполнения рутинной работы. Такой программный агент является элементом программного обеспечения, которому пользователь может передать часть своих обязанностей. Основными функциями Агентов-Помощников являются: наблюдение, поиск и управление. Различают:

• программы-агенты, настраиваемые на выполнение указанных задач;

• программы-агенты, способные обучаться, например, фиксируя действия пользователя (по типу магнитофона).

Создание агентов последнего типа, например, доступно через механизм макросов Microsoft Office.

Большинство интересных и достаточно сложных программных агентов в настоящее время

«живет» в Интернете, где и можно найти последнюю информацию по данной теме.

 

9.1 Что является целью тестирования программ? Почему?

Тестирование - это процесс выполнения программы, целью которого является выявление ошибок.

Никакое тестирование не может доказать отсутствие ошибок в хоть сколько-нибудь сложном программном обеспечении. Для такого программного обеспечения выполнение полного тестирования, т. е. задания всех возможных комбинаций исходных данных, становится невозможным, а, следовательно, всегда имеется вероятность того, что в программном обеспечении остались не выявленные ошибки. Однако соблюдение основных правил тестирования и научно обоснованный подбор тестов может уменьшить их количество.

 

9.2 Перечислите известные вам виды контроля качества программного обеспечения. На каких этапах применяют каждый их них?

1. Контроль обращений к данным

• Все ли переменные инициализированы?

• Не превышены ли максимальные (или реальные) размеры массивов и строк?

• Не перепутаны ли строки со столбцами при работе с матрицами?

• Присутствуют ли переменные со сходными именами?

• Используются ли файлы? Если да, то при вводе из файла проверяется ли завершение файла?

• Соответствуют ли типы записываемых и читаемых значений?

• Использованы ли нетипизированные переменные, открытые массивы, динамическая память?

Если да, то соответствуют ли типы переменных при «наложении» формата? Не выходят ли индексы

за границы массивов?

2. Контроль вычислений

• Правильно ли записаны выражения (порядок следования операторов)?

• Корректно ли выполнены вычисления над неарифметическими переменными?

• Корректно ли выполнены вычисления с переменными различных типов (в том числе с

использованием целочисленной арифметики)?

• Возможно ли переполнение разрядной сетки или ситуация машинного нуля?

• Соответствуют ли вычисления заданным требованиям точности?

• Присутствуют ли сравнения переменных различных типов?

3. Контроль передачи управления

• Будут ли корректно завершены циклы?

• Будет ли завершена программа?

• Существуют ли циклы, которые не будут выполняться из-за нарушения условия входа?

Корректно ли продолжатся вычисления?

• Существуют ли поисковые циклы? Корректно ли отрабатываются ситуации «элемент найден»

и «элемент не найден»?

4. Контроль межмодульных интерфейсов

• Соответствуют ли списки параметров и аргументов по порядку, типу, единицам измерения?

• Не изменяет ли подпрограмма аргументов, которые не должны изменяться?

• Не происходит ли нарушения области действия глобальных и локальных переменных с

одинаковыми именами?

 

9.3 Какие подходы к тестированию вы знаете? В чем они заключаются?

Сквозные просмотры. Сквозной просмотр, как и инспекция, представляет собой набор

способов обнаружения ошибок, осуществляемых группой лиц, просматривающих текст

программы. Такой просмотр имеет много общего с процессом инспектирования, но отличается

процедурой и методами обнаружения ошибок. Группа по выполнению сквозного контроля

состоит из трех-пяти человек: председатель или координатор, секретарь, фиксирующий все ошибки, специалист по тестированию, программист и независимый эксперт. Сквозной просмотр предполагает выполнение следующих процедур:

• участникам группы заранее выдают листинг программы и спецификацию на нее;

• участникам заседания предлагают несколько тестов;

• участники заседания мысленно выполняют каждый тест в соответствии с логикой

программы, при этом состояние программы (значения переменных) отслеживается на бумаге или доске;

• при необходимости программисту задают вопросы о логике проектирования и принятых

допущениях.

В большинстве сквозных просмотров при выполнении самих тестов находят меньше ошибок, чем при опросе программиста.

Проверка за столом. Исторически данный метод ручного тестирования появился первым,

так как он не требует наличия группы специалистов. Это - проверка исходного текста или

сквозные просмотры, выполняемые одним человеком, который читает текст программы,

проверяет его на наличие возможных ошибок по специальному списку часто встречающихся ошибок и «пропускает» через программу тестовые данные. Исходя из принципов тестирования, проверку за столом должен проводить человек, не являющийся автором программы. Метод наименее результативен, так как проверка представляет собой полностью неупорядоченный процесс, при ней отсутствует обмен мнениями и здоровая конкуренция.

Оценка программ. Этот метод непосредственно не связан с тестированием, но его

использование также улучшает качество программирования. Его используют для анонимной оценки программы в терминах ее общего качества, простоты эксплуатации и ясности. Цель метода - обеспечить сравнительно объективную оценку и самооценку программистов.

Такая оценка выполняется следующим образом. Выбирается программист, который должен выполнять обязанности администратора процесса. Администратор набирает группу от шести до 20-ти участников, которые должны заниматься разработкой сходных программ. Каждому участнику предлагается представить для рассмотрения две программы, с его точки зрения - наилучшую и наихудшую. Отобранные программы случайным образом распределяются между участниками. Им дают по четыре программы -две наилучшие и две наихудшие, но не говорят, какие программы плохие, а какие - хорошие. Программист просматривает эти программы и заполняет анкету, в которой оценивает качество программ по семибалльной шкале.

После этого результаты оценки сверяют, а проверяющий дает общий комментарий и

рекомендации по улучшению программ.

 

9.4 Почему функциональное тестирование называют «тестированием по методу черного ящика»? Перечислите методы функционального тестирования и определите, в каких случаях следует использовать каждый из них.

Одним из способов проверки программ является тестирование с управлением по данным или по принципу «черного ящика». В этом случае программа рассматривается как «черный ящик», и цельютестирования является выяснение обстоятельств, в которых поведение программы не соответствует спецификации.

Для обнаружения всех ошибок в программе, используя управление по данным, необходимо выполнить исчерпывающее тестирование, т. е. тестирование на всех возможных наборах данных. Для тех же программ, где исполнение команды зависит от предшествующих ей событий, необходимо проверить и все возмоные последовательности. Очевидно, что проведение исчерпывающего тестирования для подавляющего большинства случаев невозможно. Поэтому обычно выполняют «разумное» или «приемлемое» тестирование, которое ограничивается прогонами программы на

небольшом подмножестве всех возможных входных данных. Этот вариант не дает гарантии отсутствия отклонений от спецификаций.

Правильно выбранный тест




<== предыдущая лекция | следующая лекция ==>
lt;тип возвращаемого значения>. | Изготовление тросов

Дата добавления: 2015-09-15; просмотров: 980. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Studopedia.info - Студопедия - 2014-2024 год . (0.016 сек.) русская версия | украинская версия