Проектирование информационной системы "Деканат" по курсу предмета Проектирование асоиу



Download 10,1 Mb.
Sana02.04.2022
Hajmi10,1 Mb.
#524219
TuriКурсовой проект
Bog'liq
bibliofond.ru 787442


Министерство образования и науки
Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
“Ижевский государственный технический университет
Имени М.Т. Калашникова”
Воткинский филиал
Кафедра ОВПиСУ
Курсовой проект
на тему: Проектирование информационной системы “Деканат”
по курсу предмета Проектирование АСОИУ


Выполнил студент группы 9-45-1
Воробьев Г.А.
Проверил Инженер - электроник
Береснев Н.В.


Воткинск 2014


Оглавление


Введение
Постановка задачи
. Проектирование БД
.1 Выбор программного обеспечения
.2 Проектирование таблиц
.3 Физическая реализация БД
. Проектирование интерфейса
.1 Информация о студентах
.2 Редактирование групп
.3 Редактирование оценок
.4 Редактирование предметов
.5 Просмотр диаграмм
Заключение
Список литературы
Приложение А
Введение


Одним из важнейших условий обеспечения эффективного функционирования любой организации является наличие развитой автоматизированной информационной системы (АИС). Под АИС понимают все системы, реализующие автоматизированный сбор, обработку и манипулирование данными и включающие технические средства обработки данных, программное обеспечение и обслуживающий персонал. Современной формой АИС являются автоматизированные банки данных (АБД), которые включают в свой состав вычислительную систему, одну или несколько БД, систему управления базами данных (СУБД) и набор прикладных программ (ПП).
Цель данного курсового проекта - разработка информационной системы “Деканат”. Информационная система “Деканат” предполагает хранение информации о студентах и учет их успеваемости.
В соответствии с поставленной целью в работе предполагается решить следующие задачи:
сбор данных;
проектирование базы данных;
формулировка ограничений целостности;
разработка приложения;
Для обеспечения надежности системы управления данными необходимо выполнить следующие основные требования:
целостность и непротиворечивость данных,
достоверность данных,
простота управления данными.


Постановка задачи
база данные деканат студент
Спроектировать базу данных и разработать многопользовательское приложение на основе базы студентов, их успеваемости и предметов. А также построение графиков оценок по предметам.
Выбрать СУБД, среду программирования и выполнить задание.
1. Проектирование БД


.1 Выбор программного обеспечения


Мой выбор пал на СУБД MySQL по причине отличной гибкости, своей открытой архитектуре и большого набора функционала. MySQL отлично подходит для создания малых и средних приложений. В добавок, я взял на вооружение MySQL Workbench - инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.


.2 Проектирование таблиц


Сущность “Группы” имеет атрибуты: название, ключ группы.
Сущность “Оценки” имеет атрибуты: ключ оценок, ссылку на студента, ссылку на предмет и значение оценки.
Сущность “Студенты” имеет атрибуты: ключ студента, фамилия, имя, отчество, дата рождения, номер зачётки и номер группы.
Сущность “Предметы” имеет атрибуты: ключ предмета, название предмета. Всего БД состоит из 4х таблиц:
1) Группы. Рис.1



Рис.1. Таблица группы
2)
Оценки. Рис.2



Рис.2. Таблица оценки


3) Студенты. Рис.3



Рис.3. Таблица студенты


4) Предметы. Рис.4

Рис.4. Таблица предметы


1.3 Физическая реализация БД


Физическая модель данных строится на базе логической модели и описывает данные уже средствами конкретной СУБД. Отношения, разработанные на стадии логического моделирования, преобразуются в таблицы, атрибуты в столбцы, домены в типы данных, принятых в выбранной конкретной СУБД.
Физическая модель реализации БЗ отражена на рисунке 5.



Рис.5. Физическая модель БД
2. Проектирование интерфейса ИС


Для создания интерфейса я использовал программу Microsoft Visual Studio 2013. Это мощная среда разработки, позволяющая создавать как консольные, так и оконные приложения.


