Проектирование и разработка информационной системы "Воинский учет студентов"

Классификация информационных систем, методы их проектирования. Средства разработки информационной системы, функции СУБД, современные требования к ним, характеристика, технология работы. Разработка информационной системы "Воинский учет студентов".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.06.2023
Размер файла 559,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Безопасность

Система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT)

Вместимость данных

Начиная с MySQL версии 3.23, где используется новый тип таблиц, максимальный размер таблицы доведен до 8 миллионов терабайт (263 bytes). Однако следует заметить, что операционные системы имеют свои собственные ограничения по размерам файлов. Ниже приведено несколько примеров:

32-разрядная Linux-Intel - размер таблицы 4 Гб.

- Solaris 2.7 Intel - 4 Гб

Solaris 2.7 UltraSPARC - 512 Гб

- WindowsXP - 4 Гб

Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется операционной системой. По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk -dv table_name. Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы.

Требования к аппаратному обеспечению

Система предъявляет следующие требования к аппаратному и программному обеспечению сервера:

Минимальные требования к серверу: 1 компьютер с процессором Pentium II 233 МГц и выше, 128 Мб оперативной памяти.

Рекомендуемые требования к серверу: 2 компьютера с процессором Pentium II 233 МГц и выше, 256Мб оперативной памяти. В этом случае предполагается, что один компьютер будет выполнять функции SQL сервера, а другой - сервера приложений CimWebCenter.

Для работы системы необходимо следующее предустановленное программное обеспечение: Apache Web Server , PHP 4.3.x, MySql , на платформе FreeBSD или Linux.

Существует также возможность инсталляции системы на платформе Windows. При этом требования к предустановленному программному обеспечению остаются прежними.

Для работы с клиентской частью системы требуется компьютер, подключенный по протоколу TCP/IP к сети, в которой находится сервер с установленной CimWebCenter.

Минимальные требования к компьютеру клиента: Pentium 200 МГц и выше, 32 Мб оперативной памяти. Работа с системой осуществляется посредством браузера Internet Explorer версии 6.0.

Для работы в режиме WYSIWIG редактора, также требуется наличие на клиентском компьютере установленного пакета MsOffice. При первом запуске системы может потребоваться дистрибутив пакета MsOffice.

2.3 Язык C# и среда разработки Visual Studio

Язык C# (C Sharp) - это объектно-ориентированный язык программирования, разработанный компанией Microsoft для создания приложений на платформе .NET. Он был представлен в 2000 году и с тех пор стал одним из самых популярных языков программирования. C# объединяет в себе элементы языков C++ и Java, что делает его привлекательным для разработчиков с опытом работы в этих языках. Кроме того, C# имеет множество инструментов и библиотек, которые позволяют разработчикам быстро создавать высококачественные приложения с минимальными затратами на разработку и поддержку. Все это делает C# очень востребованным языком программирования в сфере разработки программного обеспечения, веб-приложений, игр и многих других областях.

Среда разработки Visual Studio - это интегрированная среда разработки (IDE), разработанная компанией Microsoft, которая предоставляет разработчикам все необходимые инструменты для создания приложений на платформе .NET, включая C#. Visual Studio имеет широкие возможности для разработки, от создания консольных приложений до создания сложных клиент-серверных приложений с использованием баз данных.

Visual Studio обеспечивает все необходимые инструменты для разработки, от редактора кода и интегрированной среды отладки до системы управления версиями и инструментов для развертывания приложений. Среда поддерживает различные типы проектов, такие как консольные приложения, библиотеки классов, веб-приложения и многие другие.

Visual Studio также предоставляет множество инструментов для работы с базами данных, включая возможности для создания таблиц, индексов и хранимых процедур. Она поддерживает различные системы управления базами данных, такие как Microsoft SQL Server, Oracle, MySQL и многие другие. Visual Studio позволяет разработчикам создавать и редактировать схемы баз данных, создавать запросы и просматривать данные, а также создавать сложные приложения с использованием ORM-технологий (Object-Relational Mapping).

