Сетевое приложение учета работы магазина бытовой техники

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

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

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

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

Методы данного класса представлены в таблице 2.26.

Таблица 2.26 - Метод класса ApplienceViewModel

Название

Описание

ApplienceViewModel

Процедура-конструктор.

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

Более наглядно описание взаимодействия между классами изображено на рисунке 2.3.

Ниже изображено как классы Модели вида содержат в себе классы Данных. Все классы Модели вида, такие как: TypeViewModel, SpeciesViewModel, SubspeciesViewModel, ApplienceViewModel наследуются от класса TreeViewItemViewModel, который им передает презентационные свойства для отображения в элементе TreeView.

Рисунок 2.3 - Диаграмма классов клиентского модуля

Ниже представлены главные классы клиентского модуля, которые выполняют основные функции клиентского приложения. Класс MainWindow содержит в себе все необходимое для предоставления пользовательского интерфейса и для обеспечения пользовательского взаимодействия для добавления, удаления, изменения данных и для сохранения экземпляров техники в корзину покупателя. Класс ApplianceWindow служит для предоставления данных о технике и ее добавления в корзину. Класс LoginWindow служит для авторизации пользователя.

Рисунок 2.4 - Диаграмма классов клиентского модуля

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

Сущность «Типы техники» должна хранить названия типов бытовой техники, занесенных в информационную систему. Данная сущность характеризуется единственным атрибутом «Название типа», который является строковым и хранит непосредственно название типа бытовой техники. Для уникальной идентификации каждой записи необходимо ввести дополнительный атрибут «Идентификатор типа», принимающий целочисленное значение, являющийся ключом записи.

Сущность «Виды техники» предназначена для хранения названий видов бытовой техники, относящихся к определенным типам бытовой техники. Данная сущность характеризуется атрибутом «Название вида», хранящим непосредственно название вида бытовой техники и принимающим строковое значение. Сущность содержит атрибуты, принимающие числовые значения: «Идентификатор типа», хранящий информацию о том, к какому типу относится данный вид бытовой техники, «Идентификатор вида», который введен для уникальной идентификации вида бытовой техники в рамках базы данных и является ключом записи.

Сущность «Подвиды техники» предназначена для хранения названий подвидов бытовой техники, относящихся к определенным видам бытовой техники. Данная сущность характеризуется атрибутом «Название подвида», хранящим непосредственно название подвида бытовой техники и принимающим строковое значение. Сущность содержит атрибуты, принимающие числовые значения: «Идентификатор вида», хранящий информацию о том, к какому виду относится данный подвид бытовой техники, «Идентификатор подвида», который введен для уникальной идентификации подвида бытовой техники в рамках базы данных и является ключом записи.

Сущность «Бытовая техника» содержит информацию о бытовой технике, предложенной в магазине, характеризуется следующим набором атрибутов, принимающих строковые значения: «Название техники» содержит информацию о названиях всей бытовой техники в магазине, «Описание техники» содержит описание характеристик всей бытовой техники в магазине. Атрибуты, принимающие числовые значения: «Количество экземпляров» содержит информацию о количестве экземпляров бытовой техники, «Идентификатор подвида» содержит информацию к какому подвиду относится данное наименование бытовой техники. Атрибут, принимающий денежное значение: «Цена» содержит информацию о цене одного экземпляра данного наименования бытовой техники. Атрибут «Идентификатор техники», принимающий числовое значение, введен для уникальной идентификации бытовой техники в рамках информационной системы и является ключом записи.

Рисунок 2.5 - Схема данных в Microsoft SQL Server 2005

Между сущностями «Типы техники» и «Виды техники» определена связь один ко многим, так как одному типу бытовой техники может соответствовать множество видов бытовой техники, и один вид бытовой техники не может быть присущ нескольким типам, а только одному.

Между сущностями «Виды техники» и «Подвиды техники» определена связь один ко многим, так как одному виду бытовой техники может соответствовать множество подвидов бытовой техники, и один подвид бытовой техники не может быть присущ нескольким видам, а только одному.

Между сущностями «Подвиды техники» и «Бытовая техника» определена связь один ко многим, так как одному подвиду бытовой техники может соответствовать множество наименований бытовой техники, и одно наименование бытовой техники не может быть присуще нескольким подвидам, а только одному.

По результатам проектирования, используя СУБД Microsoft SQL Server 2005, была реализована база данных, которая представлена на рисунке 2.5.

2.4 Функциональная схема, функциональное назначение программного продукта

Как было указано в разделе 2, работа разрабатываемого программного продукта будет основана на взаимодействии нескольких частей, модулей.

В работе информационной системы можно выделить несколько процессов:

- работа с информацией из базы данных;

- формирование корзины покупателя;

- формирование отчета.

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

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

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

Каждая часть клиент-серверного приложения имеет свои функции.

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

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

Выделенная БД имеет функции хранения информации о типах, видах, подвидах, экземплярах бытовой техники.

3. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА

3.1 Описание реализации программного продукта

Для того чтобы программа выполняла всю необходимую работу были реализованы алгоритмы, представленные ниже.

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

Рассмотрим серверное приложение SimpleServerWindowsForm. В главном классе формы в методе Form1 добавление главного метода формы ExecuteLoop в фоновый поток.

Thread thread = new Thread(new ParameterizedThreadStart(ExecuteLoop));

thread.IsBackground = true;

thread.Start();

Метод ExecuteLoop инициирует бесконечное прослушивание заданного порта с помощью экземпляров классов TcpListener и TcpClient. Затем происходит считывание запроса экземпляром класса StreamReader методом ReadLine. После этого происходит делегирование информации, полученной от клиента в основной поток формы с помощью метода BeginInvoke. Затем происходит создание экземпляра класса ServerResponsingToTheClientClass, в который мы передаем строку подключения к базе данных ConnectString, сообщение от клиента dataRecieve, поток данных serializationStream, а также вызываем метод Main. В самом конце закрываем клиент TcpClient, поток Stream, а также StreamReader. В блоке finally закрываем соединение TcpListener.

try

{

server = newTcpListener(localAddr, port);

server.Start();

while (true)

{

if (!server.Pending())

continue;

TcpClient client = server.AcceptTcpClient();

client.SendBufferSize = client.ReceiveBufferSize = 1024;

NetworkStream streamIn = client.GetStream();

StreamReader readerStream = new StreamReader(streamIn);

Stream serializationStream = client.GetStream();

dataRecieve = readerStream.ReadLine();

this.BeginInvoke(new WriteStringDelegate(WriteLine), dataRecieve);

ServerResponsingToTheClientClass SRTTC =

new ServerResponsingToTheClientClass();

SRTTC.Con = new SqlConnection(ConnectString);

SRTTC.Message = dataRecieve;

SRTTC.SerializationStream = serializationStream;

SRTTC.Main();

client.Close();

serializationStream.Close();

readerStream.Close();

}

}

catch (SocketException)

{

}

finally

{

server.Stop();

}

Рассмотрим подробнее класс ServerResponsingToTheClientClass. Он отвечает за обработку запроса к базе данных от клиентского приложения и отправку ответа. Имеет переменную класса SqlConnection, отвечающюю за SQL-соединение, строковую переменную _message, хранящую сообщение от клиентского приложения, переменную класса Stream, для установления связи с клиентским приложением для передачи потока данных, переменную класса BinaryFormatter для сериализации потока данных, который передается клиентскому приложению.

private SqlConnection con;

private string _message;

private Stream _serializationStream;

BinaryFormatter formatter = new BinaryFormatter();

public SqlConnection Con

{

set { con = value; }

}

public string Message

{

get { return _message; }

set { _message = value; } }

public Stream SerializationStream

{

get { return _serializationStream; }

set { _serializationStream = value; }

}

Метод LogFileMethod отвечает за ведение журнала обращений к серверу. Метод MessageToClient_Select отвечает за выполнение SQL-запроса на выборку данных и возвращает объект класса DataTable.

public void LogFileMethod()

{

StreamWriter sw;

FileInfo fi = new FileInfo("log.txt");

sw = fi.AppendText();

sw.WriteLine(DateTime.Now +" - "+_message);

sw.Close();

}

public DataTable MessageToClient_Select()

{

SqlDataAdapter adapter = new SqlDataAdapter(_message, con);

DataTable Table = new DataTable("Table_1");

adapter.Fill(Table);

return Table;

}

Метод MessageToClient_InsertDeleteUpdate отвечает за выполнение SQL-запроса на добавление, удаление, изменение данных, и возвращает объект класса MBParametersClass, сообщающий об успехе операции.

publicMBParametersClassMessageToClient_InsertDeleteUpdate()

{

SqlCommand cmd = new SqlCommand(_message, con);

MBParametersClass MBPCExample = new MBParametersClass();

if (cmd.ExecuteNonQuery() == 1)

{

switch (_message[0])

{

case 'I':

case 'i': MBPCExample.Text = "Информацияуспешнодобавлена!";

MBPCExample.Title = "Добавление";

break;

case 'D':

case 'd': MBPCExample.Text = "Информация успешно удалена!";

MBPCExample.Title = "Удаление";

break;

case 'U':

case 'u': MBPCExample.Text = "Информация успешно изменена!";

MBPCExample.Title = "Изменение";

break;

}

}

else

{

MBPCExample.Text = "Ошибкавыполнения!";

MBPCExample.Title = "Ошибка";

}

MBPCExample.Button = MessageBoxButtons.OK;

MBPCExample.Icon = MessageBoxIcon.Information;

returnMBPCExample;

}

Метод MessageToClient_IncorrectData предназначен для отправки в случае неверного запроса, сообщает клиенту об ошибке с помощью возвращаемого значения в виде экземпляра класса MBParametersClass. Метод Main является главным методом данного класса и отвечает за исполнение главной функции класса ServerResponsingToTheClientClass - обработку запроса к базе данных от клиентского приложения и отправку ответа. Вначале открывается SQL-соединение с помощью метода Open. Затем вызывается метод LogFileMethod для начала ведения журнала событий. В блоке switch-происходит определение запроса по типу и сериализация и отправка ответа клиентскому приложению с помощью экземпляра класса BinaryFormatter. В конце происходит закрытие SQL-соединения.

publicMBParametersClassMessageToClient_IncorrectData()

{

MBParametersClassMBPCExample = newMBParametersClass();

MBPCExample.Text = "Отправлена неправильная информация. Сервер не может распознать команду!";

MBPCExample.Title = "Ошибка";

MBPCExample.Button = MessageBoxButtons.OK;

MBPCExample.Icon = MessageBoxIcon.Error;

return MBPCExample;

}

public void Main()

{

con.Open();

LogFileMethod();

switch (_message[0])

{

case 'S':

case 's':formatter.Serialize(_serializationStream, MessageToClient_Select());

break;

case 'I':

case 'i':

case 'D':

case 'd':

case 'U':

case 'u':

formatter.Serialize(_serializationStream, MessageToClient_InsertDeleteUpdate());

break;

default: formatter.Serialize(_serializationStream, MessageToClient_IncorrectData());

break;

}

con.Close();

}

От серверного приложения клиентскому передается объект класса MBParametersClass, который содержит объекты, выводящиеся в диалоговом окне MessageBox. Это строковое значение текста сообщения Text, строковое значение заголовка сообщения Title, кнопка диалогового окна класса MessageBoxButtons, иконка диалогового окна класса MessageBoxIcon.

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

[Serializable]

public class MBParametersClass

{

private string _text;

private string _title;

private MessageBoxButtons _button;

private MessageBoxIcon _icon;

public string Text

{

get { return _text; }

set { _text = value; }

}

public string Title

{

get { return _title; }

set { _title = value; }

}

public MessageBoxButtons Button

{

get { return _button; }

set { _button = value; }}

public MessageBoxIcon Icon

{

get { return _icon; }

set { _icon = value; }

}}

Клиентское приложение должно отсылать запросы серверному и принимать от него ответы. Для этого нам потребуется класс, специально предназначенный для выполнения этих функций. Класс называется ClientRequestingToTheServerClass. Содержит переменные для указания номера порта, названия хоста, переменную класса TcpClient, переменную для хранения SQL-запроса, и переменную для хранения объекта DataTable. Содержит метод StrRMethod для считывания из текстового документа IP адреса серверного приложения для последующего обращения к нему. В данном классе в конструктор передается SQLзапрос при создании объекта данного класса.

intport = 12000;

StringhostName = "";

TcpClient client = null;

public string StrRMethod()

{

StreamReadersr = new StreamReader("IP.txt");

stringstr = sr.ReadToEnd();

returnstr;

}

private string RequestString;

privateDataTable DT;

publicClientRequestingToTheServerClass(string requestString)

{

RequestString = requestString;

}

publicDataTableDataT

{

get { return DT; }

}

И в последующем вызывается метод Main, который выполняет главную функцию данного класса - соединение с серверным приложением, отправка ему SQL-запроса и получение от него ответа. Вначале в данном методе в блоке try получаем IP адрес серверного приложения с помощью метода StrRMethod и создаем объект класса установления связи с серверным приложением. В случае неудачи сработает блок catch - выведется сообщение об ошибке и метод прекратит свою работу. Если блок catch не сработает, метод далее продолжит свою работу.

Создаются потоки для соединения с серверным приложением - объекты класса NetworkStream, StreamWriter, Stream.Отсылается запрос серверному приложению через объект класса StreamWriter с помощью метода WriteLine. Затем происходит прослушивание в ожидании ответа и десериализация ответа помощью объекта BinaryFormatter в необходимый объект данных в зависимости от запроса. Если SQL-запрос является запросом на выборку данных, то ответ от серверного приложения десериализуется в объект класса DataTable.Если же запрос был на добавление, удаление либо редактирование данных, то ответ от серверного приложения десериализуется как объект класса MBParametersClass и вызывается диалоговое окно класса MessageBox с параметрами из свойств десериализованного объекта класса MBParametersClass, сообщающее об успехе или неудаче добавления, удаления, редактирования данных в базе данных. В конце закрываются соединения и потоки методами Close.

public void Main()

{

try

{

hostName = StrRMethod();

client = new TcpClient(hostName, port);

client.SendBufferSize = client.ReceiveBufferSize = 1024;

}

catch

{

WF.MessageBox.Show("Сервер не готов!");

return;

}

NetworkStreamstreamOut = client.GetStream();

StreamWriterwriterStream = new StreamWriter(streamOut);

Stream serializationStream = client.GetStream();

writerStream.WriteLine(RequestString);

writerStream.Flush();

if (RequestString[0] == 'S' || RequestString[0] == 's')

{

BinaryFormatter formatter = new BinaryFormatter();

DT = (DataTable)formatter.Deserialize(serializationStream);

}

else

{BinaryFormatter formatter = new BinaryFormatter();

MBParametersClassMBPCExample = (MBParametersClass)formatter.Deserialize(serializationStream);

WF.MessageBox.Show(MBPCExample.Text, MBPCExample.Title, MBPCExample.Button, MBPCExample.Icon);

}

client.Close();

serializationStream.Close();

writerStream.Close();

}

В клиентском приложении присутствуют часто выполняемые SQL-запросы при обращении к базе данных через серверное приложение. В первую очередь, это запросы на выборку данных о типах, видах, подвидах товаров в таблицах и детальная информация о самих товарах. Для таких SQL-запросов нужно создать отдельный класс методов. Данный класс называется Database,и он содержит методы GetTypesDT, GetTypes, GetSpeciesDT, GetSpecies, GetSubspeciesDT, GetSubspecies, GetAppliencesDT, GetAppliences, GetInformationAboutAppliencesDT.

Метод GetTypesDT содержит экземпляр класса ClientRequestingToTheServerClass и передает в него строку SQL-запроса на выборку данных о типах бытовой техники в магазине. Возвращаемое значение метода - экземпляр класса DataTable, содержащий в себе ответ на SQL-запрос, передаваемый в экземпляр класса ClientRequestingToTheServerClass и получаемый с помощью выполнения метода Main и получения свойства DataT экземпляра данного класса.

Метод GetTypes выполняет преобразование принимаемого объекта DataTable, содержащего информацию о типах бытовой техники к объекту класса TypeClass, необходимого для отображения в объекте пользовательского интерфейса TreeView.

#region GetTypes

public static DataTableGetTypesDT()

{

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass

("SELECT [type_id],[type_name] From [Types];");

CRTTSC.Main();

returnCRTTSC.DataT;

}

public static TypeClass[] GetTypes(DataTabledt)

{TypeClass[] TC = new TypeClass[dt.Rows.Count];

for (int i = 0; i <dt.Rows.Count; i++)

{

TC[i] = new TypeClass(dt.Rows[i][1].ToString(), dt.Rows[i][0].ToString());

}

returnTC;

}

#endregion

