Что такое инженерия и процесс разработки в целом
Раздел Профориентация. Образовательный и карьерный маршрут
Статьи
Инженерия – философия будущего, или путешествие в четвертый мир
Раньше: «Я мыслю, следовательно, я существую» (Декарт, 1634).
Сейчас: «Я создаю и использую вещи, следовательно, я существую» (Ли Боцун, 1993).
Философия инженерии
В конце XX – начале XXI в. возникла наобходимость объяснить результаты технического прогресса, и исследователи из Китая, Европы и Америки выдвинули программу философии инженерии.
Инженерия является созданием новых материальных предметов и имеет существенные отличия от понятий науки и техники. Вопрос о том, может ли человечество творить, создавая вещи, и как именно оно может это делать, составляют основные вопросы философии инженерии.
В философии инженерии ядром является человеческая деятельность по созданию и использованию вещей, а также результаты этой деятельности. Германский инженер, философ, представитель философии инженерных технологий Фридрих Дессауэр (1881–1963) считал необходимым написать книгу, основой которой станет понятие «производства».
Китайский философ Ли Боцун утверждает: «Человеческая деятельность по изготовлению вещей слишком универсальна, философ не может не замечать ее; продукты человеческой производственной деятельности слишком универсальны, философ не может не пользоваться ими. В связи с этим, тема изготовления вещей должна непременно попасть в поле зрения философа и стать главной темой в философском поле.
Подъем «создания вещей» на один уровень с бытием («материей» и «сознанием») становится новым концептуальным прорывом в развитии философии.
К. Поппер разработал теорию трех миров: это мир физических объектов или физических состояний, мир состояний сознания или мыслительных (ментальных) состояний, и мир объективного содержания мышления, прежде всего содержания научных идей, поэтических мыслей и произведений искусства [Поппер 2006]. Хотя, в связи с третьим миром, Поппер упоминает продукты созидательной деятельности людей (например, самолеты), однако по сути он обращает внимание на человеческую деятельность в сфере духовного творчества и упускает из виду материальную созидательную деятельность людей.
Инженерия – это процесс создания новых вещей в соответствии с предварительно установленными целями. Инженерное сообщество может на основании целей инженерной деятельности выбирать и концентрировать технику, внедрять ее в инженерный процесс, а также направлять и ограничивать инженерный процесс. При этом техника – лишь один из многих необходимых факторов, влияющих на инженерную деятельность. Не существует “чисто технической” инженерии. В качестве необходимых компонентов в инженерную деятельность входит не только техника, но также входят необходимые факторы, связанные с управлением, экономикой, политической системой, обществом (включая политические и юридические аспекты), этикой и т.д.
Целью инженерной деятельности является строительство, созидание несуществовавших в природной действительности объектов в процессе проектирования и проведения инженерных работ.
Главные результаты инженерной деятельности – это материальная продукция и материальные объекты, являющиеся прямым воплощением материальных благ.
Главным действующим лицом в инженерии является инженерное сообщество. В рамках одного инженерного проекта формируется инженерное сообщество, состоящее из предпринимателей, конструкторов, инженеров, инвесторов, рабочих и других лиц, играющих различные социальные роли, стремящихся к выгоде за счет реализации инженерного проекта.
Инженерная деятельность проявляется в форме проектов, которые обладают уникальностью.
Технический прогресс и технические революции основаны на непрерывной модификации технологий и на инновациях, и как результат, получение духовного признания в обществе и материального поощрения. Идёт непрерывный процесс отбрасывания или усовершенствования старых и введение новых технологий. Суть инженерной культуры сводится к приложению всех сил для предотвращения неудач, обеспечению конечного успеха и ощутимого результата.
В философии инженерии играют большую роль такие понятия, как строить, использовать, выбирать, конструировать, планировать, проектировать, управлять, эксплуатировать, обслуживать.
Россия активно участвует в инженерном мировом движении. Так, например, в 2016/2017 году состоится чемпионат WorldSkills БРИКС, организация и проведение которого находятся под председательством России в БРИКС. Первым пунктом плана мероприятий требуется определить перечень наиболее востребованных профессий в развивающихся быстрыми темпами экономиках БРИКС. В Деловой программе этого форума планируется обсудить вопросы подготовки квалифицированных инженерно-технических кадров, которые способны осваивать в короткие сроки сложносоставные профессии и интеграционные компетенции. Кроме того, планируется создание собственных новых производств или технологического переоснащения и модернизации уже существующих. |
Категории инженерии
Инженерия – настолько широкая область, что имеет целый ряд категорий, которые объединяет одно общее – в их основе всегда лежит процесс создания человеком чего-то нового.
Кроме привычных технических инженерных категорий по направлениям экономики, например:
Появились инженерные категории в других областях – в бизнесе, психологии, организации и управлении.
Сегодня человек смело внедряется в процесс создания новых или изменения существующих организмов, впоэтому появился целый спектр инженерных биологических категорий.
Что такое инженерия? Кто такой инженер?
Что такое инженерия? Кто такой инженер — определение и виды инженерного дела.
Инженерное дело — это приложение науки и математики для решения задач. Пока ученые и изобретатели придумывают инновации, именно инженеры применяют эти открытия в реальном мире.
Инженерное дело является частью технического образования, которое направлено на привлечение студентов к изучению естествознания, технологий, инженерии и математики, однако как дисциплина она практикуется на протяжении тысяч лет.
Смотрите полное видео про инженеров и инженерию на нашем Youtube канале: Возможно, это лушче чем читать данную статью. А тажке ✔️ Подписывайтесь на наш youtube канал.
Вы можете увидеть образцы инженерной мысли в пирамидах Гизы, в Стоунхендже, Парфеноне и других местах. Тем не менее, современные инженеры работают во многих областях, а также в строительных конструкциях.
Инженеры работают над всем, от клеточных мембран до строительства дамб и протезирования зубов и суставов, до повышения эффективности двигателей и транспорта и разработки возобновляемых источников энергии.
Само слово «двигатель» происходит от латинского слова «ingenium» (ок. 1250 г.), что означает «врожденное качество, особенно умственная сила и следовательно, умное изобретение».
Инженерное дело вышло за рамки военных приложений и стало применяться к гражданским сооружениям, таким как мосты и здания, что привело к созданию термина «гражданское строительство», чтобы отличить его от первоначальной области военной инженерии.
Чем занимается инженер?
Инженеры участвуют в проектировании, оценке, разработке, тестировании, модификации, проверке и обслуживании широкого спектра продуктов, конструкций и систем. Это включает в себя все: от рекомендации материалов и процессов, надзора за производственными и строительными процессами и проведения анализа и расследования отказов до предоставления консультационных услуг и обучения инженерии студентам и стажерам.
Виды инженерии
Есть много различных типов инженерии, часто разделенных на области, в которых работает инженер. Например, инженеры, работающие в нефтегазовой отрасли, могут быть инженерами-нефтяниками, а инженеры, работающие в области сельского хозяйства, могут называться сельскохозяйственными инженерами.
Хотя существуют некоторые традиционные области инженерии, такие как машиностроение и гражданское строительство, в других областях инженерии требуется наложение различных специальностей. Так, например, инженеру-строителю также может потребоваться понимание структурной инженерии, или аэрокосмическому инженеру также может потребоваться понимание аспектов электрической или компьютерной инженерии.
Эти типы инженерии широко известны как междисциплинарная инженерия и включают, среди прочего, производственную инженерию, акустическую инженерию, коррозионную инженерию, аэрокосмическую, автомобильную, компьютерную, текстильную, геологическую, материаловедческую и ядерную инженерию. Все эти области инженерии относятся к отраслям инженерии, которые представлены 36 лицензированными организациями-членами Инженерного совета Великобритании.
Вот некоторые из традиционных и наиболее распространенных междисциплинарных инженерных областей:
1. Машиностроение
2. Электротехника
Инженеры-электрики работают над проектированием, испытанием, производством, строительством, контролем, контролем и проверкой электрических и электронных устройств, компонентов, машин и систем. Они варьируются по размеру от мельчайших микрочипов до крупных систем передачи и выработки электроэнергии. Это включает в себя все, от радиовещательной техники до электромагнитных устройств, компьютерных систем, телекоммуникаций и многого другого.
3. Гражданское строительство
Инженеры-строители участвуют в проектировании, строительстве, обслуживании и инспектировании крупных объектов гражданской инфраструктуры, включая дороги, железные дороги, мосты, туннели и плотины.
Работая как над государственными, так и над частными проектами, инженеры-строители традиционно работают в таких суб-дисциплинах, как экологическая инженерия, строительная инженерия или геодезия.
Как упоминалось выше, гражданское строительство изначально создавалось, чтобы отличать его от военного.
4. Аэрокосмическая техника
Как специализированная отрасль машиностроения и электротехники, аэрокосмическая техника занимается проектированием, производством и испытаниями самолетов и космических аппаратов, включая все части и компоненты. Охватывая все, от аэродинамики и эффективности транспортных средств до электрических систем управления и навигации, большая часть опыта также используется для других транспортных средств, таких как автомобили.
Инженеры-ядерщики работают над проектированием, производством, строительством, эксплуатацией и испытаниями оборудования, систем и процессов для производства и управления ядерной энергией. От реакторов атомных электростанций до ускорителей частиц, инженеры-ядерщики также работают над такими факторами, как мониторинг и хранение ядерных отходов, чтобы защитить людей от потенциально опасных ситуаций.
6. Биомедицинская инженерия
Биомедицинские инженеры занимаются проектированием систем, оборудования и устройств для использования в здравоохранении и медицине. Работая с медицинскими специалистами, такими как врачи, терапевты и исследователи, биомедицинские инженеры могут удовлетворить требования профессионалов здравоохранения.
7. Химическая инженерия
Инженеры-химики используют принципы физики, химии, биологии и инженерии для проектирования оборудования, систем и процессов для очистки сырья для смешивания, компаундирования и обработки химикатов для различных продуктов. Осуществляя процессы в промышленных масштабах, инженеры-химики участвуют в различных процессах, от переработки нефти до ферментации и производства биомолекул.
8. Компьютерная инженерия
Компьютерные инженеры проектируют компьютерное оборудование, системы, сети и программное обеспечение. Компьютерная инженерия объединяет другие дисциплины, такие как электротехника и информатика, а также разработку программного обеспечения и дизайн.
9. Промышленное проектирование
Промышленные инженеры проектируют и оптимизируют объекты, оборудование и системы для производства, обработки материалов и других промышленных применений.
10. Экологическая инженерия
Инженеры-экологи заботятся о предотвращении, удалении и устранении источников загрязнения, которые влияют на окружающую среду. Эти инженеры, измеряя уровни загрязнения, определяя источники загрязнения и очищая загрязненные территории, должны работать в соответствии с государственными постановлениями.
11. Морская инженерия
Морская инженерия связана с любыми инженерными задачами на океанах или вблизи них. Это включает в себя проектирование и разработку судоходства, подводных лодок, нефтяных вышек, бортовых судов, гаваней, заводов и многого другого. Эта специализированная область инженерии сочетает в себе другие виды инженерии, включая машиностроение, электротехнику, гражданское строительство и программирование.
Почему важна инженерия
Техника была частью истории человечества в той или иной форме на протяжении тысяч лет. Конечно, по мере того, как наши знания и понимание науки и математики росли, наш инженерный опыт и компетенция также улучшались.
Сегодняшние инженеры используют самые передовые технологии, наряду с установленными научными принципами, чтобы применять передовые решения и инновации для решения реальных мировых проблем.
Трудно переоценить важность инженерии для истории человечества, от проектирования транспортных систем до электроснабжения наших домов, инженерия окружает нас повсюду, вплоть до устройства, которое вы используете, чтобы прочитать это.
Поскольку наши научные знания продолжают развиваться, инженеры найдут способы использовать эту новую информацию и применить ее к миру вокруг нас.
Вывод
Техника окружает нас повсюду и является неотъемлемой частью нашей повседневной жизни. Это то, что многие люди считают само собой разумеющимся, но именно инженерия позволяет вам делать кофе по утрам, обогревать или охладить ваш дом, позволяет путешествовать, общаться с помощью мобильного устройства и многое другое.
Как написал Джеймс А. Миченер в своем романе « Космос » 1983 года : «Ученые мечтают о великих делах. А делают их инженеры».
История развития методологий проектирования (программной инженерии)
При написании статьи у меня возникли большие трудности с поиском информации. Информации просто не было. После долгого копания в страницах гугла обнаружилось, что терминология проектирования в русском языке несколько отличается. В русском языке проектирование это один из этапов разработки программного обеспечения, а дисциплина, изучающая проблематику создания и управления проектами, методологий проектирования и т.д. называется программной инженерией или технологией промышленного программирования(если совсем по русски). Если еще остались те кто этого не знал, то возможно мое замечание, вам, немного поможет.
С чего все начиналось
История развития управления проектами как таковыми восходит к Ноеву Ковчегу и коллективной охоте первобытных людей на мамонта. Более того некоторые элементы управления проектами можно усмотреть в поведении хищников, охотящихся стаями.
В античные времена проектирование связывали с «наукой архитектора» и связывали данную науку не только с возведением зданий, но и созданием строительных и военных машин.Римский инженер и архитектор Марк Витрувий в 1 в. до нашей эры в своем трактате «10 книг об архитектуре» дал проектированию следующее определение:
В теории — показать и обосновать исполнение в соответствии с требованиями искусства и целесообразности.
В практическом смысле — выполнение руками человека работ из любого материала по данному чертежу.
Однако, история развития проектного менеджмента как дисциплины относительно молода: ее относят к 30-м годам XX века и связывают с разработкой специальных методов координации инжиниринга крупных проектов в США — авиационных в «US Air Corporation» и нефтегазовых в фирме «Exon». В СССР в этот же период начала развиваться теория и практика поточной организации работ по реализации крупных строительных проектов.
Появление новой дисциплины
Предпосылки для внедрения принципов проект-менеджмента в процесс разработки ПО зародились в конце 60х — начале 70-х годов прошлого века, когда произошло событие, которое вошло в историю как первый кризис программирования. Событие состояло в том, что стоимость ПО стала приближаться к стоимости аппаратуры («железа»), а динамика роста этих стоимостей позволяла прогнозировать, что к середине 90-х годов все человечество будет заниматься разработкой ПО для компьютера. Развитие микроэлектроники привело к резкому увеличению производительности ЭВМ при значительном снижении стоимости. Начали уходить ограничения для аппаратных средств, оставшиеся ограничения приходятся на долю ПО. Это приводило к тому, что умение строить новые программы отставало от требований к новым программам.
Другая тенденция развития зародилась внутри самой отрасли и была основана на усилении взгляда на разработку программ, как на более чем простое «кодирование». Вместо этого программное обеспечение рассматривается как имеющее полный жизненный цикл, начинающийся с появления концепции и проходящий стадии проектирования, разработки, ввода в действие, сопровождения и развития. Смещение фокуса внимания с кодирования породил разработку методологий и развитого инструментария, вооруживших команды инженеров, занятых на всех этапах жизненного цикла программного обеспечения.
Тогда и заговорили о программной инженерии( технологии промышленного программирования) как о некоторой дисциплине, целью которой является сокращение стоимости программ. Такая проблема должна решаться более грамотной организацией процесса разработки. Это и привело к развитию методологий проектирования ПО и возведения его в главенствующие составляющие разработки.
Термин программная инженерия был в первые использован в 1968 году в качестве темы конференции, посвященной вопросам максимальной загрузки самых мощных (по тем временам) компьютеров.
Определение заложило основы новой научно-практической дисциплины: нужно было создать систему инженерных принципов, применимую к разработки ПО, обеспечить экономичность и надежность разработки, а также эффективную работоспособность конечного продукта на различных реальных машинах.
Итак программная инженерия — это инженерная дисциплина, которая связана со всеми аспектами производства ПО от начальных стадий создания спецификации до поддержки системы после сдачи в эксплуатацию.
Методологии в программной инженерии
С этого момента программирование «обрастает» различными дополнительными видами деятельности: разработкой требований, планированием, тестированием, конфигурационным управлением, проектным менеджментом, созданием различной документации (проектной, пользовательской и пр.). Разработка программного кода предваряется анализом и проектированием (первое означает создание функциональной модели будущей системы без учета реализации, для осознания программистами требований и ожиданий заказчика; второе означает предварительный макет, эскиз, план системы на бумаге).
Все эти и другие дополнительные виды деятельности, выполняемые в процессе промышленного программирования и необходимые для успешного выполнения заказов и будем называть программной инженерией. Получается, что так мы обозначаем, во-первых, некоторую практическую деятельность, а во-вторых, специальную область знания. Или другими словами, научную дисциплину. Ведь для облегчения выполнения каждого отдельного проекта, для возможности использовать разнообразный положительный опыт, достигнутый другими командами и разработчиками, этот самый опыт подвергается осмыслению, обобщению и надлежащему оформлению. Так появляются различные методы и практики (best practices) – тестирования, проектирования, работы над требованиями и пр., архитектурных шаблонов и пр. А также стандарты и методологии, касающиеся всего процесса в целом. Вот эти-то обобщения и входят в программную инженерию как в область знания.
Таким образом методологии в программной инженерии являются одной из самых динамично развивающихся составляющих области знаний, т.к. несут в себе практическую составляющую.
Современная классификация методологий управление проектом или моделей жизненного цикла проекта согласно SWEBOK выглядит следующим образом.
Методологии управления проектами:
Подробнее о методологиях
Как видно из названия традиционные методологии построены на последовательном выполнении всех фаз проекта и конечный продукт будет получен только после выполнения всех этапов. Возвращение на предыдущий этап не предусмотрено и при появлении критических ошибок весь проект начинается сначала. Основным примером таких методологий разработки является каскадная модель или модель Водопад. Источником данной модели принято считать статью Уинстона Ройса вышедшею в 1970 году. Однако, сам Ройс описывал эту модель как пример противопоставленный итеративной модели, применимый только для очень простых проектов и сам пользовался итеративными методологиями. Так же Ройс писал, что в особо сложных местах проекта и при применении новых, ранее не используемых технологий, промежуточные этапы можно повторить дважды и заказчик по окончанию проекта получает вторую версию продукта. Такой подход нельзя назвать итеративным, но и однозначно последовательным тоже. На начальном периоде она сыграла ведущую роль как метод регулярной разработки сложного ПО. В 70x — 80x годах XX века модель была принята как стандарт министерства обороны США.
По мере развития методологий каскадная модель подвергалась жесткой критики со стороны всех исследователей, предлагавших свои методологии. Последовательное выполнение этапов разработки не дает изменить требования к программному продукту до самого релиза. Чем больше проект тем больше накапливается проблем в процессе проектирования. И реализация изменений в следующей версии продукта иногда становится не целесообразной. Продукт необходимо писать с 0. Таким образом стоимость работоспособной версии не оправдано сильно растет. А процент успешно завершенных проектов ничтожно мал. Однако, можно ли назвать традиционные методологии разработки отжившими свой век? Не совсем. Для проектов затрагивающих безопасность жизнедеятельности строго поставленные требования и высокая степень формализации является основополагающим и необходимым фактором.
Кроме того, несмотря, на модную сейчас критику традиционной модели, она играет важную роль, потому что налагает на процесс разработки требование крайне необходимой для него дисциплинированности, с помощью которой удается благополучно обходить неструктурированные процессы типа «пишем и правим». Данная модель внесла фундаментальный вклад в понимание процессов разработки ПО следующими утверждениями:
Спиральная модель ЖЦ стала следующим (после водопадной) этапом развития методологий разработки, поскольку она решает основную проблему каскадной модели. Каждая фаза водопадного процесса разработки в спиральной методологии завершается этапом прототипирования и управления рисками. Этап прототипирования после каждой фазы проекта позволяет определить, насколько текущее состояние проекта соответствует первоначальному плану. По итогам прототипирования выполняется либо переход к следующей фазе, либо возвращение на одну из предыдущих фаз. Однако фазы и последовательность фаз остаются линейными. Автором данной модели является Барри Боэм, опубликовавший в 1988 году статью «A Spiral Model of Software Development and Enhancement». Не смотря на то, что в SWEBOK данная модель выделена отдельно от итеративной, при описании моделей напрашивается вывод об отнесении спиральной методологии к семейству итеративных. Это обуславливается и возможностью изменения требований между этапами и выпуска прототипов продукта после каждого цикла. Возможно такое разделение связано с авторской принадлежностью методологий.
Итеративная модель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает “мини-проект”, включая все фазы жизненного цикла в применении к созданию меньших фрагментов функциональности, по сравнению с проектом, в целом. Упоминания о данной методологии начали появляться задолго до статьи У. Ройса и появления самой программной инженерии. Истоки концепции итеративной разработки прослеживаются в относящихся к 30-м годам работах эксперта по проблемам качества продукции Уолтера Шеварта из Bell Labs. Важной вехой в истории является осуществленный в 50-е годы проект по разработке сверхзвукового реактивного самолета X-15. По мнению участников этих работ, применение данной методологии в значительной степени определило успех проекта.
Наиболее обсуждаемые сейчас гибкие методологии разработки (Agile методологии) относятся именно к итеративным моделям ЖЦ. При описании любой из гибких методологий упоминается принцип разделения на итерации. Однако, особенность данных методологий это упор на человеческий фактор, а не на документацию проекта, что никак не обозначается в описании итеративной и инкрементной методологии.
Гибкие методологии разработки начали появляться на фоне быстрорастущего усложнения технологий и всеобщей информатизации. Теперь заказчиком в большинстве случаев является лицо далекое от информационных технологий. Для такого заказчика главным является готовый продукт, а не фолианты документации. При экспоненциально растущем темпе развития информационных технологий сроки на разработку ПО сократились и стали жестче. Теперь нет времени на долгое планирование, написание документации и полновесное тестирование. Программный продукт может устареть еще до релиза. В противовес традиционным методологиям разработки итеративные методологии делят выполнение проекта на короткие итерации, ограниченные по времени. После каждой итерации заказчику продукта предоставляется результат. Предусмотрен откат на предыдущие итерации. Появление гибких методологий не привязано к конкретной дате, так как начиная с середины 90х годов начали появляться и внедряться практически параллельно. Это были методологии разработки такие как: Scrum (1995), экстремальное программирование (1996), Crystal Clear, Lean, Kanban и другие. Созданный в феврале 2001 года, Agile-манифест, провозгласил философию гибких методологий разработки и задал вектор развития данных методологий.
Современный этап развития методологий
Сейчас выбор методологии проектирования как никогда подвержен влиянию маркетинга. Все больше появляется консультантов по внедрению agile, коучеров, проводящих бесконечные тренинги, семинары, вэбинары, бесконечные встречи, конференции, круглые столы. Все эти мероприятия направлены на продажу внедрения в ИТ-компаниях за большие деньги приглашенными специалистами или повышения рейтинга компаний, которые уже внедрили гибкие методологии.
Гибкие методологии сейчас — это в большей степени свод знаний по организации работы людей с психологической точки зрения. Такие методологии помогают команде проявлять творческую составляющую, умение работать в команде, навыки коммуникации и прочее. Техническая сторона организации работ все больше уходит на второй план. Только ХР(Экстремальное программирование) имеет в своем арсенале такие инженерные практики как разработка через тестирование, метафоры и рефакторинг. Эти практики с успехом применяются в сочетании с другими методологиями. При некачественном внедрении Agile мы получаем то, что сейчас происходит на рынке IT продуктов. Рынок перенасыщен некачественными, нестабильными продуктами, не отвечающими требованиям не к функционалу, ни к интерфейсу. При этом, что скорость выпуска таких продуктов, благодаря пропагандируемому Agile принципу непрерывной интеграции, постоянно растет.
с набирающим обороты снижением качества выпускаемых IT продуктов стали появляться методологии, стремящиеся это качество повысить. Такой методологией стал DEvOps.
Термин «devops» был популяризирован на конференции «Дни DevOps» («DevOps Days») в 2009 году в Бельгии. С тех пор такая методология все больше набирает популярность.Это отчасти связано с тем, что принципы DevOPs пропагандируют не отказ от действующей в организации методологии, а сочетание с ней. Общая концепция DevOps заключается в усилении кооперации между группами разработки(DEVelopments) и эксплуатации(OPerations) в рамках одной организации, несущими ответственность за разработку ПО. Данная методология это без преувеличения новый виток эволюции методологий разработки поскольку ориентирована не только на удовлетворение требований заказчика в жестко определенные сроки, но и повышение качества и стабильности продукта.
В заключении хочется добавить, что раскрываемая в статье тема является одной из составляющих моего дипломного проекта. Именно поэтому цель данной статьи мнение опытных и знающих людей в этом вопросе, поэтому комментарии любого толка(а особенно по теме) очень приветствуются.