.1 Информация о студентах


Первое окно рис.6 представляет собой форму заполнения данных о студентах, а также ссылки на редактирование оценок, групп и показ диаграмм.



Рис.6. Окно 1


Значения полей:
1) Фамилия, имя, отчество, дата рождения, номер зачётки, номер группы - поля ввода информации о студентах.
2) Кнопки добавить, удалить, принять изменения - для добавления в список, удаления из списка, или изменения данных студента в списке.
) Кнопки импорт\экспорт - для записи данных о студентах в xml файл, а также извлечения данных из файла.
) Кнопка редактировать - открывает окно редактирования номера группы.
) Кнопка диаграммы - открывает окно диаграмм.


.2 Редактирование групп


В данном окне рис.7 можно добавлять, удалять и редактировать группы с помощью соответствующих кнопок.



Рис.7. Группы


.3 Редактирование оценок


Данное окно Рис.8 вызывается двойным кликом по ФИО студента на 1 окне, и позволяет выбрать из выпадающего списка предмет и поставить оценку.
Кнопка предметы вызывает окно редактирования предметов.



Рис.8. Оценки


.4 Редактирование предметов


Окно редактирования предметов Рис.9. позволяет добавлять, удалять или изменять названия предметов.



Рис.9 Предметы


.5 Просмотр диаграмм


В последнем окне Рис.10 выполнена функция предоставления всех оценок по выбранному предмету в виде столбцовой или круговой диаграммы.



Рис.10 Диаграммы
Заключение


В ходе создания курсового проекта были выполнены следующие этапы:
) Была спроектирована БД “Деканат”
) Определена физическая структура БД
) Разработан прототип информационной системы “Деканат”
Результатом выполнения стала ИС “Деканат”, позволяющая хранить информацию о студентах, хранить их оценки по каждому предмету и выводить цветные графики этих оценок.
Список использованной литературы


1. Бойко В.В.Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М. - 2-е изд. - М.: Финансы и статистика, 1989. - 350 с.;
2. Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. / Дейт К. Дж. - 6-е изд. - Киев: Диалектика, 1998. - 784 с.;
3. Базы данных в среде промышленных СУБД Черноморов Г.А. - Новочеркасск : ЮРГТУ, 2006. - 884 с.;
4. Базы данных. Язык SQL для студента /В.В. Дунаев: БХВ-Петербург, 2006.- 288с.
5. Золотов С.Ю. Основы проектирования информационных систем: Учебное пособие. - Томск: ТУСУР, 2007. - 96 с.
6. Золотов С.Ю. Проектирование информационных систем: Учебно-методическое пособие. Методические рекомендации для выполнения курсового проекта, лабораторных работ и практических занятий по дисциплине «Проектирование информационных систем» - Томск: ТУСУР, 2013. - 34 с.
Приложение А


Форма 1


