Компьютерные системы

 

Содержание

Введение…………………………………………………………………………3

1 Интерфейсы компьютерных систем…………………………………………4

1.1 Эволюция пользовательских интерфейсов……………………………….4

1.2 Актуальность  интерфейсов....……………………………………………....5

1.3 Понятие интерфейса  пользователя………………………………………...6

1.4 Виды интерфейсов……………………………...…………………………...8

2 Разработка пользовательского интерфейса «Языковая школа»……..…...10

2.1 Подключение базы данных к проекту Delphi………….....……………10

2.2 Интерфейсное управление данными..……………..……………………11

2.3 Диалоги загрузки графических файлов…………….…………………..12

2.4 Главное и контекстное меню...……………………..……………………..14

2.5 Создание сортировки.……………………………..……………………….19

2.5 Создание фильтрации для записей таблицы…………….……………….21

2.7 Поиск и работа с записями набора данных……………..………………25

Заключение…………………………………………………………………...…29

Список использованной литературы...………………...……………………...30

Приложение  А…………………………………………………………………..28

Приложение  Б…………………………………………………………………...29

 

Введение

 

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

Тема курсовой работы «Разработка пользовательского интерфеса для языковой школы».

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

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

− обеспечивать получение общих или детализированных данных об учащихся в языковой школе;

− позволять  легко изменить данные учащегося;

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

Среда разработки - Borland Delphi 7 и система управления базами данных Microsoft Access 2007. Это универсальные инструменты разработки, которые применяются во многих областях программирования.

 

1 Интерфейсы компьютерных систем

    1. Эволюция пользовательских интерфейсов

 

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

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

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

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

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

Распознавание человеческой речи на сегодняшний день уже работает довольно неплохо и подтверждением того является голосовой поиск Google – как один из примеров. Ну а поскольку  система преобразования текста в  голос существует уже довольно давно и так же совершенствуется, вместе и развитием искусственного интеллекта – не за горами тот день, когда компьютер и человек станут просто собеседниками. Распознавание визуальных образов с видеокамеры – также изобретение не новое, и существует уже не меньше десятка лет. Сегодня, такой принцип взаимодействия пользователя и компьютера так же активно развивается как раз в контексте пользовательских интерфейсов. И еще один из управления способов устройством – это изменение его пространственного положения. Это действительно технология будущего, которую пока еще не до конца смогли оценить.

 

    1. Актуальность интерфейсов

 

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

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

  • интерфейса  на уровне взаимодействия пользователя  с клиентской программой; 
  • интерфейса  на уровне взаимодействия клиентской машины с машиной сервером; 
  • интерфейса на уровне взаимодействия сервера со сторонней  программой или c другим сервером.

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

Таким образом, первое, с чем сталкивается пользователь, начиная работать с приложением, это его интерфейс. Непродуманный, неудачный интерфейс может свести на нет все его достоинства. Сказанное  относится, как к локальным приложениям, так и к приложениям, обеспечивающим работу пользователей в сети. О важности проблем интерфейса, можно отметить следующий факт. Американский национальный институт стандартов (ANSI) имеет по данному направлению специальную консультативную группу - Комитет по стандартам интерфейса Человек-Компьютер (The Human-Computer Interface Standard Committee). Существуют подобные организации не только в США, но и в других странах, более того, имеются также международные исследовательские группы, работающие в этом направлении, например Международный консультативный комитет по телеграфии и телефонии (International Telegraph and Telephone Consultation Committee), который изучает особенности интерактивных элементов интерфейса.

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

    1. Понятие  интерфейса пользователя

 

 

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

Интерфейс - в широком смысле слова, это способ (стандарт) взаимодействия между объектами. Интерфейс в техническом смысле слова задаёт параметры, процедуры и характеристики взаимодействия объектов. Различают:

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

 

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

В основном пользователь генерирует сообщения  следующих типов:

  • запрос  информации;
  • запрос  помощи;
  • запрос  операции или функции;
  • ввод  или изменение информации;

 

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

Интерфейс пользователя компьютерного приложения включает:

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

 

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

Это не только экран, который видит пользователь. К этим элементам относятся:

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

 

    1. Виды интерфейсов

 

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

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

  • Командный интерфейс. Командный интерфейс называется так по  тому, что в этом виде интерфейса  человек подает "команды" компьютеру, а компьютер их выполняет и  выдает результат человеку. Командный интерфейс реализован в виде пакетной технологии и технологии командной строки.
  • WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Характерной  особенностью этого вида интерфейса  является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов - меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP - интерфейс.
  • SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Этот вид  интерфейса наиболее приближен  к обычной, человеческой форме  общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

 

2 Разработка пользовательского  интерфейса «Языковая школа»

 

2.1 Подключение базы данных к проекту Delphi

 

