Добавил:
Факультет ИКСС, группа ИКВТ-61 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LAB / Миронов / Lab_10

.docx
Скачиваний:
29
Добавлен:
20.02.2019
Размер:
653.25 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

ОТЧЁТ

по лабораторной работе №10 на тему: «Моделирование систем»

по дисциплине «Операционные системы»

Выполнили: студенты группы ИКВТ-61, Миронов П.В., Гарифулина Т.С.

Принял: доцент кафедры ПИиВТ Дагаев А.В.

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

Средства: Для выполнения данной работы использовались: Операционная система Windows 10, Microsoft Visual C#.

Основные определения:

  1. Система — это совокупность элементов произвольной природы, находящихся в отношениях и связях друг с другом, которая образует определённую целостность.

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

  3. Процесс — программа, которая выполняется в текущий момент. Стандарт ISO 9000:2000 определяет процесс как совокупность взаимосвязанных и взаимодействующих действий, преобразующих входящие данные в исходящие.

Теоретическая часть:

Моделирование выступает средством познания окружающего мира. Нет области человеческой деятельности человека, где бы не использовалось моделирование. Всё наше представление об окружающем мире представляет по сути собрание моделей. Каждая наука это тоже совокупность моделей сторон реального или абстрактного мира, в том числе исследование АСОИУ основано на моделировании, так как задачи обработки информации тоже основаны на моделях объектов и процессов. Появление этого средства познания вызвано потребностями теории и практики в раскрытии свойств объектов, обнаружить которые при непосредственном познании не удаётся, или изучение свойств создаваемых (несуществующих) объектов. Проблема выполнения эффективности познавательной деятельности исследователей решается по двум направлениям:

-усиление естественных возможностей человека, используемого в акте познания;

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

Первому направлению соответствует создание приборов:

Субъект познания – прибор – объект познания

Второму направлению соответствует применение моделей:

Субъект познания – модель – объект познания

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

Ход работы:

Создание клиентского приложения которое использует СУБД, а так же передет запросы в базу данных(выборка/обновление/удаление) и возвращать результат в программу, после чего клиент уже работает с этими данными.

Структурная схема:

  1. Подключение к базе данных на сервере.

  1. После подключения программы к базе данных появляется возможность работы с данными БД через клиентского приложения путём запросов, например, выборка студентов по фамилии, осуществляется путём запроса «select * from students like ‘%text%’;», при разработке программы это выглядит так:

SetConnection();

sql_con.Open();

sql_cmd = sql_con.CreateCommand();

string CommandText = "select hostel.ID,hostel.ID_stud,student.Surname,student.Name,student.Patronymic,student.`Group`,hostel.Address,hostel.Room,hostel.Debt from student left join hostel on student.ID_stud=hostel.ID_stud where student.Surname like '%" + textBox1.Text + "%'";

DB = new SQLiteDataAdapter(CommandText, sql_con);

DS.Reset();

DB.Fill(DS);

DT = DS.Tables[0];

dataGridView3.DataSource = DT;

sql_con.Close();

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

  1. Функция экспорта таблицы «Свод» в текстовый процессор MS Word. Это функция нужна для того, что бы клиент ежедневно сохранял/печатал отчеты, которые нужны для планерок.

Код для этой функции выглядит так:

public void Export_Data_To_Word(DataGridView DGV, string filename)

{

if (DGV.Rows.Count != 0)

{

int RowCount = DGV.Rows.Count;

int ColumnCount = DGV.Columns.Count;

Object[,] DataArray = new object[RowCount + 1, ColumnCount + 1];

//add rows

int r = 0;

for (int c = 0; c <= ColumnCount - 1; c++)

{

for (r = 0; r <= RowCount - 1; r++)

{

DataArray[r, c] = DGV.Rows[r].Cells[c].Value;

} //end row loop

} //end column loop

Word.Document oDoc = new Word.Document();

oDoc.Application.Visible = true;

//page orintation

oDoc.PageSetup.Orientation = Word.WdOrientation.wdOrientLandscape;

dynamic oRange = oDoc.Content.Application.Selection.Range;

string oTemp = "";

for (r = 0; r <= RowCount - 1; r++)

{

for (int c = 0; c <= ColumnCount - 1; c++)

{

oTemp = oTemp + DataArray[r, c] + "\t";

}

}

//table format

oRange.Text = oTemp;

object oMissing = Missing.Value;

object Separator = Word.WdTableFieldSeparator.wdSeparateByTabs;

object ApplyBorders = true;

object AutoFit = true;

object AutoFitBehavior = Word.WdAutoFitBehavior.wdAutoFitContent;

oRange.ConvertToTable(ref Separator, ref RowCount, ref ColumnCount,

Type.Missing, Type.Missing, ref ApplyBorders,

Type.Missing, Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing,

Type.Missing, ref AutoFit, ref AutoFitBehavior, Type.Missing);

oRange.Select();

oDoc.Application.Selection.Tables[1].Select();

oDoc.Application.Selection.Tables[1].Rows.AllowBreakAcrossPages = 0;

oDoc.Application.Selection.Tables[1].Rows.Alignment = 0;

oDoc.Application.Selection.Tables[1].Rows[1].Select();

oDoc.Application.Selection.InsertRowsAbove(1);

oDoc.Application.Selection.Tables[1].Rows[1].Select();

//header row style

oDoc.Application.Selection.Tables[1].Rows[1].Range.Bold = 0;

oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Name = "Calibri";

oDoc.Application.Selection.Tables[1].Rows[1].Range.Font.Size = 10;

//add header row manually

for (int c = 0; c <= ColumnCount - 1; c++)

{

oDoc.Application.Selection.Tables[1].Cell(1, c + 1).Range.Text = DGV.Columns[c].HeaderText;

}

//table style

oDoc.Application.Selection.Tables[1].Rows[1].Select();

oDoc.Application.Selection.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

//header text

foreach (Word.Section section in oDoc.Application.ActiveDocument.Sections)

{

Word.Range headerRange = section.Headers[Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;

headerRange.Fields.Add(headerRange, Word.WdFieldType.wdFieldPage);

headerRange.Text = "Свод долгов студентов на '" + DateTime.Now.ToShortDateString() + "'";

headerRange.Font.Size = 16;

headerRange.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter;

}

//save the file

oDoc.SaveAs(filename, ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

//NASSIM LOUCHANI

}

}

Наглядно программы выглядит так.

Вывод: выполняя данную работу, были приобретены навыки в работе по синхронизации ПО с Базами данных, а также с перенесением интересующей информации в табличный процессор MS Word.

САНКТ-ПЕТЕРБУРГ 2018

Соседние файлы в папке Миронов