рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ПРОВЕРКА ПРОГРАММЫ

ПРОВЕРКА ПРОГРАММЫ - Курсовая Работа, раздел Образование, Оформление курсовой работы... 5.4.1 Описание Способов Проверки Работоспособность Программы «Ежедне...

5.4.1 Описание способов проверки

Работоспособность программы «Ежедневник» проверяется описанными ниже способами:

1) До начала проверки, переименуйте бинарный файл Database.mdb, в каталоге «C:Program FilesDIARY». После этого запустить программу, которая выдаст сообщение об ошибке, описанное в разделе 5. «Сообщения системному программисту» данного программного руководства.

2) Запустить программу и удалить бинарный файл Database.mdb. Проанализировать за действием программы.

3) Запустить программу с файлом Database.mdb и добавить, отредактировать и удалить запись.

 

5.4.2 Методы прогона

5.4.2.1 Проверка работоспособности программы

1) При запущенной программе «Ежедневник» добавьте запись, отредактируйте ее и закройте программу.

2) Запустите программу «Ежедневник» и просмотрите те записи, которые создали.

3) Создайте еще запили и закройте программу.

4) Запустите программу и введите в поиск заголовок записи и найдите созданную запись.

5) Нажмите просмотр всех записей и проверьте все ли вывелись.

6) Удалите одну запись и проверьте удалилась ли она.

7) Удалите все записи и закройте программу.

8) Запустите программу и просмотрите есть ли записи.

 

 

5.4.2.2 Проверка на сообщение об ошибке

1) До начала проверки, переименуйте бинарный файл Database.mdb, в каталоге «C:Program FilesDIARY». После этого запустите программу «Ежедневник». Программа должна выдать сообщение об ошибке, описанное в разделе 5. «Сообщения системному программисту» данного программного руководства.

2) При запущенной программе «Ежедневник» переименуйте файл Database.mdb и проверьте на реакцию программы.

3) По окончанию проверки верните предыдущее наименование файлу Database.mdb и проверьте на работоспособность программы.

 

5.5 СООБЩЕНИЯ СИСТЕМНОМУ ПРОГРАММИСТУ

Программа «Ежедневник» выдает сообщение об ошибке, показанное на рис. 1.

 

 

Рисунок 1.

ПРИЧИНА. Указанный в сообщении файл (Database.mdb) не найден в каталоге C:Program FilesDIARY, или данный каталог не существует.

Программа «Ежедневник» выдает сообщение об ошибке, показанное на рис. 2.

 

 

Рисунок 2.

ПРИЧИНА. Указанный в сообщении файл (Database.mdb) был заменен.

 

ДЕЙСТВИЯ ПРОГРАМИСТА. Проверить по указанному пути наличие файла Database.mdb и в случае отсутствия создать его. Если файл существует, то открыть его для чтения, чтобы его невозможно было изменить при запущенной программе.

6 ТЕКСТ ПРОГРАММЫ

6.1 ОСНОВНАЯ ПРОГРАММА

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace AbstractCourse1

