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

Программный продукт в виде системы тестирования должен подходить под любые системные характеристики персональных компьютеров в техникуме, работать в максимальной производительности на процессорах Intel Core 2 Duo с тактовой частотой 2.2 Ггц или аналогичных, при ограничении в 512 МБ оперативной памяти и занимать на жестком диске пространство, не мешающее работе операционной системе.

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

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

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

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

Объектно-ориентированный язык программирования — парадигма программирования, в которой основными концепциями являются понятия объектов и классов [1].

Прототипно-ориентированный язык программирования — стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а повторное использование (наследование) производится путём клонирования существующего экземпляра объекта — прототипа [2].

Для этой задачи подходят такие языки программирования PHP (серверная часть), JavaScript (клиентская часть).

PHP (англ. PHP: Hypertext Preprocessor) — язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов [3].

JavaScript — прототипно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript [4].

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

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

В качестве хранилища данных были выбраны две СУБД:

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

  • MySQL — свободная система управления базами данных (СУБД). MySQL является решением для малых и средних приложений. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы [6].

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

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

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

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

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

C# поддерживается только на операционной системе Windows, не обеспечивая кроссплатформенную функцию программного продукта.

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

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

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

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

  • взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle, Интерфейс PDO);

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

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

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

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

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

  • шаблонизация.

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

JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обусловливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.

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

Для сравнение баз данных были выбраны две СУБД.

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

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 терабайт [6].

Для данного программного продукта были реализованы два интерфейса взаимодействия с СУБД, для PostgreSQL и MySQL.

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