Рефераты
 

Разработка экономического ядра модуля ERP системы

p align="left">В начале 60-х в США начались работы по автоматизации управления запасами (Inventory Control). В результате активного роста крупносерийного и массового производства товаров народного потребления и торговли после Второй мировой войны стало очевидно, что использование математических моделей планирования спроса и управления запасами ведет к существенной экономии средств, замороженных в виде запасов и незавершенного производства. Невозможно разработать “абсолютно оптимальные методы планирования запасов”, поэтому следует выбирать и адаптировать алгоритмы к специфике конкретных складских задач в зависимости от цикла производства или поставок хранимой номенклатуры, стоимости, размеров изделий, расфасовки, применяемости и спроса, объемов складов и др. Было установлено, что выбор оптимального объема партии заказа -- одно из важнейших условий повышения эффективности предприятия, так как их недостаточный объем ведет к росту административных расходов при повторных заказах, а избыточный -- к замораживанию средств. Управление складами (Inventory Control) в современных системах управления основано на математических методах управления запасами. Например, в подсистеме MM управления материальными потоками SAP R/3 может использоваться планирование пополнения склада на основе прогноза или по достижении минимального уровня запаса (по “точке заказа”). Предлагаются более десяти вариантов расчета оптимальной партии заказа, а также возможности включения в систему алгоритмов, разработанных пользователем.

Первые автоматизированные системы управления запасами в промышленном производстве основывались на расчетах по спецификации состава изделия (Bill of Materials). По плану выпуска изделия формировались планы производства и рассчитывался объем закупки материалов и комплектующих изделий [APICS92].

Конец 60-х связан с работами Оливера Уайта (Oliver Wight) [Уайт78], который в условиях автоматизации промышленных предприятий предлагал рассматривать в комплексе производственные, снабженческие и сбытовые подразделения. Такой подход и применение вычислительной техники впервые позволили оперативно корректировать плановые задания в процессе производства (при изменении потребностей, корректировке заказов, недостатке ресурсов, отказах оборудования).

В публикациях Оливера Уайта и Американского общества по управлению запасами и управлению производством [APICS92] были сформулированы алгоритмы планирования, сегодня известные как MRP (Material Requirements Planning) -- планирование потребностей в материалах -- в конце 60-х годов, и MRP II (Manufacturing Resource Planning) -- планирование ресурсов производства -- в конце 70-х -- начале 80-х гг.

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

· Заказы (Orders) упорядочиваются, например, по приоритетам или по срокам отгрузки.

· Формируется объемный план-график производства (Master Schedule). Обычно он создается по группам продукции и может быть использован для планирования загрузки производственных мощностей.

· Для каждого изделия, попавшего в план-график производства, состав изделия “детализируются” до уровня заготовок, полуфабрикатов, узлов и комплектующих изделий.

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

В отличие от методов теории управления запасами, предполагающих независимый спрос на всю номенклатуру, MRP часто называют методом расчетов для номенклатуры “зависимого спроса” (то есть формирования заказов на узлы и комплектующие изделия в зависимости от заказа на готовую продукцию). Алгоритм MRP не только выдает заказы на пополнение запасов, но и позволяет корректировать производственные задания с учетом изменяющейся потребности в готовых изделиях. Заметим, что методы MRP получили распространение в США и практически не применялись в Японии. Дело в том, что японские методы управления в машиностроении в основном были ориентированы на массовое производство, а американские -- на мелкосерийное. В условиях мелкосерийного производства может меняться номенклатура и структура заказов. Изменение потребностей в готовой продукции ведет к изменению потребностей в комплектующих изделиях, сырье и материалах. В массовом производстве можно достаточно эффективно использовать более простые, объемные методы учета и планирования.

Рис. 1.

MRP II -- это замкнутая система планирования, относящаяся к детальному планированию производства, к финансовому планированию себестоимости материалов и производственных затрат, а также к моделированию хода производства. Планируется не только выпуск изделий, но и ресурсы для выполнения плана. Начальным этапом планирования является прогнозирование и оценка производственных мощностей (Capacity Requirements Planning). Присутствует также этап объемного планирования (Master Production Scheduling). Результаты объемного планирования являются исходной информацией для планирования потребностей в материалах (MRP), изготавливаемых и поступающих по кооперации.

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

