Автоматизация учета иностранных студентов в условиях филиала КузГТУ в г Прокопьевске
Заказать уникальную курсовую работу- 35 35 страниц
- 18 + 18 источников
- Добавлена 04.06.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
1.1. Исходная постановка задачи проектирования 4
1.2. Анализ условий предприятия 4
1.2.1. Модель «Цели бизнес-процессов» 4
1.2.2. Организационная структура 6
1.2.3. Состав бизнес-процессов 6
1.2.4. Содержание бизнес-процессов 6
1.2.5. Определение классов бизнес-объектов 6
1.2.6. Автоматизируемые бизнес-решения 6
1.3. Формирование требований к системе 6
1.3.1. Определение состава функциональных требований 6
1.3.2. Определение состава сценариев, реализующих требования 6
1.3.3. Разработка содержания сценариев 7
1.3.4. Определение требований к пользовательскому интерфейсу 7
1.3.5. Определение требований к хранилищу данных 7
2. Разработка рабочего проекта 8
2.1. Определение классов анализа 8
2.1.1. Классы объектов-сущностей 8
2.1.2. Классы граничных объектов 9
2.2. Определение методов объектов 9
2.3. Выбор технологий реализации 10
2.3.1. Выбор операционной системы 10
2.3.2. Выбор типа взаимодействия пользователя с системой 11
2.3.3. Выбор среды разработки и языка программирования 11
2.3.4. Выбор технологии взаимодействия пользовательских компонент с данными 12
2.3.5. Определение параметров среды развертывания 12
2.4. Проектирование хранилища данных 12
3. Реализация проекта 15
4. Развёртывание информационной системы 17
5. Список литературы 18
Приложение А. Листинг кода приложения 20
cs
public class DataService
{
public IList
{
using (var dbContext = new ForeignStudentsDbContext())
return dbContext.Faculties.ToList();
}
public IList
{
using (var dbContext = new ForeignStudentsDbContext())
return dbContext.Specialities.Include("Faculty").Where(x=>x.Faculty.Id == facultyId).ToList();
}
public IList
{
using (var dbContext = new ForeignStudentsDbContext())
return dbContext.Students.Include("Faculty").Include("Speciality").ToList();
}
public void SaveStudent(string name, string surName, string fathersName, Guid facultyId, Guid specialityId, string address, DateTime birthDay, int year, string county, bool hasHostel)
{
using (var dbContext = new ForeignStudentsDbContext())
{
var faculty = dbContext.Faculties.Find(facultyId);
var speciality = dbContext.Specialities.Find(specialityId);
dbContext.Students.Add(new Student
{
Id = Guid.NewGuid(),
Name = name,
Surname = surName,
FathersName = fathersName,
Faculty = faculty,
Speciality = speciality,
Address = address,
BirthDate = birthDay,
HasStudentsHostelRoom = hasHostel,
NativeCountry = county,
StudentYear = year
});
dbContext.SaveChanges();
}
}
public void SaveSpeicality(string name, Guid facultyId)
{
using (var dbContext = new ForeignStudentsDbContext())
{
var faculty = dbContext.Faculties.Find(facultyId);
dbContext.Specialities.Add(new Speciality() { Id = Guid.NewGuid(), Faculty = faculty, Name = name });
dbContext.SaveChanges();
}
}
public void SaveFaculty(string name)
{
using (var dbContext = new ForeignStudentsDbContext())
{
dbContext.Faculties.Add(new Faculty() { Id = Guid.NewGuid(), Name = name });
dbContext.SaveChanges();
}
}
public void UpdateStudent(Guid studentId, Guid conferenceId)
{
using (var dbContext = new ForeignStudentsDbContext())
{
var student = dbContext.Students.Include("Conferences").First(x=>x.Id == studentId);
var conference = dbContext.Conferences.Find(conferenceId);
student.Conferences.Add(conference);
dbContext.SaveChanges();
}
}
public IList
{
using (var dbContext = new ForeignStudentsDbContext())
return dbContext.Conferences.ToList();
}
public Student GetStudent(Guid id)
{
using (var dbContext = new ForeignStudentsDbContext())
return dbContext.Students.Include("Conferences").First(x => x.Id == id);
}
}
Слой пользовательского интерфейса
public partial class ForeignStudentsMainView : Form
{
private DataService _dataService;
private List
public ForeignStudentsMainView()
{
InitializeComponent();
_dataService = new DataService();
// _dataService.InitData();
_list = _dataService.GetStudents().OrderBy(x => x.Surname).ToList();
var source = new BindingList
studentsGrid.DataSource = source;
studentsGrid.Columns["Id"].Visible = false;
facultyCb.DataSource = _dataService.GetFaculties();
}
private void facultyCb_SelectedIndexChanged(object sender, EventArgs e)
{
var cb = sender as ComboBox;
if (cb == null)
return;
var faculty = cb.SelectedItem as ForeignStudents.Domain.Faculty;
if (faculty == null)
return;
specialityComboBox.DataSource = _dataService.GetSpecialities(faculty.Id);
}
private void saveBtn_Click(object sender, EventArgs e)
{
var faculty = facultyCb.SelectedItem as ForeignStudents.Domain.Faculty;
if (faculty == null)
{
MessageBox.Show("Не выбран факультет");
return;
}
var specality = specialityComboBox.SelectedItem as ForeignStudents.Domain.Speciality;
if (specality == null)
{
MessageBox.Show("Не выбрана специальность");
return;
}
_dataService.SaveStudent(studentNametb.Text, Surnametb.Text, FatherNametb.Text, faculty.Id, specality.Id, addressTxb.Text, BirthdayDateTimePicker.Value, (int)yearNumeric.Value, nativeCountryTbx.Text, checkBox1.Checked);
//refresh grid data
_list = _dataService.GetStudents().OrderBy(x => x.Surname).ToList();
var source = new BindingList
studentsGrid.DataSource = source;
}
private void saveFaculty_Click(object sender, EventArgs e)
{
_dataService.SaveFaculty(addFacultyTb.Text);
selectFacultyForSpecialityCb.DataSource = _dataService.GetFaculties();
facultyCb.DataSource = _dataService.GetFaculties();
}
private void saveConferencebnt_Click(object sender, EventArgs e)
{
_dataService.SaveConference(conferenceName.Text, conferenceDateTimePicker.Value);
}
private void studentsGrid_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
var student = (studentsGrid.DataSource as IList
if (student == null)
return;
new StudentDetailsForm(student.Id).Show();
}
}
public partial class StudentDetailsForm : Form
{
private DataService _dataService;
private Guid _studentId;
public StudentDetailsForm(Guid studentId)
{
_studentId = studentId;
InitializeComponent();
_dataService = new DataService();
var student = _dataService.GetStudent(studentId);
FullNametxt.Text = string.Format("{0} {1} {2}", student.Surname, student.Name, student.FathersName);
FullNametxt.Enabled = false;
conferencesCombo.DataSource = _dataService.GetConferences();
conferencesTxb.Text = string.Join(", \n", student.Conferences
.Select(p =>string.Format("{0} дата проведения {1}", p.ConferenceName, p.Date.ToShortDateString())));
}
private void updateStudentBtn_Click(object sender, EventArgs e)
{
var conference = conferencesCombo.SelectedValue as ForeignStudents.Domain.Conference;
if(conference!=null)
_dataService.UpdateStudent(_studentId, conference.Id);
MessageBox.Show("Данные успешно сохранены");
this.Close();
}
}
Изм. Лист № докум. Подп. Дата Выполнил Пояснительная записка к курсовому проекту Лит. Лист Листов Проверил У 3 34
Лист 35 Изм. Лист № докум. Подп. Дата
2. Фаулер М., UML. Основы.-М.: Символ-Плюс, 3-е издание, 2005. – 184 с.
3. Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software – Addison Wesley, 2003, – 560с.
4. Черткова, Е. А. Статистика. Автоматизация обработки информации : учеб. пособие для вузов / Е. А. Черткова ; под общ. ред. Е. А. Чертковой. — 2-е изд., испр. и доп. — М. : Издательство Юрайт, 2017. — 195 с.
5. Полное руководство по языку программирования С# 10 и платформе .NET 6 – Вильямс – 540с.;
6. Стиллмен, Э. Head First Agile. Гибкое управление проектами / Э. Стиллмен. - СПб.: Питер, 2019. - 464 c.
7. Стэнли, Э. Управление проектами / Э. Стэнли. - М.: Диалектика, 2019. - 288 c.
8. .Грин Дж. Изучаем C# / Дж. Грин, Э. Стиллмен. – СПб.: «Питер», 2012.
9. Маркин, А. В. Программирование на sql в 2 ч. Часть 2 : учебник и практикум для бакалавриата и магистратуры / А. В. Маркин. — М. : Издательство Юрайт, 2019. — 292 с.
10. Кудрина, Е. В. Основы алгоритмизации и программирования на языке c# : учеб. пособие для СПО / Е. В. Кудрина, М. В. Огнева. — М. : Издательство Юрайт, 2019. — 322 с.
11. Зыков, С. В. Программирование. Объектно-ориентированный подход : учебник и практикум для академического бакалавриата / С. В. Зыков. — М. : Издательство Юрайт, 2019. — 155 с.
12. Microsoft Visual Studio Overview, [Электронный ресурс] URL:
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio#Visual_Studio_2005
13. Microsoft SQL Server 2005, [Электронный ресурс] URL: http://en.wikipedia.org/wiki/Microsoft_SQL_Server
14. 3-Tier System Architecture, [Электронный ресурс] URL:http://en.wikipedia.org/wiki/Multitier_architecture
15. Introduction to ADO.NET, [Электронный ресурс] URL: http://en.wikipedia.org/wiki/ADO.NET
16. Introduction to .NET Architecture, [Электронный ресурс] URL: http://www.devtopics.com/what-is-net/
17. Common Language Infrastructure Definition, [Электронный ресурс] URL: http://en.wikipedia.org/wiki/Common_Language_Infrastructure
18. 3-Tier Architecture [Электронный ресурс] URL: http://www.c-sharpcorner.com/
Вопрос-ответ:
Какие задачи решает данная автоматизация учета?
Данная автоматизация учета решает задачи оптимизации процесса учета иностранных студентов в филиале КузГТУ в г. Прокопьевске. Она позволяет автоматизировать процессы по приему, обработке и хранению информации о студентах, упростить ведение отчетности и повысить эффективность работы персонала.
Какие предпосылки привели к разработке данного проекта?
Разработка данного проекта была вызвана необходимостью решения проблем, связанных с учетом иностранных студентов в филиале КузГТУ в г. Прокопьевске. Ручное ведение данных стало нерациональным и вызывало много ошибок, поэтому было решено автоматизировать этот процесс.
Какие бизнес-процессы будут автоматизированы?
Будут автоматизированы процессы по приему, обработке и хранению информации об иностранных студентах в филиале КузГТУ в г. Прокопьевске. Это включает в себя регистрацию студентов, ведение личных данных, учет посещений занятий и ведение отчетности.
Какая организационная структура у филиала КузГТУ в г. Прокопьевске?
Организационная структура филиала КузГТУ в г. Прокопьевске состоит из администрации филиала, факультетов, отделов, кафедр и преподавательского состава. Каждый факультет отвечает за обучение определенной специальности, а отделы и кафедры осуществляют управление и контроль за учебным процессом.
Какие требования предъявляются к системе автоматизации учета иностранных студентов?
К требованиям к системе автоматизации учета иностранных студентов относятся, например, возможность регистрации студентов, ведение базы данных с личными данными, генерация отчетов по посещаемости и успеваемости студентов, а также возможность обмена данными с другими информационными системами.
Какие задачи решает автоматизация учета иностранных студентов в условиях филиала КузГТУ в г. Прокопьевске?
Автоматизация учета иностранных студентов помогает упростить и ускорить процесс регистрации и контроля за их академическим прогрессом, а также улучшает обмен информацией между студентами, преподавателями и администрацией филиала.
Каким образом проектируется автоматизация учета иностранных студентов?
Проектирование автоматизации учета иностранных студентов осуществляется путем составления технического задания, анализа условий предприятия (модель целей бизнес-процессов, организационная структура, состав бизнес-процессов, определение классов бизнес-объектов, автоматизируемые бизнес-решения) и формирования требований к системе.
Какие функции должна выполнять система автоматизации учета иностранных студентов?
Система автоматизации учета иностранных студентов должна обеспечивать регистрацию студентов, контроль и учет их академического прогресса, обмен информацией между студентами, преподавателями и администрацией, генерацию отчетов и статистики, а также поддержку многоязычного интерфейса.
Какие преимущества может принести автоматизация учета иностранных студентов филиала КузГТУ?
Автоматизация учета иностранных студентов может упростить процесс регистрации и контроля за академическим прогрессом, сократить временные затраты на взаимодействие между студентами, преподавателями и администрацией, повысить эффективность работы филиала, а также улучшить качество обмена информацией и генерацию отчетов.