C# и Visual Studio обеспечивают мощный и гибкий подход к хранению данных. Среда позволяет использовать различные методы хранения данных, включая реляционные базы данных, NoSQL и объектно-ориентированные базы данных. Благодаря возможностям C# для работы с различными типами данных, в том числе и большим объемом данных, и инструментам Visual Studio для работы с базами данных, разработчики могут создавать приложения, которые могут хранить и обрабатывать большие объемы данных.

Visual Studio также предоставляет широкие возможности для отладки приложений. Разработчики могут использовать функции, такие как точки останова и просмотр значений переменных, чтобы идентифицировать и исправлять ошибки в коде. Однако, помимо стандартной отладки на локальном компьютере, Visual Studio также поддерживает отладку удаленных приложений и виртуальных машин.

Как уже упоминалось, C# используется для создания приложений, работающих на платформе .NET. Эта платформа предоставляет библиотеку классов .NET, которая содержит множество функций и классов для работы с данными. Библиотека классов .NET включает в себя классы для работы с файлами, базами данных, сетевыми протоколами и многими другими вещами.

Для работы с базами данных C# использует язык SQL (Structured Query Language) для выполнения запросов к базе данных. C# предоставляет удобный и простой способ выполнения запросов к базам данных с помощью ADO.NET (ActiveX Data Objects). ADO.NET предоставляет набор классов, которые позволяют работать с базами данных, используя язык SQL.

С помощью ADO.NET можно использовать различные методы хранения данных, такие как Microsoft SQL Server, Oracle, MySQL и другие. Большинство методов хранения данных имеют собственные поставщики данных, которые предоставляют набор классов для работы с базами данных. Однако, ADO.NET также поддерживает общий интерфейс поставщика данных (Common Data Provider), который позволяет использовать различные методы хранения данных с одним и тем же кодом.

В заключение, можно сказать, что язык программирования C# и среда разработки Visual Studio являются мощными инструментами для создания различных приложений на платформе .NET. Благодаря удобному синтаксису, сильной типизации и широкой поддержке со стороны сообщества разработчиков, C# позволяет создавать качественный и надежный код. Visual Studio в свою очередь предоставляет широкий спектр инструментов и функций для удобной и продуктивной разработки, включая интегрированную среду разработки, отладчик, визуальные дизайнеры и многое другое. Благодаря этим инструментам, разработка приложений на C# может быть быстрой, эффективной и удобной для разработчиков любого уровня.

Во время разработки .NET Framework библиотеки классов первоначально были написаны с использованием системы компиляции управляемого кода под названием "Simple Managed C" (SMC).[22][23] В январе 1999 года Андерс Хейлсберг сформировал команду для создания нового на тот момент языка под названием Cool, что расшифровывалось как "C-подобный объектно-ориентированный язык".[24] Microsoft рассматривала возможность сохранения названия "Cool" в качестве окончательного названия языка, но решила не делать этого по соображениям товарного знака. К тому времени, когда проект .NET был публично анонсирован на конференции профессиональных разработчиков в июле 2000 года, язык был переименован в C #, а библиотеки классов и ASP.NET среда выполнения была перенесена на C #.

Хейлсберг является главным разработчиком C # и ведущим архитектором Microsoft, а ранее участвовал в разработке Turbo Pascal, Embarcadero Delphi (ранее CodeGear Delphi, Inprise Delphi и Borland Delphi) и Visual J++. В интервью и технических статьях он заявлял, что недостатки[25] в большинстве основных языков программирования (например, C++, Java, Delphi и Smalltalk) определили основы Common Language Runtime (CLR), которые, в свою очередь, определили дизайн самого языка C #.

