Проектирование информационного модуля Автоперевозки

Курсовая работа



На тему: «Проектирование информационного модуля

«Автоперевозки» 



                        Дисциплина  Основы информационных технологий

Специальность   050703 – Информационные системы





































Костанай, 2010

Содержание

Введение……………………………………………………………………….3

1 Техническое задание………………………………………………………..5

2 Проектирование информационного модуля………………………………7

2.1 Описание входной и выходной информации…………………………...7

2.2 Элементы интерфейса пользователя………………………………….....8

2.3 Основные процедуры и функции………….……………………………11

3 Руководство пользователя………………….……………………………..20

Заключение…………………………………………………………………..28

Список использованных источников………………………………………29


Введение

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

В данной курсовой работе была поставлена цель изготовить Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое будет обеспечивать решение поставленных задач по формированию и обработке на ЭВМ информации. Разработчику ставиться вполне определенная задача, при выполнении которой употребляются навыки работы с операционными системами, программными оболочками, разнообразными служебными и сервисными средствами. А также навыки по алгоритмизации, программированию и решению во встроенной визуальной среде программирования Delphi задач по экономике и управлению на предприятии.

Минимальные системные требования к программному обеспечению при работе с приложением имеет следующие параметры:

Windows 2000/XP;

Процессор 500 МГц;

64 Мб оперативной памяти;

40 Мб свободного места на жестком диске;

Видеокарта класса SVGA с памятью 8 Мб;

Разрешение экрана 1024х768;

Клавиатура.

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

Исходя из поставленной цели, определены следующие задачи:

			спецификация (определение, формулирование требований к программе);

	разработка алгоритма;

	кодирование;

	отладка (процесс поиска и устранения ошибок;

	тестирование. 


1 Техническое задание



Вычислить стоимость автоперевозок заданного веса груза на заданное расстояние разными типами автомобилей. Путевая скорость всех типов а/м считается равной 50км/ч. 

Здесь,  <Число поездок> = <Вес груза>/<Грузоподъемность>, округлённое до большего целого;

<Пробег> = <Число поездок>*<Расстояние>*2  (удваивается, поскольку автомобиль каждый раз должен возвращаться в исходный пункт).

<Стоимость перевозок> состоит из зарплаты и стоимости аренды.

<Зарплата> водителя определяется <Временем в пути >. Кроме того, если автомобиль находится в пути в оба конца больше 12 часов, водителю производится доплата (командировочные) в размере Х тнг. за каждые 12 часов в пути на каждом маршруте. В области «Объём заказов» подсчитывается число машино-часов (время в пути), необходимые для обслуживания заявок на перевозки разными типами а/м. 





















Тарифы







Тип

автомобиля

Цена часа аренды, тнг

Грузоподъемность, т

Объём заказов



Цена часа работы водителя, тнг

Зил





?





Газ





?





…













Тип

автомобиля

Вес груза, т

Расстояние, км

Число поездок

Время в пути, ч

Пробег, км

Зарплата, тнг

Стоимость перевозок, тнг

…















Всего

















Контроль: Тип автомобиля ={Выбирается из возможного списка}.

График: Тип автомобиля - Объём заказов.


2 Проектирование информационного модуля



2.1 Описание входной и выходной информации

																Данная дипломная работа была разработана в интегрированной среде Delphi. 

 	Delphi представляет собой средство разработки приложений для Microsoft Windows. Delphi является мощным и простым в использовании инструментом для создания автономных программ, обладающих графическим интерфейсом (GUI), или 32-битных консольных приложений (программ, которые не имеют графического интерфейса).

																Delphi - это комбинация нескольких важнейших технологий:

																		Высокопроизводительный компилятор в машинный код

																		Объектно-ориентированная модель компонент

																	Визуальное (а следовательно и скоростное) построение приложений из программных прототипов

																		Масштабируемые средства для построения баз данных



Программа может оперировать данными различных типов: целыми, символами, строками символов, логическими величинами.

Функции преобразования (см. Таблица. 1) наиболее часто используются в инструкциях, обеспечивающих ввод и вывод информации. Например, для того чтобы вывести в поле вывода (компонент Label) диалогового окна значение переменной типа real, необходимо преобразовать число в строку символов, изображающую данное число. Это можно сделать при помощи функции FloatToStr, которая возвращает строковое представление значения выражения, указанного в качестве параметра функции.









Таблица. 1. Функции преобразования





Функция

Значение функции



FloatToStr (n)

Строка, являющаяся изображением вещественного n



FloatToStrF(n, f , k,m)

Строка, являющаяся изображением вещественного п. При вызове функции указывают: f — формат (способ изображения); k — точность (нужное общее количество цифр); m — количество цифр после десятичной точки



StrToInt (s)

Целое, изображением которого является строка s



StrToFloat (s)

Вещественное, изображением которого является строка s



Например, инструкция Label.Caption:= FloatToStr(x) выводит значение переменной х в поле Label.



2.2 Элементы интерфейса пользователя



Главное меню (см. Рисунок .1) содержит все необходимые средства для управления проектом. Все опции главного меню представляют собой опции заголовки, открывающие доступ к выпадающим меню второго уровня.



Рисунок. 1. Главное окно

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

Окно кода предназначено для создания и редактирования текста программы. Этот текст составляется по специальным правилам и описывает алгоритм работы программы. Совокупность правил записи текста называется языком программирования. Первоначально окно кода содержит минимальный исходный текст. В ходе работы над проектом программист вносит в него необходимые дополнения, чтобы придать программе нужную функциональность. Поскольку для создания даже простых программ вам понадобится создавать и изменять (редактировать) код программы, ниже описываются основные приемы работы с окном кода.

Сразу после открытия нового проекта в нем будут такие строки:

unit Unit1; 

interface 

uses 

Windows, Messages, SysUtils, Classes, Graphics, Controls, Frms, Dialogs;

type 

TFormI = class(TForm) private

{ Private declarations } public

{ Public declarations } end;

var 

Form1: TForm1; 

implementation 

{SR *.DFM} 

end. 

Эти строки Delphi автоматически вставляет в окно кода для новой формы.

unit Unit1; 

и implementation 

Пока не стоит изменять эту часть текста. В дальнейшем мы будем вставлять в окно текст программы между строками 

{$R-*.DFM} и 

end. 

в нижней части окна.

Вместе с окном кода обычно активизируется браузера Code Explorer, облегчающей поиск нужных элементов в случае, когда в окне набрано много строк кода (см.Рисунок. 2). 



Рисунок. 2. Окно кода с расположенным слева браузером Code Explorer



На странице Standard палитры компонентов сосредоточены стандартные для Windows интерфейсные элементы, без которых не обошлось наше практическое задание. 

Label - метка. Этот компонент используется для размещения в окне не очень длинных однострочных надписей.

Edit - строка ввода. Предназначена для ввода, отображения или редактирования одной текстовой строки.

Button - командная кнопка. Обработчик события OnClick этого компонента обычно используется для реализации некоторой команды.

ComboBox - комбинированный список выбора. Представляет собой комбинацию списка выбора и текстового редактора.

GroupBox - группа элементов. Этот компонент используется для группировки нескольких связанных по смыслу компонентов.

На вкладке Additional был использован компонент StringGrid, компонент DrawGrid используется для создания в приложении таблицы, которая может содержать графические изображения (см. пример на рис. 4.6). Этот компонент подобен компоненту StringGrid, поскольку последний является производным от DrawGrid. Поэтому в DrawGrid присутствуют все свойства, методы, события компонента StringGrid, кроме относящихся к тексту, т.е. кроме свойств Cells, Cols, Rows, Objects. С этой точки зрения компонент StringGrid обладает существенно большими возможностями, чем DrawGrid, поскольку он может хранить в ячейках и изображения, и тексты.

Image - компоненты Image представляют собой некоторую ограниченную поверхность с канвой, на которую можно заносить изображения. Я использовал Image как кнопки используя процедуру OnClik.

Chart - этот компонент позволяет строить различные диаграммы и графики, которые выглядят очень эффектно.



2.3 Основные процедуры и функции



В среде программирования Delphi для записи программ используется язык программирования Delphi. Программа на Delphi представляет собой последовательность инструкций, которые довольно часто называют операторами. Одна инструкция от другой отделяется точкой с запятой.

Каждая инструкция состоит из идентификаторов. Идентификатор может обозначать:

Инструкцию языка (:=, if, while, for);

-переменную;

-константу (целое или дробное число);

-арифметическую (+, -,*,/) или логическую (and, or, not) операцию;

-подпрограмму (процедуру или функцию);

-отмечать начало (procedure, function) или конец (end) подпрограммы ИЛИ блока (begin, end).

На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, т. е. разработать алгоритм. Алгоритм — это точное предписание, определяющее процесс перехода от исходных данных к результату. Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. (см. Рисунок 3).





Рисунок. 3. Блок-схема

Программа, представленная в виде инструкций языка программирования, называется исходной программой. Она состоит из инструкций, понятных человеку, но не понятных процессору компьютера. Чтобы процессор смог выполнить работу в соответствии с инструкциями исходной программы, исходная программа должна быть переведена на машинный язык — язык команд процессора. Задачу преобразования исходной программы в машинный код выполняет специальная программа — компилятор. Он выполняет последовательно две задачи:

1. Проверяет текст исходной программы на отсутствие синтаксических ошибок.

2. Создает (генерирует) исполняемую программу — машинный код.

Следует отметить, что генерация исполняемой программы происходит только в том случае, если в тексте исходной программы нет синтаксических ошибок.

Генерация машинного кода компилятором свидетельствует лишь о том, что в тексте программы нет синтаксических ошибок. Убедиться, что программа работает правильно можно только в процессе ее тестирования — пробных запусках программы и анализе полученных результатов. Например, если в программе вычисления корней квадратного уравнения допущена ошибка в выражении (формуле) вычисления дискриминанта, то, даже если это выражение будет синтаксически верно, программа выдаст неверные значения корней.

При программировании в Delphi работа программиста заключается в основном в разработке процедур (подпрограмм) обработки событий.

При возникновении события автоматически запускается процедура обработки события, которую и должен написать программист. Задачу вызова процедуры обработки при возникновении соответствующего события берет на себя Delphi.

Процедура начинается с заголовка, за которым следуют: 

-подраздел объявления констант;

-раздел объявления типов;

-раздел объявления переменных;

-раздел инструкций.

В общем виде процедура выглядит так:

procedure Имя (СписокПараметров); 

const    // здесь объявления констант 

type

// здесь объявления типов var

// здесь объявления переменных 

begin

// здесь инструкции программы 

end;

Заголовок процедуры состоит из слова procedure, за которым следует имя процедуры, которое используется для вызова процедуры, активизации ее выполнения. Если у процедуры есть параметры, то они указываются после имени процедуры, в скобках. Завершается заголовок процедуры символом "точка с запятой".

Если в процедуре используются именованные константы, то они объявляются в разделе объявления констант, который начинается словом const.

За разделом констант следует раздел объявления типов, начинающийся, словом type.

После раздела объявления типов идет раздел объявления переменных, в котором объявляются (перечисляются) все переменные, используемые в программе. Раздел объявления переменных начинается, словом var.

За разделом объявления переменных расположен раздел инструкций. Раздел инструкций начинается словом begin и заканчивается словом end, за которым следует символ "точка с запятой". В разделе инструкций находятся исполняемые инструкции процедуры.

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

Вывести на экран окно с сообщением можно при помощи процедуры ShowMessage или функции MessageDlg.

Процедура ShowMessage выводит на экран окно с текстом и командной кнопкой ОК.

В общем виде инструкция вызова процедуры ShowMessage выглядит так:

ShowMessage(Сообщение);

где сообщение — текст, который будет выведен в окне.

На (Рисунок 4) приведен вид окна сообщения, полученного в результате выполнения инструкции:

ShowMessage(‘Заполните все поля’ );



Рисунок 4. Пример окна сообщения

Инструкция if позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.

В общем виде инструкция if записывается так:

if условие then

begin

// здесь инструкции, которые надо выполнить, 

// если условие истинно. 

end

else 

begin

// здесь инструкции, которые надо выполнить, // если условие ложно. end;

Обратите внимание, что перед else (после end) точка с запятой не ставится.

Выполняется инструкция if следующим образом:

1. Вычисляется значение условия (условие — выражение логического типа, значение которого может быть равно True или False).

2. Если условие истинно (значение выражения условие равно True), то выполняются инструкции, следующие за словом then (между begin и end). На этом выполнение операции if заканчивается, то есть инструкции, следующие за else, не будут выполнены.

Если условие ложно (значение выражения условие равно False), то выполняются инструкции, следующие за словом else (между begin и end).

Перед завершением работы программа должна закрыть все открытые файлы. Это делается вызовом процедуры close. Процедура close имеет один параметр — имя файловой переменной. Пример использования процедуры:

Close(f).

procedure TF2.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,

  Y: Integer);

