В широком смысле, проектирование – это составление первичного описания, которое позволяет создавать ещё не существующий объект для определённых заданных условий. С латинского языка слово «projectus» и переводится как «брошенный вперёд». Для описания, которое можно в будущем воплотить в виде реального объекта, используют текстовые записи, расчёты, чертежи таблицы, а для выражения условной последовательности действий применяют алгоритмы. В целом, после проведённой детализации, расчётов, дополнений и оптимизации описание объекта становится основой для воплощения идеи в жизнь.
- Проектирование как основа формирования любой деятельности
- Подходы к проектированию
- Методы проектирования
- Структура проектирования
Работа с объектом, который до его создания ещё не имеет материального выражения (не существует), принципиально отличает проектирование от моделирования. С точки зрения этапности, проектирование может быть как финальной фазой стадии исследования, так и начальной фазой стадии производства (строительства). Но современное проектирование — процесс многообразный и многоплановый, имеющий свою специфику и правила в каждой отдельной отрасли: начиная с проектирования систем управления и заканчивая проектированием в строительстве. И, поскольку развитие отраслей меняет условия рабочих процессов, правила проектной деятельности тоже со временем претерпевают изменения.
Как выбрать программу для 3D моделирования в мастерской / столярке / слесарке и для DIY проектов
Проектирование как основа формирования любой деятельности
Всякое инженерное проектирование берёт начало в выраженной общественной потребности, направленной на необходимость возникновения тех или иных технических объектов. К таким объектам относятся результаты строительной деятельности промышленные изделия, программное обеспечение, процессы и др. И первым этапом любого проектирования становится выражение этой потребности в виде технического задания или разработки технического предложения.
Чаще всего техническое задание фигурирует в виде документа (или документов), представляя собой исходное первичное описание объекта. На выходе авторы получают итоговый комплект документации, в котором содержатся сведения, достаточные для изготовления объекта в тех или иных условиях. В узком смысле слова, такую документацию, представляющую собой окончательное описание, и называют проектом. Поэтому часто современное проектирование и описывают как процесс перехода исходного описания объекта в итоговое путём выполнения комплекса исследовательских, расчётных и конструкторских работ.
Такой процесс преобразования обуславливает возникновение ряда промежуточных описаний, каждое из которых подводит некие итоги решения этапных задач. В некоторых моделях проектирования (например, при итерационных подходах) такие промежуточные итоги зачастую становятся основой при обсуждении вопросов о необходимости продолжения проектирования и о направлениях развития процесса в случае одобрения промежуточных результатов. В других моделях (например, в классической поэтапной модели проектирования в строительстве) промежуточные описания (эскизных проект, инженерные изыскания и др.) становятся обязательной вехой в создании полного пакета документации.
- Итерационная особенность проектирования. Объект проектирования до его воплощения рассматривается в виртуальном (идеальном, знаковом) контексте. До того, как он будет осуществлён, нет возможности создать исчерпывающее описание, поэтому неизбежны исправления и уточнения, что предполагает итерационный характер работы над проектом. С завершением каждого итерационного витка описание становится полнее и точнее.
- Коллективный характер. Проектирование сложных технических объектов и объектов строительства требует привлечения специалистов множества специальностей. Так один из самых перспективных и быстроразвивающихся подходов к строительному проектированию – 3D BIM(Информационное объёмное моделирование) – в качестве важнейшего преимущества содержит возможность различных специалистов взаимодействовать в режиме реального времени с обеспечением согласованности и безошибочности действий. Тем не менее, особенно сложные инновационные объекты с малым количеством типовых элементов создаются долго даже с учётом синхронизированной и настроенной работы коллектива специалистов. Так, например, проектным временем создания двигателя самолёта называют период в 8-9 лет. Столько же отводится на создание современного комплекса электронного оборудования.
- Типизация и унификация. Типизации подвергаются как проектные решения, так и средства проектирования.
- Многовариантность решений. Разнообразие решений обуславливает жёсткая конкуренция в условиях глобализации. Поиск новых привлекательных и конкурентных проектных решений рождает многовариантность.
- Многовариантность методов. Существуют не только различные проектные задачи, но и разные методики, технологии и алгоритмы для решения каждой из них. Отдельные методы имеют ограничения по условиям применения и по степени точности в обеспечении процессов. Реализацию разных методов помогает осуществлять вариативный поход в выборе информационного и программного обеспечения.
По тому, используется или не используется в процессе осуществления проектной деятельности специализированное программное обеспечение и ручной труд, выделяют:
- автоматизированное проектирование, основанное на взаимодействии ЭВМ и человека,
- автоматическое проектирование, выполняемое на промежуточных этапах без участия человека,
- ручное.
Подавляющее большинство проектов пока осуществляется по автоматизированному типу, а автоматическое проектирование применимо к относительно несложным объектам. Но и в этом соотношении доля участия компьютера постоянно растёт.
Подходы к проектированию
Основные принципы и идеи проектирования выражены в системном подходе, для которого характерно рассмотрение частей сложной системы или явления в условиях их взаимодействия. Для этого выявляется структура объектной системы, типизируются связи, определяются атрибуты и анализируется влияние внешней среды. Решение этих задач в рамках воплощения системного подхода выливается в создание дисциплин различного уровня обобщения. Так, «Теория систем», например, исследует проектирование сложных и чаще слабоструктурированных экономических, социальных систем.
В технике сложные технические системы исследуются в рамках дисциплины «Системотехники», которая аналогична теории систем. Помимо процесса создания и эксплуатации технической системы, дисциплина изучает принципы и методы её проектирования. Для этого важно чётко сформулировать системные цели и с этой точки зрения организовать рассмотрение системы. Это позволяет отказаться при проектировании от малозначимых элементов и частей, сосредоточившись на оптимизационных задачах.
Конкретизация и интерпретация исходных идей системного подхода находит своё отражение в других производных подходах к проектированию:
- Структурный подход. Он предполагает синтез вариантов системы из блоков-компонентов. При частичном переборе компонентов можно предварительно спрогнозировать их характеристики.
- Блочно-иерархический подход. Сущность такого подхода к проектированию в том, что на первой стадии объект рассматривается как закрытый «чёрный ящик», внутренняя структура которого неизвестна. Затем постепенно, уровень за уровнем, начиная с первого, объект детализируется, устанавливается связь между блоками. Первыми, соответственно, детализируются блоки 1-го уровня, после чего появляются и детализируются блоки уровня № 2 и так – вплоть до получения блоков нижнего уровня с достаточно простой и прозрачной структурой. При таком подходе различные специалисты могут занимать работой над отдельными блоками, но сложность в том, что последующая стыковка решений может создать затруднения (в том числе – и из-за виртуальной природы проектируемых объектов). В целом подход предполагает декомпозицию сложных описаний.
- Объектно-ориентированный подход. При этом подходе вносится большая структурная определённость, связанная с распределением данных между классами объектов. Кроме того, благодаря иерархии и отношениям наследования уменьшается объём спецификаций и снижается вероятность искажения данных.
В социальном проектировании все подходы к процессу принято разделять по критерию их ориентированности на 3 типа:
- с ориентацией на объект (объектно-ориентированные),
- с ориентацией на субъект (субъектно-ориентированные, или тезариусные),
- с ориентацией на проблему (проблемно-ориентированные).
Необходимость увеличивать скорость реализации проектной стадии работ обуславливает появление новых подходов к проектированию.
Методы проектирования
Для многих областей деятельности трудно адекватно представить проблему проектирования в качестве задачи формального выбора лучшего и наиболее эффективного варианта как однозначного математического выражения оптимальности. Поэтому разнообразные методы проектирования выбираются в зависимости от конкретных условий и дополняют друг друга, приобретая специфические черты в различных областях деятельности.
К нему применимы законы начертательной геометрии, согласно которым объект изображается на плоскости. Все мысли, идеи, образы и сравнения, анализ и изучение задания на проектирование, детальная техническая разработка сопровождаются графическим изложением в виде схем, таблиц, эскизов, чертежей, графиков, текстов. На каждой ступени процесса преобладают свои специфические приёмы.
Достоинства метода в том, что он отвечает условиям процесса проектирования всех элементов различных объектов, не требует сложного инструмента и оборудования, легко справляется с разным масштабом и детализацией, а результаты проектирования графическим методом одинаково понятны любому технически подготовленному грамотному специалисту. Это и сделало данный метод международным языком проектной деятельности. Другие методы тоже не обходятся без графических изображений, поэтому данный метод считается опорным или основным.
В основе метода лежит процедура компоновки объёмных моделей и их элементов непосредственно в пространстве. При наличии набора унифицированных условных модельных элементов, а также моделей оборудования и конструкций можно рассмотреть множество вариантов компоновок, чтобы выбрать лучшую. Применение метода ограничено разнообразием составляющих макетотики, которая есть в распоряжении проектировщика, но в серьёзных проектных организациях разнообразие элементов постоянно растёт, а при наличии 3- принтеров внедрение метода в повсеместную проектную практику – вопрос скорого времени. Практическая ценность и важность этого метода состоит ещё и в том, что идея моделирования как основы научного эксперимента становится при создании модели частью проектирования.
Как способ сочетания композиционного мышления, графического мастерства и масштабного моделирования объёмов этот комплексный метод в наибольшей степени отвечает существу процесса проектирования, особенно когда речь идёт об архитектурном проектировании промышленных предприятий. В его помощью проектирование осуществляется на всех ступенях, начиная с идеи сооружения и заканчивая созданием рабочих макетов генеральных планов.
Макетно-графический метод и сам активно развивается как универсальный метод, и служит основой для отдельных ответвлений в проектировании – например, фото- и кинопроектирования. С помощью современной техники с многочисленных реальных точек зрения имитируется натурное движение людей в пространстве будущего объекта. При грамотном применении это позволяет создавать наиболее совершенные композиции, что, в свою очередь, снижает вероятность композиционных ошибок, допускаемых при переходе проекта к натуре.
- Автоматизированный метод (с применением электронной техники).
Метод позволяет справляться со всем объёмом информации, который нужно безошибочно и быстро переработать во время проектирования. Предыдущие методы, основанные в первую очередь на труде человека, имеют объективные ограничения, которые помогает преодолеть применение автоматизированной и электронной техники.
Проекты, созданные с применение этого метода, отличаются оптимизацией в задаче синтезирования строительных, технических, социальных, эстетических, научных сторон проекта. Пока наиболее проблемным этапом в применении данного метода становится этап поиска идеи как художественно-инженерного и эмоционально-философского высказывания.
При всей технической сложности в обеспечении автоматизированного метода он и макетно-графический метод относятся к двум самым быстроразвивающимся методам проектирования.
Структура проектирования
Проектирование делится на процедуры, этапы и стадии. Проектирование сложных объектов включает стадии:
- научно-исследовательских работ,
- опытно-конструкторских работ,
- технического проекта,
- рабочего проекта,
- стадию испытания опытного образца.
Первая стадия зачастую делится на стадии предпроектных исследований, технического предложения и технического задания. Содержание деятельности на этих стадиях сводится к:
- последовательному изучению потребности общества в новых изделиях с заданным целевым назначением,
- исследованиям физических, конструктивных, технологических и информационных принципов создания изделий,
- прогнозированию возможных характеристик объектов и их параметров.
Результатом научно-исследовательских работ становится техническое задание на разработку будущего объекта. На стадии опытно-конструкторских работ создаётся эскизный проект изделия, а также конкретизируются, проверяются и корректируются принципы, установленные на предыдущей стадии. Стадии технического проекта «отвечает» за детальные технические решения. А стадия рабочего проекта – за полный (достаточный для изготовления) комплект конструкторской и технологической документации. На завершающей стадии испытания опытного образца по результатам испытания выявляются ошибки проекта и принимаются меры по устранению недоработок.
Как правило, за проектирование отвечают специализированные проектные организации. Так в строительстве классической считается модель, при которой заказчик обращается к проектной компании и та, после согласования с заказчиком общего концепта и получения технического задания с исходными данными, вступает в многоэтапный проектный процесс.
При некоторых видах договора подряда функцию взаимодействия с проектными организациями берёт на себя генеральный подрядчик. Международные стандарты инжиниринга предусматривают несколько вариантов, среди которых самые распространённые соглашения – это договоры в стандарте EPC (Engineering Procurement Construction) и в стандарте EPCM (+Management). В первом случае контрактор предоставляет заказчику услуги по проектированию (а также по закупке оборудования и строительству) «под ключ». Во втором случае, контрактор занимается менеджментом этих процессов (в том числе, и менеджментом проектирования).
Различают нисходящее проектирование (сверху вниз), при котором задачи более высоких иерархических уровней решаются первыми, и восходящее проектирование (снизу вверх), при котором наблюдается обратная последовательность – от задач нижестоящих в иерархии структур. В сложных системах функциональное проектирование чаще всего носит нисходящий характер, а конструкторское проектирование – восходящий.
Отзывы, комментарии и обсуждения
Источник: finswin.com
3. ИНЖЕНЕРНЫЙ ПОДХОД К РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Программирование — теоретическая и практическая деятельность, связанная с созданием программ.
Программирование является собирательным понятием и может рассматриваться и как наука, и как искусство.
В любой программе присутствует индивидуальность ее разработчика.
Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
В настоящее время наблюдается развитие технологии создания ПО. Это обусловлено переходом на промышленную технологию производства программ, стремлением к сокращению сроков, трудовых и материальных затрат на производство и эксплуатацию программ, обеспечению гарантированного уровня качества программ.
Реально при разработке программного обеспечения часто происходит превышение отпущенного времени, бюджета, несогласованное изменение требований и низкое качество. Поэтому необходимо уметь правильно организовывать процесс разработки ПП и постоянно совершенствовать его.
Отрасль знаний, в рамках которой изучается процесс создания программного обеспечения и разработка моделей оценки его стоимости, называется инженерным программированием (проектированием) программного обеспечения (Software Engineering).
Иначе это направление называют программотехникой.
Программотехника — технология разработки, отладки, верификации и внедрения ПО.
Инженерное программирование – это такое применение естественных и математических наук, в результате которого потенциальные возможности компьютеров реализуются на пользу человеку с помощью компьютерных программ, организационных процедур и соответствующей документации.
При этом под полезностью следует понимать удовлетворение некоторой человеческой потребности за счет затрат, которое общество может себе позволить.
В основе инженерного программирования лежит фундаментальная идея: создание ПО является формальным процессом, который можно изучать и совершенствовать. Освоение и правильное применение методов и средств создания ПО позволяет повысить качество ПО, обеспечить управляемость процесса создания ПО и увеличить срок его жизни.
Требования повышения экономичности разработки и сопровождения обусловливают цели инженерного программирования, такие как:
1) получение качественного ПО;
2) реализация эффективного процесса разработки и сопровождения ПО, в том числе:
— сроков разработки ПО;
— числа операторов программы;
— объема требуемой памяти и т.
— четкости представления выходных данных программы.
Различные цели инженерного программирования в действительности на практике противоречат друг другу. например, стремление любым способом уменьшить затраты труда и сроки разработки ПО оказывает неблагоприятное влияние на затраты, сроки и эффективность всего цикла создания и использования ПО, в частности внедрения, сопровождения, т.е. за достигнутые результаты придется расплачиваться по другим статьям расходов на ПО.
С другой стороны, за счет увеличения затрат времени для более тщательного проектирования ПО можно снизить сроки кодирования, уменьшить число ошибок в программном коде, значит и отладка пройдет быстрее.
Потратив время и ресурсы на определение большей части тестовых данных еще на этапе проектирования, можно сократить сроки тестирования и увеличить его эффективность.
Поэтому для успешного применения инженерного программирования ко всему циклу создания и использования ПО необходимо непрерывное разрешение противоречий между существующими целями.
«Наиболее важным в инженерном программировании является знание методов достижения разнообразных, возможно, противоречащих друг другу целей и согласо-вания разнообразных применяемых средств, каждое из которых в зависимости от ситуации в различной степени помогает или мешает достижению конкретной цели» — Б.У. Боэм /7/.
Хороший инженер-программист должен уметь:
— разрабатывать набор требований (спецификаций) к программам;
— разрабатывать правильные машинные программы, удовлетворяющие набору требований;
— создавать качественную документацию, базы данных и разрабатывать процедуры работы с вычислительными системами.
Источник: libraryno.ru
Основные инженерные подходы к созданию программ.
Инженерный технологический подход определяется спецификой комбинации стадий разработки, этапов и видов работ, ориентированной на разные классы программного обеспечения и особенности коллектива разработчиков.
Основные группы инженерных технологических подходов и подходы для каждой из них следующие:
Подходы со слабой формализацией не используют явных технологий и их можно применять только для очень маленьких проектов, как правило, завершающихся созданием демонстрационного прототипа. К таким подходам относят так называемые ранние технологические подходы, например подход «кодирование и исправление».
Строгие (классические, жесткие, предсказуемые) подходы рекомендуется применять для средних, крупномасштабных и гигантских проектов с фиксированным объемом работ. Одно из основных требований к таким проектам — предсказуемость.
Гибкие (адаптивные, легкие) подходы рекомендуется применять для небольших или средних проектов в случае неясных или изменяющихся требований к системе. При этом команда разработчиков должна быть ответственной и квалифицированной, а заказчики должны принимать участие в разработке.
Классификация технологических подходов к созданию программ.
Подходы со слабой формализацией
Подход «кодирование и исправление»
Строгие подходы
Каскадные технологические подходы:
каскадный подход с перекрывающимися видами работ;
каскадный подход с подвидами работ;
Каркасные технологические подходы:
рациональный унифицированный подход к видам работ.
Генетические технологические подходы:
сборочное (расширяемое) программирование;
Подходы на основе формальных преобразований:
технология стерильного цеха;
формальные генетические подходы.
Гибкие подходы
Ранние подходы быстрой разработки:
Адаптивные технологические подходы:
Подходы исследовательского программирования:
Классификация технологических подходов к созданию программ, подходы со слабой формализацией.
Подход «кодирование и исправление» (code and fix) упрощенно может быть описан следующим образом. Разработчик начинает кодирование системы с самого первого дня, не занимаясь сколь-либо серьезным проектированием. Все ошибки обнаруживаются, как правило, к концу кодирования и требуют исправления через повторное кодирование.
Фактически каждый из программистов, так или иначе, применял этот подход. При использовании данного подхода затрачивается время лишь на кодирование и заказчику легко демонстрировать прогресс в разработке в строках кода.
Этот подход может быть рекомендован к использованию в двух случаях:
- для очень маленьких проектов, которые должны завершиться разработкой демонстрационного прототипа;
для доказательства некоторой программной концепции
Источник: studfile.net