В последнее время быстрыми темпами развиваются наука и техника, которые вызвали глубокий переворот во всех отраслях производства и оказали воздействие на все стороны жизни общества.
Любая отрасль промышленности, если она не развивается, не совершенствуется, оказывается нежизнеспособной в современном мире. Поэтому назревает необходимость создания новых научно-технических средств, их проектирование и внедрение в производство.
В настоящее время компьютер стал такой же привычной и необходимой вещью на рабочем месте, как ручка и карандаш. Компьютер нужен всем людям, в той или иной степени связанным с делопроизводством, руководителям, инженерам, педагогическим работникам, журналистам, писателям, студентам, просто специалистам в своей предметной области как элементарное средство оргтехники делового человека.
Наиболее часто объектом автоматизации становится работа крупных предприятий. Но все более возрастающий ритм жизни и увеличивающееся число клиентов требуют повышения производительности любого предприятия. Современное развитие компьютерных технологий позволяет создавать весьма красивые и оптимальные решения, способные существенно преобразить и улучшить производственный цикл.
Мир стремительно развивается и любая организация, желающая ускорить весь цикл своего производства, приходит к необходимости внедрения средств автоматизации по возможности на всех стадиях производственного цикла. Не является исключением и деятельность небольших фирм, занимающихся изготовлением и подбором багет, паспарту для картин и фотографий.
Целью данной работы является разработка системы автоматизированного учета для багетной мастерской. Разрабатываемая система позволит ускорить процесс принятия и оформления заказа, а также автоматизировать ведение складского учета. Кроме того, внедрение системы учета позволит снизить трудоемкость и повысить производительность труда, повысит точность расчетов и снизит вероятность ошибок, что в итоге приведет к снижению коммерческих потерь. Для осуществления всех необходимых расчетов теперь достаточно будет воспользоваться специально предназначенной для этого программой, не прибегая к необходимости осуществлять вычисления вручную.
Наиболее часто объектом автоматизации становится работа крупных предприятий. Создание высоконадёжных систем управления позволило повсеместно автоматизировать процессы изготовления различных товаров, оборудования, линии сборки в автомобильной промышленности. Системы автоматизации позволили сократить участие человека в процессе производства до минимума. Возрастающий ритм жизни и увеличивающееся число клиентов требуют повышения производительности любого предприятия. Основные идеи автоматизации сегодня с лёгкостью можно распространить практически на все современные отрасли. Тем более что современное развитие компьютерных технологий позволяет создавать весьма красивые и оптимальные решения, способные существенно преобразить и улучшить производственный цикл любого предприятия. Не является исключением и работа таких предприятий как завод метоллоконструкций.
Любое изображение, созданное художником, за исключением только древних наскальных рисунков, имеет обрамление. Оно завершает композицию, придает ей единство, направляет внимание зрителя на само произведение, выделяет изображение и одновременно связывает его с интерьером. Картина в современном понимании этого слова, а вместе с ней и рама появляется примерно в XIV веке. История рамы, безусловно, связана с историей искусства и архитектуры: каждый новый стиль вносил свои изменения и дополнения в облик рамы. Благодаря такому долгому пути, сегодня мы имеем множество профилей багета различных направлений и стилей, расцветок и фактур. Сегодня в рамы оформляют не только живописные и графические работы. Уже невозможно представить без рамы постер или художественную фотографию, да и со вкусом оформленная любительская фотография смотрится совсем иначе. Оформить в раму можно зеркала, гобелены, вышивку, детские рисунки, документы, медали, монеты и многое другое. Для каждого вида работ существуют определенные каноны и нюансы, разобраться с которыми помогут специалисты багетной мастерской [11, 14].
Современные профессиональные багетные мастерские используют специализированные высококачественные материалы и оборудуются по последнему слову техники. Это специальные высокоточные станки для распила и сборки багета, а также для работы с дополнительными материалами. Лишь при использовании такого профессионального оборудования можно добиться очень аккуратных стыков багета волосяной толщины, а именно это является одним из критериев качества работы багетной мастерской. В пользу заказа рамы в профессиональной мастерской, а не покупки готовой стандартного размера можно привести не один довод. Безусловным преимуществом является возможность индивидуально подойти к каждой конкретной работе, учесть все ее особенности и особенности интерьера, в котором она будет размещена и, таким образом, подобрать самый удачный для данной работы вариант. Кроме того, обрамление будет "скроено" точно по размерам. Консультанты такой мастерской, как правило, имеют художественное образование и большой опыт работы и с удовольствием помогают сориентироваться в многообразии материалов [11, 14].
Любой клиент решивший воспользоваться услугами багетной мастерской должен знать, что специалисты попросят его не просто дать размеры, а привезти саму работу. Сделать это необходимо по нескольким причинам: во-первых, чтобы избежать ошибок, связанных с погрешностью измерения. Во-вторых, только имея перед глазами работу и прикладывая непосредственно к ней образцы багета, можно определить какой из предложенных вариантов окажется наиболее удачным для этой работы: подойдет ей по стилю, по цветовой гамме и подчеркнет ее достоинства. Как правило, такой вариант оказывается не один, и здесь в выборе можно руководствоваться особенностями конкретного интерьера и личных предпочтений. И, наконец, по истечении срока исполнения заказа (обычно это 3-5 дней), клиент сможет забрать уже "одетую" работу, и ему останется лишь повесить ее на стену.
Любой элемент рамы, прежде всего, несет определенную функцию и только потом является эстетическим дополнением картины. Поэтому стоит отдельно поговорить о каждой составляющей рамы.
Багет (багетная рейка) - то из чего собственно изготавливается рама. Сегодня можно увидеть в продаже деревянный, пластиковый и алюминиевый профиль всевозможных оттенков. Багет из тропических пород дерева (таких как бальза и аюс) европейского производства по достоинству признан наиболее подходящим для распила и сборки рамы. Этот легкий пористый материал в отличие от привычной сосны не имеет годовых колец, что существенно облегчает работу и повышает качество рамы. Не случайно этот материал самый дорогостоящий. Сосна также используется для производства багета, чаще всего на отечественных линиях. Современный качественный пластик по своим эстетическим характеристикам совсем не уступает дереву, а цена его обычно ощутимо ниже. Качество пластикового багета зависит от его состава: дешевый пластиковый профиль содержит примеси, что делает его хрупким. Алюминиевый профиль пришел на багетный рынок с рынка рекламных материалов и сразу занял свою нишу: современный материал, прочен, лаконичен и идеален для интерьеров в стиле хай-тек. Существует несколько разновидностей профиля: узкий графичный багет, широкий плоский (такой багет можно использовать как самостоятельно, так и при создании сложного профиля путем наложения нескольких видов багета друг на друга), классический профиль, создающий глубину восприятия, а так же профиль "обратная перспектива", который, в отличие от предыдущего, выделяет работу, поднимая ее над поверхностью стены [11, 14].
Нельзя забывать, что багет в первую очередь - это несущий остов для всей конструкции рамы. Поэтому очень важно при выборе багета соизмерять величину нагрузки и прочность багетной рейки.
Подрамник необходим при оформлении живописных работ, выполненных на холсте, а также большого размера гобеленов и батиков. Он представляет собой деревянную конструкцию, на которую натягивается полотно. Только после натяжки работу одевают в раму. Хотя, в последнее время появилась тенденция вешать современные живописные работы без обрамления [11, 14].
Задний картон служит основой для графических работ, постеров, документов, фотографий. Это может быть специальный плотный картон, оргалит, или пенокартон [11, 14].
Паспарту - это картон, в котором вырезается окно по размеру работы, а вокруг оставляются поля, ширина которых подбирается для каждого случая индивидуально, таким образом, создается цветной фон между работой и рамой. Паспарту применяется в оформлении графичных листов, постеров, фотографий, вышивок и др. Функция паспарту - создать воздушную прослойку между работой и стеклом. Существует множество вариантов оттенков и фактур паспарту, его можно комбинировать, накладывать один тон на другой, создавая канты и придавая глубину изображению [11, 14].
Стекло. В багетных работах используется только высококачественное полированное стекло не более 2мм толщиной. Оно не содержит вкраплений и не дает искажений. Функция у стекла, конечно, защитная. Под стекло оформляются все графичные работы, фотографии, постеры, не имеющие специального покрытия, папирусы, некоторые текстильные работы. Единственный недостаток стекла, что оно дает блики. Но современный синтетический материал плексигласс позволяет решить и эту проблему. Существует и натуральное безбликовое стекло [11, 14].
Специалисты знают, какое большое значение для картины имеет обрамление. Оно творит чудеса: может подать заурядную работу достойно и эффектно, а при неграмотном оформлении может испортить впечатление даже от очень профессионального произведения.
Но деятельность багетной мастерской не заканчивается только на изготовлении рамы. Необходимо еще документально оформить заказ. При этом нужно учесть наличие на складе всех необходимых для изготовления комплектующих, рассчитать расход материалов и их стоимость, а также стоимость изготовления заказа. Вся эта, казалось бы, небольшая работа при выполнении ее без средств автоматизации занимает достаточно много времени - около 10-15 минут. В течение этого времени может прийти очередной клиент, который вполне возможно не станет ждать и уйдет. Кроме того, при расчетах связанных с оформлением заказа могут возникать ошибки, от которых не застрахован ни один человек. Также необходимо вести складской учет расходуемых комплектующих и материалов.
На сегодняшний день в Караганде действует несколько багетных мастерских. Каждая мастерская старается привлечь клиента высоким качеством обслуживания, а также большим выбором комплектующих и материалов для оформления поистине неповторимого заказа. Помочь мастеру, принимающему заказ, быстро сориентироваться во всем разнообразии комплектующих и материалов имеющихся в наличии, а также рассчитать стоимость заказа, могла бы система автоматизированного учета для багетной мастерской.
На сегодняшний день рынок коммерческих компьютерных программ для автоматизации расчета и оформления заказа для завода металлоконструкций представлен несколькими программными продуктами. Рассмотрим некоторые из них.
Данный программный комплекс состоит из пяти программ - Прием заказов, Складской учет, Заработная плата, Подбор паспарту и багета и Администратор.
Программа Багетная мастерская - Прием заказов производит расчет заказа, состоящего из деревянного, пластикового, алюминиевого багета, системы "SBS", подрамника, стекла, паспарту, задника, репродукции, художественной ламинации и оформления, с последующим выводом на печать [6].
Рисунок 1.1 - Окно программы Багетная мастерская - Прием заказов
Основные возможности программы:
Два режима работы - администратор и пользователь.
По отпечатанным заказам выписывается счет, счет-фактура и накладная.
Учет оплаты заказов и готовой продукции.
Позволяет увидеть остатки материала при оформлении заказа.
Возможность работы в локальной сети и модем - модем по телефонной линии (до 5-ти пользователей).
Программа Багетная мастерская - Складской учет учитывает приход, расход и остаток - всех составляющих, по заказам выполненных в программе Багетная мастерская-Прием заказов.
Программа Багетная мастерская - Заработная плата насчитывает заработную плату, по заказам выполненных в программе Багетная мастерская - Прием заказов. Параметры начисления заработной платы устанавливаются до распечатки заказа в программе Администратор или в программе Багетная мастерская - Прием заказов, меню База данных - Составляющие цены - Заработная плата. Если параметры не установлены, начисление ведется от итоговой стоимости.
Программа Багетная мастерская - Подбор паспарту и багета позволяет произвести подбор паспарту и багета по цвету и профилю для оформления заказа.
Программа Багетная мастерская - Администратор позволяет произвести: Приход материала. Посмотреть заработную плату, расход и остаток материала. Установить параметры составляющих цены и реквизиты предприятия. Добавить в базу - Заказчиков и Работников. Рассчитать прибыль за период. Сформировать Интернет-страницу программы Прием заказов, для расчета стоимости заказа на сайте (меню Файл - Создать HTML страницу Прием заказов). Предупреждает о критическом остатке материала [6].
Основной недостаток программы - невозможность включения в один заказ нескольких изделий.
Эта программа разработана специалистами сайта bagetchik.ru для максимального удобства и для багетчиков-оформителей и для интересующихся оформлением своих изображений, при удаленном самостоятельном компьютерном подборе багета и паспарту к изображениям.
Потратив всего несколько минут на изучение модуля, пользователь поймет насколько все может быть красиво удобно и просто. В программе пользователю предоставляется возможность загрузить любое изображение размером не больше 60-180 кб (со своего компьютера, а не ссылкой из сети) подобрать оформление и посмотреть, как это будет выглядеть в понравившемся ему багете и паспарту. Программа автообрамления не может и не выполняет никаких действий сама. Она не подбирает багет или паспарту, не выбирает цвет, не выставляет ширину полей паспарту к картине, поскольку сделать это может только человек [12].
Рисунок 1.3 - Интернет сервис Он-лайн обрамление V.4
1. Оформить фотографии, постеры, гравюры различным багетом и паспарту.
2. Посмотреть, как могут преобразиться его изображения, не посещая багетную мастерскую.
3. Заказать оформление для картин в режиме он-лайн, не выходя из дома [13].
Пользователю предлагается пошагово выбрать цвет стен, багет, верхний паспарту, средний паспарту, нижний паспарту и стекло. Далее пользователь может посмотреть, как будет выглядеть его заказ. После этого производится расчет стоимости израсходованных материалов и общая стоимость оформленной работы.
Рисунок 1.4 - Интернет сервис "Багетная мастерская"
Подводя итог, можно сказать, что имеющиеся на сегодняшний день разработки в области компьютерных систем оформления заказа для багетной мастерской, обладая многими достоинствами, либо не совсем подходят по характеру решаемых заказчиком задач, либо являются недостаточно проработанными, грешат большим количеством ошибок и неудобством работы. Кроме того, существующие программные продукты, не совсем отвечая требованиям заказчика, как правило, стоят значительных сумм денег и их внедрение связано с риском их не окупаемости. Следует разработать такую систему, которая с одной стороны будет обладать надежностью, устойчивостью в работе, а с другой стороны будет успешно решать тот круг задач, который необходим для предприятия заказчика.
Целью данной работы является разработка системы автоматизированного учета для багетной мастерской. Основной задачей разрабатываемой системы является автоматизация процесса принятия заказа и ведения складского учета расходуемых комплектующих и материалов. В ходе выполнения проекта должны быть достигнуты следующие цели:
программа должна удовлетворять требованиям заказчика;
программа должна иметь простой, удобный и интуитивно понятный интерфейс;
программа не должна содержать ошибок;
программа должна позволять произвести быстрый расчет и оформление заказа с последующим выводом на печать результатов работы;
в программе должно быть реализовано гибкое формирование состава заказа с возможностью добавления в заказ нескольких изделий;
в программе должна быть реализована возможность изменения и корректировки заказа;
работа со складом должна быть вынесена отдельно;
программа должна содержать инструкцию по ее использованию, содержащуюся в файле помощи.
Инсталляция программы должна осуществляться посредством установочного файла.
Программа должна выполнять следующие функции:
автоматизированный расчет стоимости выполнения заказа багетной мастерской;
вести оперативный учет расхода комплектующих и материалов;
оформление и вывод на печать бланка заказа;
хранение информации о клиентах и их заказах;
ведение учета расходуемых комплектующих и материалов;
выдача необходимых отчетов о расходе комплектующих и материалов.
Разработке подлежит система автоматизированного учета для багетной мастерской. Система предназначена для автоматизации процесса принятия заказа и ведения складского учета расходуемых комплектующих и материалов. Условное обозначение системы "Багетная мастерская".
Разработчиком является студент Карагандинского государственного технического университета, факультета информационных технологий, группы САПР-02-2 Сулейманов Ринат Хамитович.
Заказчиком является кафедра систем автоматизированного проектирования КарГТУ.
Целью создания системы является повышение эффективности работы работника багетной мастерской занимающегося расчетом и оформлением заказов, а также организация автоматизированного складского учета расхода комплектующих и материалов.
Критерием эффективности функционирования системы является отношение эффективности, получаемой от повышения производительности труда работников мастерской, степень экономии рабочего времени, снижение ошибок в работе и четкий учет расхода комплектующих и материалов.
Багетная мастерская занимается изготовлением рам по индивидуальным заказам клиентов для картин, фотографий, постеров, гобеленов, вышивок и других видов произведений искусства. Практически каждый заказ является уникальным, и его стоимость зависит от размеров оформляемого изделия, состава и видов комплектующих и материалов. Стоимость работы за изготовление рамы вычисляется суммированием определенного процента от стоимости каждого составного элемента рамы.
Автоматизации подлежат следующие процедуры:
расчет расхода комплектующих и материалов, необходимых для выполнения заказа;
расчет стоимости комплектующих и материалов, необходимых для выполнения заказа;
оформление и вывод на печать документа, содержащего сведения о заказе;
Разрабатываемая система должна состоять из следующих подсистем:
подсистема для расчета и оформления заказов;
подсистемы для учета расхода комплектующих и материалов;
подсистема для хранения информации о клиентах и их заказах;
руководство пользователя для работы с системой.
Кроме того, разрабатываемая система должна работать в двух режимах:
1) режим работник, позволяющий рассчитывать и оформлять заказ;
2) режим менеджер, позволяющий помимо расчета и оформления заказа вести также складской учет расхода комплектующих и материалов.
2.4.1.2 Требования к функциям, выполняемым системой
Разрабатываемая система должна выполнять следующие функции:
позволять автоматически рассчитывать стоимость заказа;
позволять выводить на печать результаты расчета;
хранить информацию о клиентах и их заказах;
вести автоматизированный учет расхода комплектующих и материалов.
выдавать необходимые отчеты о расходе комплектующих и материалов.
2.4.1.3 Требования к квалификации персонала
Для работы с данной системой необходимо создать одно рабочее место. Пользователь, который будет работать с системой, должен хорошо владеть базовыми знаниями при работе с компьютером. Базовые знания включают в себя умение включить/выключить компьютер, загрузить операционную систему, запускать приложения, создавать, редактировать, удалять и искать документы, устанавливать программное обеспечение.
2.4.1.4 Требования к эргономике и технической эстетике
Интерфейс должен быть интуитивным и обеспечивать быстрый доступ пользователя ко всем функциям программы. Объединение элементов интерфейса должно происходить посредством окон, имеющих вид стандартных окон ОС семейства Windows.
2.4.1.5 Дополнительные требования
По требованию заказчика разрабатываемая система должна работать под управлением операционной системы Microsoft Windows XP Professional. Данная операционная система является рабочей операционной системой заказчика.
Информационное обеспечение должно выполнять следующие функции: поиск информации по конкретному виду комплектующих и материалов, а также информации о клиентах по запросам пользователя системы, формирование ответов, сохранение данных. С помощью этих функций должно обеспечиваться накопление массивов данных и управление ими; рациональная организация обмена данными; размещение данных на машинных носителях.
В состав системы должна входить следующая информация: наименование, количество, расход и цена комплектующих и материалов, данные о клиентах и их заказах. Вышеуказанная информация должна храниться в таблицах базы данных.
База данных должна быть локальной и располагаться на жестком диске.
В качестве основной структуры (логической схемы базы данных) должна использоваться реляционная.
Структура базы данных должна обеспечивать:
объединение данных любого количества и объема, допускающая совместное использование общих данных различными подсистемами для разных процедур;
минимальное время обработки данных;
минимальную избыточность данных;
минимальный объем памяти внешних запоминающих устройств ЭВМ для хранения данных;
надёжность хранения информации в течение требуемого срока;
гибкость организации и открытость структуры, т.е. возможность исполнять и реорганизовывать данные без коренной перестройки или повторного создания всего информационного обеспечения;
эффективный доступ к данным в режиме диалога и обращения из прикладной программы;
достоверность данных;
защиту от постороннего доступа.
Входными данными являются высота и ширина изделия, информация о клиенте (ФИО, контактные данные, скидка), наименование заказа и даты приема и окончания исполнения заказа.
Выходными данными являются бланк заказа, содержащий сведения о составе комплектующих и материалов, необходимых для изготовления рамы, с указанием их расхода и стоимости, а также информацию о стоимости заказа с учетом и без учета скидки клиенту и отчеты, которые должны содержать следующую информацию:
сумма заказов за период, указанный пользователем системы;
остатки материалов в мастерской по всем их видам в отдельности;
сумма продаж материалов за период, указанный пользователем системы по всем видам материалов в отдельности;
сведения о заказах, которые должны быть готовы к дате определяемой пользователем системы.
2.4.2.2 Требования к лингвистическому обеспечению
2.4.2.2.1 Требования к языкам программирования
На языки программирования, которые будут использоваться при разработке системы, заказчик не накладывает никаких ограничений.
Язык программирования должен позволять создавать программные продукты под управлением линейки операционных систем Microsoft Windows.
Язык программирования должен иметь объектно-ориентированную модель программирования, а также осуществлять модульное программирование.
Кроме того, язык программирования должен удовлетворять следующим требованиям:
удобство использования, т.е. затраты времени программиста на освоения языка и главным образом на написание программ на этом языке;
универсальность, т.е. возможность использования языка для описания разнообразных алгоритмов, характерных для программного обеспечения САПР;
эффективность объектных программ, которая оценивается свойствами используемого транслятора, который, в свою очередь, зависит от свойств языка. Эффективность оценивается затратами машинного времени и памяти на исполнение программ.
2.4.2.2.2 Требования к входным, выходным и промежуточным языкам
Входным языком являются формы для ввода информации о размерах изделия, о количестве расходуемых комплектующих и материалов, а также о наименовании заказа. Данные вводятся с клавиатуры. Требованиями к входному языку являются четкость и корректность.
Промежуточным языком является файл таблиц базы данных, хранящих информацию о клиенте, геометрические параметры, а также стоимость комплектующих и материалов необходимых для исполнения заказа.
Выходным языком являются шаблоны отчетов о результатах расчета и оформления заказов. Выходной язык должен обеспечить соответствие результатов расчета и оформления заказов предъявляемым требованиям.
2.4.2.3 Требования к программному обеспечению.
2.4.2.3.1 Требования к общесистемному программному обеспечению
Общесистемное программное обеспечение должно обеспечивать функционирование базового и прикладного программного обеспечений системы. В соответствие с требованиями, изложенными в подпункте 2.4.1.5, в качестве общесистемного программного обеспечения используется операционная система Microsoft Windows XP Professional.
2.4.2.3.2 Требования к базовому программному обеспечению
В качестве базового программного обеспечения должны использоваться универсальные языки программирования высокого уровня, имеющие объектно-ориентированную и визуальную технологии программирования, а также встроенные средства и компоненты для работы с базами данных. Среда программирования должна позволять запуск программ из своей оболочки, а также иметь средства отладки.
Промежуточные данные должны храниться в файле таблиц базы данных.
Для оформления необходимой документации должен использоваться текстовый процессор с возможностями редактирования и форматирования текста.
2.4.2.3.3 Требования к прикладному программному обеспечению
Разрабатываемая система должна создаваться в виде модулей, что позволить развивать систему в дальнейшем.
Разрабатываемый продукт должен содержать руководство разработчика, отражающее структуру системы, назначение программных модулей и стиль программирования.
2.4.2.4 Требования к техническому обеспечению
Техническое обеспечение должно удовлетворять следующим требованиям:
достаточная емкость накопителя на жестком магнитном диске;
приемлемый тип видеоадаптера и дисплея для работы пользователя;
достаточная производительность центрального процессора;
наличие возможности вывода информации на бумажный, магнитный носитель;
открытость для конфигурации и дальнейшего развития;
простота освоения, эксплуатации и обслуживания;
объем оперативной памяти должен позволять использовать выбранное общесистемное, а также базовое и прикладное программное обеспечения;
приемлемая стоимость составляющих комплекса технических средств.
2.4.2.5 Требования к методическому обеспечению
Методическое обеспечение системы должно содержать инструкцию по установке и инструкцию по эксплуатации системы. Разрабатываемая система должна поставляться вместе с документом, обеспечивающим грамотное использование данной системы. Этим документом является руководство пользователя.
После выполнения всех оговоренных работ необходимо завизировать указанные разделы у курирующих преподавателей КарГТУ и сдать дипломный проект на рецензию лицу, утверждённому кафедрой САПР.
По возвращению с рецензии проект необходимо защитить Государственной аттестационной комиссии кафедры САПР.
На защиту дипломного проекта необходимо предоставить систему "Багетная мастерская". Перед комиссией необходимо представить пояснительную записку к дипломному проекту объёмом не менее 80 печатных листов, отвечающую всем требованиям стандартизации и нормоконтроля.
Процесс информационного потока до автоматизации выглядит следующим образом:
клиент обращается к работнику мастерской с пожеланиями красиво и грамотно оформить в раму произведение искусства;
мастер обращается к клиенту с вопросами, уточняющими состав комплектующих и материалов, необходимых для исполнения заказа;
клиент делает свой выбор относительно состава комплектующих и материалов, необходимых для исполнения заказа;
мастер вручную производит расчет расхода комплектующих и материалов, необходимых для исполнения заказа, а также стоимость заказа;
мастер вручную оформляет бланк заказа;
менеджер дает указания мастеру по организации процесса принятия заказов, устанавливает розничные цены на комплектующие и материалы;
менеджер, на основе информации полученной из бланков заказов, производит учет расхода комплектующих и материалов.
Схема движения информационных потоков при этом выглядит, как показано на рисунке 3.1.
Рисунок 3.1 - Структура информационных потоков до автоматизации
В процессе принятия заказов у мастера возникают проблемы связанные с тем, что он не может получать оперативную информацию о запасе комплектующих и материалов в мастерской, в связи с чем возникает вероятность отказа клиенту. Кроме того, ручной расчет расхода комплектующих и стоимости заказа занимает в среднем около 10-15 минут, вследствие чего в мастерской возможно скопление клиентов, ожидающих своей очереди, что негативно сказывается на общем настроении как мастера, так и клиентов.
В работе менеджера возникают следующие проблемы:
невозможность получения оперативной информации о состоянии запасов комплектующих как на складе, так и в мастерской;
невозможность получения оперативной информации о состоянии продаж комплектующих;
получения оперативной информации об общей стоимости заказов за определенный промежуток времени;
невозможность получения сведений о заказах, которые должны быть готовы к определенной дате.
Процесс информационного потока после автоматизации выглядит так:
клиент обращается к работнику мастерской с пожеланиями красиво и грамотно оформить в раму произведение искусства;
мастер обращается к клиенту с вопросами, уточняющими состав комплектующих и материалов, необходимых для исполнения заказа;
клиент делает свой выбор относительно состава комплектующих и материалов, необходимых для исполнения заказа;
мастер вводит в программу полученные от клиента исходные данные для оформления заказа;
в режиме "мастер" программа производит необходимые вычисления и выдает оформленный бланк заказа, а также вносит необходимые изменения в таблицы базы данных комплектующих, материалов, клиентов и заказов;
в режиме "менеджер" программа, помимо функций, выполняемых в режиме "мастер", также может выдавать менеджеру отчеты по расходу комплектующих и материалов;
на основе данных полученных из отчетов менеджер производит учет расхода комплектующих и материалов.
Схема движения информационных потоков при этом выглядит, как показано на рисунке 3.2.
Рисунок 3.2 - Структура информационных потоков после автоматизации.
После автоматизации сократится время, затрачиваемое на процесс принятия и расчета стоимости заказа, а также на ведение складского учета расхода комплектующих, вследствие чего ожидается рост числа обслуживаемых клиентов и соответственно увеличение получаемой прибыли.
Процесс принятия, расчета и оформления заказа, а также ведения складского учета представляется в виде системы, содержащей сведения о багете, ряде комплектующих и материалов, сведения о предыдущих заказах и клиентах, а также информацию о стоимости обработки комплектующих. Багет характеризуется высотой, шириной, наименованием, количеством, расходом и ценой. Каждое комплектующее также характеризуется наименованием, количеством, расходом и ценой. Каждый заказ характеризуется номером, наименованием, датами принятия и исполнения, клиентом и стоимостью. Каждый клиент характеризуется кодом, сведениями о фамилии, имени, отчестве, контактной информацией, суммой ранее сделанных заказов, коэффициентом скидки. Концептуальная модель объекта анализа представлена на рисунке 3.3.
На основе концептуальной модели построим логическую модель. Для каждого объекта концептуальной модели необходимо создать свою структуру данных.
Рассмотрим структуру данных "Клиенты" объекта "Справочники". Ключевым полем будет являться уникальный идентификатор клиента, оно не должно иметь повторяющихся значений и будет заполняться автоматически. По этому полю объект "Клиенты" будет связан с объектом "Заказы". Обязательному заполнению будут подлежать следующие поля структуры данных "Клиент": "ФИО", "Сумма заказов", "Контакт" и "Скидка". Поле "Сумма заказов" будет увеличиваться автоматически после оформления очередного заказа данному клиенту.
Структура данных "Багет", объекта "Справочники", содержит поля "Наименование", "Высота", "Ширина", "Количество" и "Ед. измерения", которые подлежат обязательному заполнению. Ключевым полем будет являться уникальный идентификатор багета, оно не должно иметь повторяющихся значений и будет заполняться автоматически. По этому полю осуществляется связь со структурой данных "Багет", относящейся к объекту "Мастерская" и со структурой данных "Багет", относящейся к объекту "Склад".
Рассмотрим структуру данных "Комплектующие" объекта "Справочники". В рассматриваемой структуре данных обязательному заполнению будут подлежать поля "Наименование" и "Количество" и "Ед. измерения". Ключевым полем будет являться уникальный идентификатор комплектующего, оно не должно иметь повторяющихся значений и будет заполняться автоматически. По этому полю осуществляется связь со структурой данных "Комплектующие", относящейся к объекту "Мастерская" и со структурой данных "Комплектующие", относящейся к объекту "Склад".
Структура данных "Разное" объекта "Справочники", содержит поля "Наименование" и "Количество", которые подлежат обязательному заполнению. Ключевым полем будет являться уникальный идентификатор комплектующего, оно не должно иметь повторяющихся значений и будет заполняться автоматически. По этому полю осуществляется связь со структурой данных "Разное", относящейся к объекту "Мастерская" и со структурой данных "Разное", относящейся к объекту "Склад".
Рассмотрим структуру данных "Ед. измерения" объекта "Справочники". Ключевым полем будет являться уникальный идентификатор единицы измерения, оно не должно иметь повторяющихся значений и будет заполняться автоматически. По этому полю осуществляется связь со структурами "Багет", "Комплектующие" и "Разное", относящимся к объекту "Справочники. Поле "Наименование" подлежит обязательному заполнению.
Структура данных "Заказы" объекта "Мастерская" содержит поля "№ заказа", "Наименование заказа", "Дата приема", "Время приема", "Дата окончания", "Время окончания", которые подлежат обязательному заполнению. Поля "Стоимость заказа с работой", "Стоимость заказа без работы", "Итоговая скидка", "К оплате" являются вычисляемыми автоматически.
Структура данных "Багет", объекта "Мастерская", содержит поля "Розничная цена", "Количество" и "Расход", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "Багет", объекта "Справочники".
Структура данных "Комплектующие", объекта "Мастерская", содержит поля "Розничная цена", "Количество" и "Расход", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "Комплектующие", объекта "Справочники".
Структура данных "Разное", объекта "Мастерская", содержит поля "Розничная цена", "Количество" и "Расход", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "разное", объекта "Справочники".
Рассмотрим структуру данных "Багет", объекта "Склад". Рассматриваемая структура, содержит поля "Наименование", "№ накладной", "Дата поступления", "Закупочная цена", "Количество" и "Объем списания", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "Багет", объекта "Справочники".
Рассмотрим структуру данных "Комплектующие", объекта "Склад". Рассматриваемая структура, содержит поля "Наименование", "№ накладной", "Дата поступления", "Закупочная цена", "Количество" и "Объем списания", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "Комплектующие", объекта "Справочники".
Рассмотрим структуру данных "Разное", объекта "Склад". Рассматриваемая структура, содержит поля "Наименование", "№ накладной", "Дата поступления", "Закупочная цена", "Количество" и "Объем списания", которые подлежат обязательному заполнению. Поле "Примечание" заполняется при необходимости. Поле идентификатор комплектующего служит для связи со структурой "Разное", объекта "Справочники".
Схема связей таблиц БД представлена на рисунке 3.4
Физически база данных представляет собой файл "baget. mdb", содержащий 20 таблиц.
Рассмотрим структуру таблиц базы данных.
Таблица "Bagets_Table" является справочником багета. Структура этой таблицы отображена в таблице 3.1
Таблица 3.1 - Структура таблицы "Bagets_Table"
Идентификатор поля
Тип
Размер
Название
Komplekt_Id
Счетчик
Длинное целое
Идентификатор багета
Komplekt_Name
Текстовый
25
Наименование
Komplekt_shirina
Числовой
Ширина
Komplekt_visota
Числовой
Высота
Id_MaterKomlekt_slave
Числовой
Вторичный идентификатор
ID_EdIzm_Slave
Числовой
Ед. измерения
Таблица "EdIzmer_Table" является справочником единиц измерения. Структура этой таблицы отображена в таблице 3.2
Таблица 3.2 - Структура таблицы "EdIzmer_Table"
Идентификатор поля
Тип
Размер
Название
EdIzm_Id
Счетчик
Длинное целое
Идентификатор ед. измерения
EdIzmName
Текстовый
10
Наименование
Таблица "Klients_Table" содержит информацию о клиентах мастерской. Структура этой таблицы отображена в таблице 3.3
Таблица 3.3 - Структура таблицы "Klients_Table"
Идентификатор поля
Тип
Размер
Название
Kl_Id
Счетчик
Длинное целое
Код клиента
Kl_Fio
Текстовый
50
ФИО клиента
Kl_SumZak
Числовой
Общая сумма заказов
Kl_kontakt
Текстовый
70
Контактная информация
Kl_Scidka
Числовой
Коэффициент скидки
Таблица "Komplekt_Table" является справочником комплектующих. Структура этой таблицы отображена в таблице 3.4
Таблица 3.4 - Структура таблицы "Komplekt_Table"
Идентификатор поля
Тип
Размер
Название
Komplekt_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Komplekt_Name
Текстовый
25
Наименование
Id_MaterKomlekt_slave
Числовой
Вторичный идентификатор
ID_EdIzm_Slave
Числовой
Ед. измерения
Таблица "MaterBagets_Table" хранит информацию о типе материала и коэффициенте стоимости его обработки. Структура этой таблицы отображена в таблице 3.5
Таблица 3.5 - Структура таблицы "MaterBagets_Table"
Идентификатор поля
Тип
Размер
Название
MaterKomlekt_Id
Счетчик
Длинное целое
Идентификатор комплектующего
MaterKomlekt_Name
Текстовый
25
Наименование
MaterKomlekt_Koef
Числовой
Коэффициент стоимости обработки
Таблица "MaterKomlekt_Table" хранит информацию о типе материала и коэффициенте стоимости его обработки. Структура этой таблицы отображена в таблице 3.6.
Таблица 3.6 - Структура таблицы "MaterKomlekt_Table"
Идентификатор поля
Тип
Размер
Название
MaterKomlekt_Id
Счетчик
Длинное целое
Идентификатор комплектующего
MaterKomlekt_Name
Текстовый
25
Наименование
MaterKomlekt_Koef
Числовой
Коэффициент стоимости обработки
Таблица "MaterRaznoe_Table" хранит информацию о типе материала и коэффициенте стоимости его обработки. Структура этой таблицы отображена в таблице 3.7.
Таблица 3.7 - Структура таблицы "MaterRaznoe_Table"
Идентификатор поля
Тип
Размер
Название
MaterKomlekt_Id
Счетчик
Длинное целое
Идентификатор комплектующего
MaterKomlekt_Name
Текстовый
25
Наименование
MaterKomlekt_Koef
Числовой
Коэффициент стоимости обработки
Таблица "Products_Bagets_Table" содержит информацию о различных наименованиях багета, в составе изделия. Структура этой таблицы отображена в таблице 3.8.
Таблица 3.8 - Структура таблицы "Products_Bagets_Table"
Идентификатор поля
Тип
Размер
Название
1
2
3
4
Id_Pr_Bagets
Счетчик
Длинное целое
Идентификатор комплектующего
ID_Products_slave
Числовой
Длинное целое
Идентификатор изделия
Id_Mastersk_slave
Числовой
Длинное целое
Идентификатор комплектующего
Shirina
Числовой
Ширина
Visota
Числовой
Высота
Таблица "Products_Kompl_Table" содержит информацию о различных наименованиях комплектующих, в составе изделия. Структура этой таблицы отображена в таблице 3.9.
Таблица 3.9 - Структура таблицы "Products_Kompl_Table"
Идентификатор поля
Тип
Размер
Название
Id_Pr_Kompl
Счетчик
Длинное целое
Идентификатор комплектующего
ID_Products_slave
Числовой
Длинное целое
Идентификатор изделия
Id_MasterskMater_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_MasterskKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Mastersk_slave
Числовой
Длинное целое
Идентификатор комплектующего
Shirina
Числовой
Ширина
Visota
Числовой
Высота
Таблица "Products_Raznoe_Table" содержит информацию о различных наименованиях разного, в составе изделия. Структура этой таблицы отображена в таблице 3.10.
Таблица 3.10 - Структура таблицы "Products_Raznoe_Table"
Идентификатор поля
Тип
Размер
Название
Id_Pr_Raznoe
Счетчик
Длинное целое
Идентификатор комплектующего
ID_Products_slave
Числовой
Длинное целое
Идентификатор изделия
Id_MasterskMater_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_MasterskKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Mastersk_slave
Числовой
Длинное целое
Идентификатор комплектующего
Rashod_Komplekt
Числовой
Расход
Таблица "Masterskaya_Bagets_Table" содержит информацию о различных наименованиях багета, имеющегося в мастерской. Структура этой таблицы отображена в таблице 3.11
Таблица 3.11 - Структура таблицы "Masterskaya_Bagets_Table"
Идентификатор поля
Тип
Размер
Название
Masterskaya_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Masterskaya_RoznCena
Числовой
Розничная цена
Masterskaya_Kol-vo
Числовой
Количество
Masterskaya_Rashod
Числовой
Расход
Masterskaya_Prim
Текстовый
50
Примечание
Таблица "Masterskaya_Kompl_Table" содержит информацию о различных наименованиях комплектующих, имеющихся в мастерской. Структура этой таблицы отображена в таблице 3.12.
Таблица 3.12 - Структура таблицы "Masterskaya_Kompl_Table"
Идентификатор поля
Тип
Размер
Название
Masterskaya_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Masterskaya_RoznCena
Числовой
Розничная цена
Masterskaya_Kol-vo
Числовой
Количество
Masterskaya_Rashod
Числовой
Расход
Masterskaya_Prim
Текстовый
50
Примечание
Таблица "Masterskaya_Raznoe_Table" содержит информацию о различных наименованиях разного, имеющегося в мастерской. Структура этой таблицы отображена в таблице 3.13.
Таблица 3.13 - Структура таблицы "Masterskaya_Raznoe_Table"
Идентификатор поля
Тип
Размер
Название
Masterskaya_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Masterskaya_RoznCena
Числовой
Розничная цена
Masterskaya_Kol-vo
Числовой
Количество
Masterskaya_Rashod
Числовой
Расход
Masterskaya_Prim
Текстовый
50
Примечание
Таблица "Products_Table" содержит информацию об изделии в составе заказа. Структура этой таблицы отображена в таблице 3.14.
Таблица 3.14 - Структура таблицы "Products_Table"
Идентификатор поля
Тип
Размер
Название
Id_products
Счетчик
Длинное целое
Идентификатор изделия
ID_zakaz_slave
Числовой
Длинное целое
Вторичный идентификатор
NomerProduct
Текстовый
10
№ изделия
Shirina_product
Числовой
Ширина изделия
Visota_product
Числовой
Высота изделия
NaimenDopRabota
Текстовый
40
Наименование дополнительной работы
ItogoMaterial
Числовой
Итого за материал
ItogoObrabotka
Числовой
Итого за обработку
DopRabota
Числовой
Стоимость дополнительной работы
ItogoProdukt
Числовой
Итого за изделие
Таблица "Raznoe_Table" является справочником разного. Структура этой таблицы отображена в таблице 3.15.
Таблица 3.15 - Структура таблицы "Raznoe_Table"
Идентификатор поля
Тип
Размер
Название
Komplekt_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Komplekt_Name
Текстовый
25
Наименование
Id_MaterKomlekt_slave
Числовой
Вторичный идентификатор
ID_EdIzm_Slave
Числовой
Ед. измерения
Таблица "Sklad_Bagets_Table" содержит информацию о различных наименованиях багета, имеющегося на складе. Структура этой таблицы отображена в таблице 3.16.
Таблица 3.16 - Структура таблицы "Sklad_Bagets_Table"
Идентификатор поля
Тип
Размер
Название
Sklad_Id
Счетчик
Длинное целое
Идентификатор багета
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Sklad_NaimKomplekt
Текстовый
25
Наименование
Sklad_NumberNakl
Текстовый
10
№ накладной
Sklad_Data
Дата/время
Дата поступления
Sklad_ZakupCena
Числовой
Закупочная цена
Sklad_Kol-vo
Числовой
Количество
Sklad_Rashod
Числовой
Объем списания
Sklad_Prim
Текстовый
50
Примечание
Таблица "Sklad_Kompl_Table" содержит информацию о различных наименованиях комплектующих, имеющихся на складе. Структура этой таблицы отображена в таблице 3.17.
Таблица 3.17 - Структура таблицы "Sklad_Kompl_Table"
Идентификатор поля
Тип
Размер
Название
1
2
3
4
Sklad_Id
Счетчик
Длинное целое
Идентификатор комплектующего
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Sklad_NaimKomplekt
Текстовый
25
Наименование
Sklad_NumberNakl
Текстовый
10
№ накладной
Sklad_Data
Дата/время
Дата поступления
Sklad_ZakupCena
Числовой
Закупочная цена
Sklad_Kol-vo
Числовой
Количество
Sklad_Rashod
Числовой
Объем списания
Sklad_Prim
Текстовый
50
Примечание
Таблица "Sklad_Raznoe_Table" содержит информацию о различных наименованиях разного, имеющегося на складе. Структура этой таблицы отображена в таблице 3.18.
Таблица 3.18 - Структура таблицы "Sklad_Raznoe_Table"
Идентификатор поля
Тип
Размер
Название
Sklad_Id
Счетчик
Длинное целое
Идентификатор разного
Id_MaterKomplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Id_Komplekt_slave
Числовой
Длинное целое
Вторичный идентификатор
Sklad_NaimKomplekt
Текстовый
25
Наименование
Sklad_NumberNakl
Текстовый
10
№ накладной
Sklad_Data
Дата/время
Дата поступления
Sklad_ZakupCena
Числовой
Закупочная цена
Sklad_Kol-vo
Числовой
Количество
Sklad_Rashod
Числовой
Объем списания
Sklad_Prim
Текстовый
50
Примечание
Таблица "Zakazi_Table" содержит информацию о заказах. Структура этой таблицы отображена в таблице 3.19.
Таблица 3.19 - Структура таблицы "Zakazi_Table"
Идентификатор поля
Тип
Размер
Название
ZakazId
Счетчик
Длинное целое
Идентификатор заказа
NomerZakaza
Текстовый
10
№ заказа
NaimZakaz
Текстовый
50
Наименование
DataPriema
Дата/время
Дата приема
VremyaPriema
Дата/время
Время приема
DataOkonch
Дата/время
Дата окончания
VremyaOkonch
Дата/время
Время окончания
ID_Client_slave
Числовой
Длинное целое
Идентификатор клиента
ItogSRabotoi
Числовой
Стоимость с работой
ItogBezRaboti
Числовой
Стоимость без работы
Itog_Scidka
Числовой
Итоговая скидка
ItogoKOplate
Числовой
Итого к оплате
В таблице "Temp_Prodazhi" хранится информация о багете, комплектующих, разном. Данная таблица используется для отчета "Сумма продаж материалов за период". Перед выполнением отчёта в неё заносятся соответствующие детали для выбранного менеджером периода, формируется отчёт. После формирования отчета таблица очищается. Структура этой таблицы отображена в таблице 3.20.
Таблица 3.20 - Структура таблицы "Temp_Prodazhi"
Идентификатор поля
Тип
Размер
Название
Id
Счетчик
Длинное целое
Уникальный идентификатор
TipKomplekt
Текстовый
10
Тип комплектующего
Naimenovanie
Текстовый
50
Наименование
EdIzm
Текстовый
10
Ед. изм.
Rashod
Числовой
Длинное целое
Расход
Prodano
Числовой
Продано
Бланк заказа выводится на печать с использованием стандартного компонента QuickReport системы разработки приложений Delphi 7.
Отчеты выводятся на печать с использованием компонентов технологии Rave Reports.
Лингвистическое обеспечение - это совокупность всех языковых средств, используемых при создании и эксплуатации системы. Основными из этих средств являются входной язык, внутренний и выходной.
Входной язык служит для представления и описания исходной информации об объектах и задачах проектирования. Данный язык является естественным языком.
Входной язык программы позволяет принимать от пользователя следующие данные:
настройки программы,
исходные данные для расчета и оформления заказа,
исходные данные для выполнения запросов пользователя,
исходные данные для поиска информации, требуемой пользователю.
Указанные данные программа принимает в виде введенного с клавиатуры текста и в виде параметров, указанных мышью. В качестве элементов интерфейса используются элементы, аналогичные стандартным элементам Windows, снабженные визуальными эффектами, работающие с мышью и клавиатурой.
В качестве языка программирования для данной системы должен быть выбран универсальный язык программирования высокого уровня, который отвечает следующим требованиям:
возможность решения широкого класса задач;
набор операторов языка должен отражать принципы структурного проектирования;
возможность работы с базами данных;
возможности создания запросов к базам данных;
синтаксис языка должен быть достаточно не сложным и включать в себя возможность объектно-ориентированного программирования;
язык должен быть лёгок для изучения;
наличие компилятора с возможностью компоновки исполняемых файлов для работ под управлением операционных систем семейства Windows.
Для разработки системы " Багетная мастерская" выбираем язык Object Pascal и структурированный язык запросов SQL.
Object Pascal - язык программирования высокого уровня, удовлетворяющий следующим требованиям:
развитая система типов;
возможность решения широкого класса задач;
набор операторов языка отражает принципы структурного проектирования и позволяет записывать достаточно сложные алгоритмы в лёгкой и элегантной форме;
синтаксис языка достаточно не сложный и включает в себя возможности объектно-ориентированного программирования;
язык лёгок для изучения;
позволяет работать с базами данных;
позволяет составлять отчёты;
наличие компилятора с возможностью компоновки исполняемых файлов под операционную систему Windows XP Professional, требования к которой были предъявлены в техническом задании.
От языка Visual Basic Pascal отличает строгая типизированность, позволяющая компилятору ещё на этапе компиляции обнаружить многие ошибки, а также средства работы с указателями.
Синтаксис С++ более сложен по сравнению с простым и ясным синтаксисом Object Pascal, поэтому Object Pascal претендует на роль языка, идеально подходящего для описания алгоритма. Во всех случаях Object Pascal имеет самый быстрый, среди продуктов подобного рода, оптимизирующий компилятор, позволяющий создавать быстрые и относительно компактные программы.
В лингвистической концепции языка Object Pascal пропагандируется системный подход программирования, выражающийся, в частности, в расчленение крупных проблем на меньшие по сложности и размеру задачи, которые легче поддаются решению. Основные принципы языка Object Pascal таковы:
структурное программирование. Суть его заключается в оформлении последовательностей команд как замкнутых функций или процедур и в объединении данных, связанных по смыслу, в сложные структуры данных. Благодаря этому повышается наглядность текста и упрощается его отладка.
проектирование сверху вниз. Программист разбивает свою задачу на несколько более простых, после чего каждая из задач решается по отдельности. Затем компонуются результаты проектирования простых задач, и решается задача проектирования в целом.
при объектно-ориентированном программировании данные объединяются со свойственными им операциями обработки в некоторые объекты. При этом свойства одних могут передаваться другим.
Структура составления программы в Object Pascal можно условно разделить на три основные части:
В разделе объявлений и соглашений программы (до основного блока программы) программист сообщает компилятору, какими идентификаторами он обозначает данные (константы и данные), а также определяет собственные типы данных, которые он в дальнейшем намеревается использовать. В разделе глобальные директивы программы компилятору можно дать указания, определяющие режимы его работы при трансляции последующей программы. Оператор Uses играет важную роль в подключении к тексту программы системных модулей из библиотек. Следом за строкой, содержащей оператор Uses, следуют строки объявляющие:
метки (Label) - описание меток вводит совокупность идентификаторов и/или целых чисел, предназначенных для организации последовательности вычислений;
константы (Const) - определение констант задаёт в программе идентификаторы, являющиеся синонимами некоторых значений;
определённые пользователем типы данных (Type) - определение типов предназначено для задания конкретных множеств значений;
переменные (Var) - в этом разделе происходит определение глобальных переменных, переменная обозначается идентификатором и каждой переменной присваивается тип.
Основной блок программы состоит из последовательности операторов, причём работа программы начинается с первого оператора основного блока программы. Тело программы ограничено операторами begin и end. После оператора end ставится точка.
Модуль Object Pascal состоит из четырех разделов: объявлений, реализации, инициализации и завершения. Переменные, константы и типы, объявленные в разделе объявлений, доступны любому модулю или программе, использующим данный модуль. Переменные, константы и типы, объявленные в разделе реализации, доступны только в этом модуле. Операторы, содержащиеся в разделе инициализации, выполняются один раз при запуске программы. Операторы, содержащиеся в разделе завершения, выполняются один раз при завершении программы. Разделы инициализации и завершения являются необязательными.
Процедура и функция - термины, применяемые в языке программирования Object Pascal для обозначения специальным образом оформленной последовательности команд (подпрограмм). Доступ к такой подпрограмме может быть осуществлён из любого места основного блока программы, а также из любой процедуры или функции, описание которых следует ниже. Внутри процедуры или функции можно объявить локальные метки, константы, типы данных и переменные. Локально объявленные переменные доступны только внутри той процедуры или функции, где они объявлены, а вне её считаются недействительными.
Реляционный способ доступа к данным основан на использовании SQL-запросов, которые позволяют выбирать записи по сложным критериям из одной или нескольких таблиц, сортировать записи, выполнять поиск записей.
Отбор данных из таблиц БД осуществляется с помощью оператора SELECT. Результат такого отбора называется выборкой. В общем виде этот оператор имеет такой формат:
SELECT [DISTINCT] {*| поле1, [, поле2 …] }
FROM таблица1 [, таблица2 …]
[WHERE условия_отбора]
[GROUP BY список_группируемых_полей]
[HAVING условие_группирования]
[ORDER BY список_полей_для_сортировки]
[UNION оператор_SELECT]
Описание оператора SELECT требует обязательного указания списка полей, а также операнда FROM, после которого приводится список таблиц, используемых для отбора данных. Все остальные операнды могут не указываться. В самом простом случае данный оператор может иметь такой вид:
SELECT Tovar, Price
FROM Shop
При указании описателя DISTINCT после ключевого слова SELECT обеспечивается исключение из выборки одинаковых записей, для которых совпадают значения всех полей, указанных в операторе SELECT.
В секции WHERE оператора SELECT задается необходимое условие отбора, что позволяет включать в выборку только те записи, которые соответствуют условию отбора. Условие поиска имеет такое общее описание:
WHERE имя_поля операция константа
В качестве операции может выступать одна из операций отношения: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно),! < (не меньше),! > (не больше), <> (не равно). Кроме того, условие может быть составным, для объединения частей которого применяются круглые скобки и логические функции NOT, AND, OR.
Группирование данных используется в ситуациях, когда необходимо получить агрегированные значения не по всему набору данных, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо поля. Например, следующий запрос позволяет получить общее количество сотрудников по каждому отделу фирмы.
SELECT Otdel, COUNT (Tab_nom)
FROM firm
GROUP BY Otdel
В ряде случаев необходимо установить некоторые ограничения на группируемые значения. Для этого применяется оператор HAVING. К примеру, если в предыдущем примере требуется вывести только те отделы, в которых количество сотрудников более 10, то это можно осуществить с помощью запроса такого вида:
SELECT Otdel, COUNT (Tab_nom)
FROM firm
GROUP BY Otdel
HAVING COUNT (Tab_nom) >10
Сортировка или упорядочение записей по возрастанию или по убыванию значений полей осуществляется с помощью операнда ORDER BY. После него приводится список полей, по которым должна производится сортировка. Записи будут упорядочены в зависимости от порядка указания полей.
В некоторых случаях требуется объединить результаты выполнения нескольких операторов SELECT. Такое объединение производится с помощью оператора UNION. При этом результирующие наборы данных должны иметь одинаковый формат, то есть одинаковый состав возвращаемых полей, и полное совпадение типов данных соответствующих полей.
Выходной язык - это средство представления результатов выполнения программы в виде, наиболее удобном и понятном пользователю. Он должен обеспечить соответствие выдаваемого результата запросам, сформированным пользователем. В данном случае в виде таблиц.
Выходной язык обеспечивает оформление и сохранение результатов работы программы в текстовом виде. Выходная информация в программе представляется в виде отчетной документации - бланк заказа, прайс-лист, а также отчетов таких, как "Остатки материалов в мастерской", "Сумма заказов за период", "Продажи материалов за период", "Заказы, которые должны быть готовы к указанной дате" и в виде сообщений пользователю.
В случае некорректного ввода данных результат работы - сообщение об ошибке. Сообщения пользователю программы разделяются на сообщения о результатах выполнения какой-либо операции, на сообщения об ошибках и предупреждающие сообщения, выдаваемые в ходе работы с системой.
Сообщения об ошибках разделяются на критические, фатальные и исправимые.
Возникновение критических ошибок приводит к прерыванию работы системы, выходу из программы и, возможно, к перезагрузке системы. Данный тип ошибок обуславливается только ошибками программирования системы, не обнаруженных на этапе тестирования. При появлении такой ошибки выдается стандартное сообщение ОС Windows: "Программа выполнила недопустимую операцию и будет закрыта", при этом нет возможности сохранить текущую работу. Фатальные ошибки приводят к прерыванию обработки текущей выполняемой операции без нарушения целостности системы. Данный тип ошибок возникает из-за ошибок в задании исходных данных, некорректном пользовании системой. После появления такой ошибки необходимо проверить исходные данные и повторить процедуру. Сообщения об исправимых ошибках информируют пользователя о таковой и переводят программу в диалоговый режим, предоставляя пользователю возможность скорректировать исходные данные либо прервать обработку. Предупреждающие сообщения информируют пользователя о возможной некорректности исходных данных либо об отсутствии некоторых данных, что может привести к погрешностям вычислений либо к иным негативным результатам.
Учитывая требования, указанные в техническом задании, выбираем в качестве общесистемного ПО операционную систему Microsoft Windows XP Professional. Это 32 разрядная ОС с приоритетной многозадачностью. В её основе лежат следующие основные принципы:
1. Совместимость. Система может иметь привычный интерфейс ОС семейства Windows, с некоторыми добавлениями и расширениями. Большинство приложений, написанных под MSDOS, W9x, а также некоторые программы под OS/2 и POSIX запускаются и функционируют без проблем. При проектировании учитывалась возможность работы системы в различных сетевых средах, поэтому в поставку входят средства для работы в Unix - и Novell-сетях.
2. Переносимость. Система работает на различных процессорах семейства x86 производства Intel и AMD. Существует 64 битная версия Windows XP, предназначенная для работы на Intel Itanium, а также версия, предназначенная для процессоров AMD Athlon 64.
3. Система безопасности. Реализована система безопасности на уровне пользователей.
4. Распределённая обработка. Windows XP имеет встроенные в систему сетевые возможности, что обеспечивает возможность связи с различными типами компьютеров-хостов благодаря наличию разнообразных транспортных протоколов и технологии "клиент-сервер".
5. Надёжность и отказоустойчивость. Архитектура ОС защищает приложения от повреждения друг другом и самой операционной системой. При этом используется отказоустойчивая структурированная обработка особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью.
6. Локализация. Система предоставляет возможности для работы во многих странах мира на национальных языках, что достигается применением стандарта ISO Unicode.
Технические требования, предъявляемые к компьютеру, для инсталляции и работы с данной ОС:
процессор Pentium с тактовой частотой минимум 233 МГц или более мощный (или совместимый с ним);
Для разработки прикладного программного обеспечения выберем среду визуального и объектно-ориентированного программирования Borland Delphi 7.0, основанную на языке Object Pascal и Microsoft Access.
5.2.1.1 Borland Delphi 7.0
Рассмотрим достоинства среды разработки Delphi 7.0:
высокая скорость написания приложений по сравнению с другими языками программирования, вследствие значительного упрощения работы по созданию графического интерфейса;
наличие широкого набора компонентов для работы с базами данных, позволяющего решать широкий круг задач, связанных с отображением и редактированием информации, содержащейся в базе данных;
обширная и удобная в использовании справка, в т. ч. контекстная;
простой, интуитивно понятный интерфейс;
высокая скорость работы создаваемых приложений;
интеграция со средствами работы с базами данных (такими, как SQL Explorer, SQL Monitor), что позволяет в рамках единой среды выполнять весь процесс разработки программного комплекса, включая создание структуры базы данных;
оптимальное сочетание низкоуровневых и высокоуровневых возможностей, что с одной стороны позволяет решать практически любые задачи в среде ОС Windows, а с другой стороны концентрироваться (там, где это необходимо) на логике программы, нежели на особенностях программной реализации.
При написании прикладного программного обеспечения используются следующие стандартные библиотеки:
библиотека System является основной библиотекой Object Pascal. Она реализует подпрограммы для всех встроенных возможностей, таких как ввод/вывод, обработка строк, эмуляция арифметического сопроцессора, работа с исключениями, содержит определения основных классов (в т. ч. TObject, TInterfacedObject). Библиотека System используется автоматически любым модулем или программой и не указывается в предложении Uses;
библиотека Windows импортирует процедуры операционной системы для работы с файлами, объектами синхронизации, графикой, интерфейсом пользователя, трехмерной графикой (OpenGL), а также содержит определения соответствующих структур. Она становится доступной после указания её имени в предложении Uses;
библиотека Classes содержит определения вспомогательных классов для работы со списками, коллекциями, потоками данных, потоками выполнения и т.п. Она становится доступной после указания её имени в предложении Uses;
библиотека Controls содержит определения основных классов VCL (Visual Component Library), служащих базовыми для всех элементов управления. Она становится доступной после указания её имени в предложении Uses;
библиотека Forms содержит определения классов VCL для работы с оконными формами и приложением в целом. Она становится доступной после указания её имени в предложении Uses;
библиотека SysUtils содержит вспомогательные функции для преобразования типов, операций над строками и опеределения некоторых классов, в т. ч. всех классов исключений;
библиотека Dialogs содержит определения классов VCL для работы со стандартными диалоговыми окнами Windows (открытие и сохранение файлов, печать и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека Messages содержит коды основных оконных сообщений Windows в виде именованных констант а также определения структур для работы с сообщениями Windows. Она становится доступной после указания её имени в предложении Uses;
библиотека StdCtrls содержит определения классов VCL для работы со стандартными элементами управления Windows (окна редактирования, раскрывающиеся списки, кнопки и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека ComCtrls содержит определения классов VCL для работы с элементами управления Win32 (списки, деревья, панели инструментов и др.). Она становится доступной после указания её имени в предложении Uses;
библиотека CommCtrl содержит определения структур, коды сообщений и импортируетт функции для работы с элементами управления Win32 (списки, деревья, панели инструментов и др.). Она становится доступной после указания её имени в предложении Uses;
библиотека ExtCtrls содержит определения классов VCL для работы с нестандартными элементами управления (фигуры, заголовки, панели и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека Menus содержит определения классов VCL для работы с оконными и всплывающими меню. Она становится доступной после указания её имени в предложении Uses;
библиотека AppEvnts содержит определение вспомогательного класса VCL для работы с событиями приложения. Она становится доступной после указания её имени в предложении Uses;
библиотека Buttons содержит определения классов VCL для работы с кнопками, содержащими, помимо текста (или вместо него), графические изображения. Она становится доступной после указания её имени в предложении Uses;
бибилиотека ActnList содержит определение класса VCL для работы со списками команд. Она становится доступной после указания её имени в предложении Uses;
библиотека Math реализует функции для выполнения различных математических операций. Она становится доступной после указания её имени в предложении Uses;
библиотека Variants реализует функции для работы с переменными, которые могут содержать значения различных типов. Она становится доступной после указания её имени в предложении Uses;
библиотека DBCtrls содержит определения классов VCL для работы с элементами управления, предназначенными для отображения и редактирования информации, содержащейся в базах данных. Она становится доступной после указания её имени в предложении Uses;
библиотека DBGrids содержит определения классов VCL для работы с элементами управления, предназначенными для отображения и редактирования информации, содержащейся в базах данных, в виде таблицы. Она становится доступной после указания её имени в предложении Uses;
библиотека DB содержит определения классов, предназначенных для работы со структурой баз данных (поля, индексы и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека DBTables содержит определения классов VCL, предназначенных для управления конфигурацией BDE, создания устойчивых подключений к базам данных, объектов баз данных (таблиц, запросов и т.п.). Она становится доступной после указания её имени в предложении Uses;
библиотека QuickRpt содержит определения основных классов для работы с системой составления отчетов. Она становится доступной после указания её имени в предложении Uses.
5.2.1.2 Microsoft Access
Приложение Microsoft Access является мощной и высокопроизводительной 32-разрядной системой управления реляционной базой данных (далее СУБД).
База данных - это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление выборку и отображение данных.
Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных.
Существует три принципиальных отличия между СУБД и программами электронных таблиц:
СУБД разрабатываются с целью обеспечения эффективной обработки больших объёмов информации, намного больших, чем те, с которыми справляются электронные таблицы.
СУБД может легко связывать две таблицы так, что для пользователя они будут представляться одной таблицей. Реализовать такую возможность в электронных таблицах практически невозможно.
СУБД минимизируют общий объём базы данных. Для этого таблицы, содержащие повторяющиеся данные, разбиваются на несколько связанных таблиц.
Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.
Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет одновременно использовать несколько таблиц базы данных. Можно использовать таблицы, созданные в среде Paradox или dBase.
В Access реализована надёжная система защиты от несанкционированного доступа к файлам.
Для составления проектной документации используется текстовой процессор Microsoft Word XP корпорации Microsoft. Microsoft Word XP является одним из наиболее распространённых текстовых процессоров и предназначен для составления простых и сложных документов с иллюстрациями, формулами, графиками и диаграммами.
Перечислим основные возможности Word:
выделение абзацев;
автоматический перенос слов;
изменение границ текста;
автоматическая проверка орфографии и грамматики;
создание таблиц;
вставка в документ графического изображения (рисунков);
вставка и поддержка работы с математическими формулами;
Редактор формул позволяет создавать математические формулы любой сложности.
Набранный текст можно распечатать на принтере, подключенном к компьютеру. Microsoft Office Word предъявляет те же системные требования к машине, что и Windows XP.
Для подготовки презентации используется программный продукт Microsoft PowerPoint XP корпорации Microsoft.
Microsoft PowerPoint XP хорошо подходит для составления презентаций любой сложности, поскольку обладает обширными возможностями, при этом обеспечивая максимальную простоту и удобство работы. Процесс создания презентации в Microsoft PowerPoint состоит из таких действий, как выбор общего оформления, добавление новых слайдов и их содержимого, выбор разметки слайдов, изменение при необходимости оформления слайдов, изменение цветовой схемы, применение различных шаблонов оформления и создание таких эффектов, как эффекты анимации при демонстрации слайдов.
Для усовершенствования и дополнения программы новым модулем нужно:
1) написать требуемый модуль;
2) подключить его к главному модулю программы (см. таблицу 5.1);
3) дополнить главное меню требуемым пунктом и назначить на этот пункт обработчик события в виде вызова новой процедуры.
В качестве примера рассмотрим добавление модуля "NewUnit":
подключить модуль NewUnit в разделе Uses;
создать процедуру реакции на событие;
создать обработчик события и прописать следующим образом:
ИМЯ_КЛАССА. ИМЯ_ПРОЦЕДУРЫ;
При написании программы программисту необходимо придерживаться принципа удобочитаемости программы. Для этого нужно выполнять следующие рекомендации:
не размещать на одной строке более одного оператора. Дело в том, что при пошаговой трассировке программ (а это основной способ отладки), компилятор останавливается перед выполнением очередной строки кода. Если на строке размещены несколько операторов, программист не сможет проследить работу каждого оператора в этой строке отдельно от других.
выделять тела составных, условных, циклических операторов отступами по 2 символа (если этого не делать, то будет трудно определить, к какому слову begin соответствует то или иное слово end), например:
begin
<операторы>
end;
во вложенных составных операторах стараться помечать замыкающие слова end небольшими комментариями, например:
if a>b then
begin
…
if not IsNew then
begin
…
end; // if not IsNew
…
end; // if a>b
если тело подпрограммы содержит более 20-30 строк, следует проанализировать алгоритм и относительно самостоятельные его части вынести во вложенные подпрограммы или реализовать их с помощью вспомогательных классов;
не скупиться на комментарии. Небольшие затраты времени на вставку комментария по ходу составления программы с лихвой окупятся, когда понадобиться её модернизировать.
стараться использовать осмысленные идентификаторы. Для этого понадобится хотя бы начальное знание английского языка, в крайнем случае, можно русскоязычные идентификаторы записывать латинскими буквами [2,8,9,10].
Выбор технического обеспечения обуславливается следующими основными параметрами:
производительность. Комплекс технических средств должен удовлетворять требованиям, предъявляемым программным обеспечением;
качество. Данный параметр является связующим звеном между производительностью и стоимостью и должен обеспечивать комфортную и бесперебойную работу комплекса технических средств.
Комплекс технических средств должен быть построен на базе ПЭВМ IBM PC или совместимых с ней.
Комплекс технических средств (КТС) разрабатывается в соответствии с требованиями, предъявленными в ТЗ.
Выбор IBM PC в качестве базы КТС осуществлён исходя из выбранного программного обеспечения: ОС Windows ХР и визуальной среды разработки Borland Delphi версии 7.0, а также средств документирования для составления проектной документации Microsoft Word XP и Microsoft PowerPoint XP. Ниже будет спроектирован КТС для компьютера предназначенного для разработки и для работы пользователя системы "Багетная мастерская". Каждый компонент выбирается с учетом назначения компьютера, планируемого срока эксплуатации и совместимости компонентов с другими периферийными устройствами.