2.2.2 Проектирование базы данных
Проектирование БД состоит из следующих основных этапов:
- Концептуальное проектирование;
- Логическое проектирование;
- Физическое проектирование.
Концептуальное проектирование – это построение концептуальной модели предметной области, то есть информационной модели наиболее высокого уровня абстракции [25, c.296]. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных.
Логическое проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных логическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.
Физическое проектирование — создание схемы базы данных для конкретной СУБД.
2.2.3 Архитектура автоматизированной информационной системы
Подводя итоги этапу анализа объекта исследования, определим основные задачи автоматизации технологии управления торгово-закупочной деятельностью предприятия.
Задачи автоматизации технологии документооборота, учета и анализа торгово-закупочной деятельности, решаемые автоматизированной системой:
Оформление, учет принятых заказов, включающий в себя:
— заключение договоров;
— оформление заказа;
— выписку товарных накладных.
Анализ выполнения заказов, включающий в себя:
— обработку данных о заказанных товарах на основе оформленных заказов;
— обработку данных об закупленных товарах;
— обработку данных об проданных товарах;
— на основании обработанных данных определить сколько и каких товаров нужно закупить для выполнения заказа.
2.2.4 Проектирование пользовательского интерфейса
При проектировании АИС была предложена следующая схема меню:
1. Все операции, необходимые пользователю, сгруппированы в четыре основных пункта меню: «Создать», «Справочники», «Документы», «Отчеты» и «Анализ».
2. Меню «Создать» содержит пункты меню, необходимые для ввода данных в документы и справочники.
3. Меню «Справочники» содержит пункт меню, позволяющий просмотреть сведения обо всех контрагентах.
4. Меню «Документы» содержит пункты меню, необходимые для просмотра и изменения, добавления и удаления данных из документов.
5. Меню «Отчеты» позволяет сформировать необходимую информацию о движении товаров согласно товарным накладным.
6. Меню «Анализ» позволяет проанализировать ситуацию с выполнением заказов, для дальнейшего принятия решений.
2.2.5 Проектирование классов
Опишем назначение каждого из классов:
- Класс «Справочники», является классом оболочкой для других классов группы справочники. Это такие, как «Контрагенты», «СправочникТовары». Это сделано для того, чтобы лучше ориентироваться в коде.
- Класс «Контрагенты» отвечает за сохранение необходимой информации об участниках сделки .
- Класс «БанкРеквизитыКонтрагента» является вложенным классом в класс «Контрагенты» и отвечает за сохранение информации о банковских счетах контрагента.
- Класс «ТелефонныйСправочникКонтрагентов» является вложенным классом в класс «Контрагенты» и отвечает за сохранение информации о контактных телефонах контрагента.
- Класс «СправочникТовары» отвечает за сохранение необходимой информации о товарах.
- Класс «Документы», является классом оболочкой для других классов группы документов. Это такие, как Это сделано для того, чтобы лучше ориентироваться в коде (Приложение А).
- Класс «Договор» отвечает за сохранение необходимой общей информации об условиях сделки и является классом родителем для разновидностей других договоров.
- Класс «Договор_Купли_Продажи» является классом наследником от класса «Договор» и отвечает за сохранение необходимой информации связанной с куплей-продажей товаров.
- Класс «Заказы» отвечает за сохранение необходимой информации о сделанных заказах товаров.
- Класс «СведенияЗаказы» является вложенным классом в класс «Заказы» и отвечает за сохранение необходимой информации об заказанном товаре.
- Класс «Накладные» отвечает за сохранение необходимой информации о сделанных закупках и продажах товаров.
- Класс «СведенияНакладные» является вложенным классом в класс «Накладные» и отвечает за сохранение необходимой информации об закупленных и проданных товарах.
- Класс «СчетФактуры» отвечает за сохранение информации о товарах, поставщиках и плательщиках, необходимой для совершения предоплаты за товар.
- Класс «СведенияСчетФактуры» является вложенным классом в класс «СчетФактуры» и отвечает за сохранение необходимой информации об закупаемых и продаваемых товарах.
- Класс «ЗаявкиТовара» является вспомогательным классом и предназначен для заказа товаров у поставщиков, а также для оформления документов на продажу товара клиентам.
- Класс «СведенияЗаявкиТовара» является вложенным классом в класс «ЗаявкиТовара» и отвечает за сохранение необходимой информации об заказываемом товаре, поставщиках или покупателе.
- Класс «Таблица» является вспомогательным классом и предназначен для работы с таблицами приложения.
- Класс «Работа_с_Word» является вспомогательным классом и предназначен для работы с документом Word, т.е. передачи в него данных с приложения, с последующим его просмотром и при необходимости выводом на печать.
ГЛАВА 3 РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ
3.1 Средства разработки
Языком программирования для реализации приложения был выбран C#.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщенные типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения.
В качестве ОС для разработки была выбрана Windows 7. Среда для разработки ПО- Microsoft Visual Studio. Фреймворк ASP.NET MVC. Рассмотрим их более детально.
3.1.1 Среда разработки
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 позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне.
Microsoft Visual Studio обладает мощными инструментами программирования. Она помогает при написании кода, вне зависимости от используемого языка C#, Visual Basic, F#, C++, HTML, JavaScript, CSS, Python и других, предоставляя помощь в реальном времени. IntelliSense описывает API по мере ввода, а автоматическое завершение увеличивает скорость и точность работы. Средство подсказки позволяет проверять определения API. Проблемные места выделяются волнистым подчеркиванием, которое зачастую отображаются при вводе.
Visual Studio предоставляет прекрасные возможности отладки вне зависимости от языка, который вы используете: от C#, VB и C++ до JavaScript и Python, XAML и HTML. Возможна отладка всех поддерживаемых языков. Отладка пользовательского интерфейса.
Можно создавать и развертывать современные веб-приложения. Разработка веб-приложений с помощью ASP.NET, Node.js, Python и JavaScript. Используя мощные веб-платформы, такие как AngularJS, jQuery, Bootstrap, Django и Backbone.js.
3.1.2 Система управления базами данных
Для решения поставленной задачи выбираем систему управления базами данных (СУБД) Microsoft SQL Server.
В своем составе система имеет средства создания баз данных, работы с информацией баз данных, перенесения данных из других систем и в другие системы, резервного копирования и восстановления данных, развитую систему транзакций, систему репликации данных, реляционную подсистему для анализа, оптимизации и выполнения запросов клиентов, систему безопасности для управления правами доступа к объектам базы данных. Система не содержит средств разработки клиентских приложений [6].
Для взаимодействия с базой данных использовался Entity Framework. Entity Framework представляет специальную объектно-ориентированную технологию на базе фреймворка .NET для работы с данными. Если традиционные средства ADO.NET позволяют создавать подключения, команды и прочие объекты для взаимодействия с базами данных, то Entity Framework представляет собой более высокий уровень абстракции, который позволяет абстрагироваться от самой базы данных и работать с данными независимо от типа хранилища. Если на физическом уровне мы оперируем таблицами, индексами, первичными и внешними ключами, то на концептуальном уровне, который нам предлагает Entity Framework, мы уже работаем с объектами.
3.2 Аномалии и защитное программирование
Аномалии и защитное программирование рассмотрим в таблице 3.1
Таблица 3.1- Аномалии и защитное программирование
| Описание аномалии | Реакции на аномалию | Способ защиты |
| Попытка добавить значение NULL | Вывод текстового сообщения без изменения структуры | Защищено программно |
| Ввод в числовые поля текстовых значений | Запрет ввода текстовых значений в числовые поля | Защищено программно |
| Ввод в текстовые поля цифровых значений | Запрет ввода цифровых значений в текстовые поля | Защищено программно |
| Ввод неправильного значения времени (вроде 45:85) | Проверка введённого значения с диапазоном от 00:00 до 23:59. При несоответствии отображение значка ошибки возле текстового поля и передача ему фокуса ввода. | Защищено программно |
| Ввод несуществующей записи в базе о контрагенте | Выбор из списка | Защищено программно |
3.3 Тестирование и отладка
Тестирование — процесс многократного выполнения программы с целью выявления ошибок.
Отладка – исправление ошибок, найденных с помощью тестирования.
Необходимой частью каждого теста должно являться описание ожидаемых результатов работы программы, чтобы можно было быстро выяснить наличие или отсутствие ошибки в ней. В любой организации, занимающийся разработкой программных продуктов имеются специальные люди (Тестеры), занимающиеся тестированием программ которые выявляют ошибки и недоработки в программе и сообщают о них программистам, которые в свою очередь их исправляют [30].
Но наиболее эффективно тестирование проводится при эксплуатации программы в реальных условиях и реальными пользователями, которые сообщают обо всех найденных ошибках разработчику, который в последствии занимается их исправлением.
Так как в данном случае разработкой занимается не организация, а один человек то и тестирование и исправление тоже осуществляется одним человеком, что менее эффективно и является очень длительным процессом.
Данный проект разрабатывался и тестировался одновременно, то есть каждый раз при разработке какой либо новой части программы, написанная ранее программа проверялась на работоспособность и корректировалась с учётом найденных ошибок.
3.4 Анализ результатов решения
В соответствии с пунктом 3.4 тестирование и отладка производились непосредственно во время разработки проекта. После завершения работы над программой было еще раз произведено полное тестирование.
Все найденные ошибки были успешно устранены.
Получившийся в результате программный продукт удовлетворяет всем предъявленным требованиям, полностью работоспособен, не требует принципиальных доработок, и готов к эксплуатации.
3.5 Руководство пользователя
Программа служит для эффективной и быстрой работы с информацией, а также для автоматического составления различных отчетов на основе информации, которая занесена в базу данных.
Программа позволяет значительно экономить рабочее время сотрудника организации.
Внедрение программы поможет существенно снизить нагрузку при обработке информации и оформлении необходимой документации.
Запуск программы.
Запуск программы осуществляется двойным нажатием левой клавиши мыши на ярлыке программы. После запуска программного продукта на экране появится «Главная форма»
Нажмем кнопку «СОЗДАТЬ», откроется список для ввода данных:
— «Контрагент» ;
— «Документы» :
— «Заказ»;
— «Счет-фактуру»;
— «Накладную»;
— «Заявку».
Ввод данных в поля документов максимально автоматизирован : некоторые заполняются сразу же при открытии формы документа, некоторые, при получении ими ввода, заполняются автоматически, для некоторых организован ввод-подсказка, т.е. при вводе данных идет автоматический поиск этих данных в базе данных, если они есть, то сразу записываются в поле, а если нету, то продолжаем ввод. Введенные данные, которых нету в БД, при сохранении документа, будут занесены в БД и в следующий раз будут доступны при вводе. На некоторых полях, при получении ими ввода данных, автоматически открываются вспомогательные окна-поисковики этих данных или раскрывающиеся списки. Организация такого ввода, позволяет облегчить и ускорить оформление документов.
Интерфейс окон приложения максимально приближен к реальному виду документов, что делает их более понятными и восприимчивыми пользователем.
Создание-ввод документов можно производить как по отдельности, так и через принятие заявки, а уже введя в нее данные, выбираем из окна заявки приложения, какой дальше будем оформлять документ, выбрав его, все данные введенные в заявку, передадутся в этот документ и останется только ввести недостающие.
Далее показаны примеры и результаты работы с меню.
Нажмем кнопку «СОЗДАТЬ» — «Контрагента», в открывшемся окне вводим данные и нажимаем кнопку «Далее»
Нажмем кнопку «СОЗДАТЬ» — «Документы» — «Счет-фактуру», в открывшемся окне вводим данные и нажимаем кнопку «Сохранить»
Нажмем кнопку «СОЗДАТЬ» — «Документы»- «Заказ», в открывшемся окне вводим данные и нажимаем кнопку «Сохранить»
Нажмем кнопку «СОЗДАТЬ» — «Документы»- «Накладную», в открывшемся окне вводим данные и нажимаем кнопку «Сохранить»
Нажмем кнопку «СОЗДАТЬ» — «Документы»- «Заявку», в открывшемся окне вводим данные и нажимаем кнопку «Сохранить»
Нажмем кнопку «СПРАВОЧНИКИ», откроется список для просмотра и ввода данных:
— «Контрагентов»;
— «Товаров/Услуг»;
— «Валют»;
— «Единиц измерения»;
— «Банков»;
— «Классификации договоров»;
— «Отделы».
Нажмем кнопку «СПРАВОЧНИКИ» — «Контрагентов», в открывшемся окне списка Контрагентов выделяем строку и щелкаем по ней два раза , откроется окно для просмотра данных выбранного контрагента . В открывшемся окне мы можем не только просмотреть, но и изменить, или удалить, или сохранить данные банковских реквизитов или контактных телефонов нажатием соответствующих кнопок
Таким образом, протестировав основные режимы работы программы, можно сделать вывод о соответствии функционала разработанного ПО поставленным задачам.