Другие методики

Не все современные концепции управления возникали в США. Так, метод планирования и управления Just-in-time (JIT -- Точно вовремя) появился на предприятиях автомобильного концерна в 50-х годах. Он охватывает проектирование изделий, выбор поставщиков, обеспечение качества, планирование, учет производства и контроль (с использованием специальных бирок-ярлыков Kanban). Одна из важнейших концепций метода “точно вовремя” связана с минимизацией страховых и межоперационных заделов за счет стабилизации поставок, а также обеспечения резерва производственных мощностей. Метод “точно вовремя” не противоречит MRP и MRP II и часто предлагается в современных системах как одна из форм организации производства. Однако до сих пор он не соответствовал традиции отечественной промышленности, так как именно заделы и запасы сырья служат буфером от нестабильности поставок, смежников и растущих цен комплектующих изделий. Кроме того, в СССР считалось, то полезнее повышать значение коэффициента использования оборудования (вместо создания задела мощностей), чем рационально планировать объем межоперационных заделов, а эти два показателя -- взаимосвязаны.

Методы OPT (Optimised Production Technology -- оптимизированная технология производства) созданы в Израиле в 70-х годах (работы Эли Голдрайт). На их основе был разработан ряд программных пакетов. Методы OPT предназначены для максимизации выпуска продукции при сокращении объема запасов и производственных затрат. В их основе лежит определение “узких мест” (производственных мощностей или материальных ресурсов) и наиболее точный их учет при планировании. Методика оценки “узких мест” сохраняет актуальность и применяется в алгоритмах планирования и определения ресурсов производственных мощностей MRP II.

Концепция компьютеризированного интегрированного производства (CIM, Computer Integrated Manufacturing) возникла в начале 80-х годов и связана с интеграцией гибкого производства и систем управления им. CIM с точки зрения систем управления и планирования (в качестве которых используются ERP и MRP II) предполагает интеграцию всех подсистем системы управления (управления снабжением, проектированием и подготовкой производства; планирования и изготовления; управления производственными участками и цехами; управления транспортно-складскими системами; управления обеспечением оборудованием, инструментом и оснасткой; систем обеспечения качества, сбыта, а также финансовых подсистем) [APICS92].

Методы CALS (Computer-aided Acquisition and Logistics Support -- компьютерная поддержка процесса поставок и логистики) [CALS99] [Родников95] возникли в 80-х годах в военном ведомстве США для повышения эффективности управления и планирования в процессе заказа, разработки, организации производства, поставок и эксплуатации военной техники. CALS предусматривает однократный ввод данных, их хранение в стандартных форматах, стандартизацию интерфейсов и электронный обмен информацией между всеми организациями и их подразделениями -- участниками проекта. Методы доказали свою эффективность и переносятся в настоящее время на “гражданские” отрасли промышленности. Новая концепция сохранила аббревиатуру CALS с более широким смыслом (Continuous Acquisition and Life circle Support -- поддержка непрерывного жизненного цикла продукции). Проводится стандартизация ряда аспектов CALS в международной организации стандартизации ISO. Методы CALS могут использоваться вместе с MRP II/ERP и CIM. В отличие от них CALS позволяет управлять всем жизненным циклом продукции, включая маркетинг, управление комплексными проектами, обслуживанием при эксплуатации.

В чем отличия ERP от MRP II?

Системы ERP предназначены для управления финансовой и хозяйственной деятельностью предприятий. Это “верхний уровень” в иерархии систем управления предприятием, затрагивающий ключевые аспекты его производственной и коммерческой деятельности, такие как производство, планирование, финансы и бухгалтерия, материально-техническое снабжение и управление кадрами, сбыт, управление запасами, ведение заказов на изготовление (поставку) продукции и предоставление услуг. Такие системы создаются для предоставления руководству информации для принятия управленческих решений, а также для создания инфраструктуры электронного обмена данными предприятия с поставщиками и потребителями.

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

Основные отличия систем управления предприятиями, построенных на основе концепции ERP [Keller96], следующие.

· В ERP, в отличие от MRP II, больше внимания уделяется финансовым подсистемам.

· Системы ERP, в отличие от MRP II, ориентированы на управление “виртуальным предприятием”. Виртуальное предприятие, отражающее взаимодействие производства, поставщиков, партнеров и потребителей, может состоять из автономно работающих предприятий, или корпорации, или географически распределенного предприятия, или временного объединения предприятий, работающих над проектом, государственной программой и др.

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

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

· Растут требования к интеграции систем ERP с приложениями, уже используемыми на предприятии (например, системами проектирования, подготовки производства, учета хода производства и управления технологическими процессами, биллинга и расчета с клиентами и др.), а также с новыми разработками. Система ERP не может решить всех задач управления промышленным предприятием и часто воспринимается как хребет, на основе которого выполняется интеграция с другими приложениями.

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

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

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

Что дает внедрение ERP

Существует 5 основных причин, из-за которых компании берутся за внедрение ERP систем.

Интегрировать финансовую информацию. Когда руководитель пытается оценить работу компании, он может увидеть много разных «версий правды». Финансовый отдел предоставляет одну версию отчёта о доходах, отдел продаж - другую. Остальные подразделения могут показывать свои варианты того, каков их вклад в бизнес. ERP-система создает один окончательный вариант правды, который не может никем оспариваться, поскольку все используют одну систему.

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

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

Уменьшить складские запасы. ERP-системы способствуют тому, что производственный процесс протекает более гладко, улучшается процесс исполнения заказа внутри компании. Компания теперь может запасать меньше сырья, необходимого для производства продукта, и хранить меньше готовой продукции на складах. Для того, чтобы радикально улучшить всю цепочку поставок, вам может потребоваться специальный модуль SCM (Supply Chain Management - управление цепочками поставок), который сегодня входит в стандартную конфигурацию большинства ERP-систем.

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

Что может дать предприятию внедрение ERP-системы или современной MRPII-системы?

1. Системы класса MRPII/ERP представляют собой интегрированные информационные системы управления. Это означает, что:

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

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

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

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

Как следствие, MRPII/ERP-системы позволяют достичь согласованности работы различных подразделений, снижая при этом административные издержки и устраняя проблему интеграции данных для разных приложений. Эти системы являются инструментом повышения эффективности управления, принятия правильных стратегических и тактических решений на основе своевременной и достоверной информации, выдаваемой компьютером.

2. Использование MRPII/ERP-систем позволяет достичь конкурентных преимуществ за счет оптимизации бизнес-процессов предприятия и снижения издержек.

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

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

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

· оценивать выполнимость поступивших заказов с точки зрения имеющихся на предприятии мощностей;

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

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

· в результате уменьшения цикла производства и цикла выполнения заказа более гибко реагировать на спрос;

· улучшить обслуживание клиентов и заказчиков за счет своевременного исполнения поставок.

Реализованные в MRPII/ERP-системах возможности гибкого управления себестоимостью продукции позволяют получать более высокую прибыль. Кроме этого, снижение себестоимости означает возможность варьировать рыночную цену продукции (в сторону понижения), что является мощным преимуществом в конкурентной борьбе.

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

3. Внедренная MRPII/ERP-система может помочь компании привлечь инвестиции. MRPII/ERP-системы делают бизнес компании более прозрачным, что повышает доверие к нему со стороны инвесторов. Это особенно актуально в российских условиях.

Следует добавить, что существуют российские разработки MRPII-систем ("Галактика", "Парус", "Босс"), однако часто выбор отечественных предприятий падает на аналогичные западные системы. Мотивом такого решения, как правило, является желание привлечь западные инвестиции: обычно иностранные акционеры, инвесторы, консультанты требуют, чтобы на предприятии была установлена знакомая им система.

Особенности разработки Java программ

Создание языка Java -- это действительно один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет.

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

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

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

История создания

Язык Java зародился как часть проекта создания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке С++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента - языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами.