Джеймс Гослинг, создавший язык программирования Java в 1994 году, и Билл Джой, соучредитель Sun Microsystems, создатель Java, назвали C # "имитацией" Java; Гослинг далее сказал, что "[C # - это] разновидность Java без учета надежности, производительности и безопасности".[26][27] Клаус Крефт и Анжелика Лангер (авторы книги a C ++ streams book) заявили в блоге, что "Java и C # - почти идентичные языки программирования. Скучное повторение, лишенное инноваций",[28] "Вряд ли кто-нибудь будет утверждать, что Java или C # являются революционными языками программирования, которые изменили способ написания программ", и "C # многое позаимствовал у Java - и наоборот. Теперь, когда C # поддерживает упаковку и распаковку, у нас будет очень похожая функция в Java ".[29] В июле 2000 года Хейлсберг сказал, что C # "не является клоном Java" и "намного ближе к C ++" по своему дизайну.[30]

С момента выхода C # 2.0 в ноябре 2005 года языки C # и Java эволюционировали по все более расходящимся траекториям, превратившись в два совершенно разных языка. Одним из первых серьезных отклонений стало добавление generics к обоим языкам с совершенно разными реализациями. C # использует овеществление для предоставления "первоклассных" универсальных объектов, которые могут использоваться как любой другой класс, при этом генерация кода выполняется во время загрузки класса.[31] Кроме того, C # добавил несколько важных функций для адаптации к программированию в функциональном стиле, кульминацией которых стали расширения LINQ, выпущенные вместе с C # 3.0 и поддерживающей его структурой лямбда-выражений, методов расширения и анонимных типов.[32] Эти функции позволяют программистам C # использовать методы функционального программирования, такие как замыкания, когда это выгодно для их применения. Расширения LINQ и функциональный импорт помогают разработчикам сократить объем шаблонного кода, который включается в обычные задачи, такие как запрос к базе данных, синтаксический анализ xml-файла или поиск в структуре данных, смещая акцент на фактическую логику программы, чтобы помочь улучшить читаемость и ремонтопригодность.[33]

У C # раньше был талисман по имени Энди (назван в честь Андерса Хейлсберга). Он был удален 29 января 2004 года.[34]

C # первоначально был представлен подкомитету JTC 1 ISO / IEC SC 22 для рассмотрения,[35] в соответствии с ISO / IEC 23270: 2003,[36] был отозван и затем утвержден в соответствии с ISO / IEC 23270: 2006.[37] 23270: 2006 отозван в соответствии с 23270: 2018 и утвержден в этой версии.[38]

Глава З. Проектирование и разработка АИС «Воинский учет студентов»

3.1 Разработка схемы данных в среде My SQL

Для работы базы данных АИС необходимо первоначально создать для него объекты, то есть таблицы.

Для разработки схемы данных MySQL для воинского учета студентов мы можем использовать следующие таблицы:

1. Таблица "Студенты"

Эта таблица будет содержать информацию о студентах. Включает следующие поля:

- id (int, PRIMARY KEY, AUTO_INCREMENT) - уникальный идентификатор студента

- Фамилия (varchar) - фамилия студента

- Имя (varchar) - имя студента

- Отчество (varchar) - отчество студента

- Дата рождения (date) - дата рождения студента

- Адрес (varchar) - адрес студента

- Телефон (varchar) - номер телефона студента

- E-mail (varchar) - адрес электронной почты студента

- Группа (varchar) - группа студента

- Дата поступления (date) - дата поступления студента

- Дата выпуска (date) - дата выпуска студента

2. Таблица "Военная кафедра"

Эта таблица будет содержать информацию о военной кафедре. Включает следующие поля:

- id (int, PRIMARY KEY, AUTO_INCREMENT) - уникальный идентификатор кафедры

- Название (varchar) - название кафедры

- Адрес (varchar) - адрес кафедры

- Телефон (varchar) - номер телефона кафедры

3. Таблица "Военная должность"

Эта таблица будет содержать информацию о военных должностях. Включает следующие поля:

- id (int, PRIMARY KEY, AUTO_INCREMENT) - уникальный идентификатор должности

- Название (varchar) - название должности

- Описание (varchar) - описание должности