begin

Image2.Visible:=true;

end;



procedure TF2.Image2Click(Sender: TObject);

var j,i,f,ow,e,a:integer;

 z,x,c,v,m,l,k,s,q,w,r,t:real;

begin

 if f1.sg1.Cells[a,b]='Êàìàç'  then

begin

f1.ComboBox1.Text:='Êàìàç';

f1.E1.Text:='1500' ;

 f1.E2.Text:='30'   ;

 f1.E3.Text:='800' ;

f1.E4.Text:='1000';

end;



begin

  if f1.sg1.Cells[a,b]='Çèë'  then

begin

  f1.ComboBox1.Text:='Çèë';

    f1.E1.Text:='1300' ;

      f1.E2.Text:='15'   ;

        f1.E3.Text:='800' ;

          f1.E4.Text:='1000';

end;



begin

  if f1.sg1.Cells[a,b]='Ãàç'  then

begin

  f1.ComboBox1.Text:='Ãàç';

    f1.E1.Text:='1200' ;

      f1.E2.Text:='10'   ;

        f1.E3.Text:='800' ;

          f1.E4.Text:='1000';

end;



begin

  if f1.sg1.Cells[a,b]='Ãàçåëü'  then

begin

  f1.ComboBox1.Text:='Ãàçåëü';

    f1.E1.Text:='1000' ;

      f1.E2.Text:='2'   ;

        f1.E3.Text:='800' ;

          f1.E4.Text:='1000';

