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

Автор: Пользователь скрыл имя, 13 Мая 2012 в 10:37, курсовая работа

Описание работы

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

Содержание

Введение………………………………………………………………………………...2
1. Описание актуальности, целей и задач разрабатываемого ПО, его назначение и область применения........................3
2. Обзор программных продуктов, имеющих аналогичные цели и назначение…...4
3. Разработка интерфейса ПО и краткое описание основных элементов управления…………………….9
3. 1 Описание назначения основных окон приложения, элементов управления.....9
3. 2 Описание функциональности ПО и способов взаимодействия пользователя с ним..........................13
3. 3 Описание принципов композиции и организации элементов управления и визуализации, а также описание выбранного стиля и цветовой гаммы...............13
4. Разработка алгоритмов и блок-схем, описывающих функциональность ПО….15
5. Разработка алгоритмов и блок-схем, описывающих процесс визуализации и модификации поведения нестандартных управляющих элементов....................19
6. Разработка прикладного программного обеспечения….…………………...…...21
7. Разработка тестов юзабилити-тестирования………………………...…………...23
Выводы………………………………………………………………………………...24
Перечень ссылок…………....………………………………………………………...25
Приложение А. Техническое задание
Приложение Б. Тексты (листинги) разработанного программного обеспечения...26
Приложение В. юзабилити-тест для ПО…………………………………………….36

Работа содержит 1 файл

Пояснительная записка.doc

— 1.95 Мб (Скачать)

    {

        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 Какое альтернативное ПО Вы использовали ранее?

                   ____________________________________________________ ________________________________________________________________________________________________________________

 



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