Дипломная (вкр): Разработка программного обеспечения для терминалов приема платежей за услуги связи

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Финансирование не предусмотрено.

.2 Требования к программе


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

выбор сотового оператора;

ввод сотового номера абонента с возможностью проверки его корректности и исправления;

ввод номера счёта для оплаты кредита с возможностью проверки его корректности и исправления;

возможность контроля суммы внесённого платежа;

печать чека, подтверждающего выполнение операции.

Требования к обеспечению надежного функционирования программы

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:

организацией бесперебойного питания технических средств;

использованием лицензионного программного обеспечения;

регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998г. Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств";

регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов.

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

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

Отказы из-за некорректных действий пользователей системы. Отказы программы возможны вследствие некорректных действий оператора (пользователя) при взаимодействии с операционной системой.

3.3 Условия эксплуатации


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

Минимальное количество персонала, требуемого для работы программы, должно составлять не менее 2 штатных единиц - системный администратор и конечный пользователь программы - клиент, вносящий средства платежа. Системный администратор должен иметь высшее профильное образование. В перечень задач, выполняемых системным администратором, должны входить:

задача поддержания работоспособности технических средств;

задачи установки (инсталляции) и поддержания работоспособности системных программных средств - операционной системы и необходимых библиотек;

задача установки (инсталляции) программы;

задача создания резервных копий программы.

Требования к составу и параметрам технических средств

В состав технических средств должны входить:

стандартный терминал для приема платежей;

серверная станция.

Серверная станция должна иметь следующие характеристики:

универсальный 2-процессорный 4U сервер для монтажа в стойку STSS Flagman RX247.3-036LH;

до 2-х процессоров Intel Xeon серий E5-2600 v2 (до 12 ядер, до 30MB L3 cache, до 8.0GT/s QPI) или E5-2600 (до 8 ядер, до 20MB L3 cache, до 8.0GT/s QPI);

до 1536 ГБ оперативной памяти DDR3-1866 ECC Registered или Unbuffered;

дисковая подсистема до 36-ти 3.5" SATA/SAS HDD/SSD с горячей заменой + до 2-х фиксированных 2.5" SATA/SAS HDD/SSD;

4-канальный интегрированный сетевой адаптер 1 Гбит/с;

- система удалённого управления сервером IPMI 2.0 Server Management with KVM-over-LAN & Virtual-media-over-LAN;

- отказоустойчивая 1+1 система электропитания с поддержкой горячей замены блоков питания

Сервер с установленным программным обеспечением:

- ОС: MS Windows Server, Linux, Solaris, FreeBSD;

от Delphi 2007 до Delphi XE8;

SQL-сервер MySQL 5.1 выше.

Клиентский компьютер (на терминальной станции) с ОС: MS Windows Server, Linux, Solaris, FreeBSD, прикладное ПО - Delphi 2007, Delphi XE8.

Клиентский компьютер с одним из установленных браузеров: Microsoft Internet Explorer v6 и выше, Mozilla Firefox 3.0 и выше, Google Chrome 3.0 и выше, Safari 3.0 и выше, Opera 9.0 и выше.

4. Выбор метода разработки программного обеспечения

Различаютмодульное, объектно-ориентированное программирование, компонентно-ориентированное программирование и параллельное программирование, как методы разработки программного обеспечения.

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

Достоинства модульных программ следующие:

–       легко составляются и отлаживаются. Функциональные компоненты такой программы могут быть написаны и отлажены порознь.

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

Недостатки модульности:

–       иногда требует большего времени ЦП, когда программа отличается, наличием большого числа подпрограмм, написанных на языках высокого уровня.

–       может потребоваться несколько больший объем памяти, если каждой подпрограмме отводится отдельная часть рабочей памяти.

Объектно-ориентированное программирование (ООП) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования. Конструкция "класс" обеспечивает механизм инкапсуляции для реализации абстрактных типов данных. Инкапсуляция как бы скрывает и подробности внутренней реализации типов, и внешние операции и функции, допустимые для выполнения над объектами этого типа.ООП - это методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логической и физической, а также статической и динамической моделей проектируемой системы.

Использование ООП существенно повышает уровень унификации разработки и пригодность для повторного использования не только программного обеспечения, но и проектов, что, в конце концов, ведет к сборочному созданию программного обеспечения. Системы зачастую получаются более компактными, чем их не объектно-ориентированные эквиваленты, что означает не только уменьшение объема программного кода, но и удешевление проекта за счет использования предыдущих разработок.

Преимущества ООП:

–       объектная декомпозиция дает возможность создавать программные системы меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств;

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

–       объектная модель вполне естественна, поскольку в первую очередь ориентирована на человеческое восприятие мира, а не на компьютерную реализацию;

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

К недостаткам ООП относятся некоторое снижение производительности функционирования программного обеспечения (которое, однако, по мере роста производительности компьютеров становится все менее заметным) и высокие начальные затраты.