Метод GetSpeciesDT содержит экземпляр класса ClientRequestingToTheServerClass и передает в него строку SQL-запроса на выборкуданных о видах бытовой техники в магазине по данному типу. Возвращаемое значение метода - экземпляр класса DataTable, содержащий ответ на SQL-запрос, передаваемый в экземпляр класса ClientRequestingToTheServerClass и получаемый с помощью выполнения метода Main и получения свойства DataT экземпляра данного класса.

Метод GetSpecies выполняет преобразование принимаемого объекта DataTable, содержащего информацию о видах бытовой техники к объекту класса SpeciesClass, необходимого для отображения в объекте пользовательского интерфейса TreeView.

#region GetSpecies

public static DataTableGetSpeciesDT(string global_type_id)

{

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass("SELECT [species_id],[species_name] From [Species] WHERE [_type_id]=" + global_type_id + ";");

CRTTSC.Main();

returnCRTTSC.DataT;

}

public static SpeciesClass[] GetSpecies(DataTabledt)

{

SpeciesClass[] SC = new SpeciesClass[dt.Rows.Count];

for (int i = 0; i <dt.Rows.Count; i++)

{

SC[i] = new SpeciesClass(dt.Rows[i][1].ToString(), dt.Rows[i][0].ToString());}

returnSC;

}

#endregion

Метод GetSubspeciesDT содержит экземпляр класса ClientRequestingToTheServerClass и передает в него строку SQL-запроса на выборку данных о подвидах бытовой техники в магазине по данному виду. Возвращаемое значение метода - экземпляр класса DataTable, содержащий ответ на SQL-запрос, передаваемый в экземпляр класса ClientRequestingToTheServerClass и получаемый с помощью выполнения метода Main и получения свойства DataT экземпляра данного класса.

Метод GetSubspecies выполняет преобразование принимаемого объекта DataTable, содержащего информацию о подвидах бытовой техники к объекту класса SubspeciesClass, необходимого для отображения в объекте пользовательского интерфейса TreeView.

#region GetSubspecies

public static DataTableGetSubspeciesDT(string global_species_id)

{

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass("SELECT [subspecies_id],[subspecies_name] From [Subspecies] WHERE [_species_id]=" + global_species_id + ";");

CRTTSC.Main();

returnCRTTSC.DataT;

}

public static SubspeciesClass[] GetSubspecies(DataTabledt)

{

SubspeciesClass[] SSC = new SubspeciesClass[dt.Rows.Count];

for (int i = 0; i <dt.Rows.Count; i++)

{

SSC[i] = new SubspeciesClass(dt.Rows[i][1].ToString(), dt.Rows[i][0].ToString());

}

return SSC;

}

#endregion

Метод GetAppliencesDT содержит экземпляр класса ClientRequestingToTheServerClass и передает в него строку SQL-запроса на выборку данных об экземплярах бытовой техники в магазине по данному подвиду. Возвращаемое значение метода - экземпляр класса DataTable, содержащий в себе ответ на SQL запрос, передаваемый в экземпляр класса ClientRequestingToTheServerClass и получаемый с помощью выполнения метода Main и получения свойства DataT экземпляра данного класса.

Метод GetAppliences выполняет преобразование принимаемого объекта DataTable, содержащего информацию об экземплярах бытовой техники к объекту класса ApplienceClass, необходимого для отображения в объекте пользовательского интерфейса TreeView.

#region GetAppliences

public static DataTableGetAppliencesDT(string global_subspecies_id)

{

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass("SELECT [applience_id],[applience_name],[features],[number_of_units] From [Appliences] WHERE [_subspecies_id]=" + global_subspecies_id + ";");

CRTTSC.Main();

returnCRTTSC.DataT;

}

public static ApplienceClass[] GetAppliences(DataTabledt)

{

ApplienceClass[] AC = new ApplienceClass[dt.Rows.Count];

for (int i = 0; i <dt.Rows.Count; i++)

{

AC[i] = new ApplienceClass(dt.Rows[i][1].ToString(), dt.Rows[i][0].ToString());

}

return AC;

}

#endregion

Метод GetInformationAboutAppliencesDT содержит экземпляр класса ClientRequestingToTheServerClass и передает в него строку SQL-запроса на выборку данных о параметрах бытовой техники в магазине по данному экземпляру. Возвращаемое значение метода - экземпляр класса DataTable, содержащий в себе ответ на SQL-запрос, передаваемый в экземпляр класса ClientRequestingToTheServerClass и получаемый с помощью выполнения метода Main и получения свойства DataT экземпляра данного класса.

#region GetInformationAboutApplience

public static DataTableGetInformationAboutApplienceDT(string global_appliences_id)

{

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass("SELECT [applience_id],[applience_name],[features],[number_of_units],[price] From [Appliences] WHERE [applience_id]='" + global_appliences_id + "';");

CRTTSC.Main();

returnCRTTSC.DataT;}

#endregion

3.2 Тестирование и оценка надежности программного продукта

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

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

Рисунок 3.1 - Поле поиска с водяной надписью

Код для осуществления поиска представлен ниже. Там происходит проверка на нажатие клавиши Enter в блоке if. Затем происходит активизация вкладки «Техника», создается экземпляр класса ClientRequestingToTheServerClass и в него передается строка запроса на поиск целиком или части названия или описания бытовой техники. Затем вызывается метод Main, и свойство DataT экземпляра класса ClientRequestingToTheServerClass передается в качестве источника данных для объекта интерфейса dataGrid для вывода таблицы бытовой техники.

if (e.Key == Key.Enter)

{

tabItem4.IsEnabled = true;

tabItem4.IsSelected = true;

ClientRequestingToTheServerClass CRTTSC;

CRTTSC = new ClientRequestingToTheServerClass("SELECT [applience_id],[applience_name],[features],[number_of_units] From [Appliences] WHERE [Appliences].[applience_name] LIKE '%" + wmtextBoxSearch.Text + "%' OR [Appliences].[features] LIKE '%" + wmtextBoxSearch.Text + "%';");

CRTTSC.Main();

dataGrid4.AutoGenerateColumns = true;

dataGrid4.ItemsSource = CRTTSC.DataT.DefaultView;}

