Производство, управление, программирование: предпосылки и перспективы конвергенции

Управление производством как сложная комплексная система. Понятие программирования как процесса производства программного продукта. Этапы эволюции производства, менеджмента и программирования. Примеры модификации процессов производства и управления.

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

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

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

8

Размещено на http://www.allbest.ru/

Производство, управление, программирование: предпосылки и перспективы конвергенции

Зима Андрей Викторович,

аспирант Владивостокского государственного университета.

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

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

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

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

Одним из классических примеров модификации процесса производства является переход к массовому выпуску автомобилей. Генри Форд хотел производить массовые автомобили, у которых был бы очень простой дизайн и низкая стоимость. В те годы очень немногие могли позволить себе автомобиль. Форд же хотел "посадить мир на колеса" и поэтому стремился сделать машину, доступную самым широким слоям населения. Первым шагом к автоматизации производства стала установка Фордом и его инженерами станков для изготовления различных автомобильных деталей. Также были разработаны новые методы сборки автомобильных узлов, благодаря которым процесс производства значительно ускорился. Но цена на автомобили по-прежнему не могла быть снижена из-за высокого уровня оплаты труда квалифицированных механиков [1].

Первой школой в менеджменте считается "Научное управление" (1885 - 1920 годы), наиболее тесно связанной с работами Ф.У. Тейлора, Ф. Гилбрет, Л. Гилбрет и Г. Гантта. Эти создатели школы научного управления полагали, что используя наблюдения, замеры, логику и анализ можно усовершенствовать многие операции ручного труда, добиваясь их более эффективного выполнения.

Первые ЭВМ, созданные человеком, имели небольшой набор команд и встроенных типов данных, но позволяли выполнять программы на машинном языке. Машинный язык - единственный язык, понятный ЭВМ. Он реализуется аппаратно: каждую команду выполняет некоторое электронное устройство. Программа на машинном языке представляет собой последовательность команд и данных, заданных в цифровом виде. Например, команда вида 1А12 в 16-ричном виде или 0001101000010010 в двоичном виде означает операцию сложения (1А) содержимого регистров 1 и 2. Программисты обязаны были знать архитектуру машины досконально. Естественно, что процесс программирования был очень трудоемким, разобраться в программе даже автору было довольно сложно, а эффект от применения ЭВМ был довольно низким [2].

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

Чтобы сократить затраты на высокооплачиваемых специалистов, Генри Форд стандартизировал все детали. Теперь их могли собирать и неквалифицированные рабочие [1].

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

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

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

На следующем этапе развития рассматриваемых областей основное внимание стало уделяться в первую очередь процессам.

Чтобы достичь своей цели и создать народный автомобиль, Генри Форду необходимо было повысить уровень производительности предприятия. На заводе в Детройте попытались реализовать новую схему работы. Шасси будущих автомобилей соединили прочным канатом. Вдоль этой линии расставили рабочих, которые занимались поэтапной сборкой автомобиля по мере продвижения автомобильных шасси. В дальнейшем тщательно было продумано и устройство сборочного конвейера, что позволило максимально оптимизировать работу производственной линии. Процесс производства был разделен на несколько основных этапов, благодаря чему скорость сборки выросла в четыре раза. Сначала в каждом цеху существовала своя движущаяся линия сборки, однако вскоре Форд принял важнейшее решение - соединить все линии в один беспрерывный конвейер. Заключительным шагом стало создание единого конвейера, проходившего через множество цехов, в которых поэтапно собирался автомобиль. В результате готовый автомобиль выводился с заводского конвейера уже на собственном ходу. Помимо основного конвейера существовали и дополнительные движущиеся линии, обеспечивавшие своевременную подачу необходимых деталей в сборочные цеха [1].

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

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

В 1954 году в корпорации IBM группой разработчиков во главе с Джоном Бэкусом был создан язык программирования Fortran. Это первый язык программирования высокого уровня. Впервые программист мог абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм [3]. Появление процедурного программирования позволило в разы увеличить сложность, размер и функциональность разрабатываемых приложений.

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

Следующий этап эволюции производства наступил в момент, когда компания Toyota, ограниченная в ресурсах из-за недавно закончившейся Второй мировой войны, адаптирует идею массового производства к японскому рынку, также ослабленному после войны. Для повышения скорости связи между процессами и рабочими, рабочим необходимо было дать больше свободы в выборе действий. Это было реализовано через систему производственных ячеек. Группа рабочих формирует единую ячейку и собирает изделие от начала до конца, отказавшись от системы массового производства на конвейере. Система производственных ячеек позволяет повысить производительность труда, используя самостоятельность и изобретательность рабочих. Фактически происходит налаживание связи между процессами и людьми. К параметрам, согласовавшимся на предыдущих этапах, добавляется согласование творческого потенциала со скоростью потока и производительностью станков. Создание производственных ячеек позволяет развить высокую скорость обновления, т.к. перестроить относительно небольшую производственную ячейку проще, чем всю компанию [4].

В менеджменте появляется системный подход. Системный подход впервые поставил вопрос о целостном и структурном восприятии деятельности. Главный тезис этого подхода состоит в том, что изменение какой-либо части целостности оказывает воздействие на все другие части этой целостности. Это направление менеджмента настаивает на том, что управленец должен рассматривать организацию в единстве составляющих ее частей. При этом, каждая из частей может рассматриваться как отдельная система (подсистема). Кроме того, данный подход ввел различие между "закрытой" и "открытой" системой, подчеркивая, что любая организация - есть открытая система, так как не может существовать без активного взаимодействия с внешней средой. Организация была представлена сторонниками системного подхода тремя блоками: входы (информация, материал, капитал, трудовые ресурсы), преобразование (обработка и преобразование входов), выходы (продукция/услуги, прибыль, рост и тому подобное). Таким образом, системный подход объединил ранее разорванные части (управленческую и исполнительскую) деятельности в единую картину [5].