4. Таблица "Воинская обязанность"

Эта таблица будет содержать информацию о воинской обязанности студентов. Включает следующие поля:

- id (int, PRIMARY KEY, AUTO_INCREMENT) - уникальный идентификатор обязанности

- id_студента (int, FOREIGN KEY) - идентификатор студента, связанный с таблицей "Студенты"

- id_кафедры (int, FOREIGN KEY) - идентификатор кафедры, связанный с таблицей "Военная кафедра"

- id_должности (int, FOREIGN KEY) - идентификатор должности, связанный с таблицей "Воинская должность"

- Дата приписки (date) - дата приписки на воинскую службу

- Срок службы (int) - срок службы в месяцах

Таким образом, схема данных MySQL для воинского учета студентов будет состоять из четырех таблиц, каждая из которых будет содержать информацию о разных аспектах воинской службы. Связи между таблицами будут осуществляться через внешние ключи, позволяя получать информацию о студентах и их обязанностях во время службы.

3.2 Подключение к БД

Приложение для работы с базой данных реализовано в среде Visual Studio с применением технологии WPF.

Для доступа к базе данных необходимо сделать его подключение к приложению.

Осуществляется эта связь путем создания нового класса. В этом окне необходимо выбрать добавить новый класс. В качестве источника данных выбирается созданная в проекте база данных DButils (Рисунок 1).

Поскольку база данных в дипломном проекте создана в СУБД MySQL Server.

Рисунок 1 -Добавление в проект источника данных.

Рисунок 2 - Окно выбора подключения к БД

Соединение с базой данных осуществляется через созданный в программе класс DB:

private static MySqlConnection GetDBConnection(string host, int port, string database, string username, string password)

{

// Connection String.

String connString = "Server=" + host + ";Database=" + database

+ ";port=" + port + ";User Id=" + username + ";password=" + password;

MySqlConnection conn = new MySqlConnection(connString);

return conn;

}

public static MySqlConnection SetDBConnection()

{

string host = "localhost";

int port = 3306;

string database = "tesdip";

string username = "root";

string password = "valiev";

return GetDBConnection(host, port, database, username, password);

}

После успешного подключения БД необходимо реализовать интерфейс программы для работы с таблицами.

3.3 Разработка программного модуля

Главное окно проекта представлено файлом MainWindow.xaml. Оно визуально разбито на две части: шапка и основная часть . Ниже представлен код разметки интерфейса :

Рисунок 3 - Главное окно в режиме разметки.

В верхнюю часть окна должны загружаться иконка проекта и название проекта.

<StackPanel Background="#FF0E0D0D">

<Grid Height="40">

<StackPanel HorizontalAlignment="Left" Margin="20 0">

<ComboBox FontSize="15" Width="50" Foreground="#FFA2A2A2" SelectedIndex="0" VerticalAlignment="Center">

<ComboBoxItem Content="RU"/>

</ComboBox>

</StackPanel>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="10 0">

<Button x:Name="logoutbutton" Visibility="Hidden" Background="{x:Null}" Content="Выйти из аккаунта" BorderBrush="{x:Null}" Height="40" VerticalAlignment="Center" Foreground="#FFA2a2a2" Click="LogOut_Button" Cursor="Hand"/>

<Button Background="{x:Null}" BorderBrush="{x:Null}" Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" Height="40" VerticalAlignment="Top" Click="Close_Button">

<materialDesign:PackIcon Kind="Power" Foreground="#FFA2a2a2" Width="25" Height="25"/>

</Button>

</StackPanel>

</Grid>

<Grid Height="560" Background="#FFC7F197">

<materialDesign:Transitioner x:Name="maintransitioner" SelectedIndex="1" AutoApplyTransitionOrigins="True" Cursor="">

<Grid>

<ListView x:Name="vlist" HorizontalContentAlignment="Center" SelectedItem="{Binding sele}" Margin="0,0,607,10">

<ListView.View >

<GridView>

