Разработка автоматизированной системы управления торговым предприятием

Обзор средств автоматизации торговли. Обзор состояния Интернет-торговли и роли в них аукционов. Описание процесса проектирования автоматизированной системы. Расчет экономической эффективности от внедрения программного продукта. Охрана труда работников.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 09.09.2008
Размер файла 569,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

1) неадекватность функций системы целям и задачам предприятия;

2) снижение эффективности предприятия в результате неудачного внедрения ИС, потеря менеджментом инструментов контроля;

3) отклонение фактической эффективности внедрения системы от заданной, краткосрочность эффектов;

4) риски, связанные с «человеческим фактором»;

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

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

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

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

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

Вероятностные методы (Real Options Valuation, Applied Information Economics) используются для прогнозирования рисков и неопределенности реализации проекта внедрения. Количественные расчеты необходимо дополнить с помощью качественных методик, которые позволяют оценить неявные выгоды проекта там, где использовать расчетные методы затруднительно. С помощью эвристических методик можно разработать специальную систему показателей, основанную, например, на методе экспертных оценок. Использование качественных методик позволяет достичь эффективного результата, так как еще на стадии планирования проекта внедрения важно учитывать мнения различных групп интересов на предприятии, а также экспертов и консультантов.

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

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

В экономическом анализе используются различные аспекты критерия минимизации альтернативных издержек (opportunity costs), в частности,

1) сравнение показателей работы предприятия с установленной информационной системой и без нее;

2) анализ выгодности других проектов по улучшению работы предприятия (например, с использованием более простых и привычных отечественных приложений) и сравнение полученных результатов с результатами внедрения ERP;

3) сопоставление выгод от внедрения системы в денежном эквиваленте с доходом от инвестиций, к примеру, в ценные бумаги или другие активы.

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

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

При использовании методов проектного менеджмента анализ эффективности проводится посредством укрупненной детализации всех операций, входящих в проект внедрения. В качестве базиса используются методики PERT/Cost-анализа (Program Evaluation Review Technique), а также концепция C/SCSC (Cost/Schedule Control Systems Criteria -- затратно/временные системные показатели управления).

Остановимся подробнее на методике C/SCSC. Данный метод основан на широко известных сетевых моделях планирования стоимости и времени проекта, а также разработке различных сценариев развития проект, что позволяет оценить эффективность внедрения информационной системы на уровне отдельных операций или групп операций уже на начальных стадиях реализации проекта. В рамках концепции затратно-временных показателей эффективность может быть оценена как на уровне различных стадий, так и отдельных операций проекта внедрения ERP на основе двух ключевых показателей: соотношение объема запланированных и выполненных работ, а также запланированных и фактических затрат на проведение проекта.

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

Описанные основные процедуры проекта интегрируются в единый план, называемый План Контроля Затрат (или САР-план), методика планирования строится по принципу «снизу вверх». По сути, генеральный план состоит из нескольких «суб-планов», каждый из которых характеризует одно из направлений общего проекта. Для эффективного контроля реализации проекта назначаются ответственные за каждый из САР-планов, которые напрямую подчиняются руководителю проекта. Ход реализации каждого САР-плана контролируется посредством директивного графика, в котором учитывается процент выполненных работ, соответствие реальных показателей проекта запланированным, соответствие реальных затрат реализации каждого направления проекта запланированным показателям. Использование директивного графика позволяет контролировать ход проекта на разных стадиях, а также оперативно корректировать возникающие отклонения посредством активного участия ответственных за каждое направление проекта.

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

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

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

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

1.5. Внедрение системы автоматизации, основные проблемы и задачи

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

Далее приведены основные проблемы и задачи, возникающие в большинстве случаев при внедрении систем управления и рекомендации по их решению.

Основные проблемы и задачи, требующие особого внимания при их решении:

1) отсутствие постановки задачи менеджмента на предприятии;

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

3) необходимость изменения технологии бизнеса в различных аспектах;

4) сопротивление сотрудников предприятия;

5) временное увеличение нагрузки на сотрудников во время внедрения системы;

6) необходимость в формировании квалифицированной группы внедрения и сопровождения системы, выбор сильного руководителя группы.

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

1) создать у сотрудников всех уровней твердое ощущение неизбежности внедрения;

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

3) всегда подкреплять все организационные решения по вопросам внедрения изданием соответствующих приказов и письменных распоряжений.

2. Торговое предприятие во всемирной компьютерной сети

2.1. Электронная коммерция

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

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

