Фрагмент для ознакомления
2
ВВЕДЕНИЕ
Основное требование курсовой работы: «Автоматизированная система выдачи кредитов» является разработка программы, которая должна обеспечивать следующие функции для МФО (Микро финансовая организация):
1. Авторизация пользователя
2. Показ меню (скоринг/ расчет процента по кредиту)
Средой разработки программного продукта была выбрана полнофункциональная интегрированная среда разработки (IDE) Visual Studio 2019. Для реализации авторизации пользователя была использована свободная реляционная система управления базами данных MySQL и сервер для ее функционирования OpenServer.
ОСНОВНАЯ ЧАСТЬ
Основные инструменты для создания приложения.
Microsoft Visual Studio - это линейка продуктов Microsoft, которая включает интегрированную среду разработки программного обеспечения и многие другие инструменты. Эти продукты позволяют разрабатывать как консольные приложения, так и игры и приложения с графическим интерфейсом пользователя, в том числе поддерживающие технологию Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в собственном, так и в управляемом коде для всех платформ, поддерживаемых Windows, Windows Mobile, Windows CE., .NET Framework, Xbox, Windows Phone .NET Compact Framework и Silverlight.
Visual Studio включает редактор исходного кода с поддержкой IntelliSense и простым рефакторингом кода. Встроенный отладчик может действовать как отладчик на уровне исходного кода или как отладчик на уровне компьютера. Остальные встроенные инструменты включают редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, конструктор классов и конструктор схемы базы данных.
Для работы с курсовым проектом выберем следующие инструменты Visual Studio:
1. Технологию работы с графическим интерфейсом Windows Forms.
2. Язык программирования C#.
Информация про C#:
В C# используется синтаксис, сильно напоминающий Си и приближённый к С++, Java. Если есть познания в одном из перечисленных языков, изучить C# станет значительно легче. C# это объектно-ориентированный язык, который немало позаимствовал из С++ и Java. Для примера, С# обладает поддержкой наследственности, полиморфизма, повторную загрузку операторов, статической типизации. Такой подходит помогает в решении распространённых задач в сфере разработки крупных приложений, сохраняющих гибкость, расширяемость и масштабируемость. C# всё ещё развивается, после каждого дополнения в языке появляются новые функции, преимущественно довольно полезные. Среди них: асинхронная работа, переменное связывание, лямбды и т. п.
Какова роль .NET?
Если речь заходит о C#, часто подразумеваются технологии, связанные с платформой .NET (WPF, ASP.NET). То же самое справедливо в обратном направлении, говоря про .NET, думают про C#. Безусловно, понятия имеют жёсткую взаимосвязь, но не являются синонимами. C# - это язык, созданный для взаимодействия с фреймворком .NET. Тем не менее .NET – это довольно широкое понятие.
Open Server — это портативный локальный WAMP/WNMP сервер, имеющий многофункциональную управляющую программу и большой выбор подключаемых компонентов. Представленный пакет программ не является очередной любительской сборкой, собранной «на коленке», это первый полноценный профессиональный инструмент, созданный специально для веб-разработчиков с учётом их рекомендаций и пожеланий. (рис. 1)
Рисунок 1 – openserver
Компоненты и инструменты - для отладки скриптов в различном окружении Open Server предлагает на выбор сразу два вида HTTP серверов, различные версии PHP и СУБД модулей, а также возможность быстрого переключения между ними.
1. HTTP модули: Apache 2.2.21 и Nginx 1.0.11;
2. СУБД модули: MySQL 5.1.61, MySQL 5.5.20 и PostgreSQL 9.1.1;
3. PHP модули: PHP 5.2.17 (IMagick 2.2.1, Zend Optimizer 3.3.3, IonCube Loader 4.0.7, Memcache 2.2.4) и PHP 5.3.9 (IMagick 2.3.0, Xdebug 2.1.3, IonCube Loader 4.0.10, Memcache 2.2.6);
4. Отличный набор инструментов: HeidiSQL, Adminer, PHPMyAdmin, PHPPgAdmin, PgAdmin.
5. В состав пакета так же включены такие вкусности как: Perl, FTP сервер, Sendmail, Memcached сервер!
Open Server — это единственный известный проект, в который включён Nginx! Причём здесь реализовано удобное подключение правил реврайта через файлы. nxaccess в корне домена, а PHP работает в режиме True FastCGI (неубиваемый).
Все компоненты взяты с официальных репозиториев и всегда обновляются до актуальных версий с каждым обновлением пакета.
Возможности - прежде всего хочу отметить, что Open Server — это целиком и полностью портативный сервер. Никаких системных сервисов, куч мусора в реестре и system32. Вы можете везде таскать его с собой на флешке (желательно на скоростной), запускать на рабочей/домашней машине без опаски что у вас что-то не заработает.
В случае отсутствия на компьютере нужных системных компонентов Open Server установит их сам, достаточно выбрать в меню [Инструменты — Первый запуск] если сервер запускается на компьютере впервые.
Выбор компонентов, настройка установки. После того как установщик выполнит все необходимые предварительные мероприятия, он запустится. Теперь нам нужно выбрать «Рабочие нагрузки», т.е. что мы будем создавать с помощью Visual Studio 2019 Community, я выбрал разработку как классических приложений под компьютер, так и разработку Web-приложений.
В принципе после этого можно сразу нажимать «Установить», но в случае необходимости Вы можете более детально настроить установку, для этого есть дополнительные вкладки: «Отдельные компоненты», «Языковые пакеты» и «Расположения установки». (рис. 10)
Рисунок 10 – Окно выбора компонентов
Вкладка «Отдельные компоненты» – если есть такая необходимость, Вы можете конкретизировать компоненты, которые необходимо установить, на этой вкладке. (рис. 11)
Рисунок 11 - вкладка «отдельные компоненты»
Вкладка «Языковые пакеты» – по умолчанию установлен язык, соответствующий языку системы, но, если Вам нужен другой, Вы можете изменить его на данной вкладке. (рис.12)
Рисунок 12 - вкладка «языковые пакеты»
Вкладка «Расположения установки» – здесь Вы можете изменить каталог, в который будет установлена среда Visual Studio. (рис. 13)
Рисунок 13 - Вкладка «Расположения установки»
Процесс установки и его завершение - после того как Вы нажали кнопку установить, начнется процесс загрузки и установки всех выбранных компонентов. В зависимости от объема компонентов, скорости интернета и характеристик ПК продолжительность данного процесса будет различаться, специально я не засекал, но мне кажется, он у меня длился минут 20-30. (рис. 14)
Рисунок 14 – процесс установки
Когда появится следующее окно, установка будет завершена, нажимаем «Перезагрузить». (рис. 15)
Рисунок 15 – завершение процесса установки
Создание нового проекта в Visual Studio Community 2019, и запуск первой программы. При первом запуске нам предлагают войти в учетную запись, если она есть, то входите, если нет, Вы можете ее создать прямо сейчас, также возможно отложить создание учетной записи, для этого просто нажимайте кнопку «Не сейчас! Возможно, позже.» (рис. 16)
Рисунок 16 – первый запуск Visual Studio Community 2019
Затем выбирайте цветовую схему оформления среды Visual Studio и нажимайте «Запуск Visual Studio». (рис. 17)
Рисунок 17 – выбор цветовой схемы
Далее, так как никаких проектов у нас еще нет, мы можем создать новый проект, или продолжить без кода и создать проект позднее. Для примера я сразу создам проект. (рис. 18)
Рисунок 18 – окно создания проекта
В качестве шаблона проекта я выберу «Приложение Windows Form». Нажимаем «Далее». (рис. 19)
Рисунок 19 – выбор шаблона
Затем указываем название проекта и расположение файлов этого проекта. Нажимаем «Создать». (рис. 20)
Рисунок 20 – настройка расположения
Потом выбираем тип приложения и дополнительные параметры, если требуется. (рис. 21)
Рисунок 21 – выбор дополнительных параметров
В итоге будет создан шаблон программы, включая код, который, кстати, будет подробно прокомментирован на русском языке, и все необходимые ресурсы, т.е. по факту шаблонная программа уже будет создана, и чтобы запустить ее, можете сразу нажать на кнопку «Локальный отладчик Windows», на панели инструментов. (рис. 22)
Рисунок 22 – начальное окно программы
В результате запустится программа (рис. 23)
Рисунок 23– первая программа.
Создание базы данных bd и таблицы users
После скачивания и установки OpenServer, откроем инструмент работы с базами данных PhpMyAdmin. (рис. 24)
Рисунок 24 – phpMyAdmin
Создадим базу данных bd и таблицу users с полями: id, login, pass, name, surname, patronymic соответствующие значениям: номер, логин, пароль, имя, отчество, фамилия. (рис. 25)
Рисунок 25 – таблица users
Visual studio – создание класса подключения к базе данных.
Для подключения к базе данных скачаем и установим коннектор: mysql-connector-net-8.0.23, подключим его в visual studio - обозревателе решений - пункт ссылки. Создадим класс DB и подключим библиотеку MySql.Data.MySqlClient. Создадим 3 метода openConnection(), closeConnection() getConnection(), для открытия, закрытия и установки соединения. Программный код представлен на рисунке 26.
Рисунок 26 – класс DB
Visual studio – создание формы авторизации пользователя
Для авторизации пользователя необходимо выполнить SQL запрос, который выберет пользователя с таким же логином и паролем, как это было указано пользователем в программке через поля ввода информации. Для выполнения команды потребовались такие классы, как:
// DataTable - послужил для преобразования данных из БД в таблицу что можно разобрать на языке C#
DataTable table = new DataTable();
// MySqlDataAdapter - служит для перевода из SQL данных в данные обычные (массивы, объекты...)
MySqlDataAdapter adapter = new MySqlDataAdapter();
// MySqlCommand - позволяет записать SQL команду, что будет выполнена в базе данных
MySqlCommand command = new MySqlCommand();
Для регистрации пользователя в редакторе создадим класс LoginForm. Добавим элементы textbox: loginField, passField, поля для ввода логина и пароля, иконки, кнопку ButtonLogin для обработки логина и пароля, а также надпись –«Еще нет аккаунта?» - для регистрации нового пользователя.
Visual studio – создание формы регистрации пользователя
Регистрацию пользователя можно разбить на несколько этапов:
1. отслеживание нажатия на кнопку;
2. получение данных от пользователя;
3. проверка данных на их корректность;
4. подключение к БД и добавление новой записи в таблицу со всеми пользователями.
Для создания регистрации пользователя создадим класс RegisterForm, содержащий следующие объекты: textbox: userNameField, userSurnameField, userPatronymicField, loginField, passField – поля для ввода имени, фамилии, отчества, логина и пароля. Кнопку ButtonRegister – обработчик введенной информации. Надпись авторизоваться – для перехода на форму регистрации. Общий вид показан на рисунке 30.
После ввода информации о пользователя происходит проверка введенных данных, например, если не будет введено имя будет выведено сообщение: «Введите имя». (рис. 31)
Рисунок 31 – проверка ввода Имени.
Проверка происходит после нажатия на клавишу «Зарегистрироваться», проверяется является ли пустым значение userNameField.Text. Если все данные введены верно, то происходит подключение и запрос к базе данных. (рис. 32)
Рисунок 32 – запрос к базе данных на запись
Запрос к базе данных происходит с помощью строки:
MySqlCommand command = new MySqlCommand("INSERT INTO `users` (`login`, `pass`, `name`, `surname`,`patronymic`) VALUES (@login, @pass, @name, @surname, @patronymic)", db.getConnection());
В строке указывается команда на запись INSERT, таблица куда будет происходить запись, поля: `login`, `pass`, `name`, `surname`,`patronymic`, Значения на запись: `login`, `pass`, `name`, `surname`,`patronymic` и команда о подключении db.getConnection(). Значения на запись будут браться из полей ввода loginField.Text, passField.Text и т.д.
Так же при обработке события ButtonRegister_Click будет выполнятся метод isUserExists() – проверка ввода. Сам метод будет сравнивать введенный логин со значениями, которые есть в базе данных. (рис. 33)
Если была правильна введена информация, то в базе данных создастся новая строка и появится возможность перейти на форму авторизации и ввести логин и пароль.
Visual studio – создание формы: «автоматизированная система выдачи кредитов»
После удачного ввода логина и пароля на форме авторизации откроется основная форма: MainForm. Общий вид показан на рисунке 34.
Рисунок 34 – общий вид главной формы «Автоматизированной системы отчетов»
На основной форме содержаться следующие объекты:
1. Надписи: серия номер паспорта, дата рождения, место проживания, номер телефона, ежемесячный доход(рубли)*, сумма кредита(рубли)*, срок (месяцы)*.
2. Поля для ввода (textbox): passport, passportS, DateofBirth, plaseResid, phoneNum, monthlyInc, creditAm, termYear.
3. Форма вывода информации(textbox): responseFm.
4. Кнопка для обработки информации: inquiry
5. Информационные надписи: Автоматизированная система выдачи кредитов, ФИО, процентная ставка.
ЗАКЛЮЧЕНИЕ
В результате проделанной работы были выполнены следующие требования:
1. Требования к структуре и функционированию системы:
• Проверка на корректность введенных данных. К данному требованию относится проверка на возможность существования данных (возраст должен быть положительным), проверка на заполнение всех обязательных полей (помечены «*») и на правильность формы их введения
• Расчет ежемесячного платежа производится на основе данных, введенных пользователем.
• Система должна хранить данные, предлагать решение проблемы
2. Требования к эргономике и технической эстетике;
• Интерфейс должен быть удобным для пользователя и ориентированным на использование клавиатуры и манипулятора типа «мышь».