Разработка приложения "Передачи данных по сети"
Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.08.2014 |
Размер файла | 81,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВОЙ ПРОЕКТ
Разработка приложения "Передачи данных по сети"
Содержание
Введение
1. Постановка задачи
1.1 Описание предметной области
1.2 Актуальность решаемой задачи
1.3 Характеристика решаемой задачи
2. Проектирование программного модуля
2.1 Сбор исходных материалов
2.2 Описание входных и выходных данных
2.3 Описание схемы программы
2.4 Выбор программного обеспечения
3. Реализация программного модуля
3.1 Описание типов данных
3.2 Описание структуры разрабатываемого проекта
3.3 Проектирование и реализация интерфейса программы
3.4 Тестирование программного модуля
3.5 Разработка справочной системы
4. Энерго и ресурсосбережение
Заключение
Список используемых источников
Приложение
Введение
В данное время часто используются компьютеры объединённые в единую сеть.Чаще всего для передачи данных по сети используются съёмные носители,что замедляет процесс выполнения каких-либо задач.Эта проблема подталкнула написать программу передачи данных по сети.Теперь не нужно использовать съёмные накопители для передачи данных на другие компьютеры в сети,теперь достаточно установить приложение Network 1.0 и передавать файлы не теряя лишнего времени.
1. Постановка задачи
1.1 Описание предметной области
программный модуль интерфейс справочный
Программа "ПДД" позволяет осуществить обучение Правилам дорожного движения, а также после изучение материала предоставляется возможность оценить свои знания и пройти тест . Данная программа служит электронным учебником по Правилам дорожного движения 2011 года. Программа будет очень востребована у многих людей, так как Правила необходимы в нашей настоящей автомобильной жизни.
Подобного рода программы очень актуальны в настоящее время, т.к. становится все больше пользователей овладеть в полной мере автомобилем.
1.2 Актуальность решаемой задачи
В данной программе решаемой задачей является облегчение работы с компьютерами в сети, рассылки каких-либо файлов на удалённые машины пользователей.
1.3 Характеристика решаемой задачи
Темой данного проекта является разработка программы Передачи данных по сети.
Данная программа предназначена для Передачи данных по сети. Программа актуальна в любой сфере деятельности, где используются компьютеры объеденённые в сеть.
Реализация данного проекта происходила объектно-ориентированной среде программирования Delphi 7.
2. Проектирование программного модуля
2.1 Сбор необходимых материалов
Для создания данной программы была изучена различная научная литература по программированию, а именно "Программирование в Delphi 7" и "Приемы программирования в Delphi 7.0. на основе VCL" Архангельский А.Я., "Самоучитель Delphi", Дмитрий Кузан и Владимир Шапоров.,"Программирование Win32 API в Delphi".
2.2 Описание входных и выходных данных
Входными данными являются файл выбранный пользователем.
Выходными данными являются принятый файл, справкат.
2.3 Описание схемы программы
Программа представлена в виде формы, на которой находятся кнопки и другие компоненты Delphi.
Для создания программы были созданы информационные модели. Схемы работы алгоритмов программы представлены на рисунках 1, 2.
2.4 Выбор программного обеспечения
Для реализации поставленной задачи была выбрана среда программирования Delphi, так как она обладает следующими достоинствами:
- Быстрота разработки приложения.
- Высокая производительность разработанного приложения.
- Hизкие требования разработанного приложения к ресурсам компьютера.
- Возможность разработки новых компонентов и инструментов собственными средствами Delphi.
- Удачная проработка иерархии объектов
- Доступно огромное количество визуальных компонентов сторонних разработчиков
3. Реализация программного модуля
3.1 Описание типов данных
В программе используются следующие типы данных: string, integer,byte, Boolean,.
Тип integer предназначен для хранения целых чисел в диапазоне от -2 147 483 648… до +2 147 483 647.
Тип string - это строковый тип. При работе с этим типом память выделяется по мере надобности (динамически) и ограничена имеющейся в распоряжении программы доступной памятью.
Тип Byte является наименьшей формой целого числа, занимая 8 битов (1 байт) памяти. Он поддерживает только положительные целых числа от 0 до 255.
Переменные типа Boolean которые могут принимать два возможных значения, иногда называемых правдой (true) и ложью (false). Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип. В подавляющем большинстве языков за истину полагается единица, за ложь -- ноль.
3.2 Описание структуры разрабатываемого проекта
Весь проект разработан на объектно-ориентированном языке Delphi7.
Данный проект состоит из файлов:
Сервер:
Unit(1), Unit (1).dfm, Unit (1).dcu, Unit (1).pas., Unit (1).ddp, project1.cfg, project1.dof, project1.dpr, project1.res, NewProject.chm.
Клиент: Unit(1), Unit (1).dfm, Unit (1).dcu, Unit (1).pas., Unit (1).ddp, project1.cfg, project1.dof, project1.dpr, project1.res, NewProject.chm.
Программа хранится на CD-R диске в папке "Курсовой проект Лазаренко". В ней находится файл Network_Server 1.0 и Network_Client 1.0. После установки данного файла запускаем программу через Exe-файл.
Весь программный код представлен в приложении.
3.3 Проектирование и реализация интерфейса программы
При разработки данного проекта были использованы различные компоненты Delphi7.
1. MainMenu - этот компонент используется для отображения главного меню.
2. Label - этот компонент представляет собой метку, специально предназначенную для отображения текста.
3. Image - этот компонент позволяет отображать информацию, содержащуюся в графических файлах различных типов.
4. Button - это компонент нажатия, проще сказать кнопка, позволяет при нажатии
выполнить необходимую функцию.
5. Open Dialog - это компонент для обзора файлов.
6. Xpman - компонент для придания кнопкам более красивой формы.
7. ServerSocket - компонент для создания многопотокового сервера
8. ClientSocket - компонент для приёма потоков сервера
9. ProgressBar - Его назначение -показать пользователю, что приложение работает, а не зависло.
10. StatusBar - компонент добавляет значок в строке состояния системы и уведомление в окно уведомления.
3.4 Тестирование программного модуля
Тестирование проводилось с целью проверки работоспособности программы.
Тестирование программы проводилось на ПК со следующими характеристиками:
· процессор AMD Athlon 2 x2 processor P340 (2.2 GHz);
· оперативная память 2,00 ГБ;
· винчестер 320 Гб;
· видеокарта ATI Mobility Radeon HD 5470 512MBVRAM;
· мышь;
· клавиатура;
· 15,6" HD LED LCD;
· DVD - ROM;
Программа корректно работает на операционных системах семейства Windows.
3.5 Разработка справочной системы
Разработка справочной системы производилась с помощью программы Help and Manual. Это позволило создать справочную систему по данной программе, которая включает все интересующие пользователя вопросы по данной программе, а также создана инструкция по использованию данного приложения.
4. Энерго и ресурсосбережения
n = /(8-tрп),(1)
где - время работы компьютера, ч;
Тпк =118 ч.;
tрп - суммарное время регламентированных перерывов, в течение
рабочего дня, ч;
tрп = 60 мин = 1 час.
Для нахождения суммарной продолжительности регламентированных перерывов в течение всего времени разработки программного модуля
,(2)
где - суммарная продолжительность регламентированных перерывов в течение всего времени разработки программного модуля.
ч.
Экономия электроэнергии рассчитывается по формуле
,(3)
где - потребляемая мощность ПК, кВт;
= 0,24 кВт;
- потребляемая мощность компьютера в ждущем режиме;
= 0,07 кВт.
руб.
Использование мер по энерго- и ресурсосбережению, при разработке программного модуля, позволило сэкономить денежные средства в размере 560 рублей.
Заключение
В результате выполнения данной работы был воплощен в жизнь проект по созданию программы "Передачи данных по сети".
В возможности данного программного средства входит передача данных в сети, а так же открытие переданного файла. Данный проект был разработан на таком объектно-ориентированном языке программирования Delphi, что позволяет программе обеспечить высокую скорость, а так же качество создаваемой программы, что в настоящие время имеет большое значение.
Данная программа ориентирована для внедрения в школьные учебные заведения, а также в ССУЗЫ и ВУЗЫ и предприятия где необходима пересылка данных по сети. Данная программа значительно снизит затраты времени на передачу файлов между компьютерами.
Список используемых источников
1. Архангельский А.Я. Программирование Delphi7/.- М.: ООО Бином - пресс, 2003 г.- 1152с.: ил.
2. Архангельский А.Я. Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi/, - М.: ООО "Бином-Пресс", 2010 г. - 1248 с.: ил.
3. Фаронов В.В. Delphi 7.0 - программирование на языке высокого уровня/: Учебник для вузов - СПб.: Питер, 2006 г. - 640с.: ил.
4. Бобровский С.И. Delphi 7. Учебный курс/. 200 4г.- 736 с.: ил.
5. Антоненко С.К. Правила дорожного движения, 2011 год.
Приложение
Серверная часть программы:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls, ComCtrls, XPMan, jpeg, ExtCtrls, Menus,ShellAPI;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
ServerSocket1: TServerSocket;
OpenDialog1: TOpenDialog;
ProgressBar1: TProgressBar;
XPManifest1: TXPManifest;
Image1: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MS: TMemoryStream;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Execute;
edit1.Text:=OpenDialog1.FileName;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Size: integer;
P: ^Byte;
begin
MS := TMemoryStream.Create; // Создание буфер для файла
MS.LoadFromFile(Edit1.Text); // Загружаем файл в буфер
// Посылаем информацию о файле (команда # название # размер)
ServerSocket1.Socket.Connections[0].SendText('file#'+Edit1.Text+'#'+IntToStr(MS.Size)+'#');
MS.Position := 0; // Переводим каретку в начало файла
P := MS.Memory; // Загружаем в переменную "P" файл
Size:=ServerSocket1.Socket.Connections[0].SendBuf(P^, MS.Size); // Посылаем файл
// Выводим прогресс
ProgressBar1.Position := Size*100 div MS.Size;
StatusBar1.SimpleText := 'Отправлено '+IntToStr(Size)+' из '+IntToStr(MS.Size)+' байт'
end;
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
if Socket.ReceiveText = 'end' then // Если клиент принял файл, то...
begin
StatusBar1.SimpleText := 'Клиент принял файл';
MS.Free; // Убиваем буфер
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerSocket1.Open;// открытие сокета
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ServerSocket1.Close; // закрытие сокета
end;
procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText := 'Соединение установлено';
end;
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText := 'Соединение не установлено';
end;
procedure TForm1.N1Click(Sender: TObject);
begin
ShellExecute(0, nil, PChar('NewProject.chm'), nil, nil, SW_SHOWNORMAL);
end;
end.
Клиентская часть программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ScktComp, jpeg, ExtCtrls, Menus,ShellAPI;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
StatusBar1: TStatusBar;
ProgressBar1: TProgressBar;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure Writing(Text: string);
procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
Name: string; // имя файла
Size: integer; // размер
Receive: boolean; // режим клиента
MS: TMemoryStream; // бурер
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Writing(Text: string);
var msg:integer;
begin
if MS.Size < Size then // если принято меньше размера файла то выполняем
MS.Write(Text[1], Length(Text)); // запись в буфер
// прогресс передачи файла
ProgressBar1.Position := MS.Size*100 div Size;
StatusBar1.SimpleText := 'принято '+IntToStr(MS.Size)+' из '+IntToStr(Size);
if MS.Size = Size then // если файл принят то выполняем
begin
Receive := false; // переход клиента в норм режим
MS.Position := 0; // перевод каретки в начало буфера
MS.SaveToFile('D:/Network/'+ExtractFileName(Name));// сохраняем файл
ClientSocket1.Socket.SendText('end'); // файл принят
MS.Free; // уничтожение буфера
StatusBar1.SimpleText := 'файл принят';
msg:=MessageDlg('Открыть загруженный файл?',mtCustom,[mbYes,mbNo], 0);
if msg = mrYes then
ShellExecute(0,'open',PChar(Name),'','',SW_SHOW);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var IP:String;
begin
InputQuery('Network','Введите IP адрес',IP);
ClientSocket1.Address:=IP; //IP
ClientSocket1.Open; // Открываем сокет
if createdir('D:\Network') = true then
showmessage('папка создана')
else
showmessage('при создании папки возникли ошибки');
Receive := false; // Режим клиента - приём команд
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
ClientSocket1.Close; // Закрываем сокет
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText := 'Соединение установлено';
end;
procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
StatusBar1.SimpleText := 'Соединение не установлено';
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var
Rtext: string; // принятый текст
begin
Rtext := Socket.ReceiveText;
if Receive then // если клиен в режиме приёма файла то
Writing(RText) // запись в буфер
else // если клиен не в режиме приёма файла то
begin
if Copy(Rtext, 0, Pos('#', Rtext) -1) = 'file' then // если это файл то
begin
MS := TMemoryStream.Create; // создание буфера
Delete(Rtext, 1, Pos('#', Rtext)); // определение имя
Name := Copy(Rtext, 0, Pos('#', Rtext) -1); // определение имя
Delete(Rtext, 1, Pos('#', Rtext)); // определение размер
Size := StrToInt(Copy(Rtext, 0, Pos('#', Rtext) -1));// вывод размера
Delete(Rtext, 1, Pos('#', Rtext)); // удаление разделителя
Label1.Caption := 'размер файла: '+IntToStr(Size)+' байт';
Label2.Caption := 'имя файла: '+Name;
Receive := true; // режим приёма файла
Writing(RText); // запись в буфер
end;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
ShellExecute(0, nil, PChar('NewProject.chm'), nil, nil, SW_SHOWNORMAL);
end;
end.
Размещено на Allbest.ru
Подобные документы
Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Проектирование программного модуля. Описание схемы программы и структуры разрабатываемого пакета. Написание кода ввода исходных данных и основных расчетов. Тестирование программного модуля. Тестирование решения задачи. Методы численного интегрирования.
курсовая работа [549,9 K], добавлен 20.03.2014Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.
дипломная работа [3,2 M], добавлен 30.06.2011Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Определение системы m линейных уравнений с n неизвестными. Математическая модель задачи. Анализ входных и выходных данных. Требования к надежности разрабатываемой программы. Структурная диаграмма программного модуля. Разработка блок-схем и тестирование.
курсовая работа [162,0 K], добавлен 28.08.2012Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Определение этапов разработки программного обеспечения. Разработка модели представления данных и структуры интерфейса. Проектирование входных и выходных форм. Этапы программирование приложения. Проверка функциональности на контрольном примере.
курсовая работа [1,2 M], добавлен 25.05.2009