{

public partial class Form1 : Form

{

DataEngine dt;

string tableName = "data";

string fileName = "Database.mdb";

public Form1() //Инициализация формы

{

InitializeComponent();

foreach (IceButton.IceButton i in tmenu.Controls)

{

i.Text = i.Tag.ToString();

}

try

{

if (!System.IO.File.Exists(fileName))

{

System.IO.File.WriteAllBytes(fileName, Source.template);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

System.Threading.Thread.CurrentThread.Abort();

}

dt = new DataEngine(fileName, "ID", "Dates", "Header", "Body", "Worker", "IsDone");

LoadToGrid(dt.SelectAllTasks(tableName));

iceButton1.Click += new EventHandler(iceButton1_Click); //Sea

iceButton2.Click += new EventHandler(iceButton2_Click); //Add

iceButton5.Click += new EventHandler(iceButton5_Click); //Delete one

iceButton6.Click += new EventHandler(iceButton6_Click); //ToDay

iceButton4.Click += new EventHandler(iceButton4_Click);

iceButton3.Click += new EventHandler(iceButton3_Click);

t_search.KeyDown += new KeyEventHandler(t_search_KeyDown);

dataGridView1.CellDoubleClick += new DataGridViewCellEventHandler(dataGridView1_CellDoubleClick);

}

void t_search_KeyDown(object sender, KeyEventArgs e) //Поиск

{

if (e.KeyCode == Keys.Enter)

{

label1_Click(sender, e);

}

}

void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)// Открытие записи

{

if (e.RowIndex >= 0)

{

long id =Convert.ToInt64( dataGridView1.Rows[e.RowIndex].Cells[0].Value);

Task tmp = dt.SelectById(tableName, id);

UseE_Form(EditForm.EditType.Edit, tmp);

}

}

void UseE_Form(EditForm.EditType editMode,Task StartValue)//Создание и отображение диалога создания/редактирования

{

EditForm e_form;

e_form = new EditForm(editMode, StartValue);

e_form.Cancel += new Action<Task, EditForm>(e_form_Cancel);

e_form.JustClose += new Action<Task, EditForm>(e_form_JustClose);

e_form.Save += new Action<Task, EditForm>(e_form_Save);

e_form.ShowDialog();

}

#region UsingEvents

void e_form_Cancel(Task arg1, EditForm arg2)

{

arg2.Close();

}

void e_form_JustClose(Task arg1, EditForm arg2)

{

DialogResult d;

d = MessageBox.Show("Хотите сохранить?", "Save", MessageBoxButtons.YesNoCancel);

switch (d)

{

case DialogResult.Yes:

{

e_form_Save(arg1, arg2);

LoadToGrid(dt.SelectAllTasks(tableName));

arg2.Close();

break;

}

case DialogResult.Cancel:

{

break;

}

case DialogResult.No:

{

arg2.Close();

LoadToGrid(dt.SelectAllTasks(tableName));

break;

}

}

 

}

void e_form_Save(Task arg1, EditForm arg2)

{

if (arg1.ID >= 0)

{

dt.UpdateTask(arg1, tableName);

}

else

{

dt.InsertNewTask(arg1, tableName);

}

MessageBox.Show("Сохранено");

}

#endregion

void iceButton2_Click(object sender, EventArgs e) //Добавление новой задачи. Выводит форму редактирования

{

Task tmp;

tmp = new Task();

tmp.Date = DateTime.Now;

UseE_Form(EditForm.EditType.New, tmp);

}

void iceButton5_Click(object sender, EventArgs e) //Удаление. Удаление выбраной записи с подтверждением

{

if (dataGridView1.SelectedCells.Count > 0)

{

DialogResult d;

long id = Convert.ToInt64(dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value);

Task tmp = dt.SelectById(tableName, id);

d = MessageBox.Show("Вы точно хотите удалить эту запись? " + "n" + tmp.Header + "n" +

tmp.Body.PadRight(100), "Удаление", MessageBoxButtons.YesNo);

switch (d)

{

case DialogResult.Yes:

{

dt.DeleteTask(tableName, tmp);

MessageBox.Show("Удалено");

break;

}

}

LoadToGrid(dt.SelectAllTasks(tableName));

}

else

{

MessageBox.Show("Сначала выберите запись");

}

}

void iceButton1_Click(object sender, EventArgs e) //Загрузка элементов в форму

{

LoadToGrid(dt.SelectAllTasks(tableName));

}

void iceButton4_Click(object sender, EventArgs e) //Выход. Завершение текущего потока

{

System.Threading.Thread.CurrentThread.Abort();

}

void iceButton6_Click(object sender, EventArgs e) //Текущие дела. Выборка по дате. Дата считается по лоакльному времени

{

LoadToGrid(dt.SelectByDate(tableName, DateTime.Now));

}

void iceButton3_Click(object sender, EventArgs e) //Удаление всего. Очитстка базы задач.

{

DialogResult dr;

dr = MessageBox.Show("Вы точно хотите удалить все записи?", "Стереть все", MessageBoxButtons.YesNo);

switch (dr)

{

case DialogResult.Yes:

{

dt.DeleteAllTask(tableName);

LoadToGrid(dt.SelectAllTasks(tableName));

MessageBox.Show("Удалено");

break;

}

case DialogResult.No:

{

break;

}

 

}

 

}

private void LoadToGrid(Task Onetask) //Загрузка одного элемента в таблицу

{

dataGridView1.Rows.Add(Onetask.ToValues());

}

private void LoadToGrid(Angar tasks) //Массовая загрузка элементов в таблицу из хранилища

{

dataGridView1.Rows.Clear();

foreach (Task t in tasks.Storage )

{

dataGridView1.Rows.Add(t.ToValues());

}

}

private void Form1_Load(object sender, EventArgs e)

{

comboBox1.SelectedIndex = 0;

}

public enum WordEn

{

/*

Номер,

Заголовок,

Описание,

Дата,

Исполнитель

*/

ID, Header, Body, TargetDate, Worker

}

private void label1_Click(object sender, EventArgs e) //Поиск

{

WordEn we;

we = (WordEn)comboBox1.SelectedIndex;

 

try

{

switch (we)

{

case WordEn.ID:

{

if (t_search.Text != "")

LoadToGrid(dt.SelectTask(tableName, we.ToString(), Convert.ToInt64(t_search.Text).ToString(), ""));

break;

}

default:

{

LoadToGrid(dt.SelectTask(tableName, we.ToString(),

t_search.Text.Replace("'", "`"), "'"));

break;

}

}

MessageBox.Show("Готово");

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

 

 

}

 

private void toolStripStatusLabel1_Click(object sender, EventArgs e) //Об авторе

{

Author at;

at = new Author();

at.ShowDialog();

}

 

private void iceButton1_Load(object sender, EventArgs e)

{

 

}

 

}

}

 

 

6.2 ПОДПРОГРАММА РЕДАКТИРОВАНИЯ И СОХРАНЕНИЯ

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace AbstractCourse1

{

public partial class EditForm : Form

{

public event Action<Task,EditForm> Save;

public event Action<Task,EditForm> JustClose;

public event Action<Task,EditForm> Cancel;

public enum EditType

{

Edit,New

}

EditType _editmode;

Task _task;

public EditForm(EditType EditMode,Task StartValue)

{

InitializeComponent();

this.FormClosing += new FormClosingEventHandler(EditForm_FormClosing);

_editmode = EditMode;

_task = StartValue;

Fill();

switch (_editmode)

{

case EditType.New:

{

_task.ID = -1;

break;

}

case EditType.Edit:

{

 

break;

}

}

}

private void UpdateTask()

{

_task.Date=t_dates.Value ;

_task.Header=t_header.Text ;

_task.IsDone=t_IsDone.Checked ;

_task.Body=t_memo.Text ;

_task.Worker=t_worker.Text ;

 

 

}

 

private void Fill()

{

t_dates.Value = _task.Date;

t_header.Text = _task.Header;

t_IsDone.Checked = _task.IsDone;

t_memo.Text = _task.Body;

t_worker.Text = _task.Worker;

}

private void закрытьToolStripMenuItem_Click(object sender, EventArgs e)

{

try

{

UpdateTask();

JustClose.Invoke(_task, this);

}

catch (Exception ex)

{

}

}

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

{

try

{

UpdateTask();

Save.Invoke(_task, this);

}

catch (Exception ex)

{

}

}

private void отменитьToolStripMenuItem_Click(object sender, EventArgs e)

{

try

{

UpdateTask();

Cancel.Invoke(_task, this);

}

catch (Exception ex)

{

}

}

void EditForm_FormClosing(object sender, FormClosingEventArgs e)

{

 

}

 

private void labelN_Click(object sender, EventArgs e)

{

 

}

}

}

– Конец работы –

Эта тема принадлежит разделу:

Оформление курсовой работы...

На сайте allrefs.net читайте: "Оформление курсовой работы..."

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ПРОВЕРКА ПРОГРАММЫ

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Результирующие компоненты изделия
Результирующие компоненты изделия приведены в таблице 2.1.   Таблица 2.1 — Результирующие компоненты изделия   Обозначени

Включенные пункты плана
Отсутствуют.   2.2.2.5 Перечень требований пользователя Программа DIARY предназначается для начальных и продвинутых пользователей П

Терминология
В данном документе используется общепринятая терминология. Никаких специальных терминов не используется.   2.3.2 Генерируемое программное обеспечение

Аппаратные ограничения
– Процессор от 1ГГц. – Не менее 10 Мб свободного места на жестком диске для самой программы, а также место для файла базы данных (количество записей в файле * длину записи

Алгоритмы
Подлежат описанию во внутренней спецификации.   2.3.3.2 Общие характеристики функций «Блок обработки данных» Для всех пропущенных разделов см. соответствующие

СТРУКТУРА ПРОГРАММЫ
5.2.1 Сведения о структуре программы Программа «Ежедневник» состоит из одной запускаемой формы.   5.2.2 Сведения о составных частях программы Программа «Еже

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги