Разработка диалоговых экранных форм
Для взаимодействия с внутренней структурой базы данных в программе существуют еще две кнопки «Добавить» и «Изменить». Они предназначены для вывода формы с мастером работы со строками.
Так для внесения новых записей в таблицу существует форма, поэтапно собирающая данные для составления sql-запроса. Попеременный ввод данных в поля формы позволяет работать с таблицами неограниченного размера (рис. 15).
Рис. 15 – Форма создания новой записи в таблице
Использование кнопок «Далее» и «Назад» позволяет свободно перемещаться по данным формы, не боясь потерять ранее введенные данные. Вся информация, ранее внесенная в форму, фиксируется, и запоминается до момента закрытия формы.
Кнопка «Готово» активируется в случае заполнения всех ключевых полей, при нажатии на которую, происходит создание подключения и генерация sql-запроса и последующее закрытие формы.
Кнопка «Отмена» активна всегда. В случае заполнения хотя бы одного поля формы, при нажатии на нее появляется предупреждение о закрытии формы и потере внесенных данных.
Для внесения изменений в существующую запись так же используется отдельная экранная форма (рис. 16). Ее отличие от приведенной выше заключается в том, что уже изначально, поля внесенные в таблицу ранее, заполняются в форме.
Рис. 16 – Форма изменения существующей записи в таблице
Принцип работы данного мастера так же отличается запросом, формируемым по его завершении, но для пользователя данный аспект работы программы остается незаметным.
В случае прерывания через клавишу «Отмена» внесений изменений в таблицу не происходит.
Внутренняя организация информационной системы
Созданное приложение имеет четко структурированную систему, полностью соответствующую принципам объектно-ориентированного программирования. В частности для минимизации лишнего кода, основанного на повторении алгоритмов.
Все регулярно повторяющиеся функции вынесены в отдельные методы (см. Приложение), такие как:
· Учет точного времени системы;
· Создание лог-записей;
· Создания списка таблиц;
· Обновление данных в таблицах, проверка подключения в sql-серверу;
Так же для взаимодействия между формами используется ряд глобальных переменных, отвечающих за информацию о выбранной таблице, о выбранной строке и о названиях столбцов в таблицах.
Использование подобных приемов позволяет минимизировать объем кода, а так же легко вносить изменения в случае возникновения необходимости.
Обоснование экономической эффективности
При внедрении данной информационной системы преследовался ряд целей, среди которых было обязательное соответствие бюджетным возможностям учреждения. В частности были отброшены варианты, где рассматривалось создание отдельных серверов для работы с системой электронного документооборота.
При внедрении данного программного продукта от предприятия требуется минимальное количество средств на приобретение стороннего ПО, а именно ограничивается приобретением sql-сервера от компании Microsoft. Изменение аппаратной части в учреждении не требуется, т.к. для функционирования данной системы нее требуется отдельных серверных решений, а используются рабочие станции на территории учреждения.
Выводы по третьему разделу
В данном разделе была проведена разработка и описание системы электронного документооборота на предприятии.
В результате проектирования был сделан выбор платформы разработки и были определены все необходимые для функционирования системы программные продукты. Для выбора данного ПО, послужил анализ различных систем и выбор наиболее оптимального для поставленных задач.
Спроектированная информационная система удовлетворяет всем требованиям, поставленным перед проектом руководителем учреждения. Она служит для ведения электронной базы данных со всей необходимой информацией о воспитанниках учреждения, а так же поддерживает возможность совмещения различных таблиц, например ведения кадрового учета предприятия не только по воспитанникам, но и по сотрудникам предприятия.
Заключение
В завершении работы над выпускной квалификационной работы удалось достичь всех поставленных целей и задач.
Был выполнен анализ деятельности предприятия ГБОУ ДОУ д\с №2278 и проанализированы виды и направления деятельности.
Проведен анализ бизнес-процессов, отражающих взаимодействие ГБОУ ДОУ д\с №2278 как с точки зрения внутреннего взаимодействия. Так и с точки зрения взаимодействия с внешней средой. Основная часть бизнес-процессов на предприятии связана с организацией кадровой политики и ведению внутренней документации по своим воспитанникам, т.е. с информацией, составляющей личные дела воспитанников и сотрудников.
В ходе выполнения выпускной квалификационной работы был выполнен анализ программного обеспечения, представленного на рынке информационных продуктов и услуг, предназначенного для автоматизации электронного документооборота в среде малых, средних и крупных предприятий. Было выявлено, что полностью удовлетворяющих потребностям организации продуктов нет, в связи с чем, была поставлена цель в создании собственного программного продукта.
Для создания собственно информационной системы было решено использовать такие продукты, как SQLServer 2012 и VisualStudio 2010 от корпорации Microsoft, т.к. они наиболее полно позволяли реализовать стоящие перед проектом требования. Информационная система позволяет вести электронную базу данных по воспитанникам и сотрудникам учреждения, создать единое хранилище документации, позволяя избегать дублирования и потери данных, а так же формировать единое представление о состоянии дел на предприятии. Переход на данный программный продукт существенно сократит затрат времени на формирование и учет документации по воспитанникам учреждения, а так же позволит экономить денежные средства предприятия.
Были сформированы требования ГБОУ ДОУ д\с №2278, предъявляемые к проектированию и разработке программного продукта.
Для реализации процесса проектирования были использованы такие case-редакторы как BPWinи ERWin.
Реализация самой разработки была выполнена с использованием программных средств среды VisualStudio 2010, на языке разработки C# 4.0 с использованием библиотек для взаимодействия со средой SQL-Server. Было проведено создание пользовательского интерфейса. Проведена отладка программного продукта и готовая программа была представлена для использования в исследуемой организации.
Можно сделать вывод, что предложенная разработка является эффективной системой электронного документооборота для повышения эффективности работы предприятия ГБОУ ДОУ д\с №2278.
Список литературы
1. Карпова, Т.С. Базы данных: модели, разработка, реализация / Т. С. Карпова. – СПб.: Питер, 2011.
2. Маклаков, С. В. BPwin и ERwin. CASE - средства разработки информационных систем / С. В. Маклаков. - М.: Диалог-МИФИ, 2000.
3. Черемных, С.В. Моделирование и анализ систем. IDEF-технологии: практикум / С.В.Черемных, И.О. Семенов, B.C. Ручкин. - М. : Финансы и статистика, 2006.
4. Федорова, Д.Э. CASE-технологии / Д. Э. Федорова, Ю.Д. Сесенов, К.Н. Чижик. - М.: Горячая линия Телеком, Радио и связь, 2005.
5. www.idef.com
6. Шилдт Г. Полное руководство С#4.0 / Вильямс, Москва, Санкт-Петербург, 2001.
7. Роберт Виейра - Программирование баз данных MS SQL Server 2005. Базовый курс . / Вильямс, Москва, Санкт-Петербург, 2001.
8. Чубукова С.Г. Элькин В.Д. Основы правовой информатики / Диалог-МИФИ, 2004
Приложение
Глобальные переменные:
publicstaticstring[] inf; //информация о названии столбцов в таблице
publicstaticstring[] query; //информация о содержании столбцов в таблице
publicstaticstring ID; //информация о выбраннной в dataGridView1 строке
publicstaticboolWquery; //информация о типе запроса. Добавление или изменение
publicstaticstringTime; //информация о времени
public static string Message = ""; //информацияозаписивлог
public static string Table;
Методучетавремени:
publicvoidVremya()
{
//Создаем переменную, содержащую точное время
if (Data.Message != "")
{
DateTimeThToday = DateTime.Now;
if (ThToday.Hour> 10)
Data.Time = ThToday.Hour.ToString() + ":";
else
Data.Time = "0"+ThToday.Hour.ToString() + ":";
if (ThToday.Minute> 10)
Data.Time += ThToday.Minute.ToString() + ":";
else
Data.Time += "0" + ThToday.Minute.ToString() + ":";
if (ThToday.Second> 10)
Data.Time += ThToday.Second.ToString() + " ";
else
Data.Time += "0" + ThToday.Second.ToString() + " ";
//Вписываем в лог значение времени + текст ошибки из глобальной переменной. Переходим на следующую строку
txtLog.Text += Data.Time + Data.Message + Environment.NewLine;
//Автоматическая прокрутка лога
txtLog.SelectionStart = txtLog.Text.Length;
txtLog.ScrollToCaret();
}
Метод выбора таблиц
publicvoidsetTable()
{
//ЗаполняемComboBox
SqlConnection conn = new SqlConnection(Data.connStr);
try
{
conn.Open();
}
catch
{
return;
}
//Заполняем dataGridView2
SqlCommandcmd = new SqlCommand("SELECT name FROM sysobjects WHERE type = 'U'", conn);
SqlDataAdapter DA = new SqlDataAdapter(cmd);
DataSetqw = new DataSet();
DA.Fill(qw);
dataGridView2.DataSource = qw.Tables[0];
conn.Close();
conn.Dispose();
//Заполнение ComboBox списком таблиц
for (int i = 0; i < dataGridView2.RowCount - 1; i++)
cmBoxTable.Items.Add(dataGridView2[0, i].Value.ToString().Trim());
cmBoxTable.SelectedIndex = 0;
}
Методобновленияинформации
public void Reset()
{
//Обновляем данные в видимой таблице dataGridView1
SqlConnection conn = new SqlConnection(Data.connStr);
try
{
conn.Open();
}
catch (SqlException se)
{
//Если подключение отсутсвует, блокирует кнопки работы с базой
Data.Message = "Ошибка подключения к базе: " + se.Message;
btnAdd.Enabled = false;
btnChange.Enabled = false;
btnDel.Enabled = false;
return;
}
string query = "Select * From "+ cmBoxTable.Text;
SqlCommandcmd = new SqlCommand(query, conn);
SqlDataAdapter DA = new SqlDataAdapter(cmd);
DataSetqw = new DataSet();
DA.Fill(qw);
dataGridView1.DataSource = qw.Tables[0];
//Обновляеммассивссодержаниемзаголовков
query = "Select * From " + cmBoxTable.Text;
cmd = new SqlCommand(query, conn);
using (SqlDataReaderdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
Data.inf = new string[dr.FieldCount - 1];
for (int i = 1; i <dr.FieldCount; i++)
Data.inf[i - 1] = dr.GetName(i).ToString().Trim();
}
conn.Close();
conn.Dispose();
//Скрываем первый столбец, содержащий ID строк
dataGridView1.Columns[0].Visible = false;
}