Рождению языка Java предшествовала довольно интересная история. В 1990 году разработчик ПО компании Sun Microsystems Патрик Нотон (Patrick Naughton) понял, что ему надоело поддерживать сотни различных интерфейсов программ, используемых в компании, и сообщил исполнительному директору Sun Microsystems и своему другу Скотту МакНили (Scott McNealy) о своем намерении перейти работать в компанию NeXT. МакНили, в свою очередь, попросил Нотона составить список причин своего недовольства и выдвинуть такое решение проблем, как если бы он был Богом и мог исполнить все, что угодно.

Нотон, хотя и не рассчитывал на то, что кто-то обратит внимание на его письмо, все же изложил свои претензии, беспощадно раскритиковав недостатки Sun Microsystems, в частности, разрабатываемую в тот момент архитектуру ПО NeWS. К удивлению Нотона, его письмо возымело успех: оно было разослано всем ведущим инженерам Sun Microsystems, которые не замедлили откликнуться и высказать горячую поддержку своему коллеге и одобрение его взглядов на ситуацию в Sun Microsystems. Обращение вызвало одобрение и у высшего руководства компании, а именно, у Билла Джоя (Bill Joy), основателя Sun Microsystems, и Джеймса Гослинга (James Gosling), начальника Нотона.

В тот день, когда Нотон должен был уйти из компании, было принято решение о создании команды ведущих разработчиков с тем, чтобы они делали что угодно, но создали нечто необыкновенное. Команда из шести человек приступила к разработке нового объектно-ориентированного языка программирования, который был назван Oak (дуб), в честь дерева, росшего под окном Гослинга.

Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person. Новая компания обладала интереснейшей концепцией, но не могла найти ей подходящего применения. После ряда неудач неожиданно ситуация для компании резко изменилась: был анонсирован броузер Mosaic - так родился World Wide Web, с которого началось бурное развитие Internet. Нотон предложил использовать Oak в создании Internet-приложений. Так Oak стал самостоятельным продуктом, вскоре был написан Oak-компилятор и Oak-браузер "WebRunner". В 1995 году компания Sun Microsystems приняла решение объявить о новом продукте, переименовав его в Java (единственное разумное объяснение названию - любовь программистов к кофе). Когда Java оказалась в руках Internet, стало необходимым запускать Java-аплеты - небольшие программы, загружаемые через Internet. WebRunner был переименован в HotJava и компания Netscape встала на поддержку Java-продуктов.

Революционный язык программирования

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

Простота и мощь

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

Безопасность

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

Объектная ориентированность

Забавно наблюдать, как многочисленные новые диалекты старых языков безапелляционно объявляются объектно-ориентированными. Поскольку при разработке языка отсутствовала тяжелая наследственность, для реализации объектов был избран удобный прагматичный подход. Разработчики Java старались выдержать разумный компромисс между моделью пуристов -- “все является объектами”, и моделью хакеров -- “уйди с моей дороги”. Объектная модель в Java проста и легко расширяется, в то же время, ради повышения производительности, числа и другие простые типы данных Java не являются объектами.

Надежность

Java ограничивает вас в нескольких ключевых областях и таким образом способствует обнаружению ошибок на ранних стадиях разработки программы. В то же время в ней отсутствуют многие источники ошибок, свойственных другим языкам программирования (строгая типизация, например). Большинство используемых сегодня программ “отказывают” в одной из двух ситуаций: при выделении памяти, либо при возникновении исключительных ситуаций. В традиционных средах программирования распределение памяти является довольно нудным занятием -- программисту приходится самому следить за всей используемой в программе памятью, не забывая освобождать ее по мере того, как потребность в ней отпадает. Зачастую программисты забывают освобождать захваченную ими память или, что еще хуже, освобождают ту память, которая все еще используется какой-либо частью программы. Исключительные ситуации в традиционных средах программирования часто возникают в таких, например, случаях, как деление на нуль или попытка открыть несуществующий файл, и их приходится обрабатывать с помощью неуклюжих и нечитабельных конструкций (кроме Delphi). Java фактически снимает обе эти проблемы, используя сборщик мусора для освобождения незанятой памяти и встроенные объектно-ориентированные средства для обработки исключительных ситуаций.