Следующий участок содержит иерархическое дерево бытовой техники с разбиением по типам, видам, подвидам и экземплярам бытовой техники.

Рисунок 3.2 - Дерево бытовой техники

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

Ниже представлена вкладка «Тип» в режиме администратора. На ней расположено поле для ввода, кнопки редактирования информации в базе данных, а также таблица типов бытовой техники.

Рисунок 3.3 - Вкладка «Тип»

Ниже представлена вкладка «Вид» в режиме администратора. На ней расположено поле для ввода, поле информации о типе данного вида бытовой техники, кнопки редактирования информации в базе данных, а также таблица видов бытовой техники.

Рисунок 3.4 - Вкладка «Вид»

Ниже представлена вкладка «Подвид» в режиме администратора. На ней расположено поле для ввода, поле для отображения информации о типе бытовой техники, поле для отображения информации о виде бытовой техники, кнопки редактирования информации в базе данных, а также таблица подвидов бытовой техники.

Рисунок 3.5 - Вкладка «Подвид»

Ниже представлена вкладка «Техника» в режиме администратора. На ней расположено поле для ввода, поле для отображения информации о типе бытовой техники, поле для отображения информации о виде бытовой техники, поле для отображения информации о подвиде бытовой техники, кнопка добавления техники в базу данных, а также таблица экземпляров бытовой техники.

Рисунок 3.6 - Вкладка «Техника»

Ниже представлено окно для изменения информации о технике или ее удаления. На нем располагаются поля с информацией о бытовой технике и кнопки удаления и изменения информации.

Рисунок 3.7 - Вкладка с описанием характеристик конкретной бытовой техники

Данный участок активен лишь в случае режима Кассир.

Рисунок 3.8 - Участок отображающий информацию о корзине покупателя

По нажатию кнопки Корзина выведется список товаров.

3.3 Расчет себестоимости от внедрения результатов ВКР

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

В структуре капитальных вложений, связанных с автоматизацией управления, выделяют капитальные вложения на разработку проекта автоматизации (предпроизводственные затраты) и капитальные вложения на реализацию проекта (затраты на внедрение):

К = Кп + Кр, (3.1)

где Кп - капитальные вложения на проектирование; Кр - капитальные вложения на реализацию проекта.

Расчет капитальных вложений на проектирование. Капитальные вложения на проектирование программных средств (ПС) определяются путем составления смет расходов и определяются по формуле:

Кп=Км+ Кпр + Кмаш + Кс + Кн, (3.2)

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

Все расчеты будут производиться в условных единицах (у.е.), что соответствует стоимости одного доллара США в Приднестровском Республиканском Банке на момент разработки ПС.

Затраты на материалы. Определим смету затрат и рассчитаем стоимость материалов Км, пошедших на разработку ПС. Перечень материалов обусловлен темой дипломной работы. В их состав входит следующее: носители информации (бумага, магнитные диски) и быстроизнашивающиеся предметы труда (ручка, карандаш, резинка). Смета затрат на материалы представлена в таблице 3.1.

Таблица 3.1 - Затраты на материалы

Материал

Единица

измерения

Цена за

единицу (у.е.)

Количество

Сумма (у.е.)

CD-RW диск

Шт.

1,40

1

1,40

Бумага

Пач.

5,00

1

5,00

Ручка

Шт.

0,35

2

0,70

Тонер картридж

Шт.

10,00

1

10,00

Папка

Шт.

0,20

1

0,20

ИТОГО

17,30

Транспортно-заготовительные расходы (5 %)

0,87

ВСЕГО

18,17

Затраты на оплату труда. Затраты на основную заработную плату проектировщика (Кпр) рассчитывается на основе данных о квалификационном составе разработчиков, их должностных окладах и общей занятости по теме. Дополнительная заработная плата начисляется в размере 10% от суммы основной заработной платы, а отчисления на социальные страхования - в размере 39% от фонда заработной платы. Смета затрат на оплату труда представлена в таблице 3.2.

Таблица 3.2 - Затраты на оплату труда

Должность работника

Должностной оклад (у.е.)

Дневная ставка

Занятость

по теме

Сумма основной з/п (у.е.)

Программист

130

5,5

50

275

Руководитель программного продукта

150

6,5

20

130

ИТОГО

405 у.е.

Итого Кпр = 405 у.е

Затраты на отладку программы. Затраты, связанные с использованием машинного времени на отладку программы (Кмаш) учитываются для следующих этапов проектирования: разработка рабочего проекта; внедрение - проведение опытной эксплуатации задач и сдача их в промышленную эксплуатацию.

Затраты на отладку программы определяются по формуле:

, (3.3)

где Cм - стоимость одного часа машинного времени; tотпl - время отладки программы (ч); Sпрl- количество программистов.

Подставляя фактические данные, получаем величину затрат на отладку программы:

Смч = 0,03 у.е., Тотл = 48 часов,

Sпр = 2 программист Кмаш= 0,03·48·2 =2,88 у.е.

В связи с тем, что сторонние организации не привлекались к работе, то Кс = 0.

Накладные расходы на разработку дипломной работы берутся в размере 45% от основной заработной платы разработчиков для покрытия административно-хозяйственных и других непредусмотренных расходов:

Кн = Кпр·0,45. (3.4)

Так как затраты на основную заработную плату проектировщика (Кпр) равны 405 у.е., то накладные расходы составят: Кн = 405*0,45 = 182,25 у.е.