<GridViewColumn Width="200"

DisplayMemberBinding="{Binding fullname}"

Header="ФИО" />

</GridView>

</ListView.View>

</ListView>

<materialDesign:Transitioner x:Name="doctransitioner" SelectedIndex="1" AutoApplyTransitionOrigins="True" Cursor="" Margin="298,0,0,0">

<Grid>

<ComboBox x:Name="mainstatus" SelectedIndex="0" materialDesign:HintAssist.Hint="Статус" materialDesign:TextFieldAssist.UnderlineBrush="{DynamicResource SecondaryHueMidBrush}" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="13,138,383,0" VerticalAlignment="Top">

<ComboBoxItem Content="Очное обучение"/>

<ComboBoxItem Content="Заочное обучение"/>

<ComboBoxItem Content="Очно-заочное обучение"/>

<ComboBoxItem Content="Работает"/>

<ComboBoxItem Content="Нет"/>

</ComboBox>

<DatePicker x:Name="maindrdt" materialDesign:HintAssist.Hint="Дата рождения" materialDesign:TextFieldAssist.HasClearButton="True" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" Margin="13,53,383,0" VerticalAlignment="Top" />

<TextBox x:Name="mainfullname" materialDesign:HintAssist.Hint="ФИО" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="13,10,383,512"/>

<Button Content="Изменить" HorizontalAlignment="Left" Margin="385,518,0,0" VerticalAlignment="Top" Width="100" Click="EditDoc_Button"/>

<Button Content="Добавить" HorizontalAlignment="Left" Margin="490,518,0,0" VerticalAlignment="Top" Width="102" Click="ToAddDocControl_Button"/>

<TextBox x:Name="mainhealth" materialDesign:HintAssist.Hint="Состояние здоровья" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="13,95,383,427"/>

<ComboBox x:Name="mainmaritalstatus" SelectedIndex="0" materialDesign:HintAssist.Hint="Семейное положение" materialDesign:TextFieldAssist.UnderlineBrush="{DynamicResource SecondaryHueMidBrush}" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="13,180,383,0" VerticalAlignment="Top">

<ComboBoxItem Content="Состоит в зарегистрированном браке"/>

<ComboBoxItem Content="Состоит в незарегистрированном браке"/>

<ComboBoxItem Content="Разведен (-а)"/>

<ComboBoxItem Content="Никогда не состоял (-а)"/>

</ComboBox>

</Grid>

<Grid>

<ComboBox x:Name="addstatus" SelectedIndex="0" materialDesign:HintAssist.Hint="Статус" materialDesign:TextFieldAssist.UnderlineBrush="{DynamicResource SecondaryHueMidBrush}" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="13,138,383,0" VerticalAlignment="Top">

<ComboBoxItem Content="Очное обучение"/>

<ComboBoxItem Content="Заочное обучение"/>

<ComboBoxItem Content="Очно-заочное обучение"/>

<ComboBoxItem Content="Работает"/>

<ComboBoxItem Content="Нет"/>

</ComboBox>

<DatePicker x:Name="adddrdt" materialDesign:HintAssist.Hint="Дата рождения" materialDesign:TextFieldAssist.HasClearButton="True" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" Margin="13,53,383,0" VerticalAlignment="Top" />

<TextBox x:Name="addfullnametextbox" materialDesign:HintAssist.Hint="ФИО" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="13,10,383,512"/>

<Button Content="Добавить" HorizontalAlignment="Left" Margin="490,518,0,0" VerticalAlignment="Top" Width="102" Click="ToAddDocControl_Button"/>

<TextBox x:Name="addhealth" materialDesign:HintAssist.Hint="Состояние здоровья" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="13,95,383,427"/>

<ComboBox x:Name="addmaritalstatus" SelectedIndex="0" materialDesign:HintAssist.Hint="Семейное положение" materialDesign:TextFieldAssist.UnderlineBrush="{DynamicResource SecondaryHueMidBrush}" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="13,180,383,0" VerticalAlignment="Top">

<ComboBoxItem Content="Состоит в зарегистрированном браке"/>

<ComboBoxItem Content="Состоит в незарегистрированном браке"/>

<ComboBoxItem Content="Разведен (-а)"/>

<ComboBoxItem Content="Никогда не состоял (-а)"/>

</ComboBox>

<Button Content="Добавить" HorizontalAlignment="Left" Margin="490,518,0,0" VerticalAlignment="Top" Width="102" Click="ToAddDocControl_Button"/>

</Grid>

</materialDesign:Transitioner>

</Grid>

<Grid>

<TextBox x:Name="authlogin" materialDesign:HintAssist.Hint="Логин" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="362,199,362,323"/>

<PasswordBox x:Name="authpassword" materialDesign:HintAssist.Hint="Пароль" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" Margin="362,242,362,280"/>

<Label Content="Вход" HorizontalAlignment="Center" Margin="0,169,0,342" FontSize="24"/>

<Button Content="Войти" HorizontalAlignment="Center" Margin="0,285,0,0" VerticalAlignment="Top" Click="Login_Button" Cursor="Hand"/>

</Grid>

</materialDesign:Transitioner>

</Grid>

</StackPanel>

<Grid x:Name="blackbar" Visibility="Hidden">

<Border Background="#99000000" Margin="0,40,0,0"/>

<Label x:Name="biginfo" Content="Подключение к базе данных..." VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#DDCECECE" FontSize="18" FontFamily="Times New Roman"/>

</Grid>

</Grid>

Для единой стилизации приложения необходимо добавить в проект Словарь стилей Dictionary.xaml. В словаре определим единый стиль для кнопок приложения согласно стилю. Ниже представлен код данного файла:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<Style TargetType="Button">

<Setter Property="Background" Value="Orange"/>

<Setter Property="Foreground" Value="Black" />

<Setter Property="Margin" Value="5" />

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="Button">

<Border CornerRadius="5" Background="{TemplateBinding Background}">

<ContentPresenter></ContentPresenter>

</Border>

</ControlTemplate>

</Setter.Value>

</Setter>

<Style.Triggers>

<Trigger Property="IsMouseOver" Value="True">

<Setter Property="Background" Value="#FF00903E"></Setter>

<Setter Property="FontSize" Value="14"></Setter>

<Setter Property="Foreground" Value="White"></Setter>

</Trigger>

</Style.Triggers>

В файле приложения App.xaml необходимо подключить созданный словарь стилей:

<ResourceDictionary>

<ResourceDictionary.MergedDictionaries>

<ResourceDictionary Source="Dictionary1.xaml" />

</ResourceDictionary.MergedDictionaries>

</ResourceDictionary>

Далее необходимо реализовать кнопки

Рисунок 4 - кнопки

Код обработчиков событий данных кнопок представлен ниже:

private void ToAddDocControl_Button(object sender, RoutedEventArgs e) //добавление нового документа

{

if (doctransitioner.SelectedIndex==1)

{

if (addfullnametextbox.Text==""|| adddrdt.Text == "" || addmaritalstatus.Text == "" || addstatus.Text == "" || addhealth.Text == "")

{

MessageBox.Show("Заполните все поля.");

return;

}

StudentStructure dat = students.Find(delegate (StudentStructure i) { return i.fullname == addfullnametextbox.Text; });

if (dat == null)

{

string sql = $"Insert into students (fullname,health,status,maritalstatus,dateofbirth) values (@fullname,@health,@status,@maritalstatus,@dateofbirth) ";

MySqlCommand cmd = new MySqlCommand();

cmd.CommandText = sql;

cmd.Parameters.AddWithValue("@fullname", addfullnametextbox.Text);

cmd.Parameters.AddWithValue("@health", addhealth.Text);

cmd.Parameters.AddWithValue("@status", addstatus.Text);

cmd.Parameters.AddWithValue("@maritalstatus", addmaritalstatus.Text);

cmd.Parameters.AddWithValue("@dateofbirth", Convert.ToDateTime(adddrdt.Text));

// Выполнить Command (использованная для delete, insert, update).

if (new MySql.MySqlOp().SetBD(cmd))

{

students.Add(new StudentStructure() {fullname = addfullnametextbox.Text,health= addhealth.Text,status= addstatus.Text,maritalstatus= addmaritalstatus.Text,dateofbirth= Convert.ToDateTime(adddrdt.Text) });

vlist.Items.Refresh();

doctransitioner.SelectedIndex = 0;

}

else

{

MessageBox.Show("Ошибка");

}

}

else

{

MessageBox.Show("Номер договора уже есть в базе.");

return;

}

}

else

{

vlist.SelectedIndex = -1;

doctransitioner.SelectedIndex = 1;

}

} }

}

