Ликероводочный завод

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

доступный только на чтение, то будет получено такое сообщение, рисунок 16:

 

Рисунок 16 - Попытка сохранить в файл, доступный только на чтение

5. ТЕСТИРОВАНИЕ

 

Для тестирования программы производились различные манипуляции с данными.

Проводились следующие тесты:

- ввод неверных значений;

открытие некорректного XML-файла;

запись в защищенный от записи файл;

доступ к несуществующим элементам списка;

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

Тестирование выявило мелкие недочеты, которые в последствии были устранены.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1.Э. Троелсен. С# и платформа .NET. Библиотека программиста. - СПб.: Питер, 2004. -796 с.: ил.

2.Е.А. Жоголев. Технология программирования - М., Научный мир, 2004, 216 с

3.Т. А. Павловская. С#. Программирование на языке высокого уровня. Учебник для вузов - СПб.: Питер, 2007. - 432 с.

4.Microsoft Developer Network(MSDN). [Электронный ресурс]. - Режим доступа: msdn.microsoft.com, свободный.

5.СТО 01.04 - 2005. Работы студентов. Общие требования и правила оформления. - введ. 2005 - 04 - 01. - Архангельск: Изд-во Арханг. гос. техн. ун-та, 2005.

ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ

(обязательное)

 

Главная форма: System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;Classes;System.IO;System.Xml;System.Xml.Serialization;System.Text.RegularExpressions;LVZ

{IRemove

{Remove();

}partial class Form1 : Form, IRemove

{sv = null;class SaveOpen

{

#region Метод LoadXML - загрузка данных из файла

/// Статичный метод для считывания данных из XML-файла. Возвращает ListDelos

///

///

///

/// static ListLVZ LoadXML(string filename, ListLVZ listlvz)

{Serializer = new XmlSerializer(typeof(ListLVZ));

{(StreamReader reader = new StreamReader(filename))

{= (ListLVZ)Serializer.Deserialize(reader);

}

}(FileNotFoundException)

" + \n + @"";(StreamWriter writer = new StreamWriter(filename))

{.Write(newXML);

}

}listlvz;

}

#endregion

///

/// Статичный метод для сохранения данных в XML-файл.

///

///

///

#region Save - сохранение экземляра класса Delo в файлstatic void Save(ListLVZ listlvz, string filename)

{sr = new XmlSerializer(listlvz.GetType());sb = new StringBuilder();SW = new StreamWriter(filename);.Serialize(SW, listlvz);.Close();

}

#endregion

}class ListLVZ

{List();

}ListLVZ l = new ListLVZ();Form1()

{();

}void butWork_Click(object sender, EventArgs e)

{wr = new Workers();.famil = Famil.Text;.name = Imya.Text;.otche = Otche.Text;.dolgn = Dolg.Text;.telef = Telef.Text;.Zarplata = Zarpl.Text;.AllWork.Add(wr);.Rows.Clear();(int i = 0; i < l.AllWork.Count; i++)

{.Rows.Add();[0, i].Value = l.AllWork[i].famil;[1, i].Value = l.AllWork[i].name;[2, i].Value = l.AllWork[i].otche;[3, i].Value = l.AllWork[i].dolgn;[4, i].Value = l.AllWork[i].telef;[5, i].Value = l.AllWork[i].Zarplata;

}

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

{(saveFileDialog1.ShowDialog() == DialogResult.OK)

{

{.Save(l, saveFileDialog1.FileName);.Show("Файл сохранен");

}(UnauthorizedAccessException)

{.Show("Невозможно сохранить файл: доступ закрыт");

}

}

}void открытьToolStripMenuItem_Click(object sender, EventArgs e)

{((openFileDialog1.ShowDialog() == DialogResult.OK))

{

{= SaveOpen.LoadXML(openFileDialog1.FileName, l);= openFileDialog1.FileName;

}(InvalidOperationException)

{.Show("Невозможно прочитать данные из этого XML-файла");

}

}s = openFileDialog1.FileName;

}void показатьToolStripMenuItem_Click(object sender, EventArgs e)

{.Items.Clear();.Items.Clear();.Rows.Clear();.Rows.Clear();.Rows.Clear();.Rows.Clear();(int i = 0; i < l.AllClient.Count; i++)

{s = (l.AllClient[i].famil + " " + l.AllClient[i].name + " " + l.AllClient[i].otche);.Items.Add(s);

}(int i = 0; i < l.AllProduct.Count; i++)

{s = (l.AllProduct[i].name + "(" + l.AllProduct[i].clas + ")");.Items.Add(s);

}(int i = 0; i < l.AllWork.Count; i++)

{.Rows.Add();[0, i].Value = l.AllWork[i].famil;[1, i].Value = l.AllWork[i].name;[2, i].Value = l.AllWork[i].otche;[3, i].Value = l.AllWork[i].dolgn;[4, i].Value = l.AllWork[i].telef;[5, i].Value = l.AllWork[i].Zarplata;

}(int i = 0; i < l.AllClient.Count; i++)

{.Rows.Add();[0, i].Value = l.AllClient[i].famil;[1, i].Value = l.AllClient[i].name;[2, i].Value = l.AllClient[i].otche;[3, i].Value = l.AllClient[i].dolgn;[4, i].Value = l.AllClient[i].telef;[5, i].Value = l.AllClient[i].predrp;[6, i].Value = l.AllClient[i].adress;

}(int i = 0; i < l.AllProduct.Count; i++)

{.Rows.Add();[0, i].Value = l.AllProduct[i].name;[1, i].Value = l.AllProduct[i].clas;[2, i].Value = l.AllProduct[i].kolproiz;[3, i].Value = l.AllProduct[i].kolskl;[4, i].Value = l.AllProduct[i].price;

}(int i = 0; i < l.AllOrders.Count; i++)

{.Rows.Add();[0, i].Value = l.AllOrders[i].namecl;[1, i].Value = l.AllOrders[i].nameprod;[2, i].Value = l.AllOrders[i].adresscl;[3, i].Value = l.AllOrders[i].kolzak;[4, i].Value = l.AllOrders[i].symm;

}

}void butClients_Click(object sender, EventArgs e)

{cl = new Clients();.famil = textBox1.Text;.name = textBox2.Text;.otche = textBox3.Text;.dolgn = textBox4.Text;.telef = textBox5.Text;.predrp = textBox6.Text;.adress = textBox7.Text;.AllClient.Add(cl);.Rows.Clear();(int i = 0; i < l.AllClient.Count; i++)

{.Rows.Add();[0, i].Value = l.AllClient[i].famil;[1, i].Value = l.AllClient[i].name;[2, i].Value = l.AllClient[i].otche;[3, i].Value = l.AllClient[i].dolgn;[4, i].Value = l.AllClient[i].telef;[5, i].Value = l.AllClient[i].predrp;[6, i].Value = l.AllClient[i].adress;

}

}void butProd_Click(object sender, EventArgs e)

{pr = new Product();.name = prName.Text;.clas = prClass.Text;.kolproiz = prKolProi.Text;.kolskl = prKolSkl.Text;.price = prPrice.Text;.AllProduct.Add(pr);.Rows.Clear();(int i = 0; i < l.AllProduct.Count; i++)

{.Rows.Add();[0,i].Value = l.AllProduct[i].name;[1,i].Value = l.AllProduct[i].clas;[2,i].Value = l.AllProduct[i].kolproiz;[3,i].Value = l.AllProduct[i].kolskl;[4, i].Value = l.AllProduct[i].price;

}

}void butOrders_Click(object sender, EventArgs e)

{or = new Orders();.namecl = orNameCl.Text;.nameprod = orNamePr.Text;.adresscl = orAdressCl.Text;.kolzak = orKolZak.Text;.symm = orSymm.Text;.AllOrders.Add(or);.Rows.Clear();(int i = 0; i < l.AllOrders.Count; i++)

{.Rows.Add();[0,i].Value = l.AllOrders[i].namecl;[1,i].Value = l.AllOrders[i].nameprod;[2,i].Value = l.AllOrders[i].adresscl;[3,i].Value = l.AllOrders[i].kolza