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

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

Основные принципы проектирования форм:

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

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

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

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

–       взаимозависимые или связанные элементы должны отображаться в одной форме.

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

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

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

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

Организация системы навигации и системы отображения состояний.

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

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

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

–       выбрать из предложенных альтернатив опцию или набор опций;

–       ввести информацию;

–       выбрать опцию из набора опций, которые могут изменяться в зависимости от текущего контекста;

–       подтвердить фрагмент введенной информации перед продолжением ввода.

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

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

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

–       обеспечение хороших и информативных сообщений об ошибках;

–       использование обратимых действий, позволяющих пользователям исправлять их собственные ошибки;

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

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

.3 Разработка программного продукта

В приложении, согласно разработанному интерфейсу, автоматически описывается новый класс Tforml, являющийся наследником класса (Tform). Объявляется новая переменная Forml типа Tforml, через которую можно получитьдоступ к свойствам, методам и событиям формы. Описание класса Tform1: Label1 - дата;- время;- подсказка;- подсказка и отображение внесенных средств;- номер счета/телефона;- определяется дата;reg1 (reg2, reg3) - отвечают за скрытие/отображение элементов;и labnastr - формирование чека;- создание элементов управления;= настройка надписей и изображений на кнопках buttons;Timer1Timer - обновление времени в Label2.

Переменные Var:- положение курсора в поле Edit1 (используется для отображения вводимого номера);

phone - маскаполя Edit:.

ButtonsAndKeybrdCreate;

phone:=’+7 ( ) - - - ‘;- массив кнопок на главной странице (Tmybutton);- массив кнопок клавиатуры + кнопка удалить (Tkeyboard);- массив кнопок навигации (Tnavigator). С помощью нового класса организована навигация по основным операциям приложения:

of

: begin:=’Далее’; top:=650; left:=1100;;

: begin:=’Назад’; top:=650; left:=16;;

: begin:=’НаГлавную’; top:=650; left:=565;:=rgb(236,159,45);;

: begin.Size:=22;:=’Погашениекредитов’;:=300;:=250; left:=10;:=true;

end;

end;- номер действия (главная страница = 0, ввод номера = 1, проверка данных = 2, внесение наличных = 3). В зависимости от номера действия организовано динамическое изменение вида формы (Рисунок 2-5):

a:=tnavigator(self);.index of

: beginstat of

: begin:=2; form1.reg2(true);.Label3.Caption:=’Проверкавведенныхданных’;;

: begin:=3; form1.reg3(true);.Label3.Caption:=’Внеситеналичные’;;

: begin.Label4.Visible:=false;.Label3.Caption:=’Возьмитечек’;.chek;;;;

: beginstat of

: begin:=0; form1.reg1(false);.Label3.Caption:=’Выберитеоператора’;.ButtonsNastr(true);[4].Visible:=true;;

: begin:=1; form1.reg2(false);.Label3.Caption:=’Введитеномер’;;

: begin:=2; form1.reg3(false);.reg2(true);.Label3.Caption:=’Проверкавведенныхданных’;;;;

: begin.ButtonsNastr(false);[4].Visible:=false;[3].Visible:=true;;;

money,komis - внесенная сумма и комиссия от нее;- массив полей для формирования чека;- имя получателя;- строка с введенным номером из поля Edit1.

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

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

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

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

В программе созданы несколько новых классов с использованием переопределения методов при наследовании (Рисунки 9 и 10).В классе-потомке при этом используется специальный модификатор override.

Класс Tnavigator.Кнопки навигации: Назад, На Главную, Далее:

Tnavigator=class(Tpanel)click; override;:integer;;

КлассTkeyboard. Клавиатура (от 1 до 0 и кнопка Удалить):

Tkeyboard=class(Tpanel);override;:string;

end;

Рисунок 9- Класс Tnavigator и класс Tkeyboard

Класс Tmybutton.Кнопки на главной странице.

Tmybutton=class(Tpanel);override;:integer;:timage;

end;