end;



begin

  if f1.sg1.Cells[a,b]='Ïèêàï'  then

begin

  f1.ComboBox1.Text:='Ïèêàï';

    f1.E1.Text:='900' ;

      f1.E2.Text:='1'   ;

        f1.E3.Text:='800' ;

          f1.E4.Text:='1000';

end;

end;

  end;

    		end;

      			end;



If (ComboBox1.Text='')

or (edit2.Text='')

or (edit3.Text='')

then  ShowMessage('Çàïîëíèòå âñå ïîëÿ')

else begin

f1.sg1.Cells[1,b]:= ComboBox1.Text;

f1.sg1.Cells[2,b]:= edit2.Text;;

f1.sg1.Cells[3,b]:= edit3.Text;



 f1.SG1.RowCount:= f1.SG1.RowCount + 1;

f1.Button3.Enabled:=true;

f1.Button1.Enabled:=true;

end;

 CLOSE;

     end;































3 Руководство пользователя



Для запуска программы достаточно открыть AUTO.exe (см. Рисунок. 4 )



Рисунок 4. Основная форма

Для заполнения таблицы необходимо щелкнуть по зеленому крестику (Рисунок.5)



Рисунок 5 Кнопка добавить

после чего появится окно (Рисунок 6) в которой можно выбрать тип автомобиля 



Рисунок 6 Окно добавления

Из выпадающего списка, и ввести данные  о грузе массу и расстояние, на которое следует отвезти груз, после введения всех полей нажимаем большую синюю кнопку «ENTER», если были заполнены не все  поля выйдет предупреждение о заполнении всех полей (Рисунок 7)



Рисунок 7 Окно предупреждения

Если же поля были заполнены правильно то окно закроется перейдя на главную форму и заполнит ячейки окна. (Рисунок 8)



Рисунок 8 Заполнение ячеек

После внесение данных в ячейки необходимо нажать на кнопку рассчитать (Рисунок 9)



Рисунок 9 Кнопка «Рассчитать»

После её нажатия заполнятся все остальные ячейки поля(Рисунок 10)



Рисунок 10 Заполнение ячеек расчетами