using System;
using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Linq;System.Text;System.Windows.Forms;System.Xml;WindowsFormsApplication6
{partial class Form1 : Form
{ studentlist;Form1()
{();= new List();
}void Form1_Load(object sender, EventArgs e)
{context = new dekanatEntities();students = context.students;(var st in students)
{.Items.Add(st.Familiya + " " + st.Imya + " " + st.Otchestvo);.Add(st);
}gruppi = context.gruppi;(var gr in gruppi)
{.Items.Add(gr.nazvanie);
}
}void button1_Click(object sender, EventArgs e)
{student = new students();.Familiya = textBox1.Text;.Imya = textBox2.Text;.Otchestvo = textBox3.Text;.DataRozhdeniya = dateTimePicker1.Value;.NomerZachetki = int.Parse(textBox4.Text);context = new dekanatEntities();gr = context.gruppi.First(g => g.nazvanie == comboBox1.Text);.NomerGruppi = gr.k_grup;.students.AddObject(student);.SaveChanges();.Items.Add(student.Familiya + " " + student.Imya + " " + student.Otchestvo);.Add(student);
}void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{(listBox1.SelectedIndex > -1)
{st1 = studentlist[listBox1.SelectedIndex];.Text = st1.Familiya;.Text = st1.Imya;.Text = st1.Otchestvo;.Value = st1.DataRozhdeniya.Value;.Text = st1.NomerZachetki.ToString();.Text = st1.gruppi.nazvanie;
}
}void button2_Click(object sender, EventArgs e)
{(listBox1.SelectedIndex > -1)
{st1 = studentlist[listBox1.SelectedIndex];context = new dekanatEntities();st2 = context.students.First(st => st.k_student == st1.k_student);.students.DeleteObject(st2);.SaveChanges();.RemoveAt(listBox1.SelectedIndex);.Items.RemoveAt(listBox1.SelectedIndex);
}
}void button3_Click(object sender, EventArgs e)
{(listBox1.SelectedIndex > -1)
{st1 = studentlist[listBox1.SelectedIndex];context = new dekanatEntities();st2 = context.students.First(st => st.k_student == st1.k_student);.Familiya = textBox1.Text;.Imya = textBox2.Text;.Otchestvo = textBox3.Text;.DataRozhdeniya = dateTimePicker1.Value;.NomerZachetki = int.Parse(textBox4.Text);gr = context.gruppi.First(g => g.nazvanie == comboBox1.Text);.NomerGruppi = gr.k_grup;.SaveChanges();.Items.Clear();.Clear();(var st in context.students)
{.Items.Add(st.Familiya + " " + st.Imya + " " + st.Otchestvo);.Add(st);
}
}
}void button4_Click(object sender, EventArgs e)
{f2 = new Form2();.ShowDialog();context = new dekanatEntities();.Items.Clear();gruppi = context.gruppi;(var gr in gruppi)
{.Items.Add(gr.nazvanie);
}
}void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{form3 = new Form3(studentlist[listBox1.SelectedIndex].k_student);.ShowDialog();
}void button5_Click(object sender, EventArgs e)
{pathToXml = "D:\\Student.xml";textWritter = new XmlTextWriter(pathToXml, Encoding.UTF8);.WriteStartDocument();.WriteStartElement("Elements");.WriteEndElement();.Close();document = new XmlDocument();.Load(pathToXml);(var studn in studentlist)
{element = document.CreateElement("element");.DocumentElement.AppendChild(element);attribute = document.CreateAttribute("фамилия");.Value = studn.Familiya;.Attributes.Append(attribute);= document.CreateAttribute("имя");.Value = studn.Imya;.Attributes.Append(attribute);= document.CreateAttribute("Отчество");.Value = studn.Otchestvo;.Attributes.Append(attribute);= document.CreateAttribute("дата");.Value = studn.DataRozhdeniya.ToString();.Attributes.Append(attribute);= document.CreateAttribute("группа");.Value = studn.gruppi.nazvanie;.Attributes.Append(attribute);= document.CreateAttribute("зачётка");.Value = studn.NomerZachetki.ToString();.Attributes.Append(attribute);context = new dekanatEntities();stud = context.students.First(st => st.k_student == studn.k_student);(var mk in stud.marks)
{subElement1 = document.CreateElement(mk.subject.subjname);.InnerText = mk.markvalue.ToString();.AppendChild(subElement1);
}
}.Save(pathToXml);
}void button6_Click(object sender, EventArgs e)
{context = new dekanatEntities();pathToXml = "D:\\Student.xml";xmlDoc = new XmlDocument();.Load(pathToXml);elementList = xmlDoc.GetElementsByTagName("Elements").Item(0).ChildNodes;(XmlNode elem in elementList)
{.Items.Add(elem.Attributes.Item(0).Value + " " + elem.Attributes.Item(1).Value + " " + elem.Attributes.Item(2).Value);stud = new students();.Imya = elem.Attributes.Item(1).Value;.Familiya = elem.Attributes.Item(0).Value;.Otchestvo = elem.Attributes.Item(2).Value;.DataRozhdeniya = DateTime.Parse(elem.Attributes.Item(3).Value);strgr = elem.Attributes.Item(4).Value;.NomerGruppi = context.gruppi.First(gr => gr.nazvanie == strgr).k_grup;.NomerZachetki = int.Parse(elem.Attributes.Item(5).Value);.Add(stud);.students.AddObject(stud);.SaveChanges();(XmlNode node in elem.ChildNodes)
{mthrfckr = new marks();.markvalue = int.Parse(node.InnerText);.fk_student = stud.k_student;sname = node.Name;.fk_subject=context.subject.First(s => s.subjname == sname).k_subject;.marks.AddObject(mthrfckr);.SaveChanges();
}
}
}void button7_Click(object sender, EventArgs e)
{form5 = new Form5();.Show();
}
}
}


