Автор работы: Пользователь скрыл имя, 29 Августа 2013 в 18:25, дипломная работа
Разработка системы построения топологии сети и ее диагностики, а также кроссплатформенную реализацию приложения потребовала изучения и применения нижеприведенных информационных технологий.
К настоящему моменту наиболее популярными объектно-ориентированными языками программирования являются C#, Java, C++ и Objective-C. Учитывая преимущества и недостатки каждого из них, был сделан выбор в пользу языка C# и платформы Microsoft .NET Framework.
Разработка системы построения топологии сети и ее диагностики, а также кроссплатформенную реализацию приложения потребовала изучения и применения нижеприведенных информационных технологий.
К настоящему моменту наиболее популярными объектно-ориентированными языками программирования являются C#, Java, C++ и Objective-C. Учитывая преимущества и недостатки каждого из них, был сделан выбор в пользу языка C# и платформы Microsoft .NET Framework.
Microsoft .NET Framework – программная технология,
предназначенная для создания
как обычных программ, так и
веб-приложений. Фактически представляет
собой операционную систему
Описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений, базовые возможности языка программирования С#, включая новые синтаксические конструкции, появившиеся с выходом .NET 4.0, а также синтаксис и семантика языка CIL подробно описаны в [1]. Также там рассматривается формат сборок .NET, библиотеки базовых классов .NET файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET. Там описаны основные объекты модели ADO.NET и рассказано как сохранять, искать, фильтровать и сортировать данные с использованием этих объектов. Книга была очень полезна, так как организована как справочное пособие и позволяет быстро найти ответы на интересующие вопросы. Здесь рассматриваются как подсоединенные, так и отсоединенные объекты, в том числе DataAdapter.DataSet, Connection, Command, Transaction, DataReader и др. Отдельный раздел книги посвящен созданию эффективных Windows- и Web-приложений для доступа к БД с использованием ADO.NET.
Одним из лучших практических руководств по программированию можно назвать «Совершенный код». Оттуда почерпнуты эффективные методики и принципы программирования, которые были использованы при разработке.
Более детальная информация с рекомендациями по использованию конкретных классов приведена в [2]. В ней рассматривается подробное описание внутреннего устройства и функционирования общеязыковой исполняющей среды (CLR) Microsoft .NET Framework версии 2.0, система типов .NET Framework и разъяснены способы управления ими. Представлены концепции программирования с широким использованием библиотеки FCI, относящиеся ко всем языкам, ориентированным на работу с .NET Framework. Особое внимание уделено обобщениям, управлению асинхронными операциями и синхронизации потоков.
В процессе написания любого программного продукта приходится неоднократно сталкиваться с вопросами использования тех или иных функций. В этом случае незаменима электронная документация к .NET Framework [3], предлагаемая разработчиками компании Microsoft и входящая в пакет Visual Studio. Здесь приведены сведения об использовании классов системных библиотек и поведении конкретных методов.
Наравне с документацией [3], использовалась спецификация языка программирования C# [4], которая по праву считается первоисточником для изучения языка С# и платформы .NET Framework.
Так как для разрабатываемого программного
обеспечения важна
Для визуализации топологии сети было
рассмотрено множество
Также я обратил внимание на информацию из [8], в которой говорится о языках программирования, которые использует Unity3D. Платформа поддерживает три языка скриптования: JavaScript, C# и диалект Python'а под названием Boo. Все три одинаково быстры и взаимно совместимы. Все три могут использовать лежащие в основе .NET библиотеки, которые поддерживают базы данных, регулярные выражения, XML, доступ к файлам и работу с сетью. О скриптах часто думают, как о чем то ограниченном и медленном. А в Unity скрипты компилируются в машинный код и работают почти так же быстро, как C++. И в итоге мы получаем быстрое время интеграции и простоту использования.
Современные мобильные устройства
предоставляют пользователю совершенно
разные способы ввода данных и
методы управления: некоторые из них
имеют собственную клавиатуру, некоторые
– небольшое количество управляющих
клавиш и сенсорный экран, взаимодействие
с которым происходит при помощи
стилуса. Но самые современные
В iPhone используется multi-touch дисплей,
что означает поддержку одновременно
нескольких нажатий. Например, для того,
чтобы увеличить или уменьшить
фотографию, веб-сайт, карту местности
или что-то еще, достаточно положить
два пальца на дисплей, после чего
приблизить или удалить их. В iPhone
внедрены революционные технологии,
что обеспечивает очень большую
точность нажатия. Кроме этого, при
печати текста на виртуальной клавиатуре
происходит автоматическая коррекция
ошибок-промахов, которые могут случаться
довольно часто из-того, что палец
покрывает сразу несколько
Во время работы над интерфейсом приложения для получения достоверных данных использовалась литература, предоставленная создателями платформы iPhone OS. Большая ее часть еще не переведена на русский язык, но это не помешало получению нужной информации. Наличие такой документации в сети интернет весьма упростило ознакомление с платформой. Распространение такой литературы выгодно как разработчикам, так и создателям данной платформы: это снижает уровень сложности вхождения в разработку программных средств и увеличивает популярность платформы как среди программистов, так и среди пользователей, т.к. с увеличением количества программистов, использующих эту платформу в качестве рабочего инструмента, увеличивается и количество приложений, которые могут пользоваться спросом среди пользователей. Исключительная особенность данной платформы заключается в том, что все манипуляции с интерфейсом приложений происходят с использованием технологии Multi-Touch, разработка которой началась в 1982 году в Торонтском университете.
Основным источником информации о интерфейсе iPhone-приложений было руководство о проектировании интерфейса приложений, разрабатываемых для iOS [9]. Из него были почерпнуты как начальные, так и расширенные знания о методах функционирования платформы, организации операционной системы и принципах построения интерфейса приложения. В данном руководстве представлено большое количество примеров организации интерфейса приложений, исчерпывающая информация о целях такой организации и ее обоснование.
Так же, во время подготовки к работе мною активно изучалось руководство по проектированию интерфейса и логики приложений, ориентированных на работу в Internet в iOS [10]. Это руководство является незаменимым источником информации по данному вопросу. Из него были получены основы и правила построения интернет-приложений для платформы iPhone, которые имеют ряд отличительных признаков и параметров.
Во время изучения языка Objective-C большое количество информации было получено из [11]. Там было найдено большое количество примеров и советов, которые позволили легко и быстро разобраться в основах использования среды разработки, синтаксисе языка и его специфических свойствах. Т.к. в языке Objective-C используются парадигмы объектно-ориентированного программирование, ознакомление с ним не заняло большого количества времени. Синтаксис языка С-подобный, что упростило его изучение, т.к. полученные в университете знания включают в себя как парадигмы объектно-ориентированного программирования, так и знание языка С.
При проектировании архитектуры многие
шаблоны были подчерпнуты из [12].
Основным паттерном является Model-view-controller
(MVC, «Модель-представление-
На момент проектирования необходимо было получить знания о базовых методах диагностики сети. В [16] подробно описывается эффективная стратегия `снизу вверх`, основанная на изоляции проблем внутри каждого из семи уровней модели OSI. Проанализировав применение сетевых анализаторов для измерения пропускной способности и задержек, выявления `узких мест`, а также исследования времени отклика серверов и клиентов, были сформированы основные требования к подходу диагностики. Кроме того, были получены полезные советы, диаграммы, примеры и файлы отслеживания работы сети, иллюстрирующие наиболее важные концепции и методы анализа сетей. В [16] представлено описание: кабельных сетей и методов их тестирования; технологий кодирования пересылаемых данных; влияния различных типов широковещательного трафика; работы и методов анализа коммутаторов; методов анализа сетей Ethernet и Token Ring; датаграмм и маршрутизации; особенностей протокола IP, включая адресацию, выделение подсетей и использование пакетов ICMP; методов анализа протокола IPX; методов анализа протоколов UDP, TCP, SPX и SPX II; способов поиска ресурсов с помощью NetBIOS, SAP и DNS; регистрации пользователей через различные стеки протоколов; принципов работы протоколов DHCP, SMB, NCP, FTP, HTTP и MS Browse; методов измерения пропускной способности и задержки, включая `клин` запаздывания.
Эндрю Таненбаум в [17] подробно и на примерах описал основные принципы работы современных компьютерных сетей и технологий. Он последовательно изложил основные концепции, определяющие современное состояние и тенденции развития компьютерных сетей. Автор подробнейшим образом объясняет устройство и принципы работы аппаратного и программного обеспечения, рассматривает все аспекты и уровни организации сетей - от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа.