Разработка интерфейса прикладного программного обеспечения с использованием моделей построения нестандартных элементов управления "CyberCalk 1.0."

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.05.2012
Размер файла 4,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА КСМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по дисциплине

«Проектирование человеко-машинных интерфейсов»

Тема

«Разработка интерфейса прикладного программного обеспечения с использованием моделей построения нестандартных элементов управления» «CyberCalk 1.0.»

Выполнила

Ст. гр ПКД-07

Никифорова Маргарита Юрьевна

Проверил

Хоруженко Андрей Сергеевич

Павлий Виталий Александрович

ДОНЕЦК - 2008г.

ВВЕДЕНИЕ

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

Роль пользователя в интерфейсе очень важна. Проектирование интерфейса должно базироваться на знаниях, опыте и ожиданиях пользователя. Необходимо учитывать основные физические, познавательные возможности пользователя, а также его способность к восприятию[2].

1. ОПИСАНИЕ АКТУАЛЬНОСТИ, ЦЕЛЕЙ И ЗАДАЧ РАЗРАБАТЫВАЕМОГО ПО, ЕГО НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

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

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

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

Область применения: небольшие расчеты дома и на предприятиях.

2 ОБЗОР ПРОГРАММНЫХ ПРОДУКТОВ, ИМЕЮЩИХ АНАЛОГИЧНЫЕ ЦЕЛИ И НАЗНАЧЕНИЕ

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

Рассмотрим их работу более подробно на примере программы «Калькулятор» и «Блокнот».

Программы представлены на рисунках 2.1 и 2.2.

Рисунок 2.1 - Внешний вид программы «Калькулятор»

Рисунок 2.2 - Внешний вид программы «Блокнот»

Рассмотрим работу стандартного калькулятора операционной системы Windows, что было необходимо для алгоритма разрабатываемого программного обеспечения. Его некоторыми особенностями являются: одно поле для ввода данных, наличие экранной клавиатуры и памяти. Этими особенностями обладает и разработанное ПО.

Один из вариантов работы со стандартным калькулятором в Windows :

- вводим первое значение (будем называть это данным x). В поле ввода данных появляется введенное число, это показано на рисунке 2.3

Рисунок 2.3 - Введенное первое данное

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

Рисунок 2.4 - Выбор операции

- вводим второе значение (будем называть это данным у). В поле ввода данных появляется введенное число, это показано на рисунке 2.5

Рисунок 2.5 - Введение второго данного

- далее выбираем операцию равенства. В текстовом поле появляется результат, это показано на рисунке 2.6

Рисунок 2.6 - Вывод результата

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

Этот процесс представлен на рисунках 2.7 - 2.9

Рисунок 2.7 - Сохранение данных в буферной переменной

Рисунок 2.8 - Вывод сохраненного данного

Рисунок 2.9 - Очистка буферной переменной

3. РАЗРАБОТКА ИНТЕРФЕЙСА ПО И КРАТКОЕ ОПИСАНИЕ ОСНОВНЫХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ

3.1 Описание назначения основных окон приложения, элементов управления

В программе разработаны: диалоговое окно входа в программу Form2, основное окно Form1 и окно калькулятора Form4 .

Диалоговое окно входа в программу представлено на рисунке 3.1

Рисунок 3.1 - Диалоговое окно входа в программу

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

Основное окно Form1 представлено на рисунке 3.2. Рассмотрим более детально каждый элемент интерфейса.

Рисунок 3.2 - Основное окно

На рисунке 3.3 представлена строка меню, на которой размещены следующие пункты меню: Файл - Открыть : Сохранить : Выйти; Редактировать - Undo: Redo; Калькулятор - Показать: Скрыть; Справка - О программе.

Рисунок 3.3 - Строка меню

На рисунке 3.4 представлена зона текстового редактора с экранной клавиатурой. При нажатия сочетания клавиш (последовательно) CTRL и SHIFT будет изменен язык ввода, при нажатии на клавишу Caps Lock будет выбран либо нижний, либо верхний регистр введения данных в текстовое поле.

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

Рисунок 3.4 - Окно выбора источника видео информации и запуск потока

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

Рисунок 3.5 - Строка состояния

На рисунке 3.6 представлено полупрозрачное окно калькулятора, на котором располагаются следующие элементы: текстовое поле для ввода данных с клавиатуры, зона управляющих элементов, которые реализовывают основную задачу программы (функциональность). Ввод данных происходит следующим образом: пользователь вводит первое число, нажимает на кнопке нужной операции, вводим второе число, нажимает кнопку «=». При нажатии на клавишу ВСТАВИТЬ ДАННОЕ, число из тестового поля калькулятора будет перемещено в текстовое поле главного окна.

Рисунок 3.6 - Окно калькулятора

На рисунке 3.7 представлено полупрозрачное окно «Справка», на котором располагается изображение с название программы и кратким описанием ее предназначения.

Рисунок 3.7 - Окно «Справка»

3.2 Описание функциональности ПО и способов взаимодействия пользователя с ним

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

1. Пользователь запускает EXE файл программы;

2. В диалогом окне входа в программу пользователю необходимо выбрать клавишу «ОК» для запуска основного модуля приложения, либо «CANCEL», чтобы завершить сеанс работы программы;

3. После нажатия клавиши «ОК» откроется корневое - основное окно приложения Form.

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

1. В строке меню необходимо выбрать «Калькулятор» - «Показать»;

2. На экране откроется окно калькулятора.

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

1.После расчетов необходимых расчетов в окне калькулятор нажимается клавиша «ВСТАВИТЬ ДАННОЕ». Окно калькулятора закрывается, данное вставляется в текстовый редактор.

3.3 Описание принципов композиции и организации элементов управления и визуализации, а также описание выбранного стиля и цветовой гаммы

Назначение данного приложение обуславливает принципы композиции и элементы управления, использованные для создания данного приложения, которое написанно на языке C#. Как следствие были использованы стандартные компоненты Windows-приложений, такие как многооконный графический интерфейс (MDI), TextBox, Button, Label, RichTextBox, PictureBox, Panel, Timer, StatusBar.

Рассмотрим применение указанных компонентов.

В диалоговом окне Form2 использовались элементы: Button для подтверждения или отмены входа в основной модуль программы , Region для создания эффекта прозрачности и ограничения окружения - полей окна, PictureBox - для организации заднего фона и мигающей надписи программы, Timer - для задания периодических миганий надписи.

В окне Form1 были использованы компоненты: Panel для структурного размещения всех элементов в корневом окне, Button - для организации экранной клавиатуры, RichTextBox - для создания текстового поля, StatusBar для отображения метки текущего языка, MenuStrip - для организации горизонтальной ленты меню.

В окне Form4 были использованы: Panel для структурного размещения всех элементов на окне, TextBox - для создания текстового поля для ввода данных, Button - для создания кнопок, которые контролируют работу калькулятора, PictureBox - для создания заднего фона.

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

4. РАЗРАБОТКА АЛГОРИТМОВ И БЛОК-СХЕМ, ОПИСЫВАЮЩИХ ФУНКЦИОНАЛЬНОСТЬ ПО

Представим некоторые функции программы в виде блок-схемы.
На рисунке 4.1 представлена блок-схема работы диалогового окна входа в программу Form2.

Рисунок 4.1 - Блок-схема работы диалогового окна Form2

На рисунке 4.2 представлена блок-схема работы основного окна Form1.

Рисунок 4.2 - Блок-схема работы основного окна Form1 (начало)

Рисунок 4.2 - Блок-схема работы основного окна Form1

Рисунок 4.2 - Блок-схема работы основного окна Form1 (конец)

5. РАЗРАБОТКА АЛГОРИТМОВ И БЛОК-СХЕМ, ОПИСЫВАЮЩИХ ПРОЦЕСС ВИЗУАЛИЗАЦИИ И МОДИФИКАЦИИ НЕСТАНДАРТНЫХ УПРАВЛЯЮЩИХ ЭЛЕМЕНТОВ

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

Например, мигающая надпись названия программы в диалоговом окне входа.

Блок-схема ее работы представлена на рисунке 5.1.

Рисунок 5.1 - Блок-схема работы мигающей надписи

6. РАЗРАБОТКА ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

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

Для выполнения всех вышеописанных действий, в которые используются как визуальные элементы, так и не визуальные, были использованы стандартные компоненты среды программирования Microsoft Visual Studio.

Рассмотрим подробнее их применение на примере.

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

- TextBox - для представления текстового поля, в котором будет осуществлен набор текта. Является визуальным компонентом;

- Button - для создания экранной клавиатуры, с помощью которой будет производится набор текста. Является визуальным компонентом;

- MenuStrip - для создания главного меню управления программой, с помощью которого производится выход из программы, сохранение и открытие документа, показ калькулятора, показ окна «О программе». Является визуальным компонентом;

- StatusStrip - для отображения языка ввода с экранной клавиатуры, которое изменяется в зависимости при нажатии на клавиши «Shif + Ctrl”. Является визуальным компонентом;

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

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

- Button - для создания клавиш «OK» и «CANCEL», которые позволяют пользователю либо запустить главное окно приложения (нажатие «OK»), либо закрыть приложение (нажатие «CANCEL»). Является визуальным компонентом;

- Label - для создания текстового поля «ВОЙТИ». Является визуальным компонентом;

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

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

7. РАЗРАБОТКА ТЕСТОВ ЮЗАБИЛИТИ-ТЕСТИРОВАНИЯ

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

- особенности инсталяции;

- особенности открытия данного приложения;

- имеющиеся у пользователя навыки для работы с Windows-приложениями;

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

- имеющиеся у пользователя навыки для работы с редактированием текста;

- восприятие пользователем цветовой гаммы и стиля данного приложения;

- соответствие данного приложения его назначению;

- пожелания пользователя к разработчику по улучшению приложения.

В соответствии с этим был разработан юзабилитти тест, приведённый в приложении В.

ВЫВОДЫ

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

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

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

ПЕРЕЧЕНЬ ССЫЛОК

1. Королевство delphi

2. http://www.delphikingdom.com/asp/viewitem.asp?catalogid=61 (15.01.2009)

3. Narod.ru

http://sea1608.narod.ru/LK2.htm (15.01.2009)

4. Шилд Г.Полный справочник по С#. -- М. : Издательский дом "Вильямс", 2004.-752 с.

5. Лабор В. В.Си Шарп: Создание приложений для Windows.-- Мн.: Харвест, 2003. -384 с.

6. Либерти Дж. Программирование на С#. - М.: Символ Плюс, 2002.- 684с.

7. Культин Н. Б. С# в задачах и примерах. - СПб.: БХВ-Петербург, 2007. -240.

ПРИЛОЖЕНИЕ А

Тексты (листинги) разработанного программного обеспечения

Текст Form1.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.IO;

using System.Windows.Forms;

using System.Collections;

using Microsoft.CSharp;

using Microsoft.VisualBasic;

using Microsoft.Win32;

namespace Kyrsach4

