Разработка АСР

Автор работы: Пользователь скрыл имя, 28 Декабря 2011 в 11:16, дипломная работа

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

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

Содержание работы

Введение 4
1 Анализ технического задания 5
1.1 Техническое задание 5
1.2 Общие выводы из технического задания 5
2 Подходы к проектированию баз данных 6
2.1 Основные понятия теории реляционных баз данных 6
2.2 Сервер базы данных 10
2.2.1 Технология и модели "клиент-сервер" 10
2.2.2 Механизмы реализации активного ядра 18
2.2.3 Хранимые процедуры 19
2.2.4 Правила (триггеры) 20
2.2.5 Механизм событий 21
2.3 Обработка распределенных данных 21
2.4 Взаимодействие с PC-ориентированными СУБД 28
2.5 Обработка транзакций 31
2.6 Средства защиты данных в СУБД 35
2.7 Применение CASE-средств для информационного моделирования в системах обработки данных. 39
3 Реализация базы данных 40
3.1 Анализ существующей системы 41
3.2 Новая схема обмена информацией 42
3.3 Выбор операционной системы 42
3.4 Выбор сервера баз данных 43
3.5 Выбор средств разработки 44
3.6 Проектирование структуры базы данных 44
4 Реализация клиентского приложения 45
4.1 Назначение и состав клиентского приложения 45
4.2 Безопасность доступа к данным 45
4.2.1 Идентификация 45
4.2.2 Авторизация 46
4.2.3 Управление доступом на основе ролей 47
4.3 Алгоритм работы приложения 48
5 Разработка таблиц 48
5.1 Структура таблицы “nodes_prolog” 49
5.2 Структура таблицы “nodes_elektro” 50
5.3 Структура таблицы “ elektro_pokaz” 50
5.4 Структура таблицы “t943_name” 51
5.5 Структура таблицы “t942_name” 52
5.6 Структура таблицы “t943_name_totals” 52
5.7 Структура таблицы “t942_name_totals” 53
6 Руководство оператора 54
6.1 Запуск приложения 54
6.2 Начало работы 55
7 Экономическая часть 60
7.1 Особенности программного продукта как товара 60
7.2 Расчет затрат на изготовление подсистемы 60
7.3 Расчет экономической эффективности 69
8 Безопасность жизнедеятельности. Природопользование и охрана окружающей среды. 71
8.1 Краткое содержание дипломного проекта 71
8.2 Безопасность проекта 72
8.2.1 Вредные и опасные производственные факторы при работе с ПЭВМ 72
8.2.2 Электро- и пожаробезопасность на рабочем месте оператора ПЭВМ 73
8.2.2.1 Электробезопасность на рабочем месте 74
8.2.2.2 Пожарная безопасность на рабочем месте 76
8.2.3 Обеспечение микроклимата на рабочем месте. Освещенность, шум, вибрация 78
8.2.4 Расчет освещенности на рабочем месте оператора 79
8.2.4.1 Вводная часть 79
8.2.4.2 Описание помещения, в котором располагается рабочее место 79
8.2.4.3 Расчет освещенности на рабочем месте 80
8.2.4.4 Особенности освещения рабочих мест с видеотерминальными устройствами 82
8.2.4.5 Заключение 82
8.3 Эргономичность проекта 83
8.4 Природопользование проекта. Работа с видеодисплейными терминалами ПЭВМ. 85
8.5 Выводы по разделу 87
9 Выводы по выполненной работе 88
10 Список использованных источников 89

Файлы: 7 файлов

ACP.docx

