2011-03-05 91 views
7

我最近閱讀了一本關於設計模式的書:我在每個頁面中遇到過很多次Artifacts!他們究竟是什麼?它應該在哪裏使用?「Artifacts」在統一過程中意味着什麼?

在UP中,工件非常重要,它們在面向對象分析中扮演着重要角色。 。 。 。

+1

你可以從那本書裏面添加任何引用「artifact」單詞的引語嗎? – Roman

回答

5

術語artifact (or artefact)似乎已經圍繞Booch的,魯博和雅各布森(該3 amigos)中描述的Rational Unified Process的時間推廣。

在RUP軟件工程這個詞Artifact是一個通稱,指的是可以通過在軟件開發生命週期的任何「角色」來生產,包括所有「交付」:

  • 文檔,比如項目計劃,需求文檔,規格等
  • 在設計期間生成的模型,通常是UML可用圖表之一,例如類圖或ERD
  • 代碼構件,包括源文件,二進制輸出以及測試或支持代碼。

工件可以帶入軟件配置管理(識別,版本控制,更改可以管理等)。

術語僞像也在商業過程建模中出現,通常指的是由過程產生的物理或電子文檔,索賠表格,EDI文件或報告輸出。

如今,artifact這個詞可能被認爲與pretentious management speak相同,並且該術語通常過於模糊和通用,以至於不會被實際的軟件開發團隊頻繁使用,例如,如果您使用的術語,如你會得到白眼:

  • 「我已經完成了在神器檢查」

  • 「請你能不能寫一個神器我們下一個測試案例」

即你可能會希望使用更加明確之三在煤礦面對軟件開發的神祕面紗!

+0

+1解釋:謝謝:) –

2

通常,在對當前編程語言進行編程時,「構件」指構建過程後剩下的東西。在.NET中,這些是由構建生成的DLL和EXE。

3

它們通常指的是您創建的東西,通常是作爲副作用來幫助您完成某件事。也許一個圖表,一個設計文檔,一個GUI原型,http://en.wikipedia.org/wiki/Artifact_(software_development)有更多的見解。

(注意,在許多軟件工具,一個神器有一個更窄的意思,意文件/庫/可執行文件,就是當你建立/編譯一些生產)

2

通過@nonnb給出的定義是不錯的。當這個詞最初被使用時,正如他由三個朋友所說的那樣,我相信這是一個人造物而不是人造物。這是英文版本,而不是美國版本,但確實包含美國版本沒有的細微差別。人工製品就像一件神器,是在製作人造物的過程中產生的東西。細微之處在於,它是所採用工藝的一個功能,而不是定義中最終產品的固有部分。例如,軟件開發的重點是生成一個有適當文檔的工作軟件系統。這些是軟件開發過程期望的最終結果(工件),但是項目計劃,版本,模型等都是過程的人爲因素。不是絕對必要的,可以視爲與最終產品無關。

這細微之處可以看出在third definition of artefact,從詞典:

  1. (生命科學&盟軍應用/生物)細胞學死後,固定,染色等組織中觀測的結構,即一般不存在於活組織 [拉丁短語ARTE呈文,從ARS技能+ facere做]

雖然建議在技術的採煤工作面使用更具體的術語是適當的,它仍然是一個非常有用的術語從系統和軟件開發到所有輸出,無論是否是最終輸出。

+0

感謝您的回覆:) –

0

人造工件是爲了描述企業的系統,解決方案或狀態而創建的。許多開發人員現在已經有好幾天了,更喜歡用軟件體系結構來表示軟件設計來表示設計活動產生的所有工件!