Интерактивность

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

Независимость от архитектуры ЭВМ

Вопрос о долговечности и переносимости кода важнее религиозных войн между ПК и Макинтошами. Создатели Java наложили на язык и на среду времени выполнения несколько жестких требований, которые на деле, а не на словах позволяют, однажды написав, всегда запускать программу в любом месте и в любое время (где существует виртуальная Java-машина - броузеры на всех платформах, OS/2, Netware).

Интерпретация плюс высокая производительность

Необычайная способность Java исполнять свой код на любой из поддерживаемых платформ достигается тем, что ее программы транслируются в некое промежуточное представление, называемое байт-кодом (bytecode). Байт-код, в свою очередь, может интерпретироваться в любой системе, в которой есть среда времени выполнения Java. Большинство ранних систем, в которых пытались обеспечить независимость от платформы, обладало огромным недостатком -- потерей производительности (Basic, Perl). Несмотря на то, что в Java используется интерпретатор, байт-код легко переводится непосредственно в “родные” машинные коды (Just In Time compilers) “на лету”. При этом достигается очень высокая производительность (Symantec JIT встроен в Netscape Navigator).

Простота изучения

Язык Java, хотя и более сложный чем языки командных интерпретаторов, все же неизмеримо проще для изучения, чем другие другие языки программирования, например C++. Черты языка станут казаться вам естественным путем для решения тех или иных задач и будут способствовать отработке хорошего стиля программирования. Поскольку объектная модель в Java одновременно проста и выразительна, вы скоро освоитесь с объектно-ориентированным стилем создания программ.

Богатая объектная среда

Среда Java -- это нечто гораздо большее, чем просто язык программирования. В нее встроен набор ключевых классов, содержащих основные абстракции реального мира, с которым придется иметь дело вашим программам. Основой популярности Java являются встроенные классы-абстракции, сделавшие его языком, действительно независимым от платформы. Библиотеки, подобные MFC/COM, OWL, VCL, NeXTStep, Motif и OpenDoc прекрасно работают на своих платформах, однако сегодня главной платформой становится Internet.

Проектирование и реализация модуля ERP системы.

Общее описание проекта

Данный проект представляет собой один из модулей ERP системы.В частности “Управление товарными и финансовыми потоками” . Предназначена для мелких фирм и индивидуальных предпринимателей. Будет также полезна все кто много и часто совершает операции покупки / продажи. Позволяет вести учет всего цикла перемещения товаров/денег в торговой операции и составлять отчет о проделанной работе. Для демонстрации возможностей программы реализована схема интернет-торговли на аукционе Ebay.

Реализация

При решение поставленной задачи использовалась среда Net Beans на базе языка программирования Java. Интерфейс пользователя создавался с применением технологии Swing. Графическое оформлении делалось с помощью редактора “Corel Draw”, документация с помощью текстового процессора MS Word и Macromedia Flash

Логическая схема

Требования

Для работы программы необходим, по возможности качественный монитор, c поддержкой разрешения 1024*768 и выше, компьютер c 256 Mb и более оперативной памяти и тактовой частотой процессора не менее 700Mhz. Операционная система c установленной виртуальной машиной Java

Экономическая схема торговой деятельности

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

· Сами операции

o Покупка

o Продажи

o Посредничество

o Смешанный вариант (к примеру Dropshipping)

· Субъекты которые непосредственно участвуют в этих операциях:

o Клиенты (любой клиент может выступать в роли посредника)

o Посредники (помогающие осуществить товарный или денежный расчет м/у клиентами)

§ Товарное посредничество (Склады и почты)

· Прием

· Отправка

· Обмен

§ Денежное посредничество (Банки, платежные системы итд)

· Прием

· Проплата

· Конвертация валют

· Обмен м/у различными платежными системами

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

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