{

public partial class Form1 : Form

{

Form4 form4=new Form4();

Form3 form3 = new Form3();

public Bitmap bm = new Bitmap("Data\\buttons\\images\\on.jpg");

public Image temp;

public bool flag;

public bool caps = true;

public bool[] rus_en = new bool[2];

public Form1()

{

this.SetStyle(ControlStyles.FixedHeight, true);

this.SetStyle(ControlStyles.FixedWidth, true);

InitializeComponent();

toolStripStatusLabel1.Text = "Русский"; // установка метки в строке состояния

statusStrip1.Height = 24;

form4.Deactivate+=new EventHandler(form4_Deactivate);

}

private void button36_Click(object sender, EventArgs e)

{

if (form4.flag){

textBox1.Text += ((Button)sender).Text;//вывод в текстовое поле

}

}

private void button1_Click(object sender, EventArgs e) //метод, выполняемый после нажатия КэпсЛук

{

((Button)sender).FlatStyle = ((Button)sender).FlatStyle == FlatStyle.Flat ? FlatStyle.Standard : FlatStyle.Flat;

caps = caps == true ? false : true;

}

private void button2_Click(object sender, EventArgs e)//метод, выполняемый после нажания Shift

{

//((Button)sender).FlatStyle = ((Button)sender).FlatStyle == FlatStyle.Flat ? FlatStyle.Standard : FlatStyle.Flat;

rus_en[0] = rus_en[0] == true ? false : true; // установка флажка,что был нажат Shift

if ((rus_en[0]) && (rus_en[1])) // если были нажаты Ctrl b Shift

{

toolStripStatusLabel.Text = toolStripStatusLabel1.Text == "Русский" ? "Английски" : "Русский"; // переключение метки

}

else if ((!rus_en[0]) && (!rus_en[1]))// если были нажаты Ctrl b Shift

{

toolStripStatusLabel.Text = toolStripStatusLabel1.Text == "Русский" ? "Английски" : "Русский";// переключение метки

}

}

private void button3_Click(object sender, EventArgs e)//метод, выполняемый после нажания Ctrl

{

//((Button)sender).FlatStyle = ((Button)sender).FlatStyle == FlatStyle.Flat ? FlatStyle.Standard : FlatStyle.Flat;

rus_en[1] = rus_en[1] == true ? false : true; // установка флажка,что был нажат Ctrl

if ((rus_en[0]) && (rus_en[1]))// если были нажаты Ctrl b Shift

{

toolStripStatusLabel.Text = toolStripStatusLabel.Text == "Русский" ? "Английский" : "Русский";// если были нажаты Ctrl b Shift

}

else if ((!rus_en[0]) && (!rus_en[1]))// если были нажаты Ctrl b Shift

{

toolStripStatusLabel.Text = toolStripStatusLabel.Text == "Русский" ? "Английски" : "Русский";// если были нажаты Ctrl b Shift

}

}

private void click_to_key(object sender, EventArgs e) // метод, выполняемый после нажатия на буквенных клавишах

{

if (rus_en[0] && rus_en[1]) // проверка языка

{

if (!caps) //проверка регистра букв

{

textBox1.Text += ((Button)sender).Text[0].ToString().ToUpper(); //вывод в текстовое поле соответствующей буквы -- введена на кнопке

} //верхний регистр

else

{

textBox1.Text += ((Button)sender).Text[0].ToString().ToLower();//вывод в текстовое поле соответствующей буквы -- введена на кнопке

}

//нижний регистр

}

else

{

if (!caps)//проверка регистра букв

{ //верхний регистр

textBox1.Text += ((Button)sender).Text[2].ToString().ToUpper();//вывод в текстовое поле соответствующей буквы -- введена на кнопке

}

else

{

textBox1.Text += ((Button)sender).Text[2].ToString().ToLower();//вывод в текстовое поле соответствующей буквы -- введена на кнопке

} //нижний регистр

}

}

private void click_for_tsifri(object sender, EventArgs e)// метод, выполняемый после нажатия на кнопку не чувствительной к регистру и языку

{

textBox1.Text += ((Button)sender).Text;//вывод в текстовое поле

}

private void backsp(object sender, EventArgs e)// метод, выполняемый после нажатия на Backspace

{

if (textBox1.Text.Length != 0)

{

textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1, 1);

}

}

private void undoToolStripMenuItem_Click(object sender, EventArgs e)//пункт муню Endo

{

textBox1.Undo();

}

private void button34_Click(object sender, EventArgs e)// метод, выполняемый после нажатия на Tab

{

textBox1.Text += " ";

}

private void button49_Click(object sender, EventArgs e)// метод, выполняемый после нажатия на Enter

{

textBox1.Text += "\n";

}

private void button33_Click(object sender, EventArgs e)// метод, выполняемый после нажатия на пробел

{

textBox1.Text += " ";

}

private void сохранитьToolStripMenuItem1_Click(object sender, EventArgs e)

{

SaveFileDialog k = new SaveFileDialog();

k.Filter = "Text file (*.txt)|*.txt";//фильтр

if (k.ShowDialog() == DialogResult.OK)//если были выбраны файлы

{

//создаем файловый поток

FileStream fs = new FileStream(k.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);

StreamWriter fwr = new StreamWriter(fs, Encoding.GetEncoding("windows-1251"));

fwr.Write(textBox1.Text);

fwr.Close();

form4.Deactivate+=new EventHandler(form4_Deactivate);

}

}

private void form4_Deactivate(object sender, EventArgs e)

{

if (form4.date!= null)

{

textBox1.Text += form4.date.ToString();

}

form4.Hide();

}

private void открытьToolStripMenuItem1_Click(object sender, EventArgs e)

{

OpenFileDialog k = new OpenFileDialog();

k.Filter = "Text file (*.txt)|*.txt";

k.Multiselect = false;

if (k.ShowDialog() == DialogResult.OK)

{

FileStream fs = new FileStream(k.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);

StreamReader fwr = new StreamReader(fs, Encoding.GetEncoding("windows-1251"));

textBox1.Text = fwr.ReadToEnd();

fwr.Close();

}

}

private void выходToolStripMenuItem_Click(object sender, EventArgs e)

{

this.Close();

}

private void Й_MouseHover_1(object sender, EventArgs e)

{

/* temp = ((Button)sender).BackgroundImage;

((Button)sender).BackgroundImage = bm;*/

}

private void Й_MouseLeave(object sender, EventArgs e)

{

//((Button)sender).BackgroundImage = temp;

}

private void показатьToolStripMenuItem1_Click(object sender, EventArgs e)

{

form4.date = null;

form4.Show();

}

private void скрытьToolStripMenuItem1_Click(object sender, EventArgs e)

{

form4.Hide();

}

private void undoToolStripMenuItem_Click_1(object sender, EventArgs e)

{

textBox1.Undo();

}

private void redoToolStripMenuItem_Click(object sender, EventArgs e)

{

textBox1.Redo();

}

private void оПрограммеToolStripMenuItem2_Click(object sender, EventArgs e)

{

form3.Show();

}

}

}

