Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
COURSE_BSBD (только конструкторская и технологическая).docx
Скачиваний:
6
Добавлен:
27.06.2022
Размер:
228.87 Кб
Скачать

2.2.3.4 Связи программы с другими программами

Система «Токийский метрополитен» связана с базой данных MSSQL 2019.

2.2.4 Используемые технические средства

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

  1. 32-разрядный (x86) или 64-разрядный (x64) двухъядерный процессор с тактовой частотой 2,0 гигагерц (ГГц) или выше.

  2. 2 гигабайт (ГБ) (для 32-разрядной системы) или 4 ГБ (для 64-разрядной системы) оперативной памяти (ОЗУ);

  3. Свободное место на жестком диске 50 Мбайт.

  4. Средства навигации и ввода/вывода информации – клавиатура, манипулятор «мышь», монитор.

  5. Стабильное подключение к локальной сети по Ethernet-порту.

2.2.5 Вызов и загрузка

2.2.5.1 Способ вызова программы с соответствующего носителя данных

Программа может быть вызвана путем стандартного запуска приложения TOKYO_METRO.exe с внутреннего (жесткий диск) или внешнего носителя (usb-накопитель).

2.2.5.2 Входные точки в программу

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

2.2.6 Входные данные

2.2.6.1 Характер, организация и предварительная подготовка входных данных.

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

2.2.6.2 Формат, описание и характер входных данных

Формат входных данных представлен в таблице 1.

Таблица 1 – Формат входных данных при авторизации

Описание

Обозначение

Способ передачи

Тип данных

Логин

logright

В теле запроса

Строка

Пароль

passwordright

В теле запроса

Строка

2.2.7 Выходные данные

2.2.7.1 Характер и организация выходных данных

Выходные данные представляют собой значения, передаваемые от модуля взаимодействия с базой данных на сервере к клиентской части программного комплекса

2.2.7.2 Формат, описание и характер выходных данных

Формат входных данных представлен в таблице 2.

Таблица 2 – Формат выходных данных при создании пользователя системы

Описание

Обозначение

Способ передачи

Тип данных

Пользователь или его роль

user_or_role

В теле запроса

Строка

Тип доступа

access

В теле запроса

Число:

1 – доступ разрешен

0 – доступ запрещен

2.2.8. Сведения о структуре программного кода

Структурно вся программа разделена на следующие логические элементы: основной файл Program.cs, файл графического отображения формы Form1, файл графического отображения формы Form2.

    1. Запуск приложения

Основным классом, запускающим всё приложения, является класс Program.cs:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace TOKYO_METRO

{

static class Program

{

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form2());

}

}

}

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

При создании объектов форм вызываются их конструкторы, в которых находится метод соответствующий InitializeComponent(). InitializeComponent предназначен для создания самой формы, объектов и их свойств.

Два реализованных обработчика событий реагируют на открытие главного рабочего окна, при этом убирается окно авторизации и появляется форма главного окна. Другое событие реагирует на закрытие главного окна и разворачивает авторизацию, а форму главного окна сворачивает.

Запуск всего приложения происходит с помощью конструкции Application.Run(new Form2()), в которую передается форма авторизации.

    1. Авторизация

Для защиты данных от несанкционированного изменения в приложении реализовано разграничение доступа к системе. Прежде чем преступить к работе с базой данных, пользователю необходимо ввести логин и пароль. Вход предоставляется после успешной проверки данных пользователя. Если в процессе входа, пользователь совершил какие–либо ошибки, он будет об этом уведомлен:

Основным компонентом при авторизации является обработчик события для кнопки входа:

namespace TOKYO_METRO

{

public partial class Form2 : Form

{

public Form2()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

string logrightAdmin = "admin";

string passrightAdmin = "qwerty1234";

string logrightUser = "user";

string passrightUser = "user1234";

string prom1, prom2;

prom1 = textBox1.Text;

prom2 = textBox2.Text;

if ((prom1 == logrightAdmin && prom2 == passrightAdmin)||(prom1 == logrightUser && prom2 == passrightUser))

{ Form1 newForm = new Form1(this);

newForm.Show();

this.Hide();

}

else

{ MessageBox.Show("НЕКОРРЕКТНЫЙ ЛОГИН ИЛИ ПАРОЛЬ");

}

}

}

}

Данный код программы получает от пользователя логин и пароль через инструмент TextBox и сравнивает их с имеющимися данными для входа администратора и пользователя. В случае, если хотя бы один параметр для входа не совпадает, встроенная функция MessageBox.Show отобразит сообщение об ошибке.

    1. Главное рабочее окно

Основной код программы прописан в файле Form1.cs. Для подключения к созданной базе данных создается класс SqlConnection:

SqlConnection sqlConnection;

string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=E:\8-term\BSBD\bsbd_mytest1\bsbd_mytest1\TOKYO1.mdf;Integrated Security=True";

sqlConnection = new SqlConnection(connectionString);

sqlConnection.Open();

SqlDataReader sqlReader = null;

Строка connectionString разрешает подключение к конкретной базе данных, созданной на персональном компьютере. Метод SqlDataReader отвечает за чтение данных из таблиц.

Класс SqlCommand отвечает за выборку данных из таблицы, а класс DataGridView – за вывод данных на форму. Листинг для вывода данных из таблицы «Станции»:

SqlCommand command = new SqlCommand("SELECT * FROM [Stations]", sqlConnection);

dataGridView1.ColumnCount = 6;

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

dataGridView1.Columns[2].Width = 250;

dataGridView1.Columns[3].Width = 40;

dataGridView1.Columns[4].Width = 60;

using (SqlDataReader dr = command.ExecuteReader())

{

while (dr.Read())

{

string[] row =

{

dr.GetValue(0).ToString().Trim(),

dr.GetValue(1).ToString().Trim(),

dr.GetValue(2).ToString().Trim(),

dr.GetValue(3).ToString().Trim(),

dr.GetValue(4).ToString().Trim(),

dr.GetValue(5).ToString().Trim(),

};

dataGridView1.Rows.Add(row);

}}

Для таблиц «Линии», «Депо», «Транспортные карты» и «Киотская секция» классы SqlCommand и DataGridView используются аналогичным образом. Метод GetValue возвращает значение свойства заданного объекта с дополнительными значениями индекса для индексированных свойств, а метод Trim удаляет из текущей строки все начальные и конечные экземпляры trimChar символа.

Соседние файлы в предмете Безопасность систем баз данных