Если программно реализовать вышеприведенную экономическую схему, то чтобы построить необходимую экономическую модель, нужно просто оставить необходимые модули из этой схемы плюс добавить отраслевые законы, по которым это будет все работать. Такая практика используется, когда пишут большие экономические проекты сходной направленности, после чего они разбиваются на более мелкие, с сохранением архитектуры программы. Измения мелких относительно основного проекта - несоизмеримы по времени разработки большого - что очень удобно. Поэтому в будущем когда заказчику нужна будет бухгалтерская система опреленной направленности ,к примеру работа агентства недвижимости, нет смысла делать автономную, статическую программу , и выделять под это весь проект. Удобней будет сделать один проект , который будет как конструктор- шаблон для других любых экономических проектов. В общем, любая программа построенная на этом “конструкторе”, позволит контролировать товарно-финансовые потоки и представит удобные инструменты для выполнения промежуточных .

Пример отраслевой реализации экономической схемы

Аукцион EBAY

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

Для построения программы для ebay, добавляем систему акционов (обычный, голландский итд) это идет как особенность операции продажи. Также можем добавить типы совершения продаж (Buy it now, immediate payment required , private auctions etc) и тд. Добавляем систему рейтингов для продавцов и покупателей(CRM/SRM),

Добавляем товарных посредников (почты). Добавляем статистику по закрытым аукционам (аналитика) и тд…

Добавили все законы и ограничения этой схемы , характерные для ebay - получили программу для работы на ebay.

Агенство недвижимости

Участники (клиенты или субъекты)

· Арендодатели (продавцы)

· Само агенство (посредник)

· Квартиросъемщик (покупатель)

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

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

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

· Смешанный тип операции (Продажа через посредничество)

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

· Законы проведения операции и их последовательность.

Вводим порядок проведения операции (очень упрощенно)

1. Подача заявки

2. Предложение вариантов квартир

3. Заключение предварительного договора с агентством

4. Выезд агента и просмотр хат

5. Заключение договора с хозяином квартиры

6. Оплата услуг агентства

7. Заключение договора в ЖЭС м/у хозяином хаты и квартиросъемщиком

· Определяем товар

Два вида товара, характерные только для данной отрасли

1. Оплата по факту заселения (договорился с хозяином хаты - заплатил деньги агентству. Эта услуга, как правило, дороже + выезд агента)

2. Предоставление просто информации о сдаваемых в текущий момент квартирах (дешевле, но нет гарантии, что квартира не сдана)

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

Внешний вид программы

Исходный код

Файл MclientsPanel

public class MClientsPanel extends SVModPanel {

public JDBConnect DBConnect = new JDBConnect();

public JDBConnect.JTData dataGrid = new JDBConnect.JTData();

public ClientTab clTab;

public AuditTab auTab;

public AnnexTab anTab;

public RolesTab rlTab;

public AccountsTab acTab;

public WarehousesTab whTab;

public CommentTab cmTab;

public ClientTransTab ctTab;

public int opType;

/** Creates new form ClientsPanel */

public MClientsPanel(){}

public MClientsPanel(int opType,Object parentDlg,boolean t) {

this.parentDlg = parentDlg;

this.opType=opType;

initEnvironment();

}

private void initEnvironment(){

initDialog();

clTab = new ClientTab(opType);

auTab = new AuditTab(opType);

anTab = new AnnexTab(opType);

rlTab = new RolesTab(opType,this);

acTab = new AccountsTab(opType,this);

whTab = new WarehousesTab(opType,this);

cmTab = new CommentTab(opType);

ctTab = new ClientTransTab(opType);

tabbedPane.addTab( "General",clTab);

tabbedPane.addTab( "Roles",rlTab);

tabbedPane.addTab( "Accounts",acTab);

tabbedPane.addTab( "Warehouses",whTab);

tabbedPane.addTab( "ClientTrans",ctTab);

tabbedPane.addTab( "Comment",cmTab);

tabbedPane.addTab( "Audit",auTab);

tabbedPane.addTab( "Annex",anTab);

showDialog("dd",600,450);

}

public void onOk(){

clTab.saveData(opType);

acTab.saveData();

saveData();

JModules.updateInfo(JModules.selModName);

JMainDlg.mfRefer.updateInfo();

closeDialog();

}

}

Файл MItemsPanel

