logo
Разработка автоматизированной информационной системы учета для расчёта заработной платы ОАО РПТ "Авторемонтник"

Выводы к разделу

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

3. Реализация и аттестация ИС

3.1 Реализация приложения

Реализация программного обеспечения - это процесс перевода системной спецификации в работоспособную систему. Итогом реализации приложения является работоспособная информационная система [29].

Разработка набора элементов информационной системы осуществляется в едином рабочем пространстве. На рисунке 3.1 показана система классов информационной системы.

Рисунок 3.1 - Система классов информационной системы

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

– интегрированная среда Visual Studio 2008, имеющая специализированные мастера, в которых можно перетаскивать элементы управления прямо на форму;

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

Среда визуальной разработки показана на рисунке 3.2.

Рисунок 3.2- Среда визуальной разработки Visual Studio 2008.

В результате работы мастера проекта реализуется каркас формы, являющийся экземпляром классов, унаследованного от System.Windows.Forms [25].

Программная реализация логики приложения разбита на несколько файлов, это сделано для того, чтобы не «нагружать» его во время работы в фоновом режиме. Код главной формы содержит в себе файлы MainFrom.cs, MainFrom.Designer.cs, MainFrom.resx. Инициализация класса MainFrom,объявленного с ключевым словом partial, и главной формы клиента «Администратор» показана на рисунке 3.3.

Рисунок 3.3-Инициализация формы MainFrom.cs.

Разработка приложения начинается с разработки окна входа в систему, т. к. это первое окно которое видит пользователь при запуске приложения. Окно входа в систему у всех клиентов ИС выглядит одинаково с незначительными изменениями и работает аналогичным образом.

Код метода для входа в систему показан на рисунке 3.4.

Рисунок 3.4 - Метод авторизации в системе.

Авторизация происходит в три этапа:

– авторизация на сервере базы данных;

– проверка соответствий версий клиента;

– запись информации о входе пользователя в систему.

После разработки интерфейса форм важно правильно спроектировать их взаимодействие [35].

Примером взаимодействия может служить активация одной формы при помощи другой. На рисунке 3.5 представлен фрагмент кода клиента ИС «Администратор», реализующий активацию формы со списком пользователей по событию «списокПользователейToolStripMenuItem_Click».

Рисунок 3.5 - Пример взаимодействия форм в программном коде.

На рисунке 3.6 представлен фрагмент кода клиента ИС «Бухгалтер», реализующий активацию форм «Удержания», «Налоговые вычеты», «Алименты», «Начисления» и «Профсоюзные взносы». Элементы «ToolStripMenuItem», позволяющие это сделать, расположены на форме главного окна программы.

Рисунок 3.6 - Пример взаимодействия форм в программном коде.

Важней задачей ИС является выполнение бизнес-правил.

Бизнес-правила - набор условий, которые управляют деловым событием, чтобы оно происходило так, как нужно для предприятия (или клиента) [24].

Основное условие которое должна выполнять АИС «Расчёт зарплаты» это расчёт повременной оплаты труда, который производиться по формуле имеющий следующий вид(3.1):

(3.1)

где S - сумма оплаты труда;

O - сумма фиксированного оклада;

T - количество дней (часов) в рабочем месяце,

P - отработанное время.

Метод, выполняющий расчёт оплаты труда показан на рисунке 3.7.

Рисунок 3.7 - Метод расчёта повременной оплаты труда.

Еще одной важной частью реализации приложения является ее адекватное реагирование на те, или иные ошибки во время работы. Примером ошибки может являться разрыв соединения с базой данных. Чтобы избежать непредвиденных «вылетов» программы, необходимо использовать оператор «try - catch». Оператор «try-catch» состоит из блока «try», за которым следует одно или несколько предложений «catch», в которых определяются обработчики для различных исключений. При возникновении исключения среда CLR ищет оператор «catch», который обрабатывает это исключение. Если выполняющийся в данный момент метод не содержит такого блока «catch», то среда CLR рассматривает метод, который вызвал текущий метод, и т. д. по стеку вызовов. Если блок «catch» не найден, то среда CLR отображает пользователю сообщение о необработанном исключении и останавливает выполнение программы.

Блок «try» содержит защищаемый код, в котором могут происходить исключения. Этот блок выполняется до момента возникновения исключения или до своего успешного завершения [25]. Пример кода программы с оператором «try-catch» представлен на рисунке 3.8.

Рисунок 3.8 - Фрагмент кода программы с оператором «try-catch»

