Разработка браузера на Borland Delphi 7

Автор работы: Пользователь скрыл имя, 21 Мая 2013 в 02:01, курсовая работа

Описание работы

Актуальность. Данная программа предназначена для быстрого поиска, какой либо информации. Именно через нее мы получаем основной поток информации и проводим в ней большую часть времени. Данную программу не надо устанавливать, программа открывается за доли секунды. Так же лёгкий интерфейс.
Объект: Инструментальные средства и технологии разработки Windows-приложений
Предмет: Программирование в Borland Delphi 7
Цель: Разработка приложения для быстрого поиска, какой либо информации.

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

ВВЕДЕНИЕ ..7
Глава 1 Разработка Web-browser на основе EI в среде Delphi…..8
1.1 Назначение работы и область ее применения.....................................10
1.2 Технологии и средства разработка программы 13
1.3 Описание языка программирования Delphi. 15
Вывод по главе 1 17

Глава 2 Этапы разработки программы 18
2.1 Обоснование выбора языка программирования 18
2.2 Алгоритм программы 19
2.3 Структурные и функциональные характеристики
программы. 20
2.4 Пользовательский интерфейс 21
2.5 Описание кода, тестирование и верификация
программы. 23
Вывод по главе 2 23

ЗАКЛЮЧЕНИЕ 23
ЛИТЕРАТУРА 25
ПРИЛОЖЕНИЕ 26

Файлы: 1 файл

kursovaya_rabota_ISIT.doc

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

C#

С#— объектно-ориентированный  язык программирования. Разработан в 1998—2001 годах группой инженеров под  руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270. Компилятор C# входит в стандартную установку .NET Framework.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих  предшественников — языков C++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).

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

 

    1. Инструменты С++ для разработки клиент-серверных приложений.

 

Интегрированная среда разработки (Integrated Development Environment, IDE).

Библиотека Winsock поддерживает два вида сокетов - синхронные (блокируемые) и асинхронные (неблокируемые). Синхронные сокеты задерживают управление на время выполнения операции, а асинхронные возвращают его немедленно, продолжая выполнение в фоновом режиме, и, закончив работу, уведомляют об этом вызывающий код.

ОС Windows 3.x поддерживает только асинхронные сокеты, поскольку, в среде с корпоративной многозадачностью захват управления одной задачей "подвешивает" все остальные, включая и саму систему. ОС Windows 9x\NT поддерживают оба вида сокетов, однако, в силу того, что синхронные сокеты программируются более просто, чем асинхронные, последние не получили большого распространения. Эта статья посвящена исключительно синхронным сокетам (асинхронные - тема отдельного разговора).

Сокеты позволяют  работать со множеством протоколов и  являются удобным средством межпроцессорного взаимодействия, но в данной статье речь будет идти только о сокетах семейства протоколов TCP/IP, использующихся для обмена данными между узлами сети Интернет. Все остальные протоколы, такие как IPX/SPX, NetBIOS по причине ограниченности объема журнальной статьи рассматриваться не будут.

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

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

 

Вывод по главе 1

 

Microsoft Visual Studio .NET является последней по времени  выпуска версией популярной и  широко используемой среды разработки  профессионального программного  обеспечения (ПО) производства компании Microsoft.

Объединяя в  своем составе все положительные  стороны предыдущих версий, данная обеспечивает возможность использования  всех преимуществ современной технологии Microsoft .NET. В числе основных достоинств MS VS .NET, подостоинству оцененных сообществом профессиональных программистов, можно отметить следующие моменты:

-Повышение  производительности труда разработчиков  - Среда разработки Visual Studio .NET продолжает  традиции корпорации icrosoft в области  предоставления эффективных инструментальных средств для разработчиков сложного ПО. Обеспечивая среду разработки для всех языков программирования, дополненную набором окон с интуитивно понятными инструментальными средствами, контекстной справкой и автоматизированными механизмами выполнения разнообразных задач разработки, Visual Studio .NET позволяет в сжатые сроки проводить профессиональную разработку программ различного назначения;

-Поддержка  нескольких языков программирования  – в большинстве профессиональных  групп разработчиков, как правило, используется несколько языков программирования – для поддержки такой практики в Visual Studio .NET впервые была обеспечена возможность использования сразу нескольких языков в рамках одной и той же среды. Благодаря применению общего конструктора для компонентов, для форматов XML и HTML, а также наличию единого отладчика, Visual Studio .NET предоставляет разработчикам эффективные средства, независимые от языка программирования. Разработчикам ПО при использовании Visual Studio .NET уже не придется ограничиваться одним языком программирования, адаптируя свою рабочую среду к особенностям этого языка. Более того, Visual Studio .NET позволяет программистам многократно использовать уже имеющиеся у них наработки, а также навыки разработчиков, создающих свои программы на разных языках программирования;

-Единая модель  программирования для всех приложений - При создании приложений ранее  разработчикам приходилось использовать  различные приемы программирования, которые существенным образом  зависели от типа приложения — технологии разработки клиентского программного обеспечения, общедоступных веб-приложений, программного обеспечения для мобильных устройств и бизнес-логики промежуточного уровня значительно различались между собой. Среда разработки Visual Studio .NET решает данную проблему, предоставляя в распоряжение разработчиков единую модель создания приложений всех категорий. Эта интегрированная модель обладает привычным и одновременно интуитивно понятным интерфейсом, позволяя разработчикам использовать свои навыки и знания для эффективного создания широкого спектра приложений.

-Всесторонняя  поддержка жизненного цикла разработки - Среда Visual Studio .NET обеспечивает поддержку  всего жизненного цикла разработки: начиная с планирования и проектирования  через разработку и тестирование и вплоть до развертывания и последующего управления. Обеспечивая возможность легкого расширения среды разработки посредством включения продуктов независимых разработчиков, Visual Studio .NET предоставляет всестороннюю адаптируемую среду для создания всех приложений, жизненно необходимых для успешной работы современных компаний.

 

Глава 2 Этапы  разработки программы

2.1 Обоснование выбора языка программирования

 

Для реализации алгоритма в качестве основного  был выбран язык программирования С++, который стал едва ли не стандартом для написания любых достаточно сложных программ.

Язык программирования служит двум связанным между собой  целям: он дает программисту аппарат  для задания действий, которые  должны быть выполнены, и формирует  концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько «близок к машине», что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько «близок к решаемой задаче», чтобы концепции её решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания С++.

С++ - это универсальный  язык программирования, задуманный так, чтобы сделать программирование более простым и приятным для  серьёзного программиста. За исключением  второстепенных деталей С++ является надмножеством языка программирования C (его объектно-ориентированным расширением).

Основной целью  разработчиков C было создание языка, который  вместо неудобного и лишённого наглядности  ассемблера применялся бы в самых  насущных задачах системного программирования. К достоинствам языка С относятся лаконичность записи алгоритмов, логическая стройность написанных на нём программ, их переносимость между компьютерами с различной архитектурой и различными операционными средами (чего не скажешь о программах на машинно-зависимом языке ассемблера). Компиляторы языка разработаны практически для всех существующих в настоящее время платформ. Как никакой другой язык программирования, язык С «доверяет» программисту. Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Во многих случаях программы, написанные на этом языке программирования, сравнимы по скорости с программами, написанными на языке ассемблера, при этом они более наглядны и просты в сопровождении. Всё это делает его удобным и эффективным средством для решения разнообразных задач.

Помимо возможностей, которые дает C, С++ предоставляет  гибкие и эффективные средства определения  новых типов. Используя определения  новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.

Различие между C и С++ состоит в первую очередь  в степени внимания, уделяемого типам  и структурам. C выразителен и  снисходителен. С++ еще более выразителен, но чтобы достичь этой выразительности, программист должен уделить больше внимания типам объектов. Когда известны типы объектов, компилятор может правильно обрабатывать выражения, тогда как в противном случае программисту пришлось бы задавать действия с мучительными подробностями. Знание типов объектов также позволяет компилятору обнаруживать ошибки, которые в противном случае остались бы до тестирования. Немаловажно то, что использование системы типов для того, чтобы получить проверку параметров функций, защитить данные от случайного искажения, задать новые операции и т.д., само по себе не увеличивает расходов по времени выполнения и памяти. Система типов особенно полезна в нетривиальных задачах.

 

2.2 Алгоритм программы

 

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

На рисунке 1 предоставлена блок-схема запуска  работы сервера.

На рисунке 2 предоставлена блок-схема запуска клиентской программы.

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

Основной принцип  технологии "клиент-сервер" заключается  в разделении функций приложения на три группы:

ввод и отображение  данных (взаимодействие с пользователем);

прикладные  функции, характерные для данной предметной области;

функции управления ресурсами (файловой системой, базой  даных и т.д.)

 Поэтому,  в любом приложении выделяются  следующие компоненты: компонент представления данных:

-прикладной  компонент 

-компонент  управления ресурсом

 

Рис.1 Блок схема

 

 

2.3 Структурные и функциональные  характеристики программы.

 

Для работы с  библиотекой Winsock 2.х в исходный тест программы необходимо включить директиву "#include <winsock2.h>", а в командной строке линкера указать "ws2_32.lib". В среде разработки Microsoft Visual Studio для этого достаточно нажать <Alt-F7>, перейти к закладке "Link" и к списку библиотек, перечисленных в строке "Object/Library modules", добавить "ws2_32.lib", отделив ее от остальных символом пробела.

Перед началом использования  функций библиотеки Winsock ее необходимо подготовить к работе вызовом  функции "int WSAStartup (WORD wVersionRequested, LPWSADATA lpWSAData)" передав в старшем байта слова wVersionRequested номер требуемой версии, а в младшем - номер подверсии.

Аргумент lpWSAData должен указывать  на структуру WSADATA, в которую при  успешной инициализации будет занесена информация о производителе библиотеки. Никакого особенного интереса она не представляет и прикладное приложение может ее игнорировать. Если инициализация проваливается, функция возвращает ненулевое значение.

Создание объекта "сокет". Это осуществляется функцией "SOCKET socket (int af, int type, int protocol)". Первый слева аргумент указывает на семейство используемых протоколов. Для Интернет - приложений он должен иметь значение AF_INET.

Следующий аргумент задает тип создаваемого сокета - потоковый (SOCK_STREAM) или дейтаграммный (SOCK_DGRAM) (еще  существуют и сырые сокеты, но они не поддерживаются Windows - см раздел "Сырые сокеты").

Последний аргумент уточняет какой транспортный протокол следует  использовать. Нулевое значение соответствует  выбору по умолчанию: TCP - для потоковых  сокетов и UDP для дейтаграммных. В большинстве случаев нет никакого смысла задавать протокол вручную и обычно полагаются на автоматический выбор по умолчанию.

Если функция завершилась  успешно она возвращает дескриптор сокета, в противном случае INVALID_SOCKET.

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

Клиент: для установки  соединения с удаленным узлом  потоковый сокет должен вызвать  функцию "int connect (SOCKET s, const struct sockaddr FAR* name, int namelen)". Датаграмные сокеты работают без установки соединения, поэтому, обычно не обращаются к функции connect.

После вызова connect система  предпринимает попытку установить соединение с указанным узлом. Если по каким-то причинам это сделать  не удастся (адрес задан неправильно, узел не существует или "висит", компьютер находится не в сети), функция возвратит ненулевое значение.

Информация о работе Разработка браузера на Borland Delphi 7