Диплом: Автоматизация управления поставками для "ИП Андреев А.А."

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
41
• Справочников, которые ведутся методом работы с программой
самим персоналом системы, который с ней работает;
• Подстроенных таблиц для работы системы в требуемых условиях,
исходная загрузка которых реализована вместе с инсталляцией системы, и
данные, в которых может изменятся админом системы;
• Таблиц сохраненной и текущей информации, доступ к которым
реализуется на основе ПО системы с указанными правами пользователей.
Обмен данными между комплексами задач, включёнными в состав
системы, а также остальными системами реализуется в рамках функций,
включенных в систему.
В данном дипломном проекте должны быть спроектированы следующие
локальные классификаторы:
сотрудники компании;
заказчики;
проекты;
задачи;
специализации сотрудников.
1.4.2 Обоснование проектных решений по программному
обеспечению
Программное обеспечение (ПО) — совокупность программ для реализации
целей и задач автоматизированной системы. [2]
ПО делится на два вида: общее (операционные системы, операционные
оболочки, компиляторы, интерпретаторы, программные среды для разработки
прикладных программ, СУБД, сетевые программы и т.д.) и специальное
(совокупность прикладных программ, разработанных для конкретных задач в
рамках функциональных подсистем, и контрольные примеры). [2]
Программные средства общего назначения должны удовлетворять
следующим требованиям [1] :
представлять собой набор взаимосвязанных программ с
нормализованными методическими указаниями и инструкциями по
42
использованию обслуживающих программ на всех стадиях реализации расчётов
комплексов задач;
строиться по принципу открытого программного обеспечения с целью
дальнейшего развития и совершенствования;
управлять устройствами комплекса технических средств и
организовать очередность решения задач;
осуществлять работу программ самоконтроля и иметь группу
диагностических тестов;
обеспечивать защиту данных и программ пользователя друг от друга
и от операционной системы;
обеспечивать удобное хранение данных и обращение к любой
совокупности данных;
обеспечивать надежность хранения информации при сбоях ЭВМ;
проводить анализ аварийных ситуаций, определять их причину,
сообщать о ней и предлагать различные варианты действия пользователю.
В настоящее время для реализации базы данных существует большое
количество программных продуктов. Выбор СУБД является одним из важнейших
моментов в разработке проекта программной системы, так как он
принципиальным образом влияет на все её функционирование. При этом должны
учитываться индивидуальные требования каждого проекта и должен быть найден
компромиссе потребностей разработчиков и пользователей будущей ИС [1].
Для проведения сравнительного анализа СУБД были выбраны 6
характеристик, имеющих большое значение в ходе реализации и дальнейшего
пользования приложением: управляемость, сопровождаемость, удобство
использования, срок разработки и требования к квалификации пользователя. При
оценке факторов качества использована методика, изложенная в пособии [2].
В сопровождаемости ПО главное значение имело наличие русскоязычного
сообщества пользователей системы, положительные отзывы потребителей о
поддержке пользователей со стороны разработчика, а также удобство и
эффективность исправления, усовершенствования или адаптации структуры и
содержания описаний данных.
43
При оценке удобства интерфейса внимание обращалось на наличие
русскоязычной административной панели, русскоязычных шаблонов,
документации на русском языке, а также возможность формирования сложных
нестандартных отчётов.
При оценке срока разработки проекта учитывалась необходимость
создания готового к использованию проекта в течение 1,5 - 2 месяцев.
При оценке уровня профессиональной подготовки пользователей основное
значение имели простота освоения рабочей среды и возможность использования
непрофессионалом.
Среди факторов, имеющих особую важность при рассмотрении требований
СУБД к рабочей среде, можно выделить минимальные требования к
оборудованию и операционной системе, требования системы к объему
оперативной и дисковой памяти, а также разновидности операционных систем,
под управлением которых способна работать СУБД.
Поскольку все характеристики имеют для нашего проекта разную
значимость, им были назначены весовые коэффициенты (таблица 1.4).
Таблица 1.4
Значимость показателей качества ПО
Позитивные характеристики Вес, ki Негативные характеристики Вес,ki
1. Управляемость 4 4. Срок разработки 4
2. Удобство интерфейса 3
5.
Требования к квалификации
пользователя
4
3. Сопровождаемость 3 6. Требования к рабочей среде 2
Сумма 10 Сумма 10
Для вычисления интегрального показателя качества будем использовать
методику, основанную на ранжированных экспертных оценках частных
показателей качества [6]. Для нормирования 100-бальной шкалы рассчитаны
коэффициенты нормирования для положительных (1 - 3) и негативных (4 - 6)
характеристик:
N + = 100/10 = 10; N - = 100/10 = 10.
Далее определены ранги для каждого признака, путем умножения
коэффициента весомости каждой шкалы на коэффициент нормирования:
R
i
= entier (ki • N±}, i = 1..6
44
Все показатели оценивались по шкале из трех градаций: низкая, средняя и
высокая оценка (таблица 1.5).
Таблица 1.5
Градации показателей качества
Низкая
оценка
Средняя
оценка
Высокая
оценка
1. Управляемость 0 20 40
2. Удобство интерфейса 0 15 30
3. Сопровождаемость 0 15 30
4. Срок разработки 0 20 40
5. Уровень квалификации пользователя 0 20 40
6. Требования к рабочей среде 0 10 20
Ввиду того, что предприятие заказчика является небольшим, а объем
хранимых данных относительно невелик, принято решение рассмотрения
свободных и/или бесплатных версий СУБД. Для анализа были выбраны три
популярных программных продукта: Mysql, Oracle Application Express (APEX),
PostgreSQL. Экспертная оценка проводилась авторами на основании
собственного опыта использования данных систем и исследования литературных
источников [3-6].
Итоговая таблица 1.6 содержит оценки каждого фактора качества и
интегральную оценку каждого продукта.
Таблица 1.6
Расчет интегрального показателя качества
Программный продукт
MS Access
Oracle Apex PostgreSQL
У правляемость 40 40 20
Удобство интерфейса 30 15 15
Сопровождаемость 30 15 30
Срок разработки 20 40 20
Уровень квалификации пользователя 0 40 20
Требования к рабочей среде 10 10 10
Сумма позитивных признаков (
1
_
3
) 100 70 65
Сумма негативных признаков (
4
_
6
) 30 90 50
Итого (сумма (
1
_
3
) _ сумма (
4
_
6
)) 70 _ 20 15
45
По итогам расчета интегрального показателя качества оптимальным
средством реализации проекта среди рассмотренных является Mysql, так как его
оценка наивысшая (70%). На втором месте оказался PostgreSQL (15%).
Суммарная оценка качества Oracle Apex - отрицательная, в связи с чем эта система
не рекомендована для использовании в данном проекте.
MS Access известна простотой, минимальным порогом вхождения и
хорошей известностью.
MS Access считается самой популярной СУБД, которая имеет свой сервер,
богатый функционал и множество инструментов [1].
Положительные черты MS Access:
• Легкость применения;
• Поддержка основных функций SQL;
• Хорошая система защиты;
• Обработка многочисленных объемов данных;
• Оперативная работа.
На основании данного сравнения выбираем для использования СУБД MS
Access .
Далее важно определить язык программирования, который поможет
создать приложение для взаимодействия с БД.
При формировании программного комплекса следует рассматривать его
как отложную систему, разные части которой взаимодействуют друг с другом для
решения общей задачи в то же время, различные его программные модули могут
решать независимые задачи При проектировании должны программные систем
необходимо поддерживать такого рода модульность, как для разделения труда
программистов, так и доя упрощения поддержки конечного продукта и
расширения его функционала.
Разделяя систему на модули с определенным функционалом, скрытым за
некоторым интерфейсом, появляется возможность разрабатывать различные
части программной системы1, используя независимым стек технологий. Поэтому
нет необходимости писать всю систему целиком, используя один язык
программирования. Необходимо рассматривать язык программирования как
инструмент и, соответственно использовать тот инструмент, которым лучше
46
подходит к решаемой задаче ключевым параметрами при выборе языка
программирования являются:
• кроссплатформенность,
• Торговое предприятиепарадигменность,
• эффективность,
• безопасность,
• выразительность,
• поддержка,
• расширяемость,
• поддержка методов параллельного программирования.
Кроссплатформенность - обеспечивает возможность сборки исходного
кода без его изменения для различных аппаратных и программных систем. Под
аппаратными системами в первую очередь понимаются системы с различными
архитектурами процессора и объемом оперативной/постоянной памяти. Однако
наличие одинаковой аппаратной платформы еще не гарантирует совместимость
программного обеспечения. Как правило, современное программное обеспечение
разрабатывается с учетом работы на этой аппаратной платформе некоторой
операционной системы. Для языка программирования кроссплатформенность
означает наличие компилятора дли среды выполнения под различные аппаратные
и программные платформы.
Мультипарадигменность - поддержка языком различные парадигм
программирования, что позволяет писать код продукта в том ключе, который
более удобен доя конкретно решаемой задачи
Так, например, для программирования общей архитектуры системы
хорошо подходит ООП парадигма, а код алгоритмов часто просто приходится
писать в императивном стиле на языке низкого уровня, пожертвовав удобством
ради скорости выполнения.
Эффективность
Эффективность выполнения одной и тот же последовательности операций
написанного на различных языках крайне трудно оценить, как минимум из-за
различия в семантике языка, однако можно с уверенностью разделить языки по
47
скорости выполнения генерируемого на их основе машинного дои байт кода на
три класса.
Компилируемые языки
Это языки компиляция которых порождает объектный код целевой
платформы. Такой объектный код являет непереносимым, в том плане, что он
предназначен доя исполнения на процессоре тот архитектуры, для которых
компилировала. Таким образом, доя каждой аппаратной платформы может быть
собран объектный код на основе программного кода продукта компилятор
данного языка в объектный код этот аппаратной платформы. Это позволяет.
Компилируемые языки работают быстрее интерпретируемых и
компилирующихся в байт-код.
Языки с компиляцией в байт-код
Такие языки транслируются в промежуточное представление - байт код
виртуальной машины, который можно рассматривать как аналог ассемблера доя
целевой виртуальной машины. Как правдой содержат средства JIT компиляции,
что почти уравнивает их по скорости выполнения с компилируемыми языками.
Интерпретируемые языки
Программный код написанной на этот категории языков работает
медленнее всего. Причина в том что в случае компиляции в машинный дои байт
код компилятор строит абстрактное синтаксическое дерево на основе всей
информации о программе, которое анализируется и затем оптимизируется.
Интерпретатор лишен возможности проанализировать весь программный код
целиком, он вынужден анализировать команды построчно и интерпретировать их,
каждую в отдельности.
Безопасность
Многие конструкции языка могут содержать потенциальные опасности их
использования. Возможности низкоуровневого доступа к памяти, преобразование
типов операции с указателями, отсутствие обработки исключений, и встроенной
проверки критических ситуаций, такта как выход за границы массива обращение
к неинициализированным данным приводат к тому, что код становится
небезопасным. Во время выполнения такой код может выполнить недопустимую
операцию дои привести к краху ОС Для параллельных программных систем
48
факторами уменьшающими безопасность кода является отсутствие механизмов
синхронизации потоков разделяемых переменных, атомарных операций и других
языковых средств
Выразительность языка
Язык накладывает множество ограничений при проектировании
архитектуры ПО. Языковые конструкции одновременно ограничивают
программиста и в то же время предоставляют ему некоторый уровень абстракции.
Так например, программы, написанные в опеперативном стиле на ассемблере
предоставляют неограниченный контроль над машиной, но в то же время, код на
языке ассемблера труден доя восприятия человеком, его сложно модифицировать
и поддерживать. Это происходит по причине того что ассемблерные инструкции
описывают элементарные операции над данными, в то время как программист
представляет логику работы более абстрактно.
За структурным программированием появились объектно-
ориентированное и др. При всем этом разнообразии рассматриваемые далее языки
за исключением C, относятся к объектно-ориентированному типу но при этом
поддерживают и оперативную и функциональную парадигмы, однако
большинство кода на такта языках пишется в объектно-ориентированном стиле.
ООП парадигма прочно задала свое место в разработке программных систем
благодаря основным принципам: наследованию, инкапсуляции, полиморфизму и
абстрагированию. Так же как все структурные языки имеют реализации цикла,
ветвления, так и все ООП языки так или иначе реализует языковые средства доя
организации сокрытия функционала за некоторым интерфейсом, полиморфного
поведения объектов языке и обеспечения низкой связанности компонентов.
Однако все языки делают это по- своему.
В настоящее время программисты не испытывают недостатка в выборе
средств программирования: существует множество различных языков, как
универсальных, используемых во многих сферах программирования и способных
работать на нескольких аппаратных и программных платформах, так и
специализированные, ориентированные на определенную область разработки,
как, например, PROLOG - язык программирования высокого уровня,
предназначенный для реализации систем и программ искусственного интеллекта.
49
Существует множество различных классификаций языков программирования: по
уровню семантики (языки высокого и низкого уровня), по используемым
парадигмам программирования, по безопасности и по ряду других характеристик.
Совокупность требований к разрабатываемой системе и определяет выбор
средств ее реализации на этапе проектирования; учитываются требования к ее
быстродействию, надежности, информационной безопасности.
Цель данной работы - провести сравнительный анализ свойств языков
Python и PHP. Условно можно разделить эту работу на две основные части:
- теоретическая часть, содержащая краткий обзор возможностей
языков программирования и сферы их применимости,
- практическая часть, содержащая данные о проведенном
эксперименте с приведением кода программ, выполняющих аналогичные
действия, написанных на исследуемых языках, выходные данные и их
непосредственный анализ, включающий сравнительную характеристику времени
выполнения программы, объем исполняемых файлов и нагрузку на память ЭВМ.
В результате по полученным данным можно сделать обобщенный вывод о
характеристиках языков и степени их различия.
Одним из распространенных средств разработки является
высокоуровневый язык программирования Python. Python имеет поддержку
различных парадигм программирования (структурного,
объектноориентированного функциональное и других); в нем используется
динамическая типизация переменных, обеспечивается периодическое
освобождение памяти от неиспользуемых объектов.
Также Python обладает развитой системой модулей, как стандартных, также
написанных на Python, а, следовательно, обладающих теми же преимуществами,
такими как кроссплатформенность, и позволяющих реализовывать наиболее
общие задачи, так и специфических, применяемых в том случае, когда
необходимо решать более широкий круг задач.
Ввиду широкого ряда функциональных возможностей Python может
использоваться в самых различных сферах; с его помощью можно осуществлять
разработку web-приложений, автоматизированных информационных систем,
научных вычислительных комплексов, графических пакетов.
50
PHP - язык программирования общего назначения, созданный
преимущественно для работы над web- приложениями, для генерации HTML-
страниц и работы с базами данных. PHP обладает Си-подобным синтаксисом,
также является парадигмальным и кроссплатформенным, ядро PHP также
реализует средства для автоматического управления памятью; вся выделенная
память возвращается системе после завершения работы скрипта [2].
Динамические библиотеки PHP предоставляют широкие возможности для
работы с базами данных, поддерживается DBX для работы на абстрактном
уровне, стандарт ODBC; осуществляется коммуникация с использованием
различных протоколов (IMAP, SNMP, POP3, HTTP и другие); также PHP
обеспечивает работу с сокетами, динамической графикой, криптографическими
библиотеками. [3]
Наиболее широкое применение PHP находит при разработке web-
приложений: подавляющее большинство сайтов и сервисов разработано именно с
его помощью. Множество различных web- фреймворков и CMS-систем имеет в
своей основе именно PHP.
1.4.3 Обоснование проектных решений по техническому обеспечению
Техническое обеспечение (ТО) является совокупностью технических
средств (ТС), необходимых для работы ИС, а также нужная документация на эти
средства и процессы производства.
Комплекс ТС включает в себя:
• ПК всех моделей;
• Механизмы сбора, анализа, отправки и хранения данных;
• Механизмы отправки данных и линии связи;
• Периферия и средства автоматического съема данных;
• Канцелярские принадлежности.
Для создаваемой ИС нужно такое аппаратное обеспечение:
• ПК для работы бухгалтера;
• ЛВС;
• Сервер БД;
• Принтеры (МФУ).

Смотрите также:

"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран
Work-life balance подход в управлении рабочим временем молодых сотрудников (на примере ООО «МГТ-сервис»)
Автоматизация бизнес-процессов вывода банковского продукта на рынок