Pull to refresh

Быстрота в создании или надежность в использовании? [Часть 1]

Быть или не быть? Вот в чем вопрос


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

Как же быть ведь все надо сделать быстро, но если произойдет сбой то начальство сотрет вас в порошок.

Что же выбрать хорошо структурированную программу или быстро наметанную софтинку?

Пример из жизни

Два года назад моя знакомая начала заниматься малым предпринимательством, она решила открыть свой магазин элитной косметики и парфюмерии. Бутик работал приносил доход, но не малый был и расход.По её словам некоторый товар просто исчезал. Учет велся так сказать по «Блокнотику», что не давало статистик или вообще какой либо возможности слежения за количеством товара и его продажей в целом. Лишь когда бутик переехал в новый торговый центр хозяйка поняла, что так дело дальше не пойдет. Проведя пару часов в поисковике она узнала о таких программах как «1С: Предприятие»,«1С: Бухгалтерия» и т. п.

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

С чего начать?


Быстрая планировка системы:

  • Во первых — на каком(-их) языках будет работать? Мой выбор остановился на C#+Apache(PHP&MySQL);
  • Во вторых — в каких условиях она сможет работать? Конечно надо рассчитывать на самый минимум(Dial-Up e t.c.), но я предпочел средний 3G модем;
  • Ну и в третьих — каким образом будет производить ввод данных? Я хотел сделать её максимально универсальной, и предпочел ввод с клавиатуры, но поискав в гугле, обнаружил, что многие сканеры штрих-кодов действуют как обычная USB — клавиатура.


Итак, приступим к созданию…

Создание базы

Раз мы будем работать с большим количеством однотипных строковых данных, нам нужно подготовить MySQL базу. Ну это труда не составило выявил самые нужные поля для таблички codes: id, name, code, count.

Так как вывод мы будем производить в формате понятным как для php так и для MS Exel, это csv в кодировке ASCII, все база так же работала в этой кодировке.

P.S. Все весомые изменения в базе данных делались с помощью PhpMyAdmin

Создание интерфейса для программы-клиента

Так как я не знаток в Delphi, C#, C++, e t.c. Я воспользовался визуальным конструктором программ Hiasm, ныне проект не развивается, однако последний релиз является рабочим и самым удачным.

Использовался компонент «Http_get» при его выполнении параметры предаются к php-скрипту на сервере который в свою очередь выполняет ряд функций, таких как:

  • Вычитание кол-ва проданного товара из всего и UPDATE этого в таблице
  • Статистика продаж за день, месяц, квартал, год, и т.д.
  • Использование карт скидок, купонов, и т.п.
  • Проверка статуса продавца — Offline | Online


Вообщем схема в SDK данной программы выглядела так:


Интерфейс программы-клиента:


Вывод


Эта статья лишь первая часть, если вам понравиться, я напишу поэтапно как все происходило и чем закончилось.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.