Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Разработка интерфейса системы



 

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

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

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

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

Особенности памяти. Одновременно человек способен воспринимать и запоминать от 5 до 9 несвязанных объектов.

Существуют разные типы интерфейсов.

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

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

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

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

2. Объектно-ориентированные – интерфейсы прямого манипулирования, предполагают выбор и перемещение пиктограмм, соответствующих объектам предметной области.

Выделяют четыре этапа разработки интерфейса:

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

2. Определение сценариев использования интерфейса.

3. Проектирование.

4. Реализация (программирование и тестирование).

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

1. Разграничение доступа для разных групп пользователей.

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

3. Удобство и простота в использование.

4. Интуитивная понятность и быстрота освоения.

5. Использование эргономичных цветов и расположения элементов на форме.

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

 

Рисунок 2.19. Структура меню интерфейса пользователя

 

 

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

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

 

Рисунок 2.20. Основная форма приложения

 

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

 

Рисунок 2.21. Окно задания года для проведения анализа

 

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

Если форма не загружена, а пользователь пытается просмотреть ее данные, будет выдано предупреждение (рисунок 2.22).

 

Рисунок 2.22. Окно предупреждения

 

При выборе в дереве объектов (или в соответствующих пунктах меню) определенных форм или показателей происходит отображение их в основном окне (рисунок 2.23).

 

Рисунок 2.23. Просмотр данных формы 1

 

Для просмотра данных форм (формы 1, 2 или 3) используется однотипный программный код.

GroupBox2.Caption: ='Форма 1'; {Изменение подписи основного контейнера}

Table.Visible: =true;

Table.Align: =alClient;

Table.ColCount: =3;

Table.Cells[1, 0]: ='Код';

Table.Cells[2, 0]: ='Значение показателя'; {Задание подписей таблицы}

If DM.TForma1.Locate('Год', god, []) then {Если в таблице Форма 1 есть данные за указанный год}

BEGIN

for i: =1 to 14 do

begin

Table.Cells[0, i]: =DM.TPForma1.Fields[i].value; {Выбор названий показателей из таблицы Показатели формы 1}

Table.Cells[1, i]: =DM.TForma1.Fields[i].FieldName; {Выбор данных из таблицы Форма 1}

S: = DM.TForma1.Fields[i].AsString;

p: =pos(', ', s);

if p> 0 then s: =copy(s, 1, p+1);

Table.Cells[2, i]: =s;

end;

Table.RowCount: =15;

END

else ShowMessage('Загрузка формы 1 за '+inttostr(god)+' год не произведена! ');

end;

 

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

 

Рисунок 2.24. Внешний вид готовой к печати Формы 1

 

Для печати данных используется такой программный код:

{Создание объекта Word и ассоциирование его с файлом}

MSWord: =CreateOleObject('Word.Application');

MSWord.Documents.Open(path+'\Форма 1.doc');

DM.TForma1.Locate('Год', god, []);

 

{Создание таблицы и задание ее параметров}

MSWord.Documents.Item(1).Tables.Add(MSWord.Documents.Item(1).Paragraphs.Last.Range, 15, 3, EmptyParam, EmptyParam);

MSWord.Documents.Item(1).Tables.Item(1).Borders.OutsideLineStyle: =wdLineStyleSingle;

MSWord.Documents.Item(1).Tables.Item(1).Borders.OutsideLineWidth: =wdLineWidth025pt;

MSWord.Documents.Item(1).Tables.Item(1).Borders.InsideLineStyle: =wdLineStyleSingle;

MSWord.Documents.Item(1).Tables.Item(1).Borders.InsideLineWidth: =wdLineWidth025pt;

MSWord.Documents.Item(1).Tables.Item(1).Columns.Item(1).Width: =250;

MSWord.Documents.Item(1).Tables.Item(1).Columns.Item(2).Width: =100;

MSWord.Documents.Item(1).Tables.Item(1).Columns.Item(3).Width: =100;