Текст Form2.cs:

using System;

using System.Collections.Generic;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Drawing.Drawing2D;

using System.Media;

using System.Timers;

using System.Threading;

namespace Kyrsach 4

{

public partial class Form2 : Form

{

public int i = 0;

public bool flag;

public bool enter=false;

private System.Timers.Timer aTimer = new System.Timers.Timer();

Bitmap cyber = new Bitmap(@"Data\pic3.png");

Bitmap cyber2 = new Bitmap(@"Data\pic4.png");

Bitmap b_back = new Bitmap(@"Data\buttons\back.png");

public Form2()

{

InitializeComponent();

aTimer.Interval = 100;

aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);

aTimer.Start();

button1.BackgroundImage = b_back;

button2.BackgroundImage = b_back;

}

public void OnTimedEvent(object source, ElapsedEventArgs e)

{

// label1.Text += ".";

pictureBox2.Image = flag == true ? cyber : cyber2;

flag = !flag;

aTimer.Interval += 100;

if (i == 5)

{

aTimer.Interval = 800;

}

if (i == 10)

{

pictureBox2.Image = cyber;

aTimer.Stop();

}

if (i < 10)

{

pictureBox2.Image = flag == true ? cyber : cyber2;

}

i++;

}

private void button1_Click(object sender, EventArgs e)

{

enter = !enter;

this.Close();

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

Текст Form3.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Kyrsach 4

{

public partial class Form3 : Form

{

Bitmap k = new Bitmap(@"Data\about.png");

public Form3()

{

InitializeComponent();

pictureBox1.BackgroundImage = k;

this.SetStyle(ControlStyles.Opaque, true);

this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);

this.BackColor = Color.Transparent;

}

private void pictureBox1_MouseClick(object sender, MouseEventArgs e)

{

this.Hide();

}

private void pictureBox1_MouseEnter(object sender, EventArgs e)

{

this.Cursor = Cursors.Hand;

}

}

}

Текст Form4.cs using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Collections;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Kyrsach4

{

public partial class Form4 : Form

{

public object date;

public float x;

public float temp;

public float y;

public string oper="";

public ArrayList memory= new ArrayList();

public bool flag = false;

public Form4()

{

InitializeComponent();

numericUpDown1.Enabled = false;

numericUpDown1.Maximum = -1;

}

private void button13_Click(object sender, EventArgs e)

{

flag = true;

date = textBox1.Text;

textBox1.Text="";

this.Hide();

}

private void button36_Click(object sender, EventArgs e)

{

textBox1.Text += ((Button)sender).Text;//вывод в текстовое поле

}

private void button1_Click(object sender, EventArgs e)

{

if ((oper != "")&&(textBox1.Text.Length!=0))

{

y = float.Parse(textBox1.Text);

switch (oper)

{

case "+": { textBox1.Text = (x + y).ToString(); break; }

case "-": { textBox1.Text = (x - y).ToString(); break; }

case "/": { textBox1.Text = (x / y).ToString(); break; }

case "*": { textBox1.Text = (x * y).ToString(); break; }

}

oper = "";

}

}

private void button51_Click(object sender, EventArgs e)

{

if (textBox1.Text.Length != 0)

{

textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1, 1);

}

}

private void button4_Click(object sender, EventArgs e)

{

textBox1.Text = "";

}

private void button10_Click(object sender, EventArgs e)

{

textBox1.Text = "";

x = 0;

y = 0;

}

private void button_plus(object sender, EventArgs e)

{

if (textBox1.Text.Length != 0)

{

x = float.Parse(textBox1.Text);

oper = ((Button)sender).Text;

textBox1.Clear();

}

}

private void button_invers(object sender, EventArgs e)

{

if (textBox1.Text.Length != 0)

{

temp = float.Parse(textBox1.Text);

temp = -temp;

textBox1.Text = temp.ToString();

}

}

private void button_exp(object sender, EventArgs e)

{

textBox1.Text = System.Math.PI.ToString();

}

private void button_sct(object sender, EventArgs e)

{

if (textBox1.Text.Length != 0)

{

switch (((Button)sender).Text)

{

case "sin": { textBox1.Text =

(System.Math.Sin(double.Parse(textBox1.Text))).ToString(); break; }

case "cos": { textBox1.Text =

(System.Math.Cos(double.Parse(textBox1.Text))).ToString(); break; }

case "tan": { textBox1.Text =

(System.Math.Tan(double.Parse(textBox1.Text))).ToString(); break; }

}

}

}

private void button14_Click(object sender, EventArgs e)

{

if ((textBox1.Text.Length != 0)&&(textBox1.Text.Contains(",")==false))

textBox1.Text += ",";

}

private void button9_Click(object sender, EventArgs e)

{

if (textBox1.Text.Length!=0)

{

numericUpDown1.Enabled = true;

memory.Add(textBox1.Text);

numericUpDown1.Maximum++;

numericUpDown1.UpButton();

}

}

private void button8_Click(object sender, EventArgs e)

{

if (numericUpDown1.Maximum != (-1))

{

textBox1.Text += memory[((int)numericUpDown1.Value)];

}

}

private void button4_Click_1(object sender, EventArgs e)

{

numericUpDown1.Maximum = (-1);

memory.Clear();

numericUpDown1.Enabled = false;

}

}

}

