Материал: Автоматизация учета клиентов туристического агентства (на примере ООО "Актив-тур")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
32
Кол-во дней
Стоимость
Общая стоимость
Список платежей
Рег. номер
№ дог.
Дата
Клиент
Сумма
Сумма договора
Остаток
Администратор,
менеджер
Список
договоров
№ дог.
Дата
Клиент
Тур
Питание
Кол-во
Стоимость
Общая стоимость
Администратор,
менеджер
Предварительный
договор о
предоставлении
туричтисеского
продукта
Предмет договора;
Номер договора;
Сумма;
Реквизиты клиента;
Условия договора;
Дата договора.
Администратор,
менеджер
Отчет о работе
менеджеров
ФИО менеджера;
Номер договора;
Количество договоров;
Сумма договоров.
Администратор
2.6 Выбор языка программирования
Далее важно определить язык программирования, который поможет
создать приложение для взаимодействия с БД.
При формировании программного комплекса следует рассматривать его
как отложную систему, разные части которой взаимодействуют друг с другом
для решения общей задачи в то же время, различные его программные модули
могут решать независимые задачи При проектировании должны программные
33
систем необходимо поддерживать такого рода модульность, как для
разделения труда программистов, так и доя упрощения поддержки конечного
продукта и расширения его функционала.
Разделяя систему на модули с определенным функционалом, скрытым
за некоторым интерфейсом, появляется возможность разрабатывать
различные части программной системы1, используя независимым стек
технологий. Поэтому нет необходимости писать всю систему целиком,
используя один язык программирования. Необходимо рассматривать язык
программирования как инструмент и, соответственно использовать тот
инструмент, которым лучше подходит к решаемой задаче ключевым
параметрами при выборе языка программирования являются:
кроссплатформенность,
Торговое мультипарадигменность,
эффективность,
безопасность,
выразительность,
поддержка,
расширяемость,
поддержка методов параллельного программирования.
Кроссплатформенность - обеспечивает возможность сборки исходного
кода без его изменения доя различные аппаратные и программные систем. Под
аппаратными системами в первую очередь понимаются системы1 с
различными архитектурами процессора и объемом оперативной/постоянной
памяти. Однако наличие одинаковой аппаратной платформы1 еще не
гарантирует совместимость программного обеспечения. Как правило,
современное программное обеспечение разрабатывается с учетом работы на
этой аппаратной платформе некоторой операционной системы. Для языка
программирования кроссплатформенность означает наличие компилятора дои
среды выполнения под различные аппаратные и программные платформы^
34
Торговое мультипарадигменность - поддержка языком различные
парадигм программирования, что позволяет писать код продукта в том ключе,
который более удобен доя конкретно решаемой задачи
Так, например, для программирования общей архитектуры системы
хорошо подходит ООП парадигма, а код алгоритмов часто просто приходиться
писать в императивном стиле на языке низкого уровня, пожертвовав
удобством ради скорости выполнения.
Эффективность
Эффективность выполнения одной и тот же последовательности
операций написанного на различных языках крайне трудно оценить, как
минимум из-за различия в семантике языка однако можно с уверенностью
разделить языки по скорости выполнения генерируемого на их основе
машинного дои байт кода на три класса.
Компилируемые языки
Это языки компиляция которых порождает объектный код целевой
платформы. Такой объектный код являет непереносимым, в том плане, что он
предназначен доя исполнения на процессоре тот архитектуры, для которых
компилировала. Таким образом, доя каждой аппаратной платформы может
быть собран объектный код на основе программного кода продукта
компилятор данного языка в объектный код этот аппаратной платформы. Это
позволяет.
Компилируемые языки работают быстрее интерпретируемых и
компилирующихся в байт-код.
Языки с компиляцией в байт-код
Такие языки транслируются в промежуточное представление - байт код
виртуальной машины, который можно рассматривать как аналог ассемблера
доя целевой виртуальной машины. Как правдой содержат средства JIT
компиляции, что почти уравнивает их по скорости выполнения с
компилируемыми языками.
Интерпретируемые языки
35
Программный код написанной на этот категории языков работает
медленнее всего. Причина в том что в случае компиляции в машинный дои
байт код компилятор строит абстрактное синтаксическое дерево на основе
всей информации о программе, которое анализируется и затем
оптимизируется. Интерпретатор лишен возможности проанализировать весь
программный код целиком, он вынужден анализировать команды построчно и
интерпретировать их, каждую в отдельности.
Безопасность
Многие конструкции языка могут содержать потенциальные опасности
их использования. Возможности низкоуровневого доступа к памяти,
преобразование типов операции с указателями, отсутствие обработки
исключений, и встроенной проверки критических ситуаций, такта как выход
за границы массива обращение к неинициализированным данным приводат к
тому, что код становится небезопасным. Во время выполнения такой код
может выполнить недопустимую операцию дои привести к краху ОС Для
параллельных программных систем факторами уменьшающими безопасность
кода является отсутствие механизмов синхронизации потоков разделяемых
переменных, атомарных операций и других языковых средств
Выразительность языка
Язык накладывает множество ограничений при проектировании
архитектуры ПО. Языковые конструкции одновременно ограничивают
программиста и в то же время предоставляют ему некоторый уровень
абстракции. Так например, программы, написанные в опеперативном стиле на
ассемблере предоставляют неограниченный контроль над машиной, но в то же
время, код на языке ассемблера труден доя восприятия человеком, его сложно
модифицировать и поддерживать. Это происходит по причине того что
ассемблерные инструкции описывают элементарные операции над данными,
в то время как программист представляет логику работы более абстрактно.
За структурным программированием появились объектно-
ориентированное и др. При всем этом разнообразии рассматриваемые далее
36
языки за исключением C, относятся к объектно-ориентированному типу но
при этом поддерживают и оперативную и функциональную парадигмы,
однако большинство кода на такта языках пишется в объектно-
ориентированном стиле. ООП парадигма прочно задала свое место в
разработке программных систем благодаря основным принципам:
наследованию, инкапсуляции, полиморфизму и абстрагированию. Так же как
все структурные языки имеют реализации цикла, ветвления, так и все ООП
языки так или иначе реализует языковые средства доя организации сокрытия
функционала за некоторым интерфейсом, полиморфного поведения объектов
языке и обеспечения низкой связанности компонентов. Однако все языки
делают это по- своему.
В настоящее время программисты не испытывают недостатка в выборе
средств программирования: существует множество различных языков, как
универсальных, используемых во многих сферах программирования и
способных работать на нескольких аппаратных и программных платформах,
так и специализированные, ориентированные на определенную область
разработки, как, например, PROLOG - язык программирования высокого
уровня, предназначенный для реализации систем и программ искусственного
интеллекта. Существует множество различных классификаций языков
программирования: по уровню семантики (языки высокого и низкого уровня),
по используемым парадигмам программирования, по безопасности и по ряду
других характеристик. Совокупность требований к разрабатываемой системе
и определяет выбор средств ее реализации на этапе проектирования;
учитываются требования к ее быстродействию, надежности, информационной
безопасности.
Цель данной работы - провести сравнительный анализ свойств языков
Python и PHP. Условно можно разделить эту работу на две основные части:
- теоретическая часть, содержащая краткий обзор возможностей
языков программирования и сферы их применимости,
Источник: https://baza.diplomsite.ru/previewfile/1438