Форма 2


public partial class Form2 : Form
{ gruplist;Form2()
{();= new List();
}void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{(listBox1.SelectedIndex > -1)
{st1 = gruplist[listBox1.SelectedIndex];.Text = st1.nazvanie;
}
}void button1_Click(object sender, EventArgs e)
{gruppa = new gruppi();.nazvanie = textBox1.Text;context = new dekanatEntities();.gruppi.AddObject(gruppa);.SaveChanges();.Items.Add(gruppa.nazvanie);.Add(gruppa);
}void button2_Click(object sender, EventArgs e)
{gr = gruplist[listBox1.SelectedIndex];context = new dekanatEntities();gr1 = context.gruppi.First(gr2 => gr2.k_grup == gr.k_grup);.gruppi.DeleteObject(gr1);.SaveChanges();.RemoveAt(listBox1.SelectedIndex);.Items.RemoveAt(listBox1.SelectedIndex);
}void Form2_Load(object sender, EventArgs e)
{context = new dekanatEntities();gr1 = context.gruppi;(var gr in gr1)
{.Items.Add(gr.nazvanie);.Add(gr);
}
}void button3_Click(object sender, EventArgs e)
{gr = gruplist[listBox1.SelectedIndex];context = new dekanatEntities();gr1 = context.gruppi.First(gr2 => gr2.k_grup == gr.k_grup);.nazvanie = textBox1.Text;.SaveChanges();.Items.Clear();.Clear();(var gr2 in context.gruppi)
{.Items.Add(gr2.nazvanie);.Add(gr2);
}
}
}


Форма 3


public partial class Form3 : Form
{studid; mraklist;Form3(int stud)
{();= new List();= stud;context = new dekanatEntities();std = context.students.First(st => st.k_student == stud);(var mark in std.marks)
{.Items.Add(mark.subject.subjname + " " + mark.markvalue);.Add(mark);
}predm = context.subject;(var s in predm)
{.Items.Add(s.subjname);
}
}void button1_Click(object sender, EventArgs e)
{mark = new marks();Context = new dekanatEntities();.fk_subject = Context.subject.First(sb => sb.subjname == comboBox1.Text).k_subject;.fk_student = studid;.markvalue = Convert.ToInt32(textBox2.Text);.marks.AddObject(mark);.SaveChanges();.Items.Add(comboBox1.Text + " " + mark.markvalue);.Add(mark);
}void button2_Click(object sender, EventArgs e)
{mr = mraklist[listBox1.SelectedIndex];context = new dekanatEntities();mr1 = context.marks.First(mr2 => mr2.k_mark == mr.k_mark);.marks.DeleteObject(mr1);.SaveChanges();.RemoveAt(listBox1.SelectedIndex);.Items.RemoveAt(listBox1.SelectedIndex);
}void button3_Click(object sender, EventArgs e)
{gr = mraklist[listBox1.SelectedIndex];context = new dekanatEntities();gr1 = context.marks.First(gr2 => gr2.k_mark == gr.k_mark);.markvalue = Convert.ToInt32(textBox2.Text);.fk_subject = context.subject.First(sb => sb.subjname == comboBox1.Text).k_subject;.SaveChanges();[listBox1.SelectedIndex] = gr1;.Items[listBox1.SelectedIndex] = (comboBox1.Text + " " + gr1.markvalue);
}void button4_Click(object sender, EventArgs e)
{form4 = new Form4();.ShowDialog();context = new dekanatEntities();.Items.Clear();mks = context.subject;(var gr in mks)
{.Items.Add(gr.subjname);
}
}
}