— 52.66 Кб (Скачать файл)

                            }

                       

                            if (row["nt"] == System.DBNull.Value)

                            {

                                row["nt"] = 9999;

                            }

                            if (row["ТелНомер"] == System.DBNull.Value)

                            {

                                row["ТелНомер"] = "9999";

                            }

                            if (row["ТипСвязи"] == System.DBNull.Value)

                            {

                                row["ТипСвязи"] = 9999;

                            }

                           

                         

                            local_number = row["Название"].ToString().Split('-');

                           if(local_number.Length == 1)

                           {

                              

                               local_number[0] = "0";

                               MessageBox.Show("0");

                           }

                            InsertIntoNodes(Convert.ToInt32(row["id"]), Convert.ToInt32(row["type"]), Convert.ToInt32(row["Модель"]),

                                              Convert.ToInt32(row["device_id"]),

                                              row["channel"].ToString(), Convert.ToInt32(row["rd"]), Convert.ToInt32(row["rh"]),

                                              Convert.ToInt32(row["ABON_ID"]),

                                              dt, dt,

                                              dt, dt,

                                              dt, dt,

                                              dt, dt,

                                              dt, row["Название"].ToString(),

                                              row["Адрес"].ToString(), row["Телефон"].ToString(), row["Факс"].ToString(),

                                              row["ОтвЛицо"].ToString(), row["Инженер"].ToString(),

                                              row["Комментарий"].ToString(), Convert.ToInt32(row["nt"]),

                                              Convert.ToInt32(row["ТипСвязи"]),

                                              row["ТелНомер"].ToString(), dt,

                                              dt, row["IPAddress"].ToString(),

                                              row["IPPort"].ToString(), row["ТеплоснабОрг"].ToString(), local_number[0], conn); 

                        } 

                        //Вставляем показания в базу, по parent_id 

                    }

                    int all = cur_nodes + new_nodes;

                    label_nodes.Text = "Новых узлов: " + new_nodes + " Было в базе: " + cur_nodes + " Всего за сеанс: " + all; 
 
 

                    progressBarControl2.EditValue = i; 

                    Application.DoEvents();

                    i++; 
 

                } 

                o_conn.Close();

                conn.Close(); 

                load_date.Visible = true;

           }

            catch (System.Exception ex)

            {

                MessageBox.Show("Произошла серьезная ошибка при работе программы, пожалуйста обратитесь к администратору." + ex.Message); 
 
 

            }

        } 

        private void simpleButton1_Click(object sender, EventArgs e)

        {

            checkedListBoxControl1.Items.Clear(); 

            SetInsertAccessPostgres(); 

            progressBarControl2.EditValue = 0;

            checkedListBoxControl1.Visible = true;

            check_all.Visible = true;

        }

        private void UpdateProgress()

        {

            progressBarControl2.PerformStep();

            progressBarControl2.Update(); 

        } 

        public delegate void updatebar(); 

        private void toolStripMenuItem6_Click(object sender, EventArgs e)

        { 

        }

        public void Proggress2()

        {

            marqueeProgressBarControl1.Properties.Stopped = false;

          

           

        }

       

        private void Check_and_Create(string table_name, PgConnection conn)

        {

            PgCommand command_check = new PgCommand("SELECT check_and_create_table(" + table_name + ");", conn);

            PgDataReader dr_a = command_check.ExecuteReader();

            dr_a.Read();

            dr_a.Close();

        }

       

        private String ReplaceCommit(String oldstr)

        {

            return oldstr.ToString().Replace(',', '.'); 

        }

        private String ReplaceEnter(String oldstr)

        {

            return oldstr.ToString().Replace('.', '-');

        }

        private static void WriteToFile(string sNote, string filePath)

        {

            try

            { 
 

                // create stream writer object

                using (StreamWriter writer = new StreamWriter(filePath, true))

                {

                    // new note to log file

                    writer.WriteLine(sNote);

                } 

            }

            catch (Exception) { }

        }

        private void Insert_Into_Postgresql(DataTable dt, PgConnection conn, string full_table_name, int type_device)

        {

Диплом.docx

— 620.40 Кб (Просмотреть файл, Скачать файл)

Приложение _А.docx

— 14.16 Кб (Просмотреть файл, Скачать файл)

Хранимые процедуры.docx

— 22.02 Кб (Просмотреть файл, Скачать файл)

~$Диплом.docx

— 162 байт (Скачать файл)

Информация о работе Разработка АСР