Рисунок 10- Класс Tmybutton.Кнопки на главной странице

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

var: Tform1;:array[1..n] of Tmybutton;:array[1..m] of tkeyboard;

navigat:array[1..4] oftnavigator;

Затем в тексте программы с помощью вызова конструктора Create создается новый экземпляр указанного класса, ссылка на который присваивается описанной переменной, например:

i:=1 to n do[i]:=tmybutton.Create(self);

withbuttons[i] do

В программе организованы режимы проверки введенных данных и визуальный контроль действий операций пользователя (Рисунки 11 и 12).

Рисунок 11 - Проверка данных

Рисунок 12 - Внесение наличных

Первоначально формирование чека было организовано в пользовательской процедуреForm1. Сhek при этом надписи в чеке печатались друг на друге (Рисунок 13).

Рисунок - 13 Некорректная печать чека

Эта ошибка была исправлена путем переноса процедуры создания полей чека из пользовательской процедуры в событийную процедуру FormCreate (Рисунок 14).

Рисунок 14 - Корректная печать чека

7. Разработка проектной документации

.1 Руководство пользователя

При входе на главную страницу пользователь (плательщик) видит основное меню, которое содержит:

меню выбора оператора;

меню погашения кредита.

Интерфейс представлен ранее на рис.15

После выбора оператора пользователь переходит на страницу "введите номер", представленную на рисунке 15.

Рисунок 15 - Страница ввода номера телефона

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

Осуществляется переход на страницу проверки номера. Страница представлена ранее на рисунке 11.

На странице имеется три функциональных клавиши: назад, на главную, далее. Клавиши назад и на главную выполняют соответствующие действия, клавиша далее осуществляет переход на страницу внесения наличных денег, представленную на рисунке 12 ранее.

После внесения наличных денег в купюроприемник происходит перенаправление на страницу печати чека, представленную на рисунке 14 и собственно печать чека. На данной странице есть функциональная клавиша "на главную". Если пользователь входит в меню погашения кредита, то на главной странице он должен выбрать функциональную клавишу "погашение кредита". Далее происходит перенаправление на страницу выбора банка клиента. Страница выбора банка представлена на рисунке 17.

Рисунок 17 - Страница выбора банка

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

Рисунок 18 - Страница проверки правильности ввода номера счета

После нажатия на функциональную клавишу "далее" происходит перенаправление на страницу печати чека, аналогичную странице печати чека оплаты сотового оператора, представленную ранее на рисунке 14. Происходит печать чека. На данной странице есть функциональная клавиша "на главную", при нажатии на которую пользователь может перейти на страницу входа и осуществить новые операции.

.2 Руководство программиста

Структура проекта.

В состав проекта входит несколько файлов и каталогов.

После того как приложение Win32 было спроектировано и сохранено, в каталог проекта помещаются следующие основные файлы:

–       Projectl .dproj - файл группы проектов;

–       Projectl.dpr - файл проекта, позволяющий управлять взаимодействием форм и выполнением различных действий на уровне всего приложения. В нем содержатся ссылки на все формы проекта и относящиеся к ним модули, а также код инициализации приложения;

–       Projectl. Res - файл ресурсов приложения. Двоичный файл, содержащий все необходимые для проекта ресурсы (пиктограммы, указатели мыши, графические изображения или строки). Название у него такое же, как и у файла проекта.

–       Projectl.exe- файл приложения;

–       Unitl.dfm - файл, определяющий внешний вид формы;.pas - файл исходного кода модуля.

8. Оценка эффективности программного продукта


Оценка стоимости разработки программного обеспечения

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

Стоимость разработки определяется следующим образом:

(1)

где С - стоимость;

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

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

Трудозатраты вычисляют по следующей формуле:

(2)

Здесь Р - размер кода программы;

П - временная производительность.

Для измерения производительности можно пользоваться методом функциональных точек

Метод заключается в следующем.

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

Следующим шагом метода будет подсчет количества факторов, приведенных ниже:

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

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

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