Число поездок рассчитывается  по соотношения веса  груза к грузоподъемности автомобиля, время по соотношения расстояния на среднюю скорость автомобиля которая равняется 50км/ч , ячейка пробег высчитывается произведением числа поездок на расстояние и умноженное на 2,  зарплата высчитывается по времени затрачиваемого на путь доставки всего груза умноженного на цену работы одного часа водителем. Стоимость перевозок это сумма зарплаты и стоимости аренды самого автомобиля в час.

После ввода данных можно посмотреть график который отображает объем заказов по какому ни будь конкретному автомобилю(Рисунок 11)



Рисунок 11 График объема заказов

Также в программе предусмотренная редактирования данных, для этого необходимо нажать нужную вам строчку и нажать на кнопку редактировать(Рисунок 12)



Рисунок 12 кнопка «Редактирования»

После чего появиться окно схожее с окном добавить (Рисунок 13)



Рисунок 13 Окно редактирования

Также на главной вкладке (Рисунок 14) можно посмотреть грузоподъемность автомобиля и цену аренды автомобиля.



Рисунок 14 Главное меню 

После нажатия на вкладку «Грузоподъемность автомобилей » появиться окно в котором будит представлена таблица с грузоподъемностью автомобилей 

(Рисунок 15)



Рисунок 15 Окно грузоподъемности автомобилей

Также нажав на вкладку «Цена аренды автомобиля»  появиться окно с расценками автомобилей за 1 час. (Рисунок 16)



Рисунок 16 цена аренды автомобилей









Для выхода из приложений нужно нажать на кнопку в низу окна (Рисунок 17)



Рисунок 17 Выход

Для закрытия окна программы необходимо нажать на крустик в верхнем правом углу программы.



































Заключение

Выполняя данный курсовой проект, студент должен руководствоваться тем, что программа должна быть удобной в использовании и проста в обращении.

Выполняя проект, он должен учитывать то, что  программа должна быть легко читаемой, ее структура должна соответствовать структуре и алгоритму решаемой задачи. Для этого необходимо  следовать правилам хорошего стиля программирования. Стиль программирования — это набор правил, которым следует программист (осознано или потому, что "так делают другие") в процессе своей работы. Очевидно, что хороший программист должен следовать правилам хорошего стиля.

Хороший стиль программирования предполагает: 

-использование комментариев;

-использование несущих смысловую нагрузку имен переменных, процедур и функций;

-использование отступов; 

-использование пустых строк.

Следование правилам хорошего стиля программирования значительно уменьшает вероятность появления ошибок на этапе набора текста, делает программу легко читаемой, что, в свою очередь, облегчает процессы отладки и внесения изменений.

Четкого критерия оценки степени соответствия программы хорошему стилю программирования не существует. Вместе с тем достаточно одного взгляда, чтобы понять, соответствует программа хорошему стилю или нет.

Сводить понятие стиля программирования только к правилам записи текста программы было бы неверно. Стиль, которого придерживается программист, проявляется во время работы программы. Хорошая программа должна быть, прежде всего, надежной и дружественной по отношению к пользователю.

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

Дружественность предполагает хорошо спроектированные диалоговые окна, наличие справочной системы, разумное и предсказуемое, с точки зрения пользователя, поведение программы.


Список использованных источников:

1. Т. Чехова, С. Жаркенова, Н. Кубекова. Методическая инструкция требования к выполнению, оформлению и защите рефератов, курсовых и дипломных работ и проектов. - МИ КГУ 013-2006, 30.06.2006 г. № 10

2. Нил Дж. Рубенкинг. Язык программирования Delphi для «чайников». Введение в Borland Delphi 2006

3. А. Н. Вальвачев, К. А. Сурков, Д. А. Сурков, Ю. М. Четырько. Программирование на языке Delphi. Учебное пособие. - 2005г. 

	4. Хавьер Пашеку. Программирование в Borland Delphi 2006 г. для профессионалов.

	Зелковиц М, Шоу А, Гэннон Дж Принципы разработки программного обеспечения. Пер. с англ. М.: Мир, 1982

	Практическое руководство по программированию. Пер. с англ. Б. Мик, П. Хит, Н. Рабши и др.- М.: Радио и связь 1986

	Архангельский А.Я. Примеры программирования в Delphi 5 Изд-во «Бином» М., 2000, с. 780.















7