Добавляем панель для входа в систему, смена языка и закрыть программ

Рисунок 4

</StackPanel>

<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="10 0">

<Button x:Name="logoutbutton" Visibility="Hidden" Background="{x:Null}" Content="Выйти из аккаунта" BorderBrush="{x:Null}" Height="40" VerticalAlignment="Center" Foreground="#FFA2a2a2" Click="LogOut_Button" Cursor="Hand"/>

<Button Background="{x:Null}" BorderBrush="{x:Null}" Style="{StaticResource MaterialDesignFloatingActionMiniAccentButton}" Height="40" VerticalAlignment="Top" Click="Close_Button">

<materialDesign:PackIcon Kind="Power" Foreground="#FFA2a2a2" Width="25" Height="25"/>

</Button>

</StackPanel>

Для обеспечения безопасности в приложении реализован вход по логину и паролю (рисунок 4).

Рисунок 5 - Интерфейс окна авторизации

<TextBox x:Name="authlogin" materialDesign:HintAssist.Hint="Логин" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="362,199,362,323"/>

<PasswordBox x:Name="authpassword" materialDesign:HintAssist.Hint="Пароль" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" Margin="362,242,362,280"/>

<Label Content="Вход" HorizontalAlignment="Center" Margin="0,169,0,342" FontSize="24"/>

<Button Content="Войти" HorizontalAlignment="Center" Margin="0,285,0,0" VerticalAlignment="Top" Click="Login_Button" Cursor="Hand"/>

Код для кнопки «Войти» представлен ниже:

string login = authlogin.Text;

new Thread(() => {

try

{

MySqlConnection conn = DBUtils.SetDBConnection();

conn.Open();

string sql = "SELECT * FROM users where login=@login";

MySqlCommand cmd = new MySqlCommand();

cmd.Connection = conn;

cmd.CommandText = sql;

cmd.Parameters.AddWithValue("@login", login);

MySqlDataReader reader = cmd.ExecuteReader();

List<string> list = new List<string>();

while (reader.Read())

{

mw.Dispatcher.Invoke(DispatcherPriority.Background, new

Action(() =>

{

if (reader.GetString(2) == authpassword.Password)

{

mw.Dispatcher.Invoke(DispatcherPriority.Background, new

Action(() =>

{

maintransitioner.SelectedIndex = 0;

}));

Thread.Sleep(400);

mw.Dispatcher.Invoke(DispatcherPriority.Background, new

Action(() =>

{

authlogin.Text = "";

authpassword.Password = "";

logoutbutton.Visibility = Visibility.Visible;

}));

}

else

{

MessageBox.Show("Не верный логин или пароль! ");

}

}));

}

reader.Close(); // закрываем reader

conn.Close();

}

catch

{

MessageBox.Show("MySql Error");

}

}).Start();

Данное приложение имеет простой и интуитивно понятный интерфейс. Руководства пользователя для приложения не требуется.

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

Рисунок 6 - Главная форма

Заключение

В процессе работы над дипломном проектом была создана база данных и приложение для воинского учёта студентов на языке C#" является важной частью работы, которая подводит итоги выполненной работы и оценивает ее результаты.

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