Форма 4


public partial class Form4 : Form
{ subjlist;Form4()
{();= new List();
}void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{(listBox1.SelectedIndex > -1)
{st1 = subjlist[listBox1.SelectedIndex];.Text = st1.subjname;
}
}void Form4_Load(object sender, EventArgs e)
{context = new dekanatEntities();su1 = context.subject;(var subj in su1)
{.Items.Add(subj.subjname);.Add(subj);
}
}void button1_Click(object sender, EventArgs e)
{predmet = new subject();.subjname = textBox1.Text;context = new dekanatEntities();.subject.AddObject(predmet);.SaveChanges();.Items.Add(predmet.subjname);.Add(predmet);
}void button2_Click(object sender, EventArgs e)
{udalpredm = subjlist[listBox1.SelectedIndex];context = new dekanatEntities();up1 = context.subject.First(up2 => up2.k_subject == udalpredm.k_subject);.subject.DeleteObject(up1);.SaveChanges();.RemoveAt(listBox1.SelectedIndex);.Items.RemoveAt(listBox1.SelectedIndex);
}void button3_Click(object sender, EventArgs e)
{izmprd = subjlist[listBox1.SelectedIndex];context = new dekanatEntities();up1 = context.subject.First(up2 => up2.k_subject == izmprd.k_subject);.subjname = textBox1.Text;.SaveChanges();.Items.Clear();.Clear();(var up2 in context.subject)
{.Items.Add(up2.subjname);.Add(up2);
}
}
}


Форма 5


public partial class Form5 : Form
{Form5()
{();context = new dekanatEntities();.Items.Clear();predmet = context.subject;(subject gr in predmet)
{.Items.Add(gr);
}
}void button2_Click(object sender, EventArgs e)
{subj = comboBox1.SelectedItem as subject; values = new Dictionary();context = new dekanatEntities();(marks mk in context.marks)
{(mk.fk_subject == subj.k_subject)(values.ContainsKey(mk.markvalue.Value))[mk.markvalue.Value]++;.Add(mk.markvalue.Value, 1);
}nular = 360 / values.Values.Sum();angle = 0;gr = pictureBox1.CreateGraphics();.Clear(Color.White);(KeyValuePair kvp1 in values)
{.FillPie(new SolidBrush(Color.FromArgb((255 / kvp1.Key - 11) % 255, (255 / kvp1.Key + 20) % 255, (255 / kvp1.Key + 58) % 255)), new Rectangle(0, 0, pictureBox1.Width, pictureBox1.Height),, nular * kvp1.Value);+= nular * kvp1.Value;
}
}void button1_Click(object sender, EventArgs e)
{subj = comboBox1.SelectedItem as subject; values = new Dictionary();context = new dekanatEntities();(marks mk in context.marks)
{(mk.fk_subject == subj.k_subject)(values.ContainsKey(mk.markvalue.Value))[mk.markvalue.Value]++;.Add(mk.markvalue.Value, 1);
}shirina = pictureBox1.Width / values.Keys.Count;visota = pictureBox1.Height / values.Values.Max();i = 0;rnd = new Random();gr = pictureBox1.CreateGraphics();.Clear(Color.White);(KeyValuePair kvp in values)
{rekt = new Rectangle(i * shirina, pictureBox1.Height - kvp.Value * visota, shirina, (visota * kvp.Value));.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(rekt, Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255)), Color.Black, 180);.FillRectangle(brush, rekt);++;
}
}
}

Download 10,1 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish