Добавлен: 14.06.2023
Просмотров: 350
Скачиваний: 12
Итак далее справочная служба и меню "Остатки". Попадаем в окно вида, смотрите рисунок 20.
Рисунок 20 - Остатки по препаратам
Здесь например руководитель может получить всю информацию о остатках топлива своей АЗС.
3.2 Тестирование
На этом этапе представим доказательства того, что спроектированное ПС работает в соответствии с требованиями.
Тест кейсы представим в таблице 1.
Таблица 1 - Таблица тестов программы
ID |
Summary |
Steps |
Expected Result |
Да/Fail |
1 |
Проверка запуска программы |
1.Запуск программы 2. Открытия главного окна |
Наблюдения стартового окна |
Да |
2 |
Проверка добавления движения препарата |
1.Запуск программы 2. Выбор кнопки "БД" и "Добавить" 3. Заполнить корректно поля 4. Кликнуть кнопку "ADD" |
Наличие нового движения в БД |
Да |
3 |
Проверка ввода данных при добавления данных |
1.Запуск программы 2. Выбор кнопки "БД" и "Добавить" 3. Заполнить не все поля заявки 4. Кликнуть |
Наличие сообщения об ошибке ввода данных |
Да |
4 |
Проверка наличия всех товаров для выбора |
1.Запуск программы 2. Открытия главного окна 3. Выбор кнопки "БД" и "Добавить" 4. Клик "ADD" товар |
Наличие списка товаров |
Да |
Продолжение таблицы 1
ID |
Summary |
Steps |
Expected Result |
Да/Fail |
5 |
Проверка возможности просмотра информации о клиентах |
1.Запуск программы 2. Открытия главного окна 3. Выбор кнопки "Клиент" |
Получение информации об клиентах |
Да |
6 |
Проверка возможности просмотра информации о товарах |
1.Запуск программы 2. Открытия главного окна 3. Выбор кнопки "Товар" |
Получение информации об товарах |
Да |
7 |
Возможность просмотра информации о клиентах |
1.Запуск программы 2. Открытия главного окна 3. Выбор меню "Справочная служба" 4. Далее "По клиентам" 5. Выбор клиента из списка |
Наличие необходимого отчета. |
Да |
8 |
Возможность просмотра информации по товарам |
1.Запуск программы 2. Открытия главного окна 3. Выбор меню "Справочная служба". 4. Далее "По товарам" 4. Выбор товара из списка |
Наличие необходимого отчета. |
Да |
Продолжение таблицы 1
ID |
Summary |
Steps |
Expected Result |
Да/Fail |
9 |
Просмотр остатков по товарам |
1.Запуск программы 2. Открытия главного окна 3. Выбор меню "Справочная служба". 4. Далее "Остатки" |
Наличие необходимого отчета. |
Да |
10 |
Обновления информации об товаре |
1.Запуск программы 2. Открытия главного окна 3. Выбор кнопки "Товар" 4. Обновить 5. Выбор товара для обновления 6. Изменение информации 7. Клик "Обновить" |
Изменения данных в БД |
Да |
11 |
Обновления информации об клиенте |
1.Запуск программы 2. Открытия главного окна 3. Выбор кнопки "Клиент" 4. Обновить 5. Выбор клиента для обновления 6. Изменение информации 7. Клик "Обновить" |
Изменения данных в БД |
Да |
12 |
Авторизация |
1.Запуск программы 2. Открытия главного окна 3. Ввод логина и пароля |
Наличие сообщения об успехе. |
Да |
Заключение
В результате выполнения курсовой работы был достаточно подробно изучен язык программирования C#, находящийся на платформе Visio Studio. Конкретно платформа Windows Form С#.
В качестве хранения данных использовалась БД и СУБД ACCESS. Работа над данным контейнером, тоже привели к улучшению знаний у автора о данной системе управления базой данных.
В процессе разработки, коды программы распределялись по файлам. Данный подход закрепил умения и навыки автора по модульному программированию.
В результате оформления ПЗ курсовой работы были закреплены навыки построения алгоритмов в виде блок-схем и диаграмм активностей.
В результате выполнения данной курсовой работы был разработан программный комплекс "ЗС".
Данное программное обеспечение выполняет следующие функции:
- Поиск, добавление, удаление, обновление информации об топливе;
- Поиск, добавление, удаление, обновление информации об клиенте;
- Поиск, добавление, удаление, обновление информации о движении топливо;
- Поиск по топливу;
- Поиск по клиентам;
- Отчет "остатки по топливу".
Программа проста для установки и имеет интуитивно понятный графический интерфейс. Программный комплекс актуален и может устанавливаться на всех ПК.
Список литературы
1. Агуров П.А. С#. Разработка компонентов в MS Visual Studio 2008/2010.СПб.: БХВ –Петербург, 2008. 480с.
2. Марченко А.Л. C#. Введение в программирование. Учебное пособие. М.: МГУ им. М.В. Ломоносова ,2005. 317с.
3. Биллиг В.А. Основы программирования на C#//Учебное пособие. 2005. URL:http://www.intuit.ru/department/pl/csharp (дата обращения 16.01.12)
ПРИЛОЖЕНИЕ А
Модель данных
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Apteka
{
class zakaz //1 model
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
int id_tovar;
public int Id_tovar
{
get { return id_tovar; }
set { id_tovar = value; }
}
int id_klient;
public int Id_klient
{
get { return id_klient; }
set { id_klient = value; }
}
int id_vid;
public int Id_vid
{
get { return id_vid; }
set { id_vid = value; }
}
string data;
public string Data
{
get { return data; }
set { data = value; }
}
int kol;
public int Kol
{
get { return kol; }
set { kol = value; }
}
string ed_izm;
public string Ed_izm
{
get { return ed_izm; }
set { ed_izm = value; }
}
string zena;
public string Zena
{
get { return zena; }
set { zena = value; }
}
}
class vid //5 model
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string status;
public string Status
{
get { return status; }
set { status = value; }
}
}
class klient //3 model
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name;
public string Name
{
get { return name; }
set { name = value; }
}
string tel;
public string Tel
{
get { return tel; }
set { tel = value; }
}
string adress;
public string Adress
{
get { return adress; }
set { adress = value; }
}
string emaill;
public string Emaill
{
get { return emaill; }
set { emaill = value; }
}
}
class tovar //2 model
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name;
public string Name
{
get { return name; }
set { name = value; }
}
string strana;
public string Strana
{
get { return strana; }
set { strana = value; }
}
string vid;
public string Vid
{
get { return vid; }
set { vid = value; }
}
}
class koll //4 model
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
int id_tovar;
public int Id_tovar
{
get { return id_tovar; }
set { id_tovar = value; }
}
int kol;
public int Koll
{
get { return kol; }
set { kol = value; }
}
string ed_izm;
public string Ed_izm
{
get { return ed_izm; }
set { ed_izm = value; }
}
}
class ot1
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name_tov;
public string Name_tov
{
get { return name_tov; }
set { name_tov = value; }
}
int koll;
public int Koll
{
get { return koll; }
set { koll = value; }
}
string ed_izm;
public string Ed_izm
{
get { return ed_izm; }
set { ed_izm = value; }
}
}
class ot2
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name_tov;
public string Name_tov
{
get { return name_tov; }
set { name_tov = value; }
}
string strana;
public string Strana
{
get { return strana; }
set { strana = value; }
}
string vid;
public string Vid
{
get { return vid; }
set { vid = value; }
}
string name_klient;
public string Name_klient
{
get { return name_klient; }
set { name_klient = value; }
}
string adress;
public string Adress
{
get { return adress; }
set { adress = value; }
}
string status;
public string Status
{
get { return status; }
set { status = value; }
}
string data;
public string Data
{
get { return data; }
set { data = value; }
}
int kol;
public int Kol
{
get { return kol; }
set { kol = value; }
}
string ed_izm;
public string Ed_izm
{
get { return ed_izm; }
set { ed_izm = value; }
}
string zena;
public string Zena
{
get { return zena; }
set { zena = value; }
}
}
class ot3
{
int id;
public int Id
{
get { return id; }
set { id = value; }
}
string name_klient;
public string Name_klient
{
get { return name_klient; }
set { name_klient = value; }
}
string tel;
public string Tel
{
get { return tel; }
set { tel = value; }
}
string adress;
public string Adress
{
get { return adress; }
set { adress = value; }
}
string emaill;
public string Emaill
{
get { return emaill; }
set { emaill = value; }
}
string status;
public string Status
{
get { return status; }
set { status = value; }
}
string name_tovar;
public string Name_tovar
{
get { return name_tovar; }
set { name_tovar = value; }
}
string data;
public string Data
{
get { return data; }
set { data = value; }
}
int kol;
public int Kol
{
get { return kol; }
set { kol = value; }
}
string ed_izm;
public string Ed_izm
{
get { return ed_izm; }
set { ed_izm = value; }
}
string zena;
public string Zena
{
get { return zena; }
set { zena = value; }
}
}
}
Работа БД
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Apteka
{
internal class BD
{
private OleDbConnection connection;
private OleDbCommand command;
private void ConnectTo()
{
connection = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0; data source=ZS.mdb");
command = connection.CreateCommand();
}
public BD()
{
ConnectTo();
}
//Zakaz
public void Inser_zakaz(zakaz zad)
{
try
{
command.CommandText = "INSERT INTO Zakaz (Id_tovar,Id_klient,Id_vid,Data,Kol,Ed_izm,Zena) VALUES('" + zad.Id_tovar + "', '" + zad.Id_klient + "', '" + zad.Id_vid + "', '" + zad.Data + "', '" + zad.Kol + "', '" + zad.Ed_izm + "', '" + zad.Zena + "')";
command.CommandType = CommandType.Text;
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null) { connection.Close(); }
}
}
public void Update_zakaz(zakaz st, zakaz now)
{
try
{
command.CommandText = "UPDATE Zakaz SET Id_tovar = '" + now.Id_tovar + "',Id_klient ='" + now.Id_klient + "',Id_vid ='" + now.Id_vid + "',Data ='" + now.Data + "',Kol ='" + now.Kol + "',Ed_izm ='" + now.Ed_izm + "',Zena ='" + now.Zena + "' WHERE ID =" + st.Id;
command.CommandType = CommandType.Text;
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null) { connection.Close(); }
}
}
public List<zakaz> Fill_zakaz()
{
List<zakaz> spisok = new List<zakaz>();
try
{
command.CommandText = "SELECT * FROM Zakaz";
command.CommandType = CommandType.Text;
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
zakaz zad = new zakaz();
zad.Id = Convert.ToInt32(reader["Id"].ToString());
zad.Id_tovar = Convert.ToInt32(reader["Id_tovar"].ToString());
zad.Id_klient = Convert.ToInt32(reader["Id_klient"].ToString());
zad.Id_vid = Convert.ToInt32(reader["Id_vid"].ToString());
zad.Data = reader["Data"].ToString();
zad.Kol = Convert.ToInt32(reader["Kol"].ToString());
zad.Ed_izm = reader["Ed_izm"].ToString();
zad.Zena = reader["Zena"].ToString();
spisok.Add(zad);
}
return spisok;
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null)
{
connection.Close();
}
}
}
public void Delete(string Id, string tab) //Удаление!!!!!!!!!!!!!!!!!!!!
{
try
{
command.CommandText = "DELETE FROM " + tab + " WHERE ID= " + Id;
command.CommandType = CommandType.Text;
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null) { connection.Close(); }
}
}
public List<zakaz> Fill_zakaz_idklient(String tab)
{
List<zakaz> spisok = new List<zakaz>();
try
{
command.CommandText = "SELECT * FROM Zakaz WHERE Id_klient = " + tab;
command.CommandType = CommandType.Text;
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
zakaz zad = new zakaz();
zad.Id = Convert.ToInt32(reader["Id"].ToString());
zad.Id_tovar = Convert.ToInt32(reader["Id_tovar"].ToString());
zad.Id_klient = Convert.ToInt32(reader["Id_klient"].ToString());
zad.Id_vid = Convert.ToInt32(reader["Id_vid"].ToString());
zad.Data = reader["Data"].ToString();
zad.Kol = Convert.ToInt32(reader["Kol"].ToString());
zad.Ed_izm = reader["Ed_izm"].ToString();
zad.Zena = reader["Zena"].ToString();
spisok.Add(zad);
}
return spisok;
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null) { connection.Close(); }
}
}
public List<zakaz> Fill_zakaz_idtovar(String tab)
{
List<zakaz> spisok = new List<zakaz>();
try
{
command.CommandText = "SELECT * FROM Zakaz WHERE Id_tovar = " + tab;
command.CommandType = CommandType.Text;
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
zakaz zad = new zakaz();
zad.Id = Convert.ToInt32(reader["Id"].ToString());
zad.Id_tovar = Convert.ToInt32(reader["Id_tovar"].ToString());
zad.Id_klient = Convert.ToInt32(reader["Id_klient"].ToString());
zad.Id_vid = Convert.ToInt32(reader["Id_vid"].ToString());
zad.Data = reader["Data"].ToString();
zad.Kol = Convert.ToInt32(reader["Kol"].ToString());
zad.Ed_izm = reader["Ed_izm"].ToString();
zad.Zena = reader["Zena"].ToString();
spisok.Add(zad);
}
return spisok;
}
catch (Exception)
{
throw;
}
finally
{
if (connection != null) { connection.Close(); }
}
}
public zakaz Get_zakaz_idtovar(String tab)
{
zakaz zad = new zakaz();