Что на самом деле означает "Артефакты" в Unified Process?

Недавно я прочитал книгу о шаблонах проектирования: я встречал слово "Артефакты" на каждой странице много раз! Что они на самом деле? Где это должно быть использовано?

В UP артефакты действительно важны, и они играют важную роль в объектно-ориентированном анализе.,,,

5 ответов

Семестр artifact (или жеartefact Похоже, что он популяризировался примерно в то время, когда Буч, Рамбо и Якобсен ( 3 амиго) описали Рациональный унифицированный процесс.

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

  • Документы, такие как план проекта, документ с требованиями, спецификации и т. Д.
  • Модель, сгенерированная во время проектирования, обычно одна из доступных диаграмм UML, например, диаграмма классов или ERD
  • Артефакты кода, включая исходные файлы, двоичные выходные данные и тестовый или вспомогательный код.

Артефакты могут быть внесены в Управление конфигурацией программного обеспечения (идентифицированы, версионированы, могут быть изменены изменения и т. Д.).

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

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

  • "Я закончил проверять артефакт"

  • "Пожалуйста, не могли бы вы написать артефакт для нашего следующего теста"

то есть, вы, вероятно, захотите использовать более конкретную терминологию на переднем крае разработки программного обеспечения!

Они обычно ссылаются на то, что вы создаете, обычно как побочный эффект, чтобы помочь вам чего-то достичь. Возможно, диаграмма, проектный документ, прототип графического интерфейса пользователя, http://en.wikipedia.org/wiki/Artifact_(software_development) более понятны.

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

Обычно при программировании на текущем языке "Артефакты" относятся к вещам, оставшимся после процесса сборки. В.NET это библиотеки DLL и EXE, которые генерируются при сборке.

Определение, данное @nonnb, хорошо. Когда слово первоначально использовалось, как он говорит тремя амиго, я полагаю, что это было скорее артефакт, чем слово. Это английская версия, а не американская, но содержит нюанс, которого нет в американской версии. Артефакт - это, как артефакт, нечто, произведенное в процессе развития чего-то созданного человеком. Нюанс в том, что это является функцией принятого процесса, а не неотъемлемой частью, по определению, конечного продукта. Например, целью разработки программного обеспечения является создание работающей системы программного обеспечения с соответствующей документацией. Это желаемые конечные результаты (артефакты) процесса разработки программного обеспечения, но план проекта, версии, модели и т. Д. Являются артефактами процесса. Не является строго необходимым, и может рассматриваться как посторонний для конечного продукта.

Этот нюанс можно увидеть в третьем определении артефакта из "Свободного словаря":

  1. (Life Sciences & Allied Applications / Biology) Цитология - структура, видимая в ткани после смерти, фиксации, окрашивания и т. Д., Которая обычно не присутствует в живой ткани [от латинской фразы arte factum, от ars skill + facere, чтобы создать]

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

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

Другие вопросы по тегам