public class MItemsPanel extends SVModPanel{

public ItemTab iTab;

public CommentTab cmTab;

public AuditTab auTab;

public AnnexTab anTab;

public JDBConnect DBConnect = new JDBConnect();

public int opType;

public MItemsPanel(int opType,Object parentDlg,boolean t) {

this.parentDlg = parentDlg;

this.opType=opType;

initEnvironment();

}

private void initEnvironment(){

initDialog();

iTab = new ItemTab(opType);

cmTab = new CommentTab(opType);

auTab = new AuditTab(opType);

anTab = new AnnexTab(opType);

tabbedPane.addTab( "General",iTab);

tabbedPane.addTab( "Comment",cmTab);

tabbedPane.addTab( "Audit",auTab);

tabbedPane.addTab( "Annex",anTab);

showDialog("dd",600,450);

}

public void onOk(){

String i_id = new Integer(JModules.selTRecID).toString();

String clName1 = iTab.jTextField1.getText();

String clName2 = iTab.jTextField2.getText();

String street = iTab.jTextField3.getText();

String cl_city = iTab.jTextField4.getText();

String cl_land = iTab.jTextField5.getText();

String cl_tel = iTab.jTextField6.getText();

try {

Statement st = DBConnect.conn.createStatement();

JTParameter param = new JTParameter();

param.reset();

param.add(clName1,Types.VARCHAR);

param.add(clName2,Types.VARCHAR);

param.add(street,Types.VARCHAR);

param.add(cl_city,Types.VARCHAR);

param.add(cl_land,Types.VARCHAR);

param.add(cl_tel,Types.VARCHAR);

//param.add(cl_fax,Types.VARCHAR);

//param.add(cl_email,Types.VARCHAR);

//param.add(cl_www,Types.VARCHAR);

String sql="";

if(opType==1){ // New

sql= "insert into items(I_CODE,I_GR,I_DESC,I_MODEL,I_COND,I_EBAYID) values (?,?,?,?,?,?)";

DBConnect.execParamSqlUpdate(sql,param);

}

if(opType==2){ // Open

param.add(i_id,Types.NUMERIC);

sql="update items set I_CODE=?,I_GR=?,I_DESC=?,I_MODEL=?,I_COND=?,I_EBAYID=? where i_id=?";

DBConnect.execParamSqlUpdate(sql,param);

}

} catch (SQLException ex) {

ex.printStackTrace();

}

JModules.updateInfo();

JMainDlg.mfRefer.updateInfo();

closeDialog();

}

}

Заключение

Последнее время отмечено формированием новой экономики, основным инфраструктурным элементом которой является сеть Интернет. Выводя часть своего бизнеса в Интернет, компании преследуют одновременно несколько целей: от сокращения издержек до улучшения обслуживания клиентов и организации нового онлайнового канала сбыта. Существует много схем электронной коммерции как в секторе B2C (например, создание Web-витрины или Интернет-магазина), так и в секторе B2B (к примеру, организация корпоративного портала или участие в работе виртуальной торговой площадки - e-marketplaces). Однако нужно четко понимать, что использование любой из этих схем не будет эффективным, если компания заранее не позаботилась о наведении порядка внутри своего бизнеса, о создании надежного бэк-офиса.

В качестве основы построения Интернет-решений практически всегда рассматриваются MRPII/ERP-системы, обеспечивающие ресурсное планирование и интегрированное управление всеми бизнес-процессами компании. Грубо говоря, MRPII/ERP-системы - это хребет, к которому монтируются Интернет-решения. Отсутствие четкой и надежной системы внутреннего планирования и контроля, интегрированной с внешним Интернет-решением, обрекает компанию в новой экономике на неудачу.

Список использованной литературы

1. Картузов А.В. Программирование на языке JAVA. -Тамбов,1995.- 169 с.

2. Гослинг М. Иллюстрированный самоучитель по Java Москва 2002. --704 стр

3. Александреску A. Современное проектирование на Java: Обобщенное программирование и прикладные шаблоны проектирования Вильямс, 2002 г. 336 стр

4. Крамер Д. Платформа Java Бином. 2005 г 1104 стр.

5. Материалы с сайта www.erp-online.ru

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