Схема банкомата
Содержание
Введение
1 Краткое описание предметной области
2 Выделение функциональных частей
3 Разработка алгоритма работы программы
4 Реализация системы
5 Тестирование и анализ результатов
Заключение
Список использованной литературы
Введение
Компьютеры появились в жизни человека не так уж давно, но почти любой человек может с твердой уверенностью сказать, что будущее - за компьютерными технологиями.
На заре своего появления компьютеры представляли собой громоздкие устройства, работающие на лампах и занимающие настолько много места, что для их размещения требовалась не одна комната. При всем этом производительность таких машин, по сравнению с современными, была невероятно мала.
Время шло. Постепенно научная мысль и возможности ученых развились настолько, что производство меньших по размеру, но более производительных компьютеров стало реальностью.
Процесс развития персонального компьютера движется с постоянно увеличивающимся ускорением, в связи с чем в ближайшем будущем компьютеры станут обязательным и незаменимым атрибутом любого предприятия, офиса и большинства квартир.
Причиной
столь интенсивного развития информационных
технологий является все возрастающая
потребность в быстрой и
Одной из наиболее перспективных на данный момент областей исследования является разработка так называемых нейрокомпьютеров, основанных на молекулах ДНК определенного вида водорослей, и способных хранить громадные объёмы информации относительно современного ПК при минимальных размерах самих носителей информации.
Большой
успех в последнее время
Компьютеры
уже прочно вошли в современный
мир, во все сферы человеческой деятельности
и науки, тем самым создавая необходимость
в обеспечении их различным программным
обеспечением. Конечно, в первую очередь
это связано с развитием
Объединение компьютеров в сети позволило значительно повысить производительность труда. Компьютеры используются как для производственных (или офисных) нужд, так и для обучения.
В настоящее
время локальные вычислительные
(ЛВС) получили очень широкое распространение.
Это вызвано несколькими
объединение компьютеров в сеть позволяет значительно экономить денежные средства за счет уменьшения затрат на содержание компьютеров (достаточно иметь определенное дисковое пространство на файл-сервере (главном компьютере сети) с установленными на нем программными продуктами, используемыми несколькими рабочими станциями);
локальные сети позволяют использовать почтовый ящик для передачи сообщений на другие компьютеры, что позволяет в наиболее короткий срок передавать документы с одного компьютера на другой;
локальные
сети, при наличии специального программного
обеспечения (ПО), служат для организации
совместного использования
Кроме всего прочего, в некоторых сферах деятельности просто невозможно обойтись без ЛВС. К таким сферам относятся: банковское дело, складские операции крупных компаний, электронные архивы библиотек и др. В этих сферах каждая отдельно взятая рабочая станция в принципе не может хранить всей информации (в основном, по причине слишком большого ее объема). Сеть позволяет ИЗБРАННЫМ (зарегистрированным на файл-сервере) пользователям получать доступ к той информации, к которой их допускает оператор сети.
Техника (от греч. techne - искусство, ремесло, мастерство), совокупность средств человеческой деятельности, создаваемых для осуществления процессов производства и обслуживания непроизводственных потребностей общества. Термин "техника" часто употребляется также для совокупной характеристики навыком и приемов, используемых в какой-либо сфере деятельности человека. В технике материализованы знания и опыт, накопленные в процессе развития общества.
Средства
техники применяются при
Современная
техника характеризуется
В настоящее время широкое применение получили банкоматы и инфокиоски. Почти на всех предприятиях работники получают заработную плату на банковский счет, к которому привязана дебетовая карта. Это позволяет предприятию экономить средства на выплатах заработных плат, так как наличные деньги требуют расходов на обслуживание. Безналичный перевод в свою очередь осуществляется практически без затрат усилий и времени.
Однако в силу быстрых темпов технического прогресса далеко не все умеют правильно пользоваться банкоматами для получения наличных денег. Особенно велик этот процент среди людей старшего поколения.
Целью данной
курсовой работы является разработка
программного обеспечения, моделирующего
работу банкомата. Данное программное
обеспечение может служить
1 Краткое описание предметной области
Современное
программирование – это в наше
время совершенно удобный подход
к построению сложных (и не очень)
программ и систем. Когда мы открываем
любое Windows приложение, мы видим окно
с множеством кнопок, разделов меню,
окон редактирования, списков и т.д.
Все это объекты. Причем сами по себе
они ничего не делают. Они ждут каких-то
событий – нажатия
Задачей
данной курсовой работы является разработка
программного обеспечения, моделирующего
работу банкомата. Данное программное
обеспечение может служить
Область применения данного программного обеспечения довольно широка: учебные классы банков, курсы компьютеров, персональные компьютеры пользователей.
Разрабатываемое
программное обеспечение
2 Выделение функциональных частей
Согласно требованиям к курсовой работе, программное обеспечение должно состоять не менее чем из двух файлов с кодом (*.cpp), объединённых в проект. Кроме того, должен быть включён хотя бы один пользовательский заголовочный файл.
В соответствии с этим выделим два файла: Screen.cpp и ProjectBankomat.cpp. В файле Screen.cpp будут описаны функции заставки. В файле ProjectBankomat.cpp будут описаны функции моделирования работы банкомата. Каждый из них имеет свой заголовочный файл: Bankomat.h и Screen.h соответственно. Данные файлы объединены в проект, параметры которого описаны в файле ProjectBankomat.bpr.
Выделим основные функциональные части работы разрабатываемого программного обеспечения.
Инициализация. Данная функциональная часть отвечает за чтение параметров банковских карточек из файла.
Вставка карточки. Данная функциональная часть отвечает за выбор банковской карточки, «увязывание» её с банкоматом и авторизацию (ввод ПИН кода).
Основное меню. Данная функциональная часть отвечает за выбор операции с банковской карточкой (выдача наличных, просмотр баланса, платежи).
Выдача наличных. Данная функциональная часть отвечает за выдачу наличных денег владельцу банковской карточки в соответствии с запросом.
Просмотр баланса. Данная функциональная часть отвечает за информирование владельца банковской карточки о наличии денежных средств на балансе.
Платежи. Данная функциональная часть отвечает за выполнение платежей за телефон. При этом пользователь должен иметь возможность выбора сотового оператора.
Данные функциональные части выполняют определенные операции с банковскими карточками. Последовательность вызова данных функциональных частей будет определяться алгоритмом работы программы.
3 Разработка алгоритма работы программы
программный банкомат алгоритм тестирование
В разделе 2 наше программное обеспечение было разделено на функциональные части. Все они выполняют определенные операции с банковской карточкой и взаимодействуют между собой в соответствии с определенным алгоритмом.
Первой функциональной частью, которой передается управление при запуске программного обеспечения, является модуль инициализации. После считывания параметров карточек из фалов настроек, управление передается функциональной части, отвечающей за вставку карточки. Выбрав одну из двух карточек, необходимо произвести «авторизацию» - ввести ПИН код к карточке. В случае правильного ввода управление будет передано в основное меню, где пользователь должен будет выбрать вид операции над банковской карточкой: выдача наличных, просмотр баланса, платежи. Также здесь возможен выбор завершения работы с банковской карточкой – выход с «возвратом» банковской карточки.
При выборе операции выдачи наличных, управление программой от основного меню передается функциональной части выдачи наличных. Данная функциональная часть отвечает за запрос суммы для выдачи, проверку наличия данной суммы на счету владельца банковской карточки, определение доступности денежных средств в банкомате и непосредственно за определение количества банкнот и их номинала. После выполнения «выдачи» денег, управление передается обратно в основное меню.
При выборе операции определения баланса, управление программой от основного меню передается функциональной части определения баланса. Данная функциональная часть отвечает за запрос суммы средств на счету владельца банковской карточки и вывод её на экран. После выполнения вывода суммы денег, управление передается обратно в основное меню.
При выборе операции выполнения платежей управление от основного меню передается функциональной части выполнения платежей. Данная функциональная часть отвечает за определение оператора сотовой связи, запрос номера телефона и суммы платежа. При наличии на балансе указанной суммы средств производится оплата. После выполнения платежа, управление передается обратно в основное меню.
Алгоритм взаимодействия функциональных частей приведен ниже.
Рисунок 3.1 – Алгоритм взаимодействия функциональных частей
4 Реализация системы
Использование
так называемых RAD-систем, т.е. систем
мгновенной разработки приложений, значительно
ускоряет процесс разработки и является
более простым и выгодным способом,
нежели использование иных сред. К
примеру, возьмем Microsoft Visual Studio 2005. В
ней реализовано как
Вот почему приоритет отдается Borland C++ Builder. Он очень прост в освоении, является полным аналогом IDE Delphi, только для использования языка C++, а множество компонентов для работы с базами данных делают ее просто отличной средой для разработки ПО. Конечные файлы имеют малый размер (в отличие от Delphi, где скомпилированные проекты, использующие VCL, занимают не менее 398 Кб).
Новейшая
система объектно-
C++ Builder может
быть использован везде, где
требуется дополнить
C++ –
компилируемый строго
При создании С++ стремились сохранить совместимость с языком С. Большинство программ на Си будут исправно работать и с компилятором С++.
Нововведениями С++ в сравнении с С являются:
поддержка объектно-ориентированного программирования;
поддержка обобщённого программирования через шаблоны;
дополнительные типы данных;
исключения;
пространства имён;
встраиваемые функции;
перегрузка операторов;
перегрузка имён функций;
ссылки и операторы управления свободно распределяемой памятью;
дополнения к стандартной библиотеке.
Достоинства языка C++:
Масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем.
Возможность работы на низком уровне с памятью, адресами, портами. Что, при неосторожном использовании, может легко превратиться в недостаток.
Возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.
C++ Builder (по-русски
обычно произносят [си-плюс-плюс
би́лдэр], [си би́лдэр]) — программный
продукт, инструмент быстрой
Достоинства С++ Builder:
1. Скорость визуальной разработки
Интегрированная среда разработки объединяет Редактор форм. Инспектор объектов. Палитру компонент. Администратор проекта и полностью интегрированные Редактор кода и Отладчик - инструменты быстрой разработки программных приложений, обеспечивающие полный контроль над кодом и ресурсами.
Профессиональные
средства языка C++ интегрированы в
визуальную среду разработки. C++Builder
предоставляет
Конструирование по способу "drag-and-drop " позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.
Механизмы
двунаправленной разработки (two-way-tools)
устраняют барьеры между
Свойства, методы и события - это именно те элементы языка, которые обеспечивают быструю разработку приложений в рамках объектно-ориентированного программирования. Свойства позволяют легко устанавливать разнообразные характеристики объектов. Методы производят определенные, иногда довольно сложные, операции над объектом. События связывают воздействия пользователя на объекты с кодами реакции на эти воздействия. События могут возникать при таких специфических изменениях состояния объектов как обновление данных в интерфейсных элементах доступа к базам данных. Работая совместно, свойства, методы и события образуют среду RAD (Rapid Application Development) быстрого и интуитивного программирования надежных приложений для Windows.
Визуальное
наследование форм воплощает важнейший
аспект объектно-ориентированного программирования
в удобном для пользования
инструменте визуального
Испытание прототипа позволяет без труда переходить от прототипа приложения к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах интегрированной среды. Чтобы удостовериться, что ваша программа производит ожидаемые результаты, раньше приходилось многократно проходить по циклу редактирование => компиляция => сборка, непроизводительно расходуя время. C++Builder объединяет три этапа разработки в единый производственный процесс. В результате удается строить приложения, базирующиеся на текущих требованиях заказчика, вместе с тем гибкие настолько, чтобы быстро адаптировать их к новым запросам пользователей.
Мастер
инсталляции руководит
Исходные тексты Библиотеки Визуальных Компонент облегчают разработку новых компонент на базе готовых примеров.
Отрытые инструменты API могут быть непосредственно интегрированы в визуальную среду системы. Вы сможете подключить привычный текстовый редактор или создать собственного мастера для автоматизации выполнения повторяющихся процедур.
Расширенная
математическая библиотека содержит дополнительные
унифицированные функции
2. Продуктивность компонент
Библиотека
Визуальных Компонент VCL приобрела
статус нового промышленного стандарта
и в настоящее время
Хранилище объектов является инструментом новой методики хранения и повторного использования модулей данных, объектов, форм и программной бизнес-логики. Поскольку построение нового приложения на существующем фундаменте значительно экономит временные затраты, хранилище объектов предоставляет для повторного использования готовые структуры: формы и законченные программные модули. Создавая прототип нового приложения, вы можете наследовать, ссылаться или просто копировать существующую структуру - точно так же архитектор приступает к проектированию нового здания.
Компонента ChartFX обеспечивает немедленное построение на вашей форме разнообразных графиков, диаграмм, таблиц и предусматривает проверку правописания на многих языках. В варианте C++Builder Standard эта компонента является единственным представителем группы ActiveX.
Интеграция компонент ActiveX позволяет расширить Библиотеку Визуальных Компонент, включив компоненты стандарта ActiveX для разработки приложений в сети Internet. Если
3. Мощность языковых средств C++
Оптимизирующий
32-разрядный компилятор построен по
проверенной ведущей
Новые элементы стандарта ANSI/ISO языка C++ представлены шаблонами, пространствами имен, исключениями, информацией о типах времени выполнения (RTTI), наряду с расширением набора ключевых слов bool, explicit, mutable, typename. automated и др.
Инкрементальный
линкер осуществляет быструю и надежную
сборку приложении в формате ЕХЕ
файлов сравнительно меньшего размера.
Автоматически устраняя повторную
сборку не изменившихся исходных объектных
файлов и подключение неиспользуемых
функций, инкрементальный линкер строит
эффективную выполняемую
Чистый и доступный код приложений, которые C++Builder строит на основе предоставляемых разработчику компонентных свойств, событий и методов, исключает скрытые и трудные в отладке макросы.
Поддержка промышленных стандартов ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP, ISAPI. NSAPI, ODBC, Unicode и MBCS.
Отладчик низкого уровня CPU View позволяет проникнуть в специфику работы вашего приложения на уровне машинных кодов. Окно отладчика разделено на пять панелей. Панель ассемблерных команд интерпретирует исполнение исходной C++ программы. Панель памяти показывает содержимое блока памяти, доступного загруженному и исполняемому в данный момент модулю. Панель стека отображает текущее содержимое верхушки программного стека. Панель регистров и панель флагов показывают текущие значения регистров и служебных битов центрального процессора. Каждая панель включает собственное меню, управляющее ее видом и поведением.
Инструменты командной строки включены в систему по требованию профессионалов, которые всегда стремятся сохранить детальный контроль над процессами компиляции и сборки своих программных файлов.
Создание DLL, LIB, и ЕХЕ файлов предоставляет свободу выбора формата целевого приложения в соответствии с требованиями конкретного проекта.
Прямое
обращение к системным функциям
Windows 95 и NT дает возможность программистам,
работающим в среде C++Builder. при необходимости
воспользоваться всеми
Механизм OLE Automation предоставляет вашему приложению возможность управлять другими типовыми программными комплексами для Windows (такими как Microsoft Word, Excel, Visual Basic, Lotus 1-2-3, dBASE и Paradox) по схеме сетевого взаимодействия контроллер/сервер.
Изначально Borland C++Builder разрабатывался компанией Borland Software, а затем её подразделением CodeGear, которое сейчас принадлежит компании Embarcadero Technologies.
Система Borland C++Builder - наиболее совершенная визуальная среда быстрой разработки на С++ для Windows. В ее состав входят сотни самых разных компонентов, а создание законченной программы требует минимума усилий. Ближайший конкурент Borland C++Builder – это Microsoft Visual C++, в котором реализована поддержка визуальной разработки на С++ (желающие могут пользоваться и этой системой, однако при этом будут определенные расхождения), а также Microsoft Visual Basic, классическая среда визуальной разработки на языке Бейсик.
У системы Borland C++Builder есть «родной брат» (или «сестра») – RAD-среда Borland Delphi, технология работы с которой полностью совпадает с технологией, принятой в C++Builder. Только пишется программа в Delphi не на С++, а на языке программирования Паскаль, точнее, его объектной версии Delphi Language.
C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi.[1] Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.
C++ Builder содержит
инструменты, которые при
C++ Builder первоначально
создавалась только для
Наличие
в пакете инсталляции C++ Builder широкого
спектра стандартных
5 Тестирование и анализ результатов
При запуске программного обеспечения на экране появляется информационная заставка (рис. 5.1).
После показа заставки, управление передается в основное окно. Вид основного окна представлен на рисунке 5.2.
Рисунок 5.1 – Информационная заставка
Рисунок 5.2 – Основное окно
В программе
реализована возможность «
Рисунок 5.3 – Процесс выбора карточки
После «вставки» карточки начинается процесс авторизации (запрос ПИН кода). Для карточки №1 ПИН код установлен 1234, для карточки №2 – 4321. Окно для ввода ПИН кода представлено на рисунке 5.4.
Рисунок 5.4 – Окно для ввода ПИН кода
После ввода ПИН кода карточки на экране появляется основное меню. Основное меню представлено на рисунке 5.5.
Рисунок 5.5 – Основное меню

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