Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом(Пример).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
787.82 Кб
Скачать

1.4. Средства реализации

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

Объектно-ориентированный язык программирования — язык, построенный на принципах объектно-ориентированного программирования.

В основе концепции объектно-ориентированного программирования лежит понятие объекта — некой субстанции, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).

Подходят для этой разработки такие языки программирования как Delphi, PHP, JavaScript и С#.

Delphi — императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями развития языков программирования: появились class helpers, перегрузки операторов и другое.

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.[7]

JavaScript — прототипно-ориентированный скриптовый язык программирования. Обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.[4]

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

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

PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД) то есть поддерживающая некоторые технологии, реализующие объектно-ориентированный подход.

MySQL — свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией.

1.5. Сравнительный анализ имеющихся средств

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

Рассмотрим объектно-ориентированный язык программирования Delphi.

Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке Microsoft .NET. Реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.

Кратко подытожим. Delphi обладает мультиплатформенностью, хотя в основном ориентирован на Windows и поддерживает .NET технологии.

Для сравнения возьмём другой объектно-ориентированный язык программирования с поддержкой .NET - C#.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую

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

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

Рассмотрим также более узкоспециализированные языки программирования, такие как JavaScript и PHP.

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.

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

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

В области программирования для сети Интернет PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками,

используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

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

  • автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

  • взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

  • автоматизированная отправка HTTP-заголовков;

  • работа с HTTP-авторизацией;

  • работа с cookies и сессиями;

  • работа с локальными и удалёнными файлами, сокетами;

  • обработка файлов, загружаемых на сервер;

  • работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.[3]

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

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

PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2003 (ISO/IEC 9075).

На данный момент (версия 9.1.3), в PostgreSQL имеются следующие ограничения:

  • максимальный размер базы данных - нет ограничений

  • максимальный размер таблицы 32 ТБайт

  • максимальный размер записи 1,6 ТБайт

  • максимальный размер поля- 1 ГБайт

  • максимум записей в таблице - ограничено размером таблицы

  • максимум полей в таблице 250—1600, в зависимости от типов полей

  • максимум индексов в таблице – нет ограничений.

Сильными сторонами PostgreSQL считаются:

  • поддержка БД практически неограниченного размера;

  • мощные и надёжные механизмы транзакций и репликации;

  • расширяемая система встроенных языков программирования: в стандартной поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно можно использовать PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme и PL/sh, а также имеется поддержка загрузки C-совместимых модулей;

  • наследование;

  • легкая расширяемость.

В MySql максимальные размеры таблиц:

  • MySQL 3.22: до 4 ГБ;

  • MySQL 3.23+: до 8 млн ТБ (263 байт);

Размер таблицы ограничен её типом. В общем случае тип MyISAM ограничен предельным размером файла в файловой системе операционной

системы. Например в NTFS этот размер теоретически может быть до 32 эксабайт. В случае InnoDB одна таблица может храниться в нескольких файлах, представляющих единое табличное пространство. Размер последнего может достигать 64 терабайт.[1]

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.[2]

Итого обе СУБД подходят для реализации хранилища информации при создании системы тестирования так как их возможностей полностью хватает для обеспечения заданной функциональности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]