База данных состоит из трех таблиц:
- "Учащиеся";
- "Участок";
- "Руководители".
1. Таблица "Учащиеся" содержит в себе всю необходимую информацию об учащихся школы (портфолио ученика, личные и социальные данные). Основной задачей проекта является создание клиентского приложения, которое управляет базой данных и выполняет все запросы на языке запросов SQL. По этой причине, необходимость в распределении всей информации об учащихся в несколько связанных между собою таблиц отсутствует.
Структура таблицы "Учащиеся" (таблица 2.1)
Таблица 2.1
Структура таблицы "Учащиеся"
Имя поля
Тип данных
№ л/д
Текстовый
ФИО
Текстовый
Класс
Текстовый
Литер
Текстовый
Дата рождения
Дата/время
Улица
Текстовый
Дом
Текстовый
Квартира
Текстовый
Телефон/моб
Текстовый
Телефон/дом
Текстовый
Документ
Текстовый
Серия/док
Текстовый
Номер/док
Текстовый
Фото
Гиперссылка
Пол
Текстовый
СНИЛС
Текстовый
Мед/полис
Текстовый
ИНН
Текстовый
Инвалид (Диагноз)
Текстовый
Ребенок из группы риска
Логический
Дата постановки на учет
Дата/время
Причина постановки на учет
Текстовый
№ прик/о прибытии
Текстовый
Дата прибытия
Дата/время
Откуда прибыл
Текстовый
№ прик/о выбытии
Текстовый
Дата выбытия
Дата/время
Причина выбытия
Текстовый
Портфолио
Текстовый
Примечание
Текстовый
ФИО опекуна
Текстовый
Уровень подготовки ученика
Текстовый
Соц/положение семьи
Текстовый
Увлечение
Текстовый
Сирота/Полусирота
Текстовый
. Таблица "Участок" содержит в себе список
улиц входящих в закрепленный за школой микроучасток.
Структура таблицы "Участок" (таблица 2.2)
Таблица 2.2
Структура таблицы "Участок"
Имя поля
Тип данных
Улица
Текстовый
. Таблица "Руководители" содержит список
классных руководителей.
Структура таблицы "Руководители" (таблица 2.3)
Таблица 2.3
Структура таблицы "Руководители"
Имя поля
Тип данных
Класс
Текстовый
Литер
Текстовый
Кл_руководитель
Текстовый
Таблица "Учащиеся" - основная таблица базы, тогда
как таблицы "Участок" и "Руководители" являются
вспомогательными.
Следующим этапом в реализации идеи проекта являлось создание
прикладного программного приложения для управления базой данных.
При запуске приложение открывается главное окно программы
"School Base" (Рис. 2.3).
Рис. 2.3 Окно программы "School Base"
Листинг окна "School Base"
namespace Диплом
{partial class Form1: Form
{Form1 ()
{();
}void button2_Click (object sender,
EventArgs e)
{f = new dobavit ();. Show ();
}void button3_Click (object sender,
EventArgs e)
{
Запрос f = new Запрос ();. Show ();
}void button1_Click (object sender,
EventArgs e)
{
О_программе f = new О_программе ();. Show
();
}void button4_Click (object sender,
EventArgs e)
{
Настройки f = new Настройки ();. Show ();
}
}
}
Нажатие кнопки "Добавить ученика" генерирует
открытие окна Добавление сведений об учащемся" (Рис. 2.4), посредством
которого в базу добавляются все данные о новом ученике, либо корректируются
данные об учащемся уже имеющемся в базе.
Рис. 2.4 Окно "Добавление сведений об учащемся"
Листинг окна " Добавление сведений об учащемся "
namespace Диплом
{partial class dobavit: Form
{dobavit ()
{();
}connect;void button2_Click (object sender,
EventArgs e)
{orphan, social, risk, pass;bdate, d_uchet,
d_arrival, d_disposal;(connect. State == ConnectionState. Closed). Open ();=
"";(orphan1. Checked == true)= "Сирота";(orphan2. Checked
== true)= "Полусирота";= "|";(int i = 0; i <= family.
CheckedItems. Count - 1; i++)= social + family. CheckedItems [i] +
"|";(risk_group. Checked == true)= "TRUE";=
"FALSE";= "|";(int i = 0; i <= passion. CheckedItems.
Count - 1; i++)= pass + passion. CheckedItems [i] + "|";
{= Convert. ToDateTime (born_date. Text);
}(Exception)
{= new DateTime (1111, 1, 1);_date. Text =
"";
}
{_uchet
= Convert. ToDateTime (uchet. Text);
}(Exception)
{_uchet
= new DateTime (1111, 1, 1);. Text = "";
}
{_arrival
= Convert. ToDateTime (date_arrival. Text);
}(Exception)
{_arrival
= new DateTime (1111, 1, 1);_arrival. Text = "";
}
{_disposal
= Convert. ToDateTime (date_disposal. Text);
}(Exception)
{_disposal
= new DateTime (1111, 1, 1);_disposal. Text = "";
}(ID.
Text == "" || f_name. Text == "" || l_name. Text ==
"" || m_name. Text == "")
{.
Show ("Внимание! Необходимо заполнить все обязательные поля!",
"Ошибка добавления", MessageBoxButtons. OK, MessageBoxIcon. Error);;
} "
[Документ], [Серия/док], [Номер/док], [Пол], [СНИЛС], [Мед/полис], [ИНН],
[Инвалид (Диагноз)], [Сирота/Полусирота], [Соц/положение семьи], [Ребенок из
группы риска], [Дата постановки на учет], [Причина постановки на учет]," +
"
[№ прик/о прибытии], [Дата прибытия], [Откуда прибыл], [№ прик/о выбытии],
[Дата выбытия], [Портфолио], [Примечание], [ФИО опекуна], [Уровень подготовки
ученика], [Причина выбытия], [Увлечение])" +
"VALUES
('" + x. Text + ID. Text + "','" + f_name. Text + " "
+ l_name. Text + " " + m_name. Text + "','" + klass. Text +
"','" + liter. Text + "','" + bdate. ToString () +
"','"
+ street. Text + "','" + dom. Text + "','" + kv. Text +
"','" + phone_m. Text + "','" + phone_d. Text +
"','" + dok. Text + "','" + series. Text + "','"
+ number. Text + "','" + pol. Text +
"','"
+ SNILS. Text + "','" + med_polis. Text + "','" + INN. Text
+ "','" + diagnosis. Text + "','" + orphan +
"','" + social + "'," + risk + ",'" + d_uchet.
ToString () + "','" + of_reason. Text +
"','"
+ order_1. Text + "','" + d_arrival. ToString () + "','" +
adr_depart_1. Text + "','" + order_2. Text + "','" +
d_disposal. ToString () + "','" + portfolio. Text +
"','"
+ footnote. Text + "','" + parent. Text + "','" + achiever.
Text + "','" + reason_depart. Text + "','" + pass +
"')", connect);. ExecuteNonQuery ();
}(Exception)
{.
Show ("Не удалось добавить запись в базу данных. Указанный номер личного
дела уже существует.", "Ошибка добавления", MessageBoxButtons.
OK, MessageBoxIcon. Error);
}
}void
dobavit_Load (object sender, EventArgs e)
{=
new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data
Source=" + Application. StartupPath. ToString () + "\\Диплом.
accdb");. Open ();
}void
family_SelectedIndexChanged (object sender, EventArgs e)
{(family.
GetItemCheckState (1) == CheckState. Checked && family.
GetItemCheckState (3) == CheckState. Checked)
{.
SetItemCheckState (1, CheckState. Unchecked);. SetItemCheckState (3,
CheckState. Unchecked);
}
}void
klass_SelectedIndexChanged (object sender, EventArgs e)
{
}void
f_name_TextChanged (object sender, EventArgs e)
{(f_name.
Text! = ""). Text = f_name. Text. Substring (0, 1). ToUpper () +
"-";
}void
phone_d_Click (object sender, EventArgs e)
{(phone_d.
MaskCompleted == false)_d. SelectionStart = 1;
}void
phone_m_Click (object sender, EventArgs e)
{(phone_m.
MaskCompleted == false)_m. SelectionStart = 1;
}void
born_date_Click (object sender, EventArgs e)
{(born_date.
MaskCompleted == false)_date. SelectionStart = 0;
}void
SNILS_Click (object sender, EventArgs e)
{(SNILS.
MaskCompleted == false). SelectionStart = 0;
}void
uchet_Click (object sender, EventArgs e)
{(uchet.
MaskCompleted == false). SelectionStart = 0;
}void
date_arrival_Click (object sender, EventArgs e)
{(date_arrival.
MaskCompleted == false)_arrival. SelectionStart = 0;
}void
date_disposal_Click (object sender, EventArgs e)
{(date_disposal.
MaskCompleted == false)_disposal. SelectionStart = 0;
}void
risk_group_CheckedChanged (object sender, EventArgs e)
{(risk_group.
Checked == true)
{.
Enabled = true;. Enabled = true;_reason. Enabled = true;. Enabled = true;
}
{.
Enabled = false;. Enabled = false;_reason. Enabled = false;. Enabled = false;
}
}void
button1_Click (object sender, EventArgs e)
{.
Checked = false;. Checked = false;
}void
reason_depart_SelectedIndexChanged (object sender, EventArgs e)
{(reason_depart.
SelectedIndex == 3)
{.
Text = "";. Text = "";
}
}
}
}
При нажатии на
кнопку "Поиск учащихся" открывается окно "Поиск" (Рис.
2.5). Данное окно позволяет производить поиск учащихся в базе по различным
критериям.
Рис. 2.5 Окно "Поиск"
Листинг окна
"Поиск"
namespace
Диплом
{partial
class Запрос: Form
{Запрос
()
{();
}connect;table;query;parametres;void
Запрос_Load (object sender, EventArgs e)
{=
new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data
Source=" + Application. StartupPath. ToString () + "\\Диплом. accdb");.
Open ();
}void
CheckParams ()
{=
0;(name. Text! = "") parametres++;(pol. Text! = "---")
parametres++;(klass. Text! = "---") parametres++;(liter. Text! =
"---") parametres++;(street. Text! = "---")
parametres++;(dok. Text! = "---") parametres++;(achiever. Text! =
"---") parametres++;(diagnosis. Checked == true)
parametres++;(risk_group. Checked == true) parametres++;(orphan1. Checked ==
true || orphan2. Checked==true) parametres++;(reason_depart. Text! =
"---" && reason_depart. Enabled == true) parametres++;(passion.
SelectedItems. Count! = 0) parametres++;(family. SelectedItems. Count! = 0)
parametres++;
}void
zapros_Click (object sender, EventArgs e)
{();(parametres
== 0)
{.
Show ("Укажите, пожалуйста, параметры запроса.", "School
Base", MessageBoxButtons. OK, MessageBoxIcon. Error);;
}=
"SELECT * FROM [Учащиеся] WHERE (";(name. Text! ="")
{=
query + " [ФИО] LIKE '%" + name. Text + "%' ";-;(parametres
> 0) query = query + "AND ";
}(pol.
Text! = "---")
{=
query + " [Пол] ='" + pol. Text + "' ";-;(parametres >
0) query = query + "AND ";
}(klass.
Text! = "---")
{=
query + " [Класс] ='" + klass. Text + "' ";-;(parametres
> 0) query = query + "AND ";
}(liter.
Text! = "---" && liter. Enabled==true)
{=
query + " [Литер] ='" + liter. Text + "' ";-;(parametres
> 0) query = query + "AND ";
}(street.
Text! = "---")
{=
query + " [Улица] ='" + street. Text + "' ";-;(parametres
> 0) query = query + "AND ";
}(dok.
Text! = "---")
{=
query + " [Документ] ='" + dok. Text + "' ";-;(parametres
> 0) query = query + "AND ";
}(reason_depart.
Text! = "---" && reason_depart. Enabled == true)
{=
query + " [Причина выбытия] ='" + reason_depart. Text + "'
";-;(parametres > 0) query = query + "AND ";
}(reason_depart.
Text == "---" && reason_depart. Enabled == true)
{=
query + " [Причина выбытия] <>'' ";-;(parametres > 0) query
= query + "AND ";
}(achiever.
Text! = "---")
{=
query + " [Уровень подготовки] ='" + achiever. Text + "'
";-;(parametres > 0) query = query + "AND ";
}(diagnosis.
Checked==true)
{=
query + " [Инвалид (Диагноз)] <>'' ";-;(parametres > 0)
query = query + "AND ";
}(risk_group.
Checked == true)
{=
query + " [Ребенок из группы риска] =TRUE ";-;(parametres > 0)
query = query + "AND ";
}(orphan1.
Checked==true)
{=
query + " [Сирота/Полусирота] ='Сирота' ";-;(parametres > 0) query
= query + "AND ";
}(orphan2.
Checked == true)
{=
query + " [Сирота/Полусирота] ='Полусирота' ";-;(parametres > 0)
query = query + "AND ";
}(passion.
CheckedItems. Count! =0)
{=
query + " (";(int i = 0; i <= passion. CheckedItems. Count - 1;
i++)
{=
query + " [Увлечение] LIKE '%|" + passion. CheckedItems [i] +
"|%' ";(i! = passion. CheckedItems. Count - 1)= query + "AND
";
}=
query + ")";-;(parametres > 0) query = query + "AND ";
}(family.
CheckedItems. Count! = 0)
{=
query + " (";(int i = 0; i <= family. CheckedItems. Count - 1;
i++)
{=
query + " [Соц/положение семьи] LIKE '%|" + family. CheckedItems [i]
+ "|%' ";(i! = family. CheckedItems. Count - 1)= query + "AND
";
}=
query + ")";-;(parametres > 0) query = query + "AND ";
}=
query + ")";(connect. State == ConnectionState. Closed). Open
();command = new OleDbCommand (query, connect);reader = command. ExecuteReader
();= new DataTable ();(int i = 0; i <= 34; i++). Columns. Add (reader.
GetName (i));(reader. HasRows == true)(reader. Read ()). Rows. Add (reader.
GetValue (0), reader. GetValue (1), reader. GetValue (2), reader. GetValue
(3),. GetValue (4), reader. GetValue (5), reader. GetValue (6), reader.
GetValue (7), reader. GetValue (8), reader. GetValue (9), reader. GetValue
(10),. GetValue (11), reader. GetValue (12), reader. GetValue (13), reader.
GetValue (14), reader. GetValue (15), reader. GetValue (16), reader. GetValue
(17), reader. GetValue (18),. GetValue (19), reader. GetValue (20), reader.
GetValue (21), reader. GetValue (22), reader. GetValue (23), reader. GetValue
(24), reader. GetValue (25),. GetValue (26), reader. GetValue (27), reader.
GetValue (28), reader. GetValue (29), reader. GetValue (30), reader. GetValue
(31), reader. GetValue (32),. GetValue (33), reader. GetValue (34));. Close
();. Show (table. Rows. Count. ToString ());. Close ();
}void
disposal_CheckedChanged (object sender, EventArgs e)
{(disposal.
Checked==true)
{_depart.
Enabled = true;. Enabled = true;
}
{_depart.
Enabled = false;. Enabled = false;
}
}void
klass_SelectedIndexChanged (object sender, EventArgs e)
{(klass.
Text == "---"). Enabled = false;. Enabled = true;
}void
button1_Click (object sender, EventArgs e)
{.
Checked = false;. Checked = false;
}
}
}
При нажатии на
кнопку "Настройки" открывается соответствующее окно (Рис. 2.6).
Данное окно позволяет производить настройку базы данных, а в частности
корректирует информацию во вспомогательных таблицах "Руководители" и
"Участок".
Рис. 2.6 Окно "Настройки"
Кнопка "О
программе" вызывает окно "О программе School Base" (Рис. 2.7)
которое содержит логотип программы, сведения о разработчике и версии программы.
Рис. 2.7 Окно "О программе School Base"
В окне
"Карточка учащегося" отображается вся имеющаяся в базе информация об
ученике (Рис. 2.8).
Рис. 2.8 Окно "Карточка учащегося"
Листинг окна
"Карточка учащегося"
namespace
Диплом
{partial
class karta: Form
{karta
()
{();
}connect;n,
col;table;void karta_uchenika_Load (object sender, EventArgs e)
{=
new OleDbConnection ("Provider=Microsoft. ACE. OLEDB.12.0; Data
Source=" + Application. StartupPath. ToString () + "\\Диплом.
accdb");. Open ();(connect. State == ConnectionState. Closed). Open
();command = new OleDbCommand ("SELECT * FROM [Учащиеся] ORDER BY [ФИО]
asc", connect);reader = command. ExecuteReader ();= new DataTable ();(int
i = 0; i <= 34; i++). Columns. Add (reader. GetName (i));(reader. HasRows ==
true)(reader. Read ()). Rows. Add (reader. GetValue (0), reader. GetValue (1),
reader. GetValue (2), reader. GetValue (3),. GetValue (4), reader. GetValue
(5), reader. GetValue (6), reader. GetValue (7), reader. GetValue (8), reader.
GetValue (9), reader. GetValue (10),. GetValue (11), reader. GetValue (12),
reader. GetValue (13), reader. GetValue (14), reader. GetValue (15), reader.
GetValue (16), reader. GetValue (17), reader. GetValue (18),. GetValue (19),
reader. GetValue (20), reader. GetValue (21), reader. GetValue (22), reader.
GetValue (23), reader. GetValue (24), reader. GetValue (25),. GetValue (26),
reader. GetValue (27), reader. GetValue (28), reader. GetValue (29), reader.
GetValue (30), reader. GetValue (31), reader. GetValue (32),. GetValue (33),
reader. GetValue (34));. Close ();= table. Rows. Count;(col! = 0) ShowStudent
(0);(col > 1)
{.
Enabled = true;. Enabled = true;
}.
Close ();
}void
button1_Click (object sender, EventArgs e)
{
}void
ShowStudent (int n)
{fio,
date;bdate;. Text = table. Rows [n]. ItemArray [0]. ToString ();= table. Rows
[n]. ItemArray [1]. ToString ();_name. Text = fio. Substring (0, fio. IndexOf
(" "));_name. Text = fio. Substring (fio. IndexOf (" ") +
1, fio. LastIndexOf (" ") - fio. IndexOf (" "));_name. Text
= fio. Substring (fio. LastIndexOf (" ") + 1, fio. Length - fio.
LastIndexOf (" ") - 1);. Text = table. Rows [n]. ItemArray [2].
ToString () + " " + table. Rows [n]. ItemArray [3]. ToString ();=
table. Rows [n]. ItemArray [4]. ToString ();(date! = "01.01.1111 0: 00:
00")
{=
new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date.
Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));_date. Text =
bdate. ToShortDateString ();
}_date.
Text = "не указана";. Text = table. Rows [n]. ItemArray [5]. ToString
();. Text = table. Rows [n]. ItemArray [6]. ToString ();. Text = table. Rows
[n]. ItemArray [7]. ToString ();_d. Text = table. Rows [n]. ItemArray [9].
ToString ();_m. Text = table. Rows [n]. ItemArray [8]. ToString ();. Text =
table. Rows [n]. ItemArray [10]. ToString ();. Text = table. Rows [n].
ItemArray [11]. ToString ();. Text = table. Rows [n]. ItemArray [12]. ToString
();. Text = table. Rows [n]. ItemArray [15]. ToString ();_polis. Text = table.
Rows [n]. ItemArray [16]. ToString ();. Text = table. Rows [n]. ItemArray [17].
ToString ();. Text = table. Rows [n]. ItemArray [18]. ToString ();= table. Rows
[n]. ItemArray [20]. ToString ();(date! = "01.01.1111 0: 00: 00")
{=
new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date.
Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));. Text = bdate.
ToShortDateString ();
}.
Text = "не находится в группе риска";_reason. Text = table. Rows [n].
ItemArray [21]. ToString ();_1. Text = table. Rows [n]. ItemArray [22].
ToString ();= table. Rows [n]. ItemArray [23]. ToString ();(date! =
"01.01.1111 0: 00: 00")
{=
new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date.
Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));_arrival. Text =
bdate. ToShortDateString ();
}_arrival.
Text = "не указана";_depart_1. Text = table. Rows [n]. ItemArray
[24]. ToString ();_2. Text = table. Rows [n]. ItemArray [25]. ToString ();=
table. Rows [n]. ItemArray [26]. ToString ();(date! = "01.01.1111 0: 00:
00")
{=
new DateTime (Convert. ToInt32 (date. Substring (6,4)), Convert. ToInt32 (date.
Substring (3,2)), Convert. ToInt32 (date. Substring (0,2)));_disposal. Text =
bdate. ToShortDateString ();
}_disposal.
Text = "не указана";_depart. Text = table. Rows [n]. ItemArray [27].
ToString ();. Text = table. Rows [n]. ItemArray [28]. ToString ();. Text =
table. Rows [n]. ItemArray [29]. ToString ();. Text = table. Rows [n].
ItemArray [30]. ToString ();. Text = table. Rows [n]. ItemArray [31]. ToString
();. Text = table. Rows [n]. ItemArray [32]. ToString ();. Text = table. Rows
[n]. ItemArray [33]. ToString ();. Text = table. Rows [n]. ItemArray [34].
ToString ();
}void
pred_Click (object sender, EventArgs e)
{(n
> 0) n--;(n);
}void
next_Click (object sender, EventArgs e)
{(n
< col-1) n++;(n);
}
}
Техническое обеспечения для данного приложения будет
рассматриваться с двух сторон:
· Разработчик.
· Пользователь (заказчик).
Разработчику для создания и обеспечения работоспособности
базы данных и прикладного программного приложения понадобится:
- Персональный компьютер с периферийными
устройствами.
А также информация для создания базы данных учащихся СОШ:
- Личные дела учащихся школы.
- Социальные данные учащихся (Ф.И.О., дата
рождения, класс и т.п.).
- Количество классов (Список классов и
классных руководителей).
- Портфолио учащихся.
- Список улиц прикрепленных к школе.
Таким образом, чтобы создавать и редактировать базу данных
учащихся СОШ и прикладное программное приложение достаточно иметь компьютер.
Персональный компьютер с периферийными устройствами, наиболее
важный компонент, так как вся работа будет выполняться на нем. Периферийные
устройства: Клавиатура, Мышь. Так же он должен обладать определенными
системными характеристиками, что бы обеспечить работы программного обеспечения.
Со стороны пользователя для работы с приложением, понадобится
только персональный компьютер с периферийными устройствами. Компьютерные
характеристики не отличаются от характеристик компьютера разработчика,
допускается еще более минимальные системные требования. Используются те же
периферийные устройства можно даже добавить еще устройства вывода. [4]
Современная ситуация в сфере образования формируется под
воздействием глобальной тенденции информатизации общества.
В настоящее время многие организации используют в своей
деятельности различные информационные системы, облегчающие работу персонала.
Это не только информационные системы, которые предназначены для управления
организацией в целом, но и информационные системы управления документооборотом
организации, которые предназначены для перевода всего объема документации
организации в электронный вид, что повышает удобство обработки документов, а
также повышает эффективность функционирования предприятия, посредством
уменьшения времени, затрачиваемого для оформления и обработки документов. На
сегодняшний день автоматизация документооборота учреждений образования также необходима,
как автоматизация бухгалтерского учета в середине девяностых годов прошлого
века. Причин этому много. Во-первых, информацию необходимо обрабатывать как
можно быстрее и качественнее, подчас информационные потоки не менее важны, чем
материальные. Во-вторых, утеря информации или ее попадание в чужие руки может
обойтись весьма дорого.
Потеря времени равносильна потере денег, поскольку за это
время можно было бы их заработать, следовательно, время надо беречь и
расходовать с толком. [3]
Актуальность выбранной темы проекта обусловлена
необходимостью повышения эффективности работы общеобразовательной школы,
посредством уменьшения времени обработки и поиска документов, а также повысит
оперативность доступа к информации.
Реализация данного проекта приведет к сокращению временных
затрат должностных лиц образовательного учреждения в процессе решения
повседневных задач, что позволит вывести образовательное учреждение на новый
уровень развития.
Для этого необходима:
- оценка размера разрабатываемого проекта;
- оценка трудоемкости в человеко-часах;
- оценка продолжительности проекта в
календарных месяцах. [1]
Предложенный вариант программного кода на языке С# включает
свыше 700 строк программного кода.
Комплекс работ по разработке проекта:
- системный анализ;
- анализ требований;
- проектирование;
- кодирование;
- тестирование.
Анализ предметной области и поставленной задачи занял около 2
недель календарного времени.
Проектирование и кодирование, с учетом сложности и итогового
размера программы - 3 недели.
Затем на тестирование программы и опытное и эксплуатационное
внедрение целесообразно выделить еще 3 недели.
Таким образом, в среднем весь комплекс работ по разработке и
внедрению программного продукта занимает 8 недель.
В расчете на 8 недель по 5 рабочих (8-часовых) дней это 320
часов рабочего времени. Допустим, программист работал не по 8, а по 4 часа в
день.
Для воплощения проекта подобного класса целесообразно
привлекать одного программиста, таким образом, трудоемкость составит
приблизительно 160 чел/часов. При минимальной почасовой ставке программиста 100
руб. его труд оценивается в 16000 руб.
При разработке программного приложения были использованы
следующие программные средства:
) Лицензированная русская версии Microsoft Visual Studio
Community 2013 предоставляется бесплатно. [13]
) Microsoft Office Access 2007.
С 2012 года лицензированная русская версия пакета Microsoft
Office 2007 с комплектом ключей предоставляется МБОУ "СОШ№18"
Министерством образования ЧР бесплатно.
Затраты на разработку приложения "School Base"
приведены в таблице 2.4.
Таблица 2.4
Затраты на реализацию проекта
№
Наименование
Стоимость
1
Microsoft Visual Studio Community 2013
-
2
Microsoft Office Access 2007
-
3
Оплата труда программиста
16000.00 р.
4
Итого:
16000.00 р
Потоки информации, циркулирующие в мире, который нас
окружает, огромны. Современное общество развивается в условиях информационной
среды. Важнейшей ценностью, которой может обладать человек, является его способность
добывать, обрабатывать и представлять информацию в различных видах.
Базы данных позволяют хранить, структурировать информацию и
извлекать оптимальным для пользователя образом.
Разработка приложений для работы с БД автоматизирует работу
на предприятиях, т.к. избавляет от бумажных документов и позволяет выбирать,
находить и редактировать данные, которые требуются в кратчайшие сроки. В данное
время использование баз данных является актуальным практически во всех сферах
деятельности человека, в том числе в сфере образования. В настоящее время
многие организации используют в своей деятельности различные информационные
системы, облегчающие работу персонала. Однако утеря информации или ее попадание
в чужие руки может обойтись весьма дорого.
Возможные угрозы безопасности проекта могут быть
классифицированы по различным признакам:
По аспекту информационной безопасности, на который направлены
угрозы:
- Угрозы конфиденциальности (неправомерный
доступ к информации).
- Угрозы целостности (неправомерное изменение
данных).
- Угрозы доступности (осуществление
действий, делающих невозможным или затрудняющих доступ к ресурсам
информационной системы).
По степени преднамеренности действий:
- Случайные (неумышленные действия,
например, сбои в работе систем, стихийные бедствия).
- Преднамеренные (умышленные действия,
например, шпионаж и диверсии).
По расположению источника угроз:
- Внутренние (источники угроз располагаются
внутри системы).
- Внешние (источники угроз находятся вне
системы).
По размерам наносимого ущерба:
- Общие (нанесение ущерба объекту
безопасности в целом, причинение значительного ущерба).
- Локальные (причинение вреда отдельным
частям объекта безопасности).
- Частные (причинение вреда отдельным
свойствам элементов объекта безопасности).
По степени воздействия на информационную систему:
- Пассивные (структура и содержание системы
не изменяются).
- Активные (структура и содержание системы
подвергается изменениям). [6]
Задача обеспечения информационной безопасности должна
решаться системно. Это означает, что различные средства защиты (аппаратные,
программные, физические, организационные и т.д.) должны применяться
одновременно и под централизованным управлением. При этом компоненты системы
должны "знать" о существовании друг друга, взаимодействовать и
обеспечивать защиту, как от внешних, так и от внутренних угроз.
На сегодняшний день существует большой арсенал методов
обеспечения информационной безопасности:
- препятствие;
- управление доступом;
- маскировка, регламентация;
- принуждение и побуждение;
- средства шифрования информации, хранящейся
на компьютерах и передаваемой по сетям;
- межсетевые экраны;
- виртуальные частные сети;
- средства контентной фильтрации;
- инструменты проверки целостности содержимого
дисков;
- средства антивирусной защиты;
- системы обнаружения уязвимостей сетей и
анализаторы сетевых атак.
Препятствие - метод физического преграждения пути
злоумышленнику к защищаемой информации (к аппаратуре, носителям информации и
т.п.).
Управление доступом - метод защиты информации регулированием
использования всех ресурсов автоматизированной информационной системы
организации (фирмы). Управление доступом включает следующие функции защиты:
- идентификацию
пользователей, персонала и ресурсов информационной системы (присвоение каждому
объекту персонального идентификатора);
- аутентификацию
(установление подлинности) объекта или субъекта по предъявленному им
идентификатору;
- проверку полномочий
(проверка соответствия дня недели, времени суток, запрашиваемых ресурсов и
процедур установленному регламенту);
- разрешение и создание
условий работы в пределах установленного регламента;
- регистрацию
(протоколирование) обращений к защищаемым ресурсам;
- реагирование
(сигнализация, отключение, задержка работ, отказ в запросе) при попытках
несанкционированных действий.
Маскировка - метод защиты информации в автоматизированной
информационной системе путем ее криптографического закрытия.
Регламентация - метод защиты информации, создающий такие
условия автоматизированной обработки, хранения и передачи информации, при
которых возможность несанкционированного доступа к ней сводилась бы к минимуму.
Принуждение - такой метод защиты информации, при котором
пользователи и персонал системы вынуждены соблюдать правила обработки, передачи
и использования защищаемой информации под угрозой материальной,
административной или уголовной ответственности.
Побуждение - такой метод защиты информации, который побуждает
пользователей, и персонал системы не нарушать установленные правила за счет
соблюдения сложившихся моральных и этических норм.
Системы шифрования позволяют минимизировать потери в случае
несанкционированного доступа к данным, хранящимся на жестком диске или ином
носителе, а также перехвата информации при ее пересылке по электронной почте
или передаче по сетевым протоколам. Задача данного средства защиты -
обеспечение конфиденциальности. Основные требования, предъявляемые к системам
шифрования - высокий уровень криптостойкости и легальность использования на
территории России (или других государств).
Межсетевой экран представляет собой систему или комбинацию
систем, образующую между двумя или более сетями защитный барьер, предохраняющий
от несанкционированного попадания в сеть или выхода из нее пакетов данных.
Основной принцип действия межсетевых экранов - проверка
каждого пакета данных на соответствие входящего и исходящего IP-адреса базе
разрешенных адресов. Таким образом, межсетевые экраны значительно расширяют
возможности сегментирования информационных сетей и контроля за циркулированием
данных.
Говоря о криптографии и межсетевых экранах, следует упомянуть
о защищенных виртуальных частных сетях (Virtual Private Network - VPN). Их
использование позволяет решить проблемы конфиденциальности и целостности данных
при их передаче по открытым коммуникационным каналам. Использование VPN можно
свести к решению трех основных задач:
- защита информационных потоков между
различными офисами компании (шифрование информации производится только на
выходе во внешнюю сеть);
- защищенный доступ удаленных пользователей
сети к информационным ресурсам компании, как правило, осуществляемый через
интернет;
- защита информационных потоков между
отдельными приложениями внутри корпоративных сетей (этот аспект также очень
важен, поскольку большинство атак осуществляется из внутренних сетей).
Эффективное средство защиты от потери конфиденциальной
информации - фильтрация содержимого входящей и исходящей электронной почты.
Проверка самих почтовых сообщений и вложений в них на основе правил,
установленных в организации, позволяет также обезопасить компании от
ответственности по судебным искам и защитить их сотрудников от спама. Средства
контентной фильтрации позволяют проверять файлы всех распространенных форматов,
в том числе сжатые и графические. При этом пропускная способность сети
практически не меняется.
Все изменения на рабочей станции или на сервере могут быть
отслежены администратором сети или другим авторизованным пользователем
благодаря технологии проверки целостности содержимого жесткого диска. Это
позволяет обнаруживать любые действия с файлами (изменение, удаление или же
просто открытие) и идентифицировать активность вирусов, несанкционированный
доступ или кражу данных авторизованными пользователями.
Фильтры спама значительно уменьшают непроизводительные
трудозатраты, связанные с разбором спама, снижают трафик и загрузку серверов,
улучшают психологический фон в коллективе и уменьшают риск вовлечения
сотрудников компании в мошеннические операции. Кроме того, фильтры спама
уменьшают риск заражения новыми вирусами, поскольку сообщения, содержащие
вирусы (даже еще не вошедшие в базы антивирусных программ) часто имеют признаки
спама и отфильтровываются. Правда, положительный эффект от фильтрации спама
может быть перечеркнут, если фильтр наряду с мусорными удаляет или маркирует
как спам и полезные сообщения, деловые или личные.
Для противодействия естественным угрозам информационной
безопасности в компании должен быть разработан и реализован набор процедур по
предотвращению чрезвычайных ситуаций (например, по обеспечению физической
защиты данных от пожара) и минимизации ущерба в том случае, если такая ситуация
всё-таки возникнет. Один из основных методов защиты от потери данных -
резервное копирование с четким соблюдением установленных процедур (регулярность,
типы носителей, методы хранения копий и т.д.) [6]
Средства защиты в зависимости от способа реализации можно
разделить на группы:
. Технические;
2. Программные;
. Программно-технические;
. Организационные.
Средства защиты информации, реализованные в данном проекте,
следующие:
) Программные средства защиты - это использование
антивирусной программы на всех рабочих станция (персональных компьютерах) с
целью защиты. (Рис. 3.1.)
Рис. 3.1 Окно программы NOD 32
Безопасность достигается за счет поиска опасных объектов на
вашем компьютере, запуском сканирования компьютера
Если на компьютере обнаружены угрозы, то они указываются в
журнале. Необходимо применить действия: Удалить, Лечить. Журнал угроз.
Также в настройках антивируса необходимо указать
автоматический поиск угроз при подключении к интернету для повышения уровня
безопасности, например, при обнаружении сайтов - атак антивирус сообщит при
переходе о небезопасной ссылке и пользователю будет предложен выбор о перенаправлении.
) Технические специальные политики, которые помогают
отслеживать распространение информации. Например, администратор должен
постоянно следить за достоверностью информации, вносить корректировки путем
регулярного отслеживания [17].
Политика безопасности организации - совокупность руководящих
принципов, правил, процедур и практических приёмов в области безопасности,
которые регулируют управление, защиту и распределение ценной информации.
Политика безопасности зависит:
- От конкретной технологии обработки
информации;
- От используемых технических и программных
средств;
- От расположения организации.
Таким же образом, администратор должен следить за настройками
приватности пользователей, в обязательном порядке проводить аутентификацию и
организовать авторизацию в целях защиты материалов курсов от искажения,
распространения, а также для обеспечения безопасности в целом.
Аутентификация - процедура проверки подлинности, например:
проверка подлинности пользователя путём сравнения введённого им пароля с
паролем в базе данных пользователей; подтверждение подлинности электронного
письма путём проверки цифровой подписи письма по ключу шифрования отправителя;
проверка контрольной суммы файла на соответствие сумме, заявленной автором
этого файла. В русском языке термин применяется в основном в сфере
информационных технологий [17].
Авторизация - предоставление определённому лицу или группе
лиц прав на выполнение определённых действий; а также процесс проверки
(подтверждения) данных прав при попытке выполнения этих действий. Часто можно
услышать выражение, что какой-то человек "авторизован" для выполнения
данной операции - это значит, что он имеет на неё право [17].
) Организационные, т.е. методы, которые помогают
предотвратить пиратство, и обеспечивают сохранение авторских прав.
Авторское право - это подотрасль гражданского права,
регулирующая отношения, связанные с созданием и использованием произведений
науки, литературы или искусства, то есть объективных результатов творческой
деятельности людей в этих областях. Программы для ЭВМ и базы данных также
охраняются авторским правом. Они приравнены к литературным произведениям и
сборникам, соответственно. По приказу Гостехкомиссии о "защите информации
и авторских правах" нарушители авторских прав, так называемые плагиаторы,
должны быть привлекаются к ответственности [27].
Незаконное использование произведений или объектов смежных
прав либо иное нарушение предусмотренных настоящим Законом авторского права или
смежных прав влечет за собой гражданско-правовую, административную, уголовную
ответственность в соответствии с законодательством Российской Федерации (п.1 в
ред. Федерального закона от 20.07.2004 N 72-ФЗ). [1]
Программы для ЭВМ и базы данных также охраняются авторским
правом. Они приравнены к литературным произведениям и сборникам,
соответственно.
В последнее время происходит стремительное развитие
информационных технологий. Это связано с тем, что во всем мире возросли
информационные потоки. Объем информации, который используется сегодня в
процессе функционирования общеобразовательной школы, постоянно увеличивается, а
текущая информация часто изменяется. Поэтому должностным лицам школы,
ответственному за ведение документооборота и другим участникам образовательного
процесса приходится вносить и изменять новые данные в соответствующие документы
вручную, что отнимает много сил и времени. Это негативно сказывается на
эффективности работы школы. Кроме того, ведение документооборота традиционным
способом ухудшает качество обучения школьников, поскольку в документооборот
вовлечены не только административно-управленческий аппарат школы, но и учителя,
на которых ложится дополнительная нагрузка, связанная с оформлением документов
и предоставления необходимых отчетов руководству, поскольку, как правило,
большинство учителей являются классными руководителями.
Развитие информационных технологий оказывает большое влияние
на сферу образования, поскольку эти технологии могут очень эффективно
применяться не только в процессе передачи знаний, но и в управлении
образовательным процессом. [3]
Реализация и внедрение данного проекта упростит работу с
документами учащихся, повысит ее эффективность, повысит производительность
труда сотрудников за счет сокращения времени обработки и поиска документов,
повысит оперативность доступа к информации.
В данной работе предпринята попытка
создания информационной системы - автоматизированной базы данных для работы с
данными учащихся.
Цель проекта заключалась в разработке базы данных и
прикладного программного приложения для действующего образовательного
учреждения обеспечивающего хранение, накопление и предоставление всей
необходимой информации об учащихся, с помощью которого заказчик, в частности
МБОУ "Средняя общеобразовательная школа №18" г. Грозного, будет вести
учет учащихся школы, контролировать данные о них, оперативно получать различные
запросы, затрачивая на это минимум времени, осуществлять мониторинг их
достижений, уровня подготовки и вести внутри-школьный контроль за учащимися.
Проект предусматривал 3 последовательных этапа реализации,
- изучение структуры и содержания
образовательного учреждения;
- создание базы данных учащихся СОШ;
- разработка прикладного программного
приложения для управления базой данных учащихся СОШ.
Задачи проекта считаю выполненными, а цель достигнутой.
1. Агальцова
В.П. Экономика.
Экономическая Эффективность. [Текст] / В.А. Агальцова. - М.: Форум, 2013. - 447
с.
2. Васильков А.Б., Безопасность ПК. [Текст] /
А.Б. Васильков. - М.: Форум, 2012. - 220 с.
3. Гершунский Б.С. Компьютеризация в сфере
образования: проблемы и перспективы. [Текст] / Б.С. Гершунский. - М.: МГУР,
2012. - 264с.
4. Илюшечкин В.М. Основы использования и
проектирования баз данных [Текст] / В.М. Илюшечкин - М: ИД Юрайт, 2011 - 213 с.
5. Касимов И. Информационные технологии в
управлении образованием [Текст] / Педагогическая техника, 2005, №1.
6. Павловская Т.А. C#. Программирование на языке высокого уровня
[Текст] / Т.А. Павловская - М.: Вильямс
<http://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_(%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE)&action=edit&redlink=1>,
2009 - 240 с.
7. Пауэрс Л. Microsoft Visual Studio [Текст] / М. Снелл, Л.
Пауэрс - CПб.: БХВ-Петербург, 2008 - 1200 с.
8. Сайков Б.П. Организация информационного пространства
образовательного учреждения: практическое руководство. [Текст] / Б.П. Сайков. -
М.: БИНОМ. Лаборатория знаний. 2005. - 406 с.
9. Соломенчук В.П. Аппаратное обеспечение. [Текст] / В.П.
Соломенчук. - М.: Форум, 2013. - 322 с.
10. Фрост Р. Базы данных. Проектирование и разработка. [Текст]
/ Р. Фрост, Д. Дей, К.В. Слайк - М: НТ Пресс, 2008 - 592 с.
11. Чипига А.П. Информационная безопасность. [Текст] / А.П.
Чипига. - М.: Гелиос АРМ, 2012. - 102 с.
12. Шилдт Г. C# 4.0 полное руководство. [Текст] / Г. Шилдт -
М.: Вильямс, 2011 - 1056 с.
. Дневник ру
[электронный ресурс]. / Режим доступа: http://dnevnik.ru/ (дата обращения:
03.04.15)
. Образовательный
проект "Открытый урок" [электронный ресурс]. Режим доступа:
<http://festival.1september.ru> (дата обращения: 18.04.15)
. Официальный сайт
МБОУ "Средняя общеобразовательная школа №18" г. Грозный [электронный
ресурс]. Режим доступа: http://sosh18chr. fo.ru/
<http://sosh18chr.fo.ru/> (дата обращения: 20.04.15)
. Официальный сайт
МАОУ "Средняя общеобразовательная школа №2" г. Пестово [электронный
ресурс]. Режим доступа: <http://pestovo-school2.ru/> (дата обращения:
24.04.15)
. Официальный сайт
свободной библиотеки "Википедия" [электронный ресурс]. Режим доступа:
www.Wikipedia.org/wiki/Веб-программирование /
<http://www.Wikipedia.org/wiki/Веб-программирование%20/> (дата обращения:
05.05.15)
. Официальный сайт
Visual Studio [электронный ресурс]. Режим доступа: https: //
www.visualstudio.com/, свободный. - Загл. с экрана. (10.05.15)
. Софт-канал [электронный
ресурс]. Режим доступа: <http://www.izone.ru/> (дата обращения: 15.05.15)
. Компьютерный
информационный портал [электронный ресурс]. Режим доступа:
<http://www.oszone.net/> (дата обращения: 07.05.15)
2.3
Техническое обеспечение задачи
2.4 Оценка
эффективности проекта
Глава 3.
Информационная безопасность
3.1 Объект
защиты
3.2 Методы
обеспечения информационной безопасности
Заключение
Список использованных
источников