Для программной реализации системы была использована среда разработки IDE Microsoft Visual Studio, поскольку это профессиональный инструмент разработчика для программирования приложений любого уровня, в том числе и для приложений управляющих базами данных на платформе .NET. Верстка интерфейса приложения масштабируемая, что позволяет приложению адаптироваться под экраны с любым расширением

Вот несколько возможных пунктов для заключения:

1. Главной целью данной работы было создание автоматизированной информационной системы для воинского учета студентов на языке C#. В результате была создана АИС, которая позволяет вести учет студентов, их обязанностей и данных о военной кафедре.

2. Для создания АИС был использован язык программирования C#, который позволил создать удобный и функциональный интерфейс для работы с системой. Были использованы современные технологии и библиотеки программирования, что позволило ускорить разработку и улучшить качество продукта.

3. В результате работы над проектом были решены все поставленные задачи. Была создана полноценная АИС, которая позволяет вести учет студентов, их обязанностей и данных о военной кафедре. Были реализованы необходимые функции для работы с базой данных, а также для добавления, изменения и удаления информации о студентах и их обязанностях.

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

5. В заключение можно отметить, что создание АИС воинского учета студентов на языке C# является актуальной и важной задачей в современном обществе. Результаты данной работы могут быть использованы в учебных заведениях, военных учреждениях и других организациях, где требуется вести учет студентов и их воинских обязанностей.

Список литературы

1. Макарова, Елена. Основы парикмахерского искусства. М., Астрель, 2015. - 256 с.

2. , Ольга. Косметология. Теория и практика. М., Эксмо, 2016. - 384 с.

3. Маркова, Ирина. Техники, технологии, М., Эксмо, 2018. - 256 с.

4. Коровина, Ирина. Тайны массажа. М., Эксмо, 2017

5. Албахари, Джозеф C# 3.0. Справочник / Джозеф Албахари , Бен Албахари. - М.: БХВ-Петербург, 2018. - 944 c.

6. Алефиренко Н.Ф. Разработка баз данных: монография. - Волгоград: Перемена, 2018. - 274 с.

7. Андреева Г.М. Информационные технологии в профессиональной деятельности: учебник для высших учебных заведений. - М.: Аспект Пресс, 2019. - 363 с.

8. Гагарина Л.Г., Кокорева Е.В. Технология разработки программного обеспечения: Учеб. пос. / Л.Г.Гагарина, Е.В.Кокорева, Б.Д.Виснадул; Под ред. проф. Л.Г.Гагариной - М.: ИД ФОРУМ: НИЦ Инфра-М, 2016. - 400 с.

9. Ставров, С. Г. Практикум по работе с базами данных в Microsoft Visio и СУБД Microsoft SQL Server : учебное пособие / С. Г. Ставров, А. Е. Кочетков. -- Иваново : ИГЭУ, 2018. -- 80 с. -- Текст : электронный // Лань : электронно-библиотечная система. -- URL: https://e.lanbook.com/book/154589 (дата обращения: 13.06.2021). -- Режим доступа: для авториз. пользователей.

10. Рудаков А.В., Федорова Г.Н. Технология разработки программных продуктов. Практикум: учеб.пособие для студ. учреждений сред. проф. Образования -- М. :Академия, 2014. -- 192 с.

11. Троелсен, Эндрю Язык программирования C# 5.0 и платформа .NET 4.5 / Эндрю Троелсен. - М.: Вильямс, 2015. - 486 c.

12. Предварительная спецификация C# 6.0. URL: https://docs. microsoft.com/ru-ru/dotnet/csharp/language-reference/language- specification/index свободный. - Загл. с экрана. - Яз. рус. - (Дата обращения: 11.05.21).

13. Справочник по C#. URL: https://docs.microsoft.com/ru-ru/ dotnet/csharp/language-reference/index свободный. - Загл. с экрана. - Яз. рус. - (Дата обращения: 11.05.21).

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.