В теории разработки программных решений появляется новая парадигма - объектно-ориентированное программирование. Решение задачи в объектно-ориентированном стиле, оказывается ближе к реальности. Сложные задачи - это стихия объектно-ориентированного программирования. В решении задачи участвуют программные объекты, и ответственность за решение делится между ними. Часто, в процессе можно найти некоторые шаблоны, поэтому при решении задачи некоторый участок кода используется многократно. Результат достигается путём распределения ответственности между объектами программы и повторным использования промежуточных решений [6]. Основной задачей нового подхода стала максимальное использование повторного кода.

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

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

Языки программирования развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности (снижается скорость выполнения программы). Вопрос: а стоит ли этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше - не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования [3]. Аналогичного направления необходимо придерживаться и в теории управления, а с проблемами качества реализации каждой процедуры можно бороться путем введения все новых средств автоматизации.

производство управление программирование эволюция

Литература

1. Официальный веб-сайт Ford в России [Электронный ресурс]: Развитие массового производства - Режим доступа: http://www.ford.ru/.

2. Академия Информационных технологий [Электронный ресурс]: Эволюция языков программирования - Режим доступа: http://www.ait.org.ua/.

3. Языки программирования [Электронный ресурс]: Эволюция языков программирования - Режим доступа: http://schools. keldysh.ru/sch444/museum/LANR/.

4. Методолог [Электронный ресурс]: Эволюция производственных систем - Режим доступа: http://www.metodolog.ru.

5. Центр АКМЭ [Электронный ресурс]: Эволюция управленческой мысли - Режим доступа: http://www.acmegroup.ru.

6. Artanovy.com [Электронный ресурс]: Процедурное против объектно-ориентированного? - Режим доступа: http://artanovy.com.

Размещено на Allbest.ru

...

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

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

    курсовая работа [124,8 K], добавлен 30.04.2011

  • Место систем углубленного планирования среди прочих информационных ресурсов, используемых для планирования производства. Применение систем оперативного планирования в процессе управления производством. Примеры APS-систем: Ortems, PSImetals APS/ALS.

    курсовая работа [1,5 M], добавлен 25.04.2015

  • Алфавит языка программирования C#. Лексемы языка программирования. Область действия переменных. Понятие классов и объектов. Структура программного модуля на С#. Управление процессом повторения вычислений. Продолжение цикла и модификация параметра цикла.

    курсовая работа [557,1 K], добавлен 10.03.2014

  • Анализ этапов и особенностей разработки оптимальной и функциональной ARIS-модели - программного продукта компании IDS Scheer для моделирования бизнес-процессов компании. Изучение основных концепций, методологий и подходов экстремального программирования.

    контрольная работа [119,9 K], добавлен 04.06.2011

  • Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.

    курсовая работа [782,4 K], добавлен 26.05.2014

  • Достижения математики в теории полумарковских процессов. Связь управляемых полумарковских процессов и динамического программирования. Разработка программы модели управляемого полумарковского процесса, реализованной на языке программирования СИ++.

    курсовая работа [356,7 K], добавлен 10.09.2017

  • Понятие и специфические особенности языка программирования Си, история его создания. Интегрированная система Borland C. Процесс программирования с помощью данного языка. Графические примитивы в языках программирования. Преобразования на плоскости.

    курс лекций [782,2 K], добавлен 04.10.2011

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

    курсовая работа [2,6 M], добавлен 17.11.2014

  • Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.

    научная работа [390,2 K], добавлен 09.03.2009

  • Графический метод как наиболее простой и наглядный метод линейного программирования, его сущность и содержание, особенности применения на современном этапе. Этапы реализации данного метода. Описание интерфейса разработанного программного продукта.

    контрольная работа [318,0 K], добавлен 11.06.2011

  • Технологии разработки программного обеспечения. Процедура постановки задачи, определения требований. Последовательность действий логической, разветвленной и циклической структуры. Терминология программирования. Этапы создания программного продукта.

    презентация [793,8 K], добавлен 15.11.2010

  • Анализ технологий "умного дома", их базовые понятия. Описание технологического процесса и модель автоматизации. Разработка системы управления зданием. Анализ программного обеспечения. Технология производства программного продукта, разработка бизнес-плана.

    дипломная работа [1,8 M], добавлен 06.04.2015

  • Применение принципа оптимальности в задачах на рациональное распределение средств на расширение производства. Понятие динамического программирования и теоретические основы рекуррентной природы вычислительной схемы Беллмана в среде Microsoft Excel.

    курсовая работа [75,8 K], добавлен 30.09.2010

  • Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).

    презентация [41,4 K], добавлен 13.10.2013

  • Этапы разработки и отладки приложения "Помощь почтальону". Составление сопроводительной документации. Выбор средств и методов программирования. Анализ проектных данных. Особенности создания базы данных, СУБД. Тестирование созданного программного продукта.

    контрольная работа [2,5 M], добавлен 17.12.2014

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

    презентация [85,8 K], добавлен 18.05.2014

  • Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.

    курсовая работа [1,6 M], добавлен 23.02.2016

  • Постановка задачи синтеза системы управления. Применение принципа Максимума Понтрягина. Метод аналитического конструирования оптимальных регуляторов. Метод динамического программирования Беллмана. Генетическое программирование и грамматическая эволюция.

    дипломная работа [1,0 M], добавлен 17.09.2013

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

    курсовая работа [71,8 K], добавлен 18.04.2015

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

    курсовая работа [122,5 K], добавлен 16.10.2009

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