Включим в проект новую форму Data Module (File - New - Data Module), которую также желательно сразу сохранить, задав при этом новое имя юниту, например DataUnit. Чтобы избежать трудностей в частом написании длинного имени объекта, изменим его свойство Name на DataM в объектном инспекторе. Далее поместим на эту форму следующие компоненты:

  • ADOConnection (в палитре компонентов на вкладке ADO);
  • ADOTable (в палитре компонентов на вкладке ADO);
  • DataSource (в палитре компонентов на вкладке Data Access).


 

 

 

 

 

 

 

 

 

Рисунок 1 –  Форма DataM

 

Поместите на форму DBGrid с вкладки DataControls:


 

 

 

 

 

 

 

Рисунок 2 – Установка  компонента DBGrid

Главное, что  нам нужно сделать, чтобы таблица  базы отображалась на экране, это указать  в свойстве DataSource компонента DBGrid значение UchenikiSource. Если все предыдущие настройки проделаны верно, то ячейки DBGrid должны отобразить данные базы.

 

2.2 Интерфейсное управление данными

 

За внешнее  представление данных в приложении и управлении ими отвечают интерфейсные визуальные компоненты, расположенные  на вкладке Data Controls.

В таблице видимыми для пользователей были оставлены столбцы «Фамилия», «Имя», «Отчество» и «Домашний телефон». Теперь откроем в программе доступ к оставшимся полям, используя компоненты DBEdit, DBLookupComboBox, DBImage и DBNavigator.


 

 

 

 

 

 

 

 

Рисунок 3 –  Создание компонентов

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

  • Личные данные (GroupBox1);
  • Контактные данные (GroupBox2);
  • Адрес (GroupBox3);
  • Преподаватель (GroupBox4);

Для панели «Преподаватели» также необходимо создать панель с полями дополнительной информации по аналогии. Поместим компонент Panel2 с заголовком в правой части формы (Align – alRight), также переименуем его в PrepodaBox и выделим в нем отдельные тематические блоки благодаря использованию GroupBox6 («Личные данные»), GroupBox7 («О преподавателе») и GroupBox8 («Адрес») и две кнопки BitBtn.

 


 

 

 

 

 

 

 

 

Рисунок 4 –  Панель «Преподаватель»

В свойстве Caption кнопок BitBtn1 и BitBtn2 пропишите соответственно «Загрузить фотографию» и «Удалить фотографию». Предстоящая с ними работа будет рассмотрена позже.

 

2.3 Диалоги загрузки графических файлов

 

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

Вернемся к созданным  нами в предыдущей работе кнопкам  «Загрузить фотографию» и «Удалить фотографию». Переименуем компоненты в LoadFotoBtn и DelFotoBtn, изменив соответственно значения их свойства Name, и сделаем DelFotoBtn недоступной, установив свойство Enabled в False. Теперь можно приступать к программированию. Вызовем обработчики событий для данных кнопок, дважды щелкнув по ним самим или по строке OnClick на вкладке Events объектного инспектора. В появившемся редакторе пропишем следующий код:

procedure TMainForm.LoadFotoBtnClick(Sender: TObject);

begin

if OpenPictureDialog1.Execute then begin

DataM. UchenikiTable.Edit;

DataM.UchenikiTableFoto.LoadFromFile(OpenPictureDialog1.FileName);

DataM. UchenikiTable.Post;

DelFotoBtn.Enabled := true;

end;

end;


 

 

 

 

 

Рисунок 5 –  Отображение диалогового окна.

 

Этот метод отображает на экране диалоговое окно открытия графических  файлов.

Но прежде чем  загружать в базу данных фотографии, необходимо установить ее в режим редактирования процедурой Edit, которая принадлежит объекту UchenikiTable в модуле DataM. Далее выбранный файл с именем, определенным в свойстве OpenPictureDialog1.FileName, методом LoadFromFile, который имеется у всех графических объектов, заносится в поле Foto базы данных. Фиксация изменений осуществляется процедурой Post, а последнее действие переводит кнопку DelFotoBtn в доступное для нажатия состояние. Результат можно увидеть в DBImage1: там появилось изображение.

Теперь реализуем возможность  удаления фотографии. Создадим обработчик события DelFotoClick:

procedure TMainForm.DelFotoBtnClick(Sender: TObject);

begin

if MessageBox(0,PChar('Вы действительно хотите удалить фотографию

записи "'+DataM.AllBooksTableFamiliya_P.AsString + ' ' +

DataM.AllBooksTableTheImya_P.AsString + ' ' +

DataM.AllBooksTableOtchestvo_P.AsString +'"?'), 'Внимание!',

MB_YESNOCANCEL + MB_ICONQUESTION) = id_YES then

begin

DataM.PrepodaTable.Edit;

DataM. PrepodaTableFoto.Clear;

DataM. PrepodaTable.Post;

DelFotoBtn.Enabled := false;

LoadFotoBtn.SetFocus;