MSWord.Documents.Item(1).Tables.Item(1).Rows.Height: =20;

 

{Задание заголовков таблицы}

MSWord.Documents.Item(1).Tables.Item(1).Cell(1, 1).Range.Text: ='Название показателя';

MSWord.Documents.Item(1).Tables.Item(1).Cell(1, 2).Range.Text: ='Код'; MSWord.Documents.Item(1).Tables.Item(1).Cell(1, 3).Range.Text: ='Значение показателя';

 

{Заполнение таблицы}

If DM.TForma1.Locate('Год', god, []) then

BEGIN

for i: =1 to 14 do begin

MSWord.Documents.Item(1).Tables.Item(1).Cell(i+1, 1).Range.Text: =DM.TPForma1.Fields[i].AsString;

MSWord.Documents.Item(1).Tables.Item(1).Cell(i+1, 2).Range.Text: =DM.TForma1.Fields[i].FieldName;

MSWord.Documents.Item(1).Tables.Item(1).Cell(i+1, 3).Range.Text: = DM.TForma1.Fields[i].AsString;

end;

END else ShowMessage('Загрузка формы 1 за '+inttostr(god)+' год не произведена! ');

MSWord.Visible: =true;

end;

 

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

 

Рисунок 2.25. Окно предупреждения

 

При вызове пункта меню расчет производится расчет по формулам и выдается сообщение (рисунок 2.26).

 

Рисунок 2.26 Служебное сообщение

 

Если показатели за данный период рассчитывались, то будет выдано предупреждение, и предложение пересчитать показатели (рисунок 2.27). При положительном ответе все показатели будут пересчитаны.

 

Рисунок 2.27. Окно предупреждения

 

If DM.TAktivi.Locate('Год', god, []) {Если показатели за текущий год уже рассчитаны}

then

BEGIN

if MessageDlg('Расчет уже выполнялся. Выполнить перерасчет? ', mtConfirmation, mbYesNo, 0)= mrYes {Если нажата кнопка Yes в окне вопроса о необходимости перерасчета}

then

Begin

DM.TForma1.Locate('Год', god, []);

DM.TAktivi.Locate('Год', god, []);

 

DM.TAktivi.Edit; {Таблица переводится в режим редактирования}

{Показатели рассчитываются по формулам}

DM.TAktivi.Fields[2].Value: = DM.TForma1.FieldByName('190').Value;

DM.TAktivi.Fields[3].Value: = DM.TForma1.FieldByName('230').Value;

DM.TAktivi.Fields[4].Value: = DM.TForma1.FieldByName('240').Value;

DM.TAktivi.Fields[5].Value: = DM.TForma1.FieldByName('290').Value;

{Изменения применяются}

DM.TAktivi.Post;

End;

END else BEGIN

{}

DM.TForma1.Locate('Год', god, []);

{Определяется значеие ключевого поля}

DM.TAktivi.Last;

if DM.TAktivi.RecordCount=0 then k: =0 else k: =DM.TAktivi.Fields[0].Value;

{Таблица переводится в режим вставки}

DM.TAktivi.Insert;

DM.TAktivi.Fields[0].value: =k+1;

DM.TAktivi.Fields[1].Value: =God;

{Значения вычисляются по фрмулам}

DM.TAktivi.Fields[2].Value: = DM.TForma1.FieldByName('190').Value;

DM.TAktivi.Fields[3].Value: = DM.TForma1.FieldByName('230').Value;

DM.TAktivi.Fields[4].Value: = DM.TForma1.FieldByName('240').Value;

DM.TAktivi.Fields[5].Value: = DM.TForma1.FieldByName('290').Value;

{Изменения применяются}

DM.TAktivi.Post;

END;

ShowMessage('Расчет выполнен');

end;

 

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