Так как при реализации задачи не производилось специальных закупок, капитальные вложения на реализацию задачи Кр равны нулю и общая величина капитальных вложений определяется затратами на предпроизводственные затраты. Общая величина капитальных вложений приведена в таблице 3.3.

Таблица 3.3 - Общая смета затрат на проектирование

Статьи

Затраты

Сумма (у.е.)

Удельный вес статьи в общей стоимости (%)

Материалы и покупные полуфабрикаты

18,17

2,00

Основная заработная плата

405,00

48,85

Дополнительная заработная плата

40,50

4,89

Отчисления на единый социальный налог

190,49

21,90

Затраты на отладку программы

2,88

0,37

Накладные расходы

182,25

22,00

ИТОГО:

840,00

100,00

Итого общая величина капитальных вложений на реализацию проекта составляет 840 у.е.

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

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

Затраты, связанные с эксплуатированием задачи вычисляются по формуле:

Сэз = Смч·Тэ, (3.5)

где Смч- стоимость одного часа работы технических средств; Тэ- время эксплуатации задачи в течение года.

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

Сэз= 0,03·1430 = 42,90 у.е.

Определение экономической эффективности от внедрения программы. Экономический эффект, как реальная экономия, обусловлена следующими факторами: сокращением времени обработки информации; сокращением потерь рабочего времени.

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

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

Расчет экономии за счет снижения трудоемкости решения задачи. Экономия за счет снижения трудоемкости решения определенного класса задач, рассчитывается по формуле:

Этр = (А · В ·Тр·Зчас-Кр·Тоб·Смч) ·Ue, (3.6)

где А - коэффициент, учитывающий дополнительную заработную плату; В - коэффициент, учитывающий отчисления на соцстрах; Тр - трудоемкость решения задачи вручную (ч); Зчас - среднечасовая тарифная ставка работника (у.е.); Кр - коэффициент использования технических средств; Тоб - трудоемкость при автоматизированной обработке (ч); Смч - стоимость одного машинного часа работы (у.е.); Ue - периодичность решения задачи (раз/год).

Подставляя реальные данные, полученные в результате исследований при ручном (полуавтоматизированном) и автоматизированном способах планирования деятельности предприятия, получаем величину экономии за счет снижения трудоемкости решения задачи при условии, что

А = 1,1; В = 1,27; Тр= 2,1ч; Зчас= 0,738 у.е. (при основной заработной плате 130 у.е., 8 часовом рабочем дне, 22 рабочих дня в месяц);

Кр = 1,11; Тоб = 0,19 ч; Смч = 0,03 у.е.; Ue = 470 раз в год.

Этр = (1,1·1,27·2,1·0,738 - 1,11·0,19·0,03) ·470 = 1014,61 у.е.

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

Эс=Этр - Ен·Кп - Сэз, (3.7)

где Этр - годовая экономия от применения внедренной задачи; Ен - нормативный коэффициент экономической эффективности капитальных вложений (Ен= 0,15); Кп - единовременные затраты, связанные с внедрением задачи;

Подставляя в формулу (3.6) реальные данные, определяем величину годового экономического эффекта при Кп= 840 у.е:

Эс = 1014,61-0,15·840-42,90 = 545,71 у.е.

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

Ерс = Эс/Кп. (3.8)

Подставляя в формулу фактические данные, определяем величину экономической эффективности: Ерс = 545,71 / 840 = 0,65.

Так как Ерс>Ен, то внедрение экономически эффективно. Определяем срок окупаемости внедренной задачи:

Те = Кп/Эс = 840/ 545,71 = 1,54 года.

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

3.4 Охрана труда

Работа с разработанным сетевым приложением производится на компьютере, причем достаточно длительное время, со всеми вытекающими отсюда последствиями относительно влияния на здоровье пользователя и требований к охране труда, которые должны быть соблюдены.

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

Пользователь приложения, при долгой работе с ним не должен ни в коем случае нарушать правила режима труда и отдыха во избежание преждевременной усталости, а так же для сохранности своего здоровья, что более важно. При неоднократном и регулярном нарушении этих простых правил пользователь рискует получить следующие симптомы: напряжение глаз, мигрени, нарушение сна, болезненные ощущения в пояснице, шее и плечах. Из всего этого будет следовать общая неудовлетворенность работой и плохое самочувствие.

Ряд требований должны быть соблюдены касательно рабочего места оператора ЭВМ. Высота помещения должна быть не менее 4 м и объем - не менее 20 м3 на одного человека. Высота над уровнем пола должна быть 720 мм. Размер поверхности стола - 1600 х 1000 мм2. Под столом должно иметься пространство для ног с размером 450 мм в глубину. Клавиатура должна быть удалена от края стола не более чем на 300 мм. Расстояние между глазами оператора и экраном дисплея должно составлять от 40 до 80 см. Требования существует и для рабочего стула. Он должен быть оснащен подъемно-поворотным механизмом. Высота сиденья должна настраиваться от 40 до 50 см. Глубина сиденья и ширина должны быть не менее 40 см.Высота спинки - не менее 30 см, а ширина - не менее 38 см. Угол наклона спинки стула к плоскости сиденья должна настраиваться в пределах от 90 до 110 градусов.

Не менее вредоносным для здоровья оператора является и такой фактор как электромагнитное излучение от электромагнитных полей. Монитор является основным источником электромагнитных полей при работе за компьютером. Для уменьшения воздействия электромагнитного поля принимаются следующие меры - в первую очередь оператор и монитор помещаются на максимально допустимое удаленное друг от друга расстояние. Не должно быть возле рабочего места оператора пластмассовых изделий, так как именно пластмасс больше всего подвергается электризации от магнитных полей. Все электронные устройства должны быть заземлены и принтер в первую очередь, потому что внутри него есть узел, который сильно электризуется - лента и головка при трении бумаги о них. Не должен превышать величины в 20 кВ/м допустимый уровень напряженности электростатического поля. Хорошим и действенным методом против статического электричества является влажная уборка помещения. Не менее важными способами для защиты от электромагнитных излучений являются экранирование, защита расстоянием и временем.

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

