Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
THI.doc
Скачиваний:
10
Добавлен:
23.11.2019
Размер:
223.74 Кб
Скачать

13 ) Понятие модуля. Критерии качества проектирования модулей и классов.

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

ключевые особенности:

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

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

3. Модуль имеет две логически различные части: интерфейс и реализацию. Интерфейс модуля есть набор описаний (прототипов) функций и данных модуля, доступных «извне» модуля. Реализация модуля есть собственно программный код функций и данных.

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

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

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

  • связность (прочность) — это мера внутренних связей модуля (класса), то есть связей между его элементами. Ошибкой проектирования является связность по случайному принципу, когда в одном классе или модуле собираются совершенно независимые абстракции. Использование одних и тех же общих данных определяет наличие информационных связей, а общее назначение процедур – логической связи. Наилучшей является функциональная связность, при которой все элементы класса или модуля тесно взаимодействуют в достижении определенной цели. Таким образом, чем выше связность, тем лучше;

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

  • достаточность интерфейса — наличие в классе или модуле всего необходимого для реализации логичного и эффективного поведения, то есть наличие всех минимально допустимых характеристик данной абстракции. Минимальная допустимость означает, что ни одна из характеристик не выразима через другие;

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

14 ) Проектирование интерфейса пользователя (определение, классификации)

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

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

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

Основные классификации ПИ

По способу формирования изображения:

  • символьный интерфейс пользователя (character user interface, CUI) основан на формировании изображения из набора предопределенных символов

  • графический интерфейс пользователя (graphical user interface, GUI) позволяет выводить произвольные изображения, используя векторную и растровую графику.

По типу управления различают :

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

  • визуальный интерфейс (WIMP – windows (окна), icons (значки), menus (меню) и pointers (указатели)) основан на управлении с помощью видимых пользователю элементов, таких как меню, списки, кнопки и т. п.

По активной стороне (кто является в диалоге ведущей стороной) выделяют :

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

  • интерфейс «Мастеров» (Wizards) используют для решения сложных, многоэтапных задач, при которых пользователь легко может ошибиться, упустить что-либо важное или в какой-то момент «утратить ориентацию» в последовательности действий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]