Разработка программы "Организация перевозок"

Автор работы: Пользователь скрыл имя, 08 Апреля 2011 в 09:11, дипломная работа

Краткое описание

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

Содержание работы

Введение 4
1 Исследовательская часть 5
1.1 Описание и анализ предметной области 5
1.2 Обзор используемых элементов языка и среды программирования 11
2 Технологическая часть 16
2.1 Постановка задачи 16
2.2 Реализация модели математическим методом 17
2.3 Выбор архитектуры приложения 28
2.4 Структурные и функциональные схемы 29
2.5 Проектирование интерфейса пользователя 30
3 Специальная часть 32
3.1 Описание разрабатываемых процедур и функций 32
3.2 Таблица идентификаторов 34
3.3 Выбор стратегии тестирования и разработка тестов 35

4 Мероприятия по охране труда и технике безопасности 39
4.1 Освещение 40
4.2 Микроклимат 40
4.3 Эргономичность 42
4.4 Техника безопасности 47
5 Экономическая часть 49
5.1 Расчет стоимости разработки 49
5.2 Расчет экономического эффекта от внедрения программного обеспечения 58
Заключение 60
Список используемых источников 62
Приложение

Содержимое работы - 9 файлов

Cодержаниe.doc

— 75.50 Кб (Открыть файл, Скачать файл)

Cодержаниe2.doc

— 76.00 Кб (Открыть файл, Скачать файл)

~$адание.doc

— 162 байт (Скачать файл)

Математическая модель.cdr

— 66.37 Кб (Скачать файл)

Пояснительная записка 2.doc

— 831.00 Кб (Открыть файл, Скачать файл)

Пояснительная записка.doc

— 635.00 Кб (Скачать файл)

     - физическое проектирование –  привязка к конкретным техническим  и программным средствам среды  функционирования, т.е. учет ограничений,  определенных в спецификациях. 

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

     - полнота и краткость отображаемой  информации;

     - удобное расположение информации  на экране;

     - оперативность работы.[8]

3 СПЕЦИАЛЬНАЯ ЧАСТЬ

     3.1 Описание разрабатываемых процедур, функций и модулей

     Процедуры и функции представляют собой  относительно самостоятельные фрагменты  программы, оформленные особым образом  и снабженные именем. Упоминание этого  имени в тексте программы называется вызовом процедуры (функции). Отличие функции от процедуры заключается в том, что результатом исполнения операторов, образующих тело функции, всегда является некоторое значение, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами. Условимся далее называть процедуру или функцию общим именем “подпрограмма”, если только для излагаемого материала указанное отличие не имеет значения.[7]

     В программе используется пять модулей:

  • TR_MainForm.pas – переменные и подпрограммы, необходимые для вывода главного окна программы, ввода и вывода данных;
  • TR_AboutForm.pas – вывод диалогового окна «О программе»;
  • TR_HelpForm.pas – вывод окна «Справочная информация»;
  • TR_AlignEdit.pas – компонент TEdit с выравниванием текста по правому краю;
  • TR_Decision;pas – класс TTransportTask, предназначенный для решения транспортной задачи;

     Описание подпрограмм;

    • procedure bExitClick(Sender: TObject) – обработчик нажатия на кнопку «Выход»;
    • procedure bNewCalculationClick(Sender: TObject) - обработчик нажатия на кнопку «Новый расчёт»;
    • procedure eSuppliersCountExit(Sender: TObject) – обработчик снятия фокуса с компонента eSuppliersCount;
    • procedure eConsumersCountExit(Sender: TObject) - обработчик снятия фокуса с компонента eConsumersCount;
    • procedure WriteInfo(Text: string) – вывод текстовой информации в нижней части главного диалогового окна программы;
    • procedure ClearInfo – очистка текстовой информации в нижней части главного диалогового окна программы;
    • function InputValues: Boolean – ввод данных;
    • procedure sgTableDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState) – отрисовка ячеек таблицы;
    • procedure sgTableSelectCell(Sender: TObject; ACol, ARow: Integer;
    • var CanSelect: Boolean) – обработчик выбора ячейки в таблице;
    • procedure bCalcAutomaticClick(Sender: TObject) – щелчок по кнопке «Расчёт», расчёт задачи;
    • procedure sgTableKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState) – обработчик нажатия клавиши в таблице;
    • procedure FormCreate(Sender: TObject) – инициализация переменных при создании главного диалогового окна;
    • procedure FormConstrainedResize(Sender: TObject; var MinWidth, MinHeight, MaxWidth, MaxHeight: Integer) – обработка изменения размеров главного диалогового окна;
    • procedure FormActivate(Sender: TObject) – обработка получения главным диалоговым окном приложения фокуса ввода;
    • procedure FormKeyPress(Sender: TObject; var Key: Char) – обработка нажатия клавиши;
    • procedure sgTableSetEditText(Sender: TObject; ACol, ARow: Integer; const Value: string) – обработка изменения значения ячейки в таблице;
    • procedure bAboutClick(Sender: TObject) – вывод окна «О программе»;
    • procedure sgTableExit(Sender: TObject) – обработчик потери таблицей фокуса ввода;
    • procedure bHelpClick(Sender: TObject) – вывод окна «Справочная информация»;
    • procedure Calculate – расчёт задачи.

     3.2 Таблица идентификаторов

     Идентификаторы в языке высокого уровня делятся на две большие группы:

  • глобальные идентификаторы, участвуют и имеют «время жизни» во всей программе, а также могут иметь непосредственное взаимодействие в операторах в любой строке исходного кода программы.
  • локальные идентификаторы участвуют в работе только какой-либо подпрограммы или модуля, после описания раздела Implementation.[7]

     Основные  локальные и глобальные идентификаторы описаны в таблице 3.1:

     Таблица 3.1  – Идентификаторы