Еще одной очень важной особенностью программы является возможность анализа полученных показателей, сравнение их с показателями за предыдущие периоды (2, 3, 4 и 5 лет). Для этого используется кнопка Анализ в окне формы (или пункт меню Анализ). При этом нужно задать период анализа. Если он не задан, то по умолчанию считается, что период анализа – 3 года. Если в базе данных нет показателей за предыдущие годы, то выводится соответствующее предупреждение (рисунок 2.28).

 

Рисунок 2.28. Окно предупреждения

 

Результаты анализа отображаются в таблице в главном окне (рисунок 2.29).

 

Рисунок 2.29. Результат анализа

 

Для проведения анализа используется следующая процедура:

 

if GroupBox2.Caption='Показатели активов и обязательств' then

begin

{god – текущий год, period – период анализа}

god1: =god-period+1;

while not (DM.TAktivi.Locate('год', god1, [])) do

begin

god1: =god1+1;

end;

 

if god-god1+1< period then

begin

ShowMessage('Доступное для анализа количество лет: '+inttostr(god-god1+1));

period: =god-god1+1;

end;

 

Table.Visible: =true;

Table.Align: =alClient;

{Заполнение таблицы данными текущео и предыдущих годов}

for i: = 1 to period do

begin

DM.TAktivi.Locate('Год', god1, []);

for j: =1 to 12 do

begin

Table.Cells[0, j-1]: =DM.TAktivi.Fields[j].FieldName;

Table.Cells[i, j-1]: = DM.TAktivi.Fields[j].AsString;

end;

god1: =god1+1;

end;

Table.Cells[0, 0]: ='Показатели';

{Вычисление абсолютных и относительных изменений показателей}

for j: = 1 to 11 do

begin

d: = strtofloat(Table.Cells[i-1, j])-strtofloat(Table.Cells[1, j]);

Table.Cells[i, j]: =floattostr(d);

if Table.Cells[1, j]='0' then Table.Cells[i+1, j]: = '-'

else begin

d: = strtofloat(Table.Cells[i-1, j])/strtofloat(Table.Cells[1, j]);

Table.Cells[i+1, j]: = floattostr(d*100);

end;

end;

Table.RowCount: =13;

Table.ColCount: =i+2;

end;

end;

 

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

Рисунок 2.30. Отчет об эффективности использования персонала

 

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

Результаты расчета показателей активов и обязательств представлены на рисунке 2.31.

Рисунок 2.31. Результаты расчета показателей активов и обязательств

 

Результаты анализа показателей активов и обязательств за 3 года представлены на рисунке 2.32.

 

Рисунок 2.32. Результаты анализа показателей активов и обязательств

 

Результаты расчета показателей чистых активов представлены на рисунке 2.33.

 

Рисунок 2.33. Результаты расчета показателей активов и обязательств

 

Результаты расчета показателей финансовых результатов представлены на рисунке 2.34.

Рисунок 2.34. Результаты расчета показателей финансовых результатов

 

Результаты расчета показателей эффективности использования персонала представлены на рисунке 2.35

 

Рисунок 2.35. Результаты расчета показателей эффективности использования персонала

 

Результаты расчета показателей движения персонала представлены на рисунке 2.36.

Рисунок 2.36. Результаты расчета показателей движения персонала

 

Результаты расчета показателей платежеспособности представлены на рисунке 2.37.

 

Рисунок 2.37. Результаты расчета показателей платежеспособности

 

Результаты расчета показателей финансовой устойчивости представлены на рисунке 2.38.

 

Рисунок 2.38. Результаты расчета показателей финансовой устойчивости

 

Результаты расчета показателей деловой активности представлены на рисунке 2.39.

 

Рисунок 2.39. Результаты расчета показателей деловой активности

 

Результаты расчета показателей рентабельности представлены на рисунке 2.40.

 

Рисунок 2.40. Результаты расчета показателей рентабельности

 

Результаты расчета итоговых показателей ФХД представлены на рисунке 2.41.

 

Рисунок 2.41. Результаты расчета итоговых показателей ФХД

 

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

 


 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-10; Просмотров: 1232; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.081 с.)
Главная | Случайная страница | Обратная связь