Автор работы: Пользователь скрыл имя, 04 Ноября 2012 в 10:34, дипломная работа
В данной выпускной квалификационной работе изложен процесс разработки и реализации информационной системы, автоматизирующей работу торгового предприятия, осуществляющего закупку, хранение и продажу строительных материалов. Система выполнена по клиент-серверной технологии, следовательно, является многопользовательской, поддерживает сколь угодно обширное территориальное распределение и способна соединить в целое склады, офисы и торговые точки предприятия, значительно повышая эффективность его работы
Рисунок 8.4 – Диапазон входных данных для тестирования
Разбиение равнозначности для метода, вычисляющего величину в зависимости от заданного капитала, процентной ставки и оценки инфляции, представлено на рисунке 4.7. Например, область, закрашенная на рисунке 6.5 серым, соответствует следующему разбиению равнозначности:
«оценка инфляции между 15 и 20 %», «капитал от $65 до $100» и «процентная ставка между 0 и 5 % ».
Максимальная прибыль
от тестирования обычно достигается
при анализе граничных
Рисунок 8.5 – Разбиение равнозначности входных данных тестирования
К разбиениям равнозначности обычно прибегают при исследовании граничных значений внутренних переменных программы. Например, оценка инфляции должна лежать между 1 и 20 %, что дает две границы. Предположим, что значения инфляции до 15 % и значения, превышающие эту величину, программа обрабатывает по-разному. Это дает нам еще одну дополнительную границу (рисунок 4.8).
В функции setName( String ), упоминавшейся ранее, границами считаются строки нулевой длины и строки длиннее maxNumCharsInName(). Границы могут быть также представлены в форме уравнения, например х + у = 7. Оно может быть выражено условием типа while(x+y<=7).
В тестировании проекта значения, лежащие за пределами этих границ (например, недействительный ввод данных), также используются в качестве тестовых данных. Тестовые данные генерируются после того, как будут установлены границы эквивалентных классов (рис 8.6).
Рисунок 8.6 – Диапазон тестирования: элементарные случаи
Вспомните, что инварианты — это утверждения, связывающие переменные [2], [3]. Они выражают состояния. Например, для выражения состояния банкомата после того, как клиент вставил карту и ввел корректный личный код, используется нижеследующий типичный инвариант:
( card Inserted==true ) && ( pin== VALID )
Как уже отмечалось в главе 7, мы используем инварианты для поддержки интеллектуального управления вычислениями и для доказательства корректности кода. Во многих случаях эти утверждения остаются неизменными в стратегически важных блоках кода. Часто бывает полезно добавлять в исходный код команды, сообщающие о том, действительно ли инвариант, который мы предполагаем истинным, сохраняется таковым во время работы программы. Эта техника «белого ящика» называется тестированием, основанным на инвариантах. Например, если сумма переменных х и у во время вычисления должна быть равной 10, во время работы программы можно проверять инвариант assert(x + у = 10);.
Функция assert(<apryмент>) может сообщить об истинности или ложности своего аргумента. Желательно, чтобы вычисления приостанавливались в том случае, когда инвариант ложен, и т. д. Иногда функции assert О оставляют в исходном коде и для работы программы, например:
assert( potentiallyFatalXRayDose < 137 ).
Итоги тестирования модуля MainForm показаны в таблице 5.5.
Таблица5.5 – Тестирование модуля MainForm
Описание теста |
Результат |
Вход в систему, вводим должность |
Тест пройден |
Вход в систему, вводим пороль |
Тест пройден |
Итоги тестирования модуля ByerOrder показаны в таблице 5.6.
Таблица 5.6 – Тестирование модуля ByerOrder
Описание теста |
Результат |
Попытка оформить заказ |
Тест пройден |
Попытка отредактировать заказ |
Тест пройден |
Итоги тестирования модуля MapDelivery, Waybill показаны в таблице 5.7.
Таблица 5.7 – Тестирование модуля MapDelivery, Waybill
Описание теста |
Результат |
Вывод отчетов |
Тест пройден |
Итоги тестирования модуля StateOrder показаны в таблице 5.8.
Таблица 5.8 – Тестирование модуля StateOrder
Описание теста |
Результат |
Попытка изменить статус заказа |
Тест пройден |
Итоги тестирования модуля MonthlyReport показаны в таблице 5.9.
Таблица 5.9 – Тестирование модуля MonthlyReport
Описание теста |
Результат |
Вывод отчета |
Тест пройден |
Перед установкой приложения необходимо произвести настройку сервера СУБД. Для этого на сервере следует запустить утилиту IBConsole (Рисунок 9.1). Далее выбрать в главном меню пункт «Server» -> «Register» (Рис 9.2).
Рисунок 9.1 - Утилита «IBConsole»
Рисунок 9.2 - Регистрация сервера
Выберите пункт «local server», укажите протокол передачи данных (TCP/IP), а также данные для авторизации (логин по умолчанию – SYSDBA, пароль – masterkey). После регистрации сервера можно создать базу данных. Для этого отметьте созданный сервер в списке, и в главном меню выберите пункт «Database» -> «Create database…», откроется диалоговое окно создания БД (см. рисунок 9.3).
Рисунок 9.3 - Диалоговое окно создания БД
Укажите имя файла, в котором будет храниться база, алиас (псевдоним в СУБД) базы, количество страниц (минимум 230) и размер страницы. После нажатия на кнопку «ОК» БД будет создана. Затем выберите в списке созданную БД, затем в главном меню выберите «Tools» -> «Interactive SQL…». Откроется окно для выполнения запросов к БД (см. рисунок 9.3).
Рисунок 9.3 - Окно запросов к БД
Рисунок 9.4 - Окно запросов к БД
В главном меню этого окна выберите «Query» -> «Load Script» и загрузите файл create.sql (см. рисунок 9.4).содержащий запросы для создания необходимых таблиц. Выполните запрос. База данных готова.
Для установки приложения необходимо запустить с носителя данных файл установки “setup.exe”. В появившемся диалоговом (см. рисунок 9.5) окне нужно указать каталог для установки и нажать кнопку «установить».
Рисунок 9.5 - Диалоговое окно установки программы
В случае успешной установки
программа выдаст соответствующее
сообщение. Далее следует настроить
соединение с базой данных. Для соединенения с сервером требуется
установить драйвер доступа к БД (распространяется
бесплатно, можно получить по ссылке: http://garr.dl.sourceforge.
Затем нужно перейти в Панель управления (Control Panel) -> Администрирование (Administrative tools) -> Источники данных ODBC (Data Sources), открыть вкладку System DSN и выбираем Add(Добавить), указать установленный драйвер и нажать «ОК». Откроется окно для настройки источника данных (Рисунок 9.6).
Рисунок 9.6 - Окно настройки поставщика данных
В этом окне указывается имя поставщика данных, путь к файлу БД («имя компьютера»:«локальный путь») и данные авторизации на сервере СУБД. Далее в папке установленной программы следует открыть файл link.udl, в первой вкладке выбрать поставщика данных Microsoft OLE DB Provider for ODBC Drivers (Рисунок 9.7), а во вкладке «подключение» выбрать созданный источник данных (Рисунок 9.8).
Рисунок 9.7 - Поставщик данных
Рисунок 9.8 - Источник данных
После того, как подключение было настроено, можно запустить программу. После запуска система запрашивает имя пользователя и пароль (имя пользователя по умолчанию – “admin”, пароль пустой). Рекомендуется сразу же поменять пароль администратора (Главное меню -> Настройки -> Сменить пароль…). Окно входа в систему изображено на Рисунок 9.9.
Рисунок 9.9 - Окно входа в систему
Главная форма программы содержит главное меню, список доступных данному пользователю подразделений, а также даты для указания периода отображения накладных (остатков). При выборе подразделения типа «склад» становятся видимыми вкладки «накладные по складу» и «остатки по складу» (Рисунок 10.1).
Рисунок 10.1 - Вкладки для работы со складом
При выборе подразделения типа «офис» становится видимой вкладка «покупки» (Рисунок 10.2).
Рисунок 10.2 - Вкладка «Покупки»
При выборе подразделения типа «магазин» становится видимой вкладка «продажи» (Рисунок 10.3).
Рисунок 10.3 - Вкладка «продажи»
Управление списками контрагентов, материалов, единиц измерения, подразделений, пользователей и прав доступа производится путём выбора соответствующего пунка из меню «Справочники» (Рисунок 10.4).
Рисунок 10.4 - Справочники
Справочник «Контрагенты» (Рисунок 10.5) содержит список контрагентов, а также кнопки управления и главное меню.
Рисунок 10.5 - Список контрагентов
Добавление/редактирование/
Аналогично происходит управление списком единиц измерения (Рисунок 10.6).
Рисунок 10.6 - Список единиц измерения
В этот список вносятся единицы измерения для заготавливаемых материалов. Указанные единицы измерения используются при заполнении списка материалов (Рисунок 10.7).
Рисунок 10.7 - Список материалов
В данном списке хранится наименование материала, дополнительная информация, единица измерения (выбирается из выпадающего списка, отображающего данные из списка единиц измерения), цена покупки и цена продажи.
В списке подразделений (Рисунок 10.8) хранится информация о подразделениях (складах, магазинах и офисах) компании.
Рисунок 10.8 - Список подразделений
В список заносится наименование подразделения, его адрес и телефон, а также тип, который выбирается из выпадающего списка.
Далее следует список пользователей (Рисунок 10.9).
Рисунок 10.9 - Список пользователей.
В списке пользователей хранится личная информация (фамилия, имя, отчество, серия/номер паспорта, адрес и телефон), а также имя пользователя для входа в систему и роль. Роль пользователя выбирается из выпадающего списка. Роль «администратор» означает, что данный пользователь имеет право выполнять любые операции с программой. «Менеджер» имеет право создавать, редактировать и аннулировать покупки или продажи, вести справочник материалов, контрагентов и единиц измерения, просматривать и печатать накладные. «Кладовщику» доступны операции: создание / редактирование / аннулирование перемещений, обработка покупок, продаж и перемещений, просмотр остатков по складу, печать и просмотр накладных. «Бухгалтер» имеет право получать отчёты по покупкам и продажи, просматривать и печатать накладные подразделений, на которые ему назначены права (Рисунок 11.1).
Рисунок 11.1 - «Права доступа»
В списке прав доступа указывается имя пользователя в системе (логин), которое выбирается из выпадающего списка, этому имени сопоставляется подразделение, с которым данный пользователь имеет право работать (также выбирается из списка).
Для создания накладной следует выбрать в главном меню пункт «Создать…», тип создаваемой накладной зависит от выбранного на главной форме подразделения. Для склада создаётся накладная на перемещение, для офиса – приходная, для магазина – расходная. Для всех трёх видов используется одна форма (Рисунок 11.2).
Информация о работе Информационная система строительной компании