Компонентно-ориентированное программирование (КОП) можно описать примерно такой формулой: КОП = ООП+ модульность (включая сокрытие информации и позднее связывание модулей, то есть возможность подгружать необходимые модули в процессе выполнения программы, а не заранее, как в старых системах программирования). ВКОП запрещено наследование от типов, реализованных в других модулях; наследовать можно только абстрактным, чисто интерфейсным типам.

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

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

Параллельное программирование включает в себя все черты более традиционного, последовательного программирования, но в нем есть три дополнительных, четко определенных этапа:

–       определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно;

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

–       реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного программирования.

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

В ООП используется важное понятие "класс", т.е. абстрактное представление чего-либо, тогда как объект является используемым экземпляром того, что представляет класс.

В ООП, как классы, так и объекты включают в себя поля, свойства, методы и события.Поля как члены класса служат для хранения данных, содержащихся в объекте. Поля аналогичны переменным, поскольку они непосредственно читаются и устанавливаются. Свойства же, по сути, предоставляют способ доступа к полям объекта из программы, в которой этот объект используется.Свойства играют крайне важную роль в объектно-ориентированном программировании.Они как бы "размывают" различия между кодом и данными.Для программ, использующих объекты определенного класса, свойства выглядят как поля с данными, однако внутри класса свойства реализуются с помощью специального программного кода.

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

Механизм реализации свойств дает возможность осуществлять проверку вводимых данных на уровне класса. Таким образом, разработчик, использующий в своей программе некоторый объект, избавлен от необходимости осуществлять дополнительную проверку задаваемых им значений свойств.

Методами называют действия, которые объект может выполнить. Это процедуры или функции, которые выполняются в ответ на какой-либо запрос (нарисовать, изменить размер, переместить и т. П.). При этом метод, который должен вызываться в ответ на запрос, определяется классом, экземпляром которого является данный объект. И наоборот, если объекты принадлежат к одному и тому же классу, то они должны вызывать одинаковые методы в ответ на один и тот же запрос.

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

.1 Выбор языка программирования

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

С точки зрения того, внесены ли в набор понятий особые, специфичные для предметной области объекты, языки делятся на универсальные (процедурные) и специализированные. К последним можно отнести Prolog, Lisp. Универсальные языки позволяют реализовать любой алгоритм, пользуясь стандартным набором конструкций. Благодаря этому, код на таком языке может быть достаточно легко перенесен из одного процедурного языка в другой при помощи консервативных изменений.

Любой язык характеризуется набором базовых типов, структурированных данных, степенью контроля типов, наличием динамических массивов переменной длины, подпрограмм, типов памяти, модулей, объектным подходом, переносимостью (независимость от аппаратуры).

При выборе среды реализации сравнивают программные продукты и пользуются различными средствами разработки приложений. Использование возможностей средств разработки приложений позволяет автоматизировать процесс разработки. Инструментальные средства позволяют:

–       создавать интерфейс, используя стандартные компоненты;

–       передавать управление процессам, в зависимости от состояния системы;

–       создавать оболочки для баз данных, как и сами базы данных;

–       разрабатывать более надежные программы путем обработки исключительных ситуаций возникающих при некорректной работе программы.

Современные средства разработки характеризуются параметрами:

–       поддержка объектно-ориентированного стиля программирования;

–       возможность использования CASE-технологий, как для проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных;

–       использование визуальных компонент для наглядного проектирования интерфейса;

–       поддержка БД.

Выше перечисленными свойствами обладают языки программирования:

–       Visual C++;

–       Java;

–       Delphi.

Каждое из этих средств содержит весь спектр современного инструментария, который был перечислен ранее. Главное отличие состоит в области использования рассматриваемых средств.++ (Си++). Объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году.Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость. В результате чего создание сложных и надежных программ требует от разработчиков высокого профессионального уровня. В основе языка C - требования системного программиста: полный и эффективный доступ ко всем ресурсам компьютера, средства программирования высокого уровня, переносимость программ между различными платформами и операционными системами. С++, сохраняя совместимость с C, вносит возможности объектно-ориентированного программирования, выражая идею класса (объекта) как определяемого пользователем типа. Благодаря перечисленным качествам, C/C++ занял позицию универсального языка для любых задач.(Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка - компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора - виртуальной Java-Maшины JVM(JavaVirtualMachine), версии которой созданы для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому язык Ява стал очень популярным. Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформно-независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология JavaBeans). Пока основной недостаток этого языка - невысокое быстродействие, так как язык Ява интерпретируемый.2007 for Win32 компании CodeGear , подразделения компании Borland . Назначение - быстрое создание приложений (RapidApplicationDeveloping, RAD). Язык программирования Delphi - язык программирования, который используется в одноимённой среде разработки и является комбинацией нескольких важнейших технологий:

Источник: https://www.bibliofond.ru/detail.aspx?id=868848