Поскольку интернет-транзакции обезличены, они достаточно чувствительны к обеспечению безопасности. Вам необходимо создать ощущение безопасности без «привкуса тюрьмы». Покупатели должны иметь возможность выбора режима платежа, а программное обеспечение должно проверять их кредитоспособность. Этот процесс может подразумевать участие кредитных карт, электронных денег или непосредственно выбранных заказов. Специализированное программное обеспечение наподобие CyberCash, CommercePOINT eTill и Microsoft Wallet способно проконтролировать и действия покупателя и процесс покупки. Пакеты программ для электронной коммерции должны также работать с технологиями Secure Socket Layer (SSL) или Secure Electronic Transfer (SET) для криптографической защиты передаваемых данных. Чем больше из перечисленных способов защиты поддерживает программный пакет, тем лучше. Большинство решения для электронных платежей требует открытия специального банковского счета для обслуживания онлайновых транзакций.

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

Часто подходящее программное обеспечение может помочь упростить эту работу. Например, Electronic Commerce Suite компании iCat хорошо подходит для работы с мультимедийными элементами. Большинство программных продуктов могут, кроме того, разбивать каталог по группам товаров (отделы, секции). Это объединено с утилитой поиска, что облегчает выбор пользователя. Internet Commerce Server компании Oracle имеет мощные возможности индексации. Net. Commerce фирмы IBM идет на один шаг впереди, поскольку с помощью Product Adviser помогает покупателям разрабатывать профайл своих предпочтений и показывает им, как найти то, что они хотят.

Многие продукты для электронной коммерции поставляются с примерами страниц каталога, которые можно многократно использовать, чтобы исключить рутинное повторение одних и тех же операций при их создании. Кстати, установление соответствия между такими данными, как цены и описания продуктов, или их импорт, могут стать главной головной болью при создании каталога. Если пункты вашего каталога меняются достаточно часто или у вас их слишком много, вам надо обратить внимание на программы, подобные Cat@log компании Vision Factory, которые способны легко установить связь со множеством баз данных.

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

В вопросах доставки выбранной продукции и расчета необходимых налогов может возникнуть множество разных деталей, поэтому ищите программное обеспечение, поддерживающее модули доставки третьей стороны (например, Tandata компании Tandata Corporation) и пакеты расчета налогов (например, Taxware, разработанное фирмой Taxware International). С заказами связано и множество других расчетов -- дисконты, купоны, оптовые скидки и др. Большинство электронно-коммерческих программ в состоянии выполнить большую часть таких расчетов. Вам следует сверить ваши потребности со списком поддерживаемых расчетов или хотя бы предусмотреть возможность несложного добавления собственных расчетов.

Кроме того, существует множество способов связи с системами учета (accounting systems). Некоторые программные продукты -- такие, как Dynamic NT компании INEX -- поставляются с полным пакетом бухгалтерского и инвентаризационного программного обеспечения. Чаще же программы предоставляют связь с наследуемыми данными и системами учета. Как следовало ожидать, такие компании как IBM и Oracle с особым уважением относятся к своим старым системам.

Одним из вариантов комплексного решения является разработка своего собственного программного обеспечения. Этот подход требует участия множества специалистов в области Интернет и специализированным языкам программирования (HTML, Java и др.) и очень дорого стоит. Большинство компаний скорее предпочитают вкладывать средства в коммерческий программный продукт. Сегодня на рынке имеются десятки продуктов, варьирующиеся по цене от нескольких сот до нескольких сот тысяч долларов. Такие компании, как IBM и Microsoft и множество более мелких компаний-разработчиков -- например, iCat и Vision Factory создают электронно-коммерческие программы для предприятий любой структуры и любого размера. В ряде случаев вам даже не нужно покупать программное обеспечение -- можно просто арендовать сайт и программы у компании, предоставляющей хостинг.

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

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

Но даже учитывая все проблемы, требующие решения, проще и дешевле работать с коммерческим программным обеспечением, чем самим создавать электронно-коммерческие программы «с нуля». В тех случаях, когда программное обеспечение продумано до мелочей, результаты могут быть впечатляющими -- достаточно впечатляющими, чтобы запускать успешные электронно-коммерческие сайты, подобные Dell Computer (http://www.dell.com/), ежедневный доход которого измеряется миллионами долларов.

2.2. Интернет-аукционы.

Cетевой аукцион -- это сайт, где продавцы высталяют свой товар на продажу в виде лота, и продают тому покупателю, который предложит наивысшую цену. За последние годы в мире открылись сотни сетевых аукционов -- они отличаются языком интерфейса, локализацией, специализацией -- на одних на торги выставляется недвижимость, на других автомобили, на третьих акции. Многие крупные интернет компании открыли свои аукционы -- eBay, Yahoo, Amazon, Ubid и другие. Чем же объясняется такая популярность? Все просто -- возможности сетевого аукциона гораздо выше, чем у обычных аукционов, которые как правило простым смертным не доступны. А здесь торги на тысячи и сотни тысяч лотов ведутся одновременно. Любой пользователь, из любой страны выставляет на торги свой товар и не важно уникальный он, редкий или же это просто товар повседневного быта -- продается абсолютно все. Другие пользователи предлагают свою цену -- кто больше предложил, тому и продали.

По всеобщему признанию лидирующие позиции на онлайновом мировом аукционном рынке занял интернет аукцион eBay, который появился в 1995 году. На данный момент он имеет сотни миллионов зарегистрированых пользователей, огромное количество одновременно выставленных на торги лотов в более чем 3-х тысячах категорий, около тридцати филиалов по всему миру. Каждый месяц на eBay просматриваются 1,5 биллиона страниц. За эти десять лет исполнительный директор аукциона eBay -- Маргарет Уитман стала одной из самых богатых женщин мира (личное состояние оценивается в $1,6 млрд.), журнал Форбс поставил ее на 5-е место в рейтинге самых влиятельных женщин планеты. Объем сделок совершаемых на аукционе eBay растет из года в год в геометрической прогрессии. Даже самые опытные эксперты рынка уже не берутся предсказывать финансовые результаты аукциона на будущее. Аукцион бурно развивается -- открываются новые региональные филиалы, растет количество пользователей. За короткое время компания eBay приобрела электронную платежную систему PayPal ($1,5 млрд.), портал Shopping.com ($620 млн.), уже достигнута договоренность о покупке крупнейшего в мире оператора IP телефонии компании Skype за 2,6 миллиарда долларов. С каждым месяцем аукцион eBay добавляет новые категории товаров : недвижимость, драгоценности и т. д. Каждый из филиалов eBay имеет раздел eBay Motors, где продаются автомобили, мотоциклы, катера.

Услуги аукциона для покупателей бесплатны, продавцы же должны оплачивать аукциону выставление лота на торги, его дальнейшую продажу (сумма зависит от стоимости товара) и т. д. Один аккаунт на eBay позволяет, как покупать и продавать. Регистрация и членство на аукционе eBay бесплатны для всех.

После прохождения регистрации, вы получите статус покупателя, т. е. сможете покупать все, что хотите, сможете посмотреть все сами и купить или продать необходимый вам товар, выбрать наиболее удобный вам способ оплаты и т. д. На сегодняшний день eBay имеет более 20 региональных филиалов в крупнейших странах мира.

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

На сегодняшний день аукцион eBay имеет более 20-ти филиалов в разных странах мира. Это США (eBay.com), Канада (eBay.ca), Германия (eBay.de), Великобритания (eBay.co.uk) и многие другие и вы можете открывать eBay аккаунты на любом из них. К сожалению в России (да и в других странах СНГ) ни одного филиала eBay пока нет и по адресу eBay.ru мы не увидим знакомого логотипа Русский eBay, украинский eBay и т. д. -- это пока лишь мечта. Ближайший к нам филиал eBay открыт в Польше (eBay.pl).

3. Проектирование и реализация АСУТП

3.1. Язык программирования 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, хотя и более сложный чем языки командных интерпретаторов, все же неизмеримо проще для изучения, чем другие другие языки программирования, например JAVA. Черты языка станут казаться вам естественным путем для решения тех или иных задач и будут способствовать отработке хорошего стиля программирования. Поскольку объектная модель в Java одновременно проста и выразительна, вы скоро освоитесь с объектно-ориентированным стилем создания программ.

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

3.2. Концепция Business Engine

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

Рис. 3.1. Торговля как посредник

Предприятие, специализирующееся на оказании услуг, не нуждается в посредниках и поэтому работает напрямую с потребителем. Рассмотрим, как функционирует торговое предприятие и какую роль в нем будет занимать программа управления, построенная на базе Business Engine.

Рис. 3.2. Функционирование торгового предпрриятия

Business Engine функционирует относительно подразделений предприятия по схеме клиент -- операция -- товар. Клиенты, взаимодействуя между собой, инициируют начало операций, которые приводят к перемещению товаров и денег или только денег. Каждая операция состоит из нескольких подопераций (транзакций), которые имеют свой набор и последовательность (например получил товар, перечислил деньги, отправил товар, выставил лот и т. д.). В свою очередь каждая транзакция инициирует перемещение денег по счетам и товаров по складам. В экономических отношениях каждый клиент имеет одну или несколько ролей, которые добавляют ему возможности осуществления различного рода операций. В нашей модели выделяют четыре роли (покупатель, продавец, финансовый посредник или платежная система, товарный посредник или почта). Каждый клиент может заводить счета и склады у любого другого клиента, если для них определена соответствующая роль. Также клиент имеет по умолчанию один счет и один склад, который они заводят сами у себя для возможности расчетов наличными (касса) и передача товара из рук в руки. Для наглядного изображения можно посмотреть рисунок 3.3. Счет открывается в одном из типов валют. В Business Engine представлены все основные типы валют, при надобности можно задать любую валюту. Чтобы переводить деньги с одного счета на другой, они должный быть одного типа или использовать посредника имеющего нужный тип счета. Для операций со складами характерно тоже самое. Вся мощь Business Engine заключается в том, что он представляет собой программно реализованную экономическую модель с необходимыми для всех торговых предприятий операциями. А вот на базе какого типа торговли, товара или структуры подразделений предприятия реализовать это программное решение -- решать вам. Главная особенность такого подхода в том, что можно быстро предоставить вам программное решение именно по вашей бизнес-схеме. Все программ реализованные на Business Engine позволяют производить:

1) управление продажами (включая оптовую, розничную и комиссионную торговлю);