Юниты Переменная Тип Значение
 
 
 
 
 
 
 
 
 
 
TR_MainForm;pas
Prices Double значения Cij
Answer Double конечные значения Xij
Need Integer значения потребностей
Stock Integer значения запасов
DataChanged Double флаг изменения  данных
CCol, Crow Double координаты  выделенной ячейки
TT Double экземпляр объекта TTransportTask
CC Integer количество  потребителей
SC Integer количество  поставщиков
Mode Boolean флаг, показывающий, решена ли задача
a,b,c,d,e,f,g,i,j,k,l,m,n Double Вводимое значение
 

     Продолжение таблицы 3.1  – Идентификаторы 

 
 
 
 
 
 
 
 
 
 
 
 
 
TR_Decision;pas      
 
HighDouble
 
Double
максимальное  значение для типа Double
 
TTransportTask
 
Class
основной класс, предназначенный для решения  задачи
TMatrix Array матрица вещественных значений
TVector Array одномерный  массив вещественных значений
TTransportTaskType Boolean тип задачи
TTRCoord Integer координаты  ячейки
a,b,c,e,f Real Вводимое значение
d,g Real Выходное значение
j,k Real Вводимое значение
l,m,n,o Real Выходное значение
p,q,r,s,t Real Вводимое значение
t Real Выходное значение

     3.3 Выбор стратегии  тестирования и  разработки тестов

     Отладка (тестирование) - это деятельность, направленная на обнаружение и исправление ошибок в программном продукте с использованием процессов выполнения его программ. Тестирование программного продукта - это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в программном продукте ошибки, поиска места ошибки в программах и документации программного продукта и редактирования программ и документации с целью устранения обнаруженной ошибки.[8]

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

     - процессор: AMD Athlon 64 3000+ 1.8 GHz;

     - материнская плата: ASUS A8N-SLI Premium;

     - ОЗУ: 1Gb DDR 400;

     - ОС Microsoft Windows XP Service Pack 3.

     При разработке программы никаких проблем  не возникало.

     Минимальная конфигурация:

     - тип процессора Pentium 1;

     - тип монитора VGA и выше(15’);

     - операционная система Windows 9X или выше;

     - 1 Mb свободного дискового пространства;

     - объем оперативного запоминающего  устройства – 32 Мб.

Титульный лист.doc

— 31.50 Кб (Открыть файл, Скачать файл)

Функциональная схема.cdr

— 39.75 Кб (Скачать файл)

Задание.doc

— 41.50 Кб (Открыть файл, Скачать файл)

Информация о работе Разработка программы "Организация перевозок"