Лаборатория относится к помещениям повышенной опасности. Основной мерой защиты от поражения электрическим током являются: применение для облицовки современных электроизоляционных материалов; выполнение электропроводки закрытого типа с возможностью быстрого отключения на легкодоступном щите; обязательное заземление.

Расчет выносного заземления. Рассчитаем выносное заземляющее устройство. Преимуществом такого типа заземляющего устройства является возможность выбора места размещения электродов с наименьшим сопротивлением грунта (сырое, глинистое).

Сопротивление группового заземлителя рассчитывается, если:

мощность установки менее 2 кВА;

вертикальный заземлитель - стальной прут диаметром 20 мм и длиной 2.8 м;

горизонтальный заземлитель - стальная полоса шириной 16 мм, толщиной 8 мм;

удельное сопротивление грунта (земля) 40 Ом*м.

Сопротивление одиночного вертикального заземлителя рассчитывается по формуле:

(3.9)

где удельное сопротивление грунта (Ом*м); l длина вертикального заземлителя (м); d диаметр вертикального заземлителя (м); t глубина заложения.

(3.10)

.

Расстояние между заземлителями (м):

(3.11)

.

Ориентировочное количество вертикальных заземлителей (шт):

(3.12)

где Rзаз- нормируемая величина сопротивления заземления (Rзаз=4Ом);

Количество вертикальных заземлителей определяется по формуле:

(3.13)

где - коэффициент использования вертикальных заземлителей (так как ориентировочноеn=4 и la=2.8, поэтому ).

Длина горизонтального заземлителя (м):

(3.14)

.

Сопротивление горизонтального заземлителя рассчитывается по формуле:

(3.15)

где b1 - ширина полосы (м)

.

Сопротивление группового заземлителя:

(3.16)

где - коэффициент использования горизонтальных заземлителей ()

,

Рассчитанное заземление подходит для помещения, в котором проводилась реализация программного продукта, и обеспечит защиту персонала от поражения электрическим током в случае неисправности оборудования (при пробое на корпус).

Пожарная безопасность. Существует такое понятие как степень огнестойкости зданий. Это величина, которая принимается в зависимости от назначения зданий, их категории по пожарной, взрывопожарной опасности, этажности, площади этажа.

Данное здание, в котором находится помещение, по пожарной опасности строительных конструкций относится к категории К1 (малопожароопасное), потому что присутствуют такие горючие вещества, которые могут гореть без взрыва в случае пожара книги, мебель, оргтехника. По конструктивным характеристикам данное здание относится к зданиям с несущими и ограждающими конструкциями из естественных и искусственных каменных материалов, железа и бетона.

Следовательно, степень огнестойкости здания можно определить как третью (III).

Помещение по функциональной пожарной опасности относится к классу Ф1.3 многоквартирные жилые дома.

Здание оборудовано пожарным водопроводом высокого давления с пожарными кранами.

Требования, предъявляемые к пожарной безопасности:

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

выполнение скрытой электропроводки в стенах;

устранение неисправных выключателей и розеток;

запрет на использование оголенных шнуров и проводов для соединения;

необходимо иметь в доступном видимом месте углекислотные огнетушители (по характеру помещения - минимум 1 шт.).

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

Причинами возникновения пожара могут быть:

неисправности электропроводки, розеток и выключателей которые могут привести к короткому замыканию или пробою изоляции;

использование поврежденных (неисправных) электроприборов;

использование в помещении электронагревательных приборов с открытыми нагревательными элементами;

возникновение пожара вследствие попадания молнии в здание;

возгорание здания вследствие внешних воздействий;

неаккуратное обращение с огнем и несоблюдение мер пожарной безопасности.

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

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

ЗАКЛЮЧЕНИЕ

Для реализации полноценного клиент-серверного приложения «Сетевое приложение учета работы магазина бытовой техники» нам понадобилась создать систему из клиентского Windows приложения, клиентского Web приложения, серверного Windows приложения и базы данных.

В сферу деятельности серверного приложения входит постоянное прослушивание порта на случай передачи данных от клиентских приложений. Клиентских приложений может быть множество. Также серверному приложению необходимо обрабатывать полученные запросы и выдавать корректные ответы по тому же каналу связи. Серверное приложение разработано средствами Microsoft Visual Studio 2005. База данных разработана средствами Microsoft SQL Server 2005.

В сферу деятельности клиентского Windows приложения входит обеспечение комфортного интерфейса для эффективного взаимодействия с пользователем, а также практическое выполнение необходимых действий с информацией. Через клиентское приложение пользователь имеет возможность работать в двух режимах: Кассир и Администратор. В режиме Кассир пользователь может просматривать информацию о товарах, добавлять нужные в корзину, а также выбивать чек. В режиме Администратор пользователь имеет возможность как просматривать информацию о товарах, так и редактировать ее: добавлять изменять и удалять.

В сферу деятельности клиентского Web приложения входит обеспечение комфортного интерфейса пользователя и удобства доступа через сеть Internet. В данном приложении в режиме Администратор можно добавлять последние новости магазина, а в режиме Пользователь после регистрации можно просматривать новости магазина и добавлять товары в корзину покупателя. Windows и Web приложения разработаны средствами Microsoft Visual Studio 2010.

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

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ,

ЕДИНИЦ И ТЕРМИНОВ

ВКР - выпускная квалификационная работа

ПО - программное обеспечение

ПК - персональный компьютер

ЭВМ - электронная вычислительная машина

БД - база данных

СУБД - система управления базами данных

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