ПРИЛОЖЕНИЕ Б

Юзабилити-тест для ПО

1 Работа с ПО.

1.1Сколько времени потребовалось Вам для открытия документа из ПО?

° 1-2 сек

° 2-5 сек

° 5-10 сек

° более 10 сек

1.2 Устраивает ли Вас сочетание цветов диалогового окна входа в приложение?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.3 Является ли информация, отображенная на диалоговом окне входа, избыточной?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.4 Устраивает ли Вас сочетание цветов главного окна приложения?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.5 Является ли информация, отображенная на главном окне, избыточной?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.6 Устраивает ли Вас сочетание цветов других окон приложения?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.7 Является ли информация, других окон, избыточной?
Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

1.8 Сколько времени Вам потребовалось на освоение ПО?

° 1 день

° 2-3 дня

° 3-5 дней

° 5-10 дней

° более 10 дней

1.9 Что вызывало наибольшие трудности при освоении?

° Недостаточные навыки при работе с компьютером

° Необычный, “фирменный” стиль ПО

° Многофункциональность ПО

° Отсутствие пиктограмм быстрого доступа

° Отсутствие справочной документации

° Отсутствие контекстно-зависимой помощи

° Другое

1.10 Не возникало ли критических ошибок ПО во время работы? (Если да, укажите тип ошибки в поле ниже)

° Да, ошибки есть (какие) ___________________________

° Нет, ошибок нет

1.11 Позволило ли ПО ускорить и упростить выполняемые Вами работы?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

° Затрудняюсь ответить

1.12 Пожелания разработчикам (укажите недостатки ПО, которые по Вашему мнению актуальны)

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

2 Общие вопросы.

2.1 Выполняет ли ПО возложенные на него функции?

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

° Затрудняюсь ответить

2.2 Достаточно ли было времени для выполнения всех заданий теста

° Да

° Скорее да, чем нет

° Скорее нет, чем да

° Однозначно, нет

2.3 Ваш уровень навыков при работе с компьютером?

° Знаю и умею работать в ОС семейства Windows

° До недавнего времени использовал(а) MS-DOS

° Навыков нет вообще

2.4 Какое альтернативное ПО Вы использовали ранее?

° ____________________________________________________ ________________________________________________________________________________________________________________

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.