2) управление поставками;

3) планирование продаж и закупок;

4) мониторинг и анализ эффективности торговой деятельности;

5) управление складскими запасами;

6) управление заказами покупателей;

7) управление отношениями с клиентами;

8) анализ товарооборота предприятия;

9) валютно-обменные операции;

10) платежи и переводы;

11) анализ цен и управление ценовой Business Engine политикой.

Рис. 3.4. Business Engine

На сегодняшний день на базе Business Engine разработана программа для ведения торговли в интернет и на интернет-аукционах -- Ecommerce Navigator.

3.3. Общее представление АСУТП

Полное наименование системы -- Автоматизированная система управления торговым предприятием, подсистема -- «Управление аккаунтом интернет-аукциона». Условное обозначение системы: АСУТП.

АСУТП создается в целях повышения эффективности и удобства управления торговым предприятиям.

Факторами повышения эффективности являются:

1) оптимизация выборки контрагентов для упорядочивания контактов и анализа совместной деятельности;

2) сокращение дублирования функций при ведении торговых операций как в интернет, так и на других торговых площадках;

3) актуализация базы данных путем синхронизации с аккаунтом интернет-аукциона;

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

5) расширение услуг, предоставляемых пользователям АСУТП;

6) расширение системы показателей, разрабатываемых на основе АСУТП.

3.4. Основные технические решения

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

Таблица 3.1

Технологии, используемые при разработке АСУТП

Технология

Описание

Java 6

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

Swing

Технология разработки GUI-приложений на языке Java. Разработана компанией SUN и входит в J2SDK.

JDBC (Java DataBase Connectivity)

Технология доступа к БД из приложений на языке Java. Базовая технология, входящая в поставку Java.

Spring Application Framework

Комплекс технологий, включающих в себя IoC-контейнер, механизмы работы с транзакциями, БД и O/R и т.д. Поставляется с открытым кодом. Подробнее см. http://www.springframework.org/

Hibernate

Технология объектно-реляционного маппинга для доступа к БД. Поставляется с открытым кодом. Подробнее см. http://www.hibernate.org/

3.5. Структура системы

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

АСУТП состоит из следующих комплексов задач и подсистем:

1) комплекс задач по сбору и предоставлению данных о контрагентах;

2) комплекс задач по загрузке данных из аккаунтов интернет аукциона Ebay;

3) комплекс задач сопровождения справочников и классификаторов предназначен для актуализации справочников и классификаторов через интерфейсы системы;

4) подсистема формирования отчетности предназначена для выполнения задач формирования отчетов по данным торговых операций и текущим сделкам;

5) подсистема архивирования данных.

3.6. Взаимосвязь со смежными системами

Источники данных для системы АСУТП:

1) аукцион Ebay. Взаимодействие осуществляется путем подключения к удаленным web-сервисам по протоколу SOAP;

2) файлы БД Derby -- хранилище информации для АСУТП. Взаимодействие осуществляться путем импорта файлов БД.

Получатели данных -- аукцион Ebay. Осуществляется на уровне доступа к удаленным web-сервисам по протоколу SOAP.

Решения по взаимодействию системы АСУТП с информационными ресурсами других систем представлено на «Ошибка! Источник сылки не найден.». Подробное описание механизмов взаимодействия представлено в ПРИЛОЖЕНИИ 1. Сценарии использования АСУТП.

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

1) сервисы электронной почты;

2) сервисы файлов и печати.

3.7. Подсистемы

Поддержка иностранных языков

Подсистема обеспечивает выполнение следующих функций:

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

-- Добавление , редактирование , удаление перевода для имеющихся языков;

-- Назначение главного языка.

Импорт данных с аукциона

Подсистема обеспечивает выполнение следующих функций

-- Добавление, редактирование, удаление лота -- выполняется из отдельного модуля. Имеется возможность проведения операций над группами лотов;

-- Отправка, прием, редактирование сообщений пользователей аукциона;

-- Поиск лотов по определенным критериям.

Работы с электронной почтой

Подсистема обеспечивает выполнение следующих функций:

-- Добавление, редактирование, удаление электронных писем -- выполняется из отдельного модуля. Задание шаблонов писем и отправка по событию реализовано внутренними средствами АСУТП;

-- Отправка , прием , редактирование сообщений электронных писем;

-- Поиск писем по определенным критериям.

Восстановление архива БД

Подсистема обеспечивает выполнение Импорта/Экспорта данных БД -- выполняется из определенного модуля отдельного модуля. Задание файла экспорта реализовано внутренними средствами АСУТП.

3.8. Проектирование. Построение диаграмм

Рис. 3.5. Диаграмма вариантов использования «Торговля на аукционе»

Рис. 3.6. Диаграмма последовательности

Рис. 3.7. Диаграмма деятельности продавца

Рис. 3.8. Диаграмма деятельности покупателя

Рис. 3.9. Диаграмма кооперации

Рис. 3.10. Диаграмма классов основного интерфейса

Рис. 3.11. Диаграмма компонентов

Рис. 3.12. Диаграмма пакетов

Рис.3.13 Диаграмма развертывания на одной машине

4. Экономический раздел

4.1. Описание задачи

Себестоимость -- это величина расходов данного предприятия, приходящаяся на единицу продукции. Уровень себестоимости зависит от многих факторов: технического прогресса, объема выпускаемой продукции, производительности труда, норм расхода рабочей силы, материалов, топлива, энергии. Для определения себестоимости продукции могут использоваться различные методы: метод приведения к базовому узлу, метод удельных весов, метод учета затрат на единицу веса изделия, расчет себестоимости по статьям затрат.

В данном проекте приводится расчет себестоимости разработки автоматизированной системы управления торговым предприятием. (АСУТП). АСУТП служит для ведения учета торговой деятельности в Интернет и на аукционе EBay. Из основных преимуществ перед конкурентами стоит выделить удобство использования, кросплатформенность, низкая цена для продукта такого класса. АСУТП создана в первую очередь для рынка США, Англии, Германии, что позволяет производить импорт данных с филиалов аукциона EBay для этих стран, оперировать валютами USD И EUR. Целевой сегмент потребителей данного ПО -- это индивидуальные предприниматели , владельцы интернет-магазинов, торгующих в розницу, а также все, кто часто покупает что-либо для себя посредством Интернета и хочет быть в курсе своих расходов.

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

4.2. Расчет времени на создание программного продукта

Общее время на создание программы складывается из различных компонентов. Структура общего времени на создание программного продукта представлена в табл. 4.1.

Таблица 4.1

Структура времени на создание программного продукта

№ этапа

Обозначение времени

данного этапа

Содержание этапа

1

Tпо

Подготовка описания задачи.

2

Tо

Описание задачи.

3

Tа

Разработка алгоритма.

4

Tбс

Разработка блок-схемы алгоритма.

5

Tн

Написание программы

6

Tнп

Набивка программы.

7

Tот

Отладка и тестирование программы.

8

Tд

Оформление документации.

Время рассчитывается в человеко-часах, причем Тпо берется по фактически отработанному времени, а время остальных этапов определяется расчетно по условному числу команд .

Условное число команд определяется по формуле:

, (4.1)

где  - коэффициент, учитывающий условное число команд в зависимости от типа задачи, для данной задачи коэффициент принимается = 1450;

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

Выбрать значение коэффициента можно из табл. 4.2.

Таблица 4.2

Определение коэффициента, учитывающего условное число команд

Тип задачи

Пределы изменений коэффициента

Задачи учета

от 1400 до 1500

Задачи оперативного управления

от 1500 до 1700

Задачи планирования

от 3000 до 3500

Многовариантные задачи

от 4500 до 5000

Комплексные задачи

от 5000 до 5500

Программные продукты по степени новизны могут быть отнесены к одной из 4-х групп:

группа А -- разработка принципиально новых задач;

группа Б -- разработка оригинальных программ;


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.