end;

end;

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

 

2.4 Главное и контекстное меню

 

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

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

Поместим на форму компонент MainMenu с вкладки Standard, после чего дважды щелкнем по нему левой кнопкой мыши.

В рассматриваемой  базе данных имеется две таблицы Ucheniki и Prepoda, содержащие телефонные номера двух категорий, которые мы и запишем в качестве подменю пункта «Справочники» с заголовками «Ученики» и «Преподаватели» соответственно. Поменяем значения свойства Name этих записей на Prepoda_Item и Ucheniki_Item.


 

 

 

 

 

 

 

Рисунок 6 –  Конструктор меню

Напишем обработчик события OnClick для пункта Prepoda_Items:

procedure TForm1.Prepod_ItemClick(Sender: TObject);

begin

DBGrid1.DataSource := DataM.PrepodaSource; //присваиваем нужный источник

GroupBox2.Visible := true;

  //отображаем панель фильтра

  Panel1.Visible := false;

  Panel2.Visible := true;  

  //если открыт справочник AllBooks, то

  if DBGrid1.DataSource = DataM.PrepodaSource then

    begin

      //показать панель для AllBooks

      Panel1.Visible := false;

      //скрыть панель для OrgsBooks

      Panel2.Visible := true;

    end;

DBGrid1.DataSource := DataM.PrepodaSource;

LoadFotoPop_Item.Visible := true;

DelFotoPop_Item.Visible := true;

SortBySur_Item.Visible := true;

  SortByName_Item.Visible := true;

  SortByPat_Item.Visible := true;

  SortOrgsByNaz_Item.Visible := true;

  SortByKlass_Item.Visible := false;

end;

 

Аналогичную процедуру  нужно создать для следующего пункта меню - «Ученики»:

procedure TForm1.Ucheniki_ItemClick(Sender: TObject);

begin

DBGrid1.DataSource := DataM.UchenikiSource; //присваиваем нужный источник

GroupBox2.Visible := true;

//отображаем панель фильтра

  Panel1.Visible := true;

  Panel2.Visible := false;

 

  //если открыт справочник AllBooks, то

  if DBGrid1.DataSource = DataM.UchenikiSource then

    begin

      //показать панель для AllBooks

      Panel1.Visible := true;

      //скрыть панель для OrgsBooks

      Panel2.Visible := false;

    end;

DBGrid1.DataSource := DataM.UchenikiSource;

LoadFotoPop_Item.Visible := false;

DelFotoPop_Item.Visible := false;

SortBySur_Item.Visible := true;

  SortByName_Item.Visible := true;

  SortByPat_Item.Visible := true;

  SortOrgsByNaz_Item.Visible := true;

  SortByKlass_Item.Visible := true;

 

На очереди  последний пункт – «Выход»:

procedure TMainForm.Exit_ItemClick(Sender: TObject);

begin

Close;

end;

 

Создадим еще  один пункт «Правка» с такими подменю:

 


 

 

 

 

 

Рисунок 7 - Создание пункта «Правка».

Переименуем свойство Name этих элементов меню следующим образом:

  • Правка – Edit_Menu;
  • Добавить запись – Add Item;
  • Редактировать запись – Edit_Item;
  • Сохранить изменения – Save_Item;
  • Отменить изменение – CancelEdit_Item;
  • Удалить запись – Del_Item;

Теперь вернемся к непосредственному программированию. Реализуем доступ к методам таблиц через обработчики событий OnClick перечисленных выше пунктов меню.

Для Add_Item необходимо прописать:

procedure TForm1.Add_ItemClick(Sender: TObject);

begin

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

if DBGrid1.DataSource = DataM.UchenikiSource then

begin

DataM.UchenikiTable.Insert; //добавляем новую строку

DBEdit1.ReadOnly := false;

DBEdit1.SetFocus; //устанавливаем фокус ввода

end;

if DBGrid1.DataSource = DataM.PrepodaSource then

begin

DataM.PrepodaTable.Insert;

DBEdit10.ReadOnly := false; //снимаем режим только для чтения

DBEdit10.SetFocus;

end;

 

Для пункта Edit_Item обработчик выглядит таким образом:

procedure TForm1.Edit_ItemClick(Sender: TObject);

begin

if DBGrid1.DataSource = DataM.UchenikiSource then

begin

DBEdit1.ReadOnly := false;

DBEdit1.SetFocus;

end;

if DBGrid1.DataSource = DataM.PrepodaSource then

begin

DBEdit10.ReadOnly := false;

DBEdit10.SetFocus;

end;

end;

Для пункта Save_Item обработчик выглядит таким образом:

procedure TForm1.Save_ItemClick(Sender: TObject);

begin

if DBGrid1.DataSource = DataM.UchenikiSource then

if DataM.UchenikiTable.Modified then //проверяем  наличие изменений

Компьютерные системы