Основные инженерные подходы к созданию программ

В широком смысле, проектирование – это составление первичного описания, которое позволяет создавать ещё не существующий объект для определённых заданных условий. С латинского языка слово «projectus» и переводится как «брошенный вперёд». Для описания, которое можно в будущем воплотить в виде реального объекта, используют текстовые записи, расчёты, чертежи таблицы, а для выражения условной последовательности действий применяют алгоритмы. В целом, после проведённой детализации, расчётов, дополнений и оптимизации описание объекта становится основой для воплощения идеи в жизнь.

  • Проектирование как основа формирования любой деятельности
  • Подходы к проектированию
  • Методы проектирования
  • Структура проектирования

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

Как выбрать программу для 3D моделирования в мастерской / столярке / слесарке и для DIY проектов

Проектирование как основа формирования любой деятельности

Суть и задачи проектирования

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

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

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

Пример классической итерационной модели жизненного цикла программного обеспечения

  • Итерационная особенность проектирования. Объект проектирования до его воплощения рассматривается в виртуальном (идеальном, знаковом) контексте. До того, как он будет осуществлён, нет возможности создать исчерпывающее описание, поэтому неизбежны исправления и уточнения, что предполагает итерационный характер работы над проектом. С завершением каждого итерационного витка описание становится полнее и точнее.
  • Коллективный характер. Проектирование сложных технических объектов и объектов строительства требует привлечения специалистов множества специальностей. Так один из самых перспективных и быстроразвивающихся подходов к строительному проектированию – 3D BIM(Информационное объёмное моделирование) – в качестве важнейшего преимущества содержит возможность различных специалистов взаимодействовать в режиме реального времени с обеспечением согласованности и безошибочности действий. Тем не менее, особенно сложные инновационные объекты с малым количеством типовых элементов создаются долго даже с учётом синхронизированной и настроенной работы коллектива специалистов. Так, например, проектным временем создания двигателя самолёта называют период в 8-9 лет. Столько же отводится на создание современного комплекса электронного оборудования.
  • Типизация и унификация. Типизации подвергаются как проектные решения, так и средства проектирования.
  • Многовариантность решений. Разнообразие решений обуславливает жёсткая конкуренция в условиях глобализации. Поиск новых привлекательных и конкурентных проектных решений рождает многовариантность.
  • Многовариантность методов. Существуют не только различные проектные задачи, но и разные методики, технологии и алгоритмы для решения каждой из них. Отдельные методы имеют ограничения по условиям применения и по степени точности в обеспечении процессов. Реализацию разных методов помогает осуществлять вариативный поход в выборе информационного и программного обеспечения.

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

  • автоматизированное проектирование, основанное на взаимодействии ЭВМ и человека,
  • автоматическое проектирование, выполняемое на промежуточных этапах без участия человека,
  • ручное.
Читайте также:
Программа 1с кадры инструкция

Подавляющее большинство проектов пока осуществляется по автоматизированному типу, а автоматическое проектирование применимо к относительно несложным объектам. Но и в этом соотношении доля участия компьютера постоянно растёт.

Подходы к проектированию

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

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

Конкретизация и интерпретация исходных идей системного подхода находит своё отражение в других производных подходах к проектированию:

  • Структурный подход. Он предполагает синтез вариантов системы из блоков-компонентов. При частичном переборе компонентов можно предварительно спрогнозировать их характеристики.
  • Блочно-иерархический подход. Сущность такого подхода к проектированию в том, что на первой стадии объект рассматривается как закрытый «чёрный ящик», внутренняя структура которого неизвестна. Затем постепенно, уровень за уровнем, начиная с первого, объект детализируется, устанавливается связь между блоками. Первыми, соответственно, детализируются блоки 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

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru