Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
трпп_2012.docx
Скачиваний:
63
Добавлен:
30.08.2019
Размер:
727.99 Кб
Скачать

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

Процесс разработки программного обеспечения с использованием объектно-ориентированного подхода включает четыре этапа:

  1. анализ;

  2. проектирование;

  3. эволюцию;

  4. модификацию.

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

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

Проектирование подразделяется на логическое и физическое.

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

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

Эволюция системы - это процесс поэтапной реализации и подключения классов к проекту.

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

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

Вопросы для самопроверки:

  1. Дайте определение понятия «объект».

  2. Дайте определение понятия «класс».

  3. Дайте определение понятия «объектно-ориентированное программирование».

  4. Что такое инкапсуляция?

  5. В чём заключается принцип наследования?

  6. Что такое полиморфизм? Проявления полиморфизма?

  7. Перечислите основные этапы разработки программных продуктов с использованием ООП. Охарактеризуйте их.

  8. Перечислите важнейшие принципы ООП.

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

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

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

Системы, поддерживающие диалоговые процессы, классифицируются на:

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

  • дескрипторные системы - формат ключевых слов сообщений;

  • тезаурусные системы - семантическая сеть дескрипторов, образующих словарь системы (аналог - гипертекстовые системы);

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

Наиболее просты для реализации и распространены диалоговые системы с жестким сценарием диалога, которые предоставлены в виде:

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

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

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

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

  • точки (момент, условие) начала диалога;

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

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

  • реакция программного продукта на завершение диалога.

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

Суть дескрипторного метода классификации заключается в следующем:

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

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

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

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

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

  • родо-видовые, отражающие включение некоторого класса объектов в более представительный класс;

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

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

Термин тезаурус был введен в XIII в. флорентинцем Б. Лотики для названия энциклопедии. С латыни это слово переводится как сокровище, запас, богатство. Тезаурус гипертекста состоит, из тезаурусных статей. Тезаурусная статья имеет заголовок и список заголовков родственных тезаурусных статей, где указаны тип родства и заголовки тезаурусных статей. Заголовок тезаурусной статьи совпадает с наименованием информационной статьи и является наименованием объекта, описание которого содержится в информационной статье.

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

Существуют следующие типы родства или отношений:

  • вид - род

  • род - вид

  • предмет - процесс

  • процесс - предмет

  • целое – часть

  • часть- целое

  • причина- следствие

  • следствие - причина и т. д.

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

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

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

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

  • языки команд (пользователь управляет системой, вводя соответствующие команды в тестовом режиме);

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

  • формы (пользователь заполняет формы или поля диалога, вводя данные в необходимые поля);

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

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

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

Цель создания интерфейса состоит в том, чтобы отобразить информацию настолько эффективно насколько это возможно для человеческого восприятия и структурировать отображение на дисплее таким образом, чтобы привлечь внимание к наиболее важным единицам информации. Необходимо минимизировать общую информацию на экране и представить только то, что является необходимым для пользователя. Лучший пользовательский интерфейс – это такой интерфейс, которому пользователь не должен уделять много внимания. Пользователь как бы смотрит сквозь него на свою работу. Такой интерфейс называют «прозрачным».

Графический интерфейс пользователя (Graphics User Interface - GUI) - является обязательным компонентом большинства современных программных продуктов, ориентированных на работу конечного пользователя. Работа пользователя осуществляется с экранными формами, содержащими объекты управления, панели инструментов с пиктограммами режимов и команд обработки. Графический интерфейс пользователя - графическая среда организации взаимодействия пользователя с вычислительной системой. Графический интерфейс позволяет управлять поведением вычислительной системы через визуальные элементы управления: окна, списки, кнопки, гиперссылки и т.д. К графическому интерфейсу пользователя предъявляются высокие требования как с чисто инженерной, так и с художественной стороны разработки, при его разработке

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

Основные принципы построения интерфейса:

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

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

  • Неизбыточность - это означает, что пользователь должен вводить только минимальную информацию для работы или управления системой. Например, пользователь не должен вводить незначимые цифры (00010 вместо 10). Аналогично, нельзя требовать от пользователя ввести информацию, которая была предварительно введена или которая может быть автоматически получена из системы. Желательно использовать значения по умолчанию, где только возможно, чтобы минимизировать процесс ввода информации.

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

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

  • Свобода действий пользователя - пользователь должен иметь контроль над системой и возможность изменить текущее состояние программы. Например, нажав не кнопку, может нажать кнопку «Отмена».

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

  • Эстетичный и минималистический дизайн («ничего лишнего»).

Вопросы для самопроверки:

  1. Классифицируйте системы, поддерживающие диалоговые процессы.

  2. Дайте определение понятия «интерфейс пользователя программного продукта».

  3. Дайте определение понятия «графический интерфейс пользователя программного продукта».

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