В данном примере описан метод для сохранения данных о взносах во внебюджетные фонды в базу данных ИС (клиент «Бухгалтер»). При возникновении каких-либо неполадок, например, обрыв сети в организации, приложение не закроется с выводом критической ошибки на экран (рисунок 3.9), а завершит свою работу, сохранив сообщение об ошибке в специальную переменную и возвратит значение, указывающее на неправильное завершение метода, для последующей обработки.

Рисунок 3.9-Аварийное завершение программы

3.2 Взаимодействие приложения с источниками данных

SQL (Structured Query Language) -- язык структурированных запросов, является инструментом для выборки и обработки информации, содержащейся в базе данных. SQL - универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных, то есть непосредственно для организации взаимодействия пользователя с базой данных. Если пользователю необходимо получить информацию из базы данных, он запрашивает её у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных. SQL используется для реализации всех функциональных возможностей, которые СУБД предоставляют пользователю. К ним относятся:

– организация данных;

– выборка данных;

– обработка данных;

– управление доступом;

– совместное использование данных;

– целостность данных [31].

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

Физическое проектирование базы данных - процесс создания описания конкретной реализации базы данных, размещаемой во вторичной памяти. Предусматривает описание структуры хранения данных и методов доступа, предназначенных для осуществления наиболее эффективного доступа к информации. В физической модели (рисунок 3.10) содержится информация обо всех объектах БД.

Если в логической модели не имеет большого значения, какой конкретно тип данных у атрибута, то в физической модели важно описать всю информацию о конкретных физических объектах - таблицах, колонках, индексах, процедурах и т.д. [21].

Рисунок 3.10-Физическая модель базы данных.

В качестве примера взаимодействия приложения с источниками данных можно рассмотреть форму «Новое начисление» клиента «Бухгалтер», которая также используется для редактирования начисления.

Первоначальной задачей реализации является визуальное проектирование самой формы, представленной на рисунке 3.11, средствами Visual Studio 2008.

Рисунок 3.11 - Окно «Новое начисление».

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

– MySQLConnection используется для установления соединения с конкретным источником данных;

– MySQLCommand выполняет команду в источнике данных;

– MySQLDataReader считывает из источника данных однопроходный поток данных только для чтения.

Второй задачей реализации является создание запроса в базу данных, который будет передавать значения из полей формы в таблицу «NACHISLENIE».

Создавая этот запрос необходимо учитывать передаваемые типы данных. Пример SQL-запроса добавления записи в таблицу представлен на рисунке 3.12.

Рисунок 3.12 - Пример SQL-запроса добавления записи в таблицу.

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

Рисунок 3.13- Фрагмент программного кода для добавления данных в таблицу.

Третьей задачей реализации является создание запроса в БД, который будет обновлять данные в таблице «NACHISLENIE», заменяя их данными с полей формы. Важно учитывать соответствие типов данных таблицы и полей формы. Пример SQL-запроса представлен на рисунке 3.14.

Рисунок 3.14- Пример SQL-запроса обновления данных в таблице.

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

Рисунок 3.15 - Метод для обновления данных в таблице.

Результаты работы формы «Новое начисление» приведены в Приложении В. Исходя из данных результатов, можно сделать вывод о том, что программный модуль работает корректно.

3.3 Тестирование приложения

Тестирование приложений, а также разработанных модулей и компонентов является одним из самых важных этапов в реализации ИС [32, 34].

Тестирование приложения подразумевает 4 этапа:

1. Выбор методов тестирования

2. Создание плана тестирования

3. Разработка тестовых примеров

4. Анализ результатов тестирования

Существует несколько методов тестирования, рассмотрим два из них.

Метод «Белого ящика» используется в случае, когда тестировщиком является человек, который знает все процессы, происходящие в приложении. Как правило, в таких случаях тестировщиком является сам разработчик приложения. Тестирование компонентов форм на стадии разработки осуществляется в режиме отладки с использованием специального средства Visual Studio 2008 - Debug [33, 34]. Удобство этого средства тестирования заключается в возможности пошаговой отладки создаваемого приложения в ходе выполнения программы.

Метод «черный ящик» - метод, при котором тестировщик является человеком, не проектировавший данное ПО. Тестировщику дают тестируемое приложение и дают тестовые случаи. В ходе тестирования он должен вносить результаты тестов.

В качестве метода тестирования выбран «Белый ящик», т. к. при тестировании принимается во внимание структура всей программы, что облегчает обнаружение ошибок. План тестирования представляет собой таблицу, в которой указывается название модуля и описание результата работы этого модуля. План тестирования модулей клиента «Сотрудник отдела кадров» методом «Белый ящик» показан в таблице 3.1.

Таблица-3.1. План тестирования клиента «Сотрудник отела кадров» методом «Белый ящик»