Автор работы: Пользователь скрыл имя, 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
string channel, int rd, int rh, int abon_id, DateTime ar0, DateTime ar1,
DateTime ar2, DateTime ar3, DateTime ar4, DateTime ar5,
DateTime ar6, DateTime ar7, DateTime ar8, String name_node, string addres,
string telefon, string fax, string otv_lic, string ingener, string comment,
int ns, int type_sv, string tel_nomer, DateTime nach_oprosa, DateTime konec_oprosa,
string ipaddres, string ipport, string tepl_org, string local_number
, PgConnection conn)
{
//ipaddres = "test";
//name_node = "test";
//channel = "test";
string query_insert = "\'" + parent_id + "\',\'" + type + "\',\'" + model + "\',\'"
//MessageBox.Show(query_
// textBox1.Text = query_insert;
PgCommand insert_command = new PgCommand("SELECT * FROM NODES", conn);
PgDataAdapter pgAdapter = new PgDataAdapter(insert_command);
pgAdapter.TableMappings.Add("
pgAdapter.MissingSchemaAction = MissingSchemaAction.
pgAdapter.InsertCommand = new PgCommand("SELECT
insert_node(" + query_insert
+ ");", conn);
PgDataReader p_dr = pgAdapter.InsertCommand.
p_dr.Read();
}
private void Form1_Load(object sender, System.EventArgs e)
{
if
(DesignMode) return;
//this.reportViewer1.
}
private void buttonEdit1_ButtonClick(object sender, ButtonPressedEventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.ShowDialog();
buttonEdit1.Text = of.FileName.ToString();
Properties.Settings.Default.
Properties.Settings.Default.
}
private void SetInsertAccessPostgres()
{
label_nodes.Visible = true;
checkedListBoxControl1.Items.
try
{
string
connection_mdb = "Provider=Microsoft.Jet.OLEDB.
OleDbConnection o_conn = new OleDbConnection(connection_
o_conn.Open();
PgConnection conn =
new PgConnection("Server=" + Properties.Settings.Default.
conn.Open();
OleDbDataAdapter o_da =
new OleDbDataAdapter("SELECT * FROM NODES ORDER BY ID", o_conn);
DataSet o_ds = new DataSet();
DataTable
o_dt = new DataTable();
o_da.Fill(o_ds);
o_dt = o_ds.Tables[0];
int
mass_l = o_dt.Rows.Count;
int i = 0;
int new_nodes = 0; //Новых узлов
int cur_nodes = 0; //Существующих
string[] local_number;
DateTime dt = DateTime.Now;
progressBarControl2.
progressBarControl2.
foreach (DataRow row in o_dt.Rows)
{
PgCommand pg_db = new PgCommand("SELECT id FROM nodes_prolog where parent_id = " + row["id"] + "AND device_id = " + row["device_id"],
PgDataReader dr = pg_db.ExecuteReader();
//Если узел есть в базе, то не добавляем про него информацию )
if (dr.Read())
{
checkedListBoxControl1.Items.