Агуров П.В. C#. Сборник рецептов.- СПб.:БХВ-Петербург,2007 432с.

Шилдт, Герберт «Полный справочник по C#», перевод с англ., издательский дом «Вильямс», Москва, 2004г.752с.:ил.

Либерти , Джесс «Создание .NETприложений. Программирование на C#», Издание 2-ое. Издательство «Символ-Плюс». Москва, 2005 г.-684с.

Ватсон, Карли и др. «C#»,перевод с англ., издательство «Лори», Москва, 2005г.-862с.

Лабор В.В. «Си шарп: Создание приложений для Windows», издательство «Харвест», Минск, 2003г.-384с.

Пирогов В.А. SQLServer 2005 программирование клиент-серверных приложений - Санкт-Петербург: БХВ-Петерберг, 2006, 336 с.

Троелсен Э. «C# и платформа .NET. Библиотека программиста», издательский дом «Питер», Санкт-Петербург, 2004г.-796с.

Фролов А.В., Фролов Г.В. Язык C#. Самоучитель. - М.: ДИАЛОГ-МИФИ, 2003. - 560с.

Петцольд , Чарльз «Программирование для Microsoft Windows на C#», Том 2, перевод с англ., Издательско-торговый дом «Русская редакция», Москва , 2002г.-624с.

СанПин 2.2.2/2.4.1340-03. Гигиенические требования к персональным электронно-вычислительным машинам и организации работы, 2007.

СНиП ПМР 31-20-02. Электротехнические устройства, 2002.

CНиП 21-01-03. Пожарная безопасность зданий и сооружений, 2003.

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

...

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

  • Создание единой информационной сети, позволяющей эффективно хранить, обрабатывать, анализировать и использовать информацию по учету успеваемости студентов. Основные функции и формы созданной информационной системы. Экономическое обоснование проекта.

    дипломная работа [1,5 M], добавлен 20.10.2013

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

    дипломная работа [1,4 M], добавлен 28.11.2014

  • Создание базы данных информационной системы для учета продаж бытовой техники и автоматизации документооборота в phpMyAdmin. Функциональная диаграмма IDEF0. Создание нового пользователя, таблиц, записей в таблице. Организация сайта на локальном сервере.

    курсовая работа [2,8 M], добавлен 11.05.2014

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

    курсовая работа [997,7 K], добавлен 27.10.2013

  • Моделирование информационной системы для автоматизации работы отдела поставок и отгрузок склада бытовой техники. Построение функциональной модели. Определение информационных объектов и связей между ними. Контрольный пример и алгоритма решения задачи.

    контрольная работа [365,9 K], добавлен 17.11.2012

  • Последовательность разработки системы для оптимизации работы магазина интерьерных товаров, позволяющей хранить данные в одной базе и работать с ней с помощью удобного интерфейса клиентского приложения. Тестирование информационной системы. Листинг модулей.

    дипломная работа [2,9 M], добавлен 07.07.2012

  • Основные объекты системы управления базами данных Microsoft Access. Разработка базы данных для магазина бытовой техники, оказывающая покупателям бытовой техники информационную функцию. Создание таблиц, схемы данных, запросов, форм, отчетов, главной формы.

    контрольная работа [1,8 M], добавлен 29.07.2013

  • Исходные данные о магазине бытовой техники и электроники. Описание процесса разработки информационной системы магазина. Требование к техническому обеспечению. Технико-экономическое обоснование целесообразности разработки системы. Стоимость проекта.

    курсовая работа [2,2 M], добавлен 17.01.2011

  • Разработка программного продукта, предназначенного для тестирования знаний пользователя по теме "Тепловые двигатели" нa языкe C++ в среде Micrоsоft Visual Studio с использовaниeм библиотeки MFC. Функциональное назначение созданного Windows-приложения.

    курсовая работа [954,4 K], добавлен 25.06.2011

  • База данных в MS Microsoft SQL Server 2005 для автоматизации процесса контроля поставок и продажи бытовой техники. Программа, позволяющая показывать информацию о товарах, поставщиках, реализаторах и клиентах, а также формировать отчеты по категориям.

    курсовая работа [724,8 K], добавлен 23.06.2011

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

    дипломная работа [2,6 M], добавлен 10.06.2014

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

    курсовая работа [575,7 K], добавлен 16.05.2017

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

    курсовая работа [942,1 K], добавлен 19.03.2012

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

    курсовая работа [1,6 M], добавлен 04.12.2014

  • Изучение IT-инфраструктуры компании проката автомобилей. Основные требования к автоматизации движения товаров. Анализ создания конфигурации для оптового склада бытовой техники. Разработка информационно-логической модели автоматизированной системы.

    курсовая работа [1,1 M], добавлен 22.03.2021

  • Создание базы данных для небольшого предприятия, занимающегося ремонтом бытовой техники. Анализ и характеристика предметной области, входных и выходных данных. Разработка конфигурации в системе "1С:Предприятие 8.2" и функциональной части приложения.

    контрольная работа [2,4 M], добавлен 26.05.2014

  • Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.

    дипломная работа [1,6 M], добавлен 17.06.2017

  • Разработка программного приложения по автоматизированному учету поступающего довольствия. Описание среды программирования. Тестирование и отладка приложения. Анализ результатов решения. Инструкция пользователю. Требования к техническому обеспечению.

    дипломная работа [946,0 K], добавлен 18.07.2014

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

    дипломная работа [1,2 M], добавлен 04.02.2016

  • Анализ предметной области. Проектирование концептуальной модели. Разработка логической структуры базы данных. Выделение информационных объектов. Создание глобальной схемы связей. Поддержка целостности данных. Структура и назначение существующих форм.

    курсовая работа [1,4 M], добавлен 23.09.2016

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