我最近读了一本关于设计模式的书:我在每个页面中多次遇到过Artifacts这个词!它们实际上是什么?应该在哪里使用?
在UP中,工件非常重要,它们在面向对象分析中发挥着重要作用。 。 。 。
答案 0 :(得分:5)
在Booch,Rumbaugh和Jacobsen(artifact
(or artefact
))描述3 amigos时,Rational Unified Process这个词似乎已经普及。
RUP软件工程中的Artifact这个词是一个通用术语,指的是任何可以由软件开发生命周期中的任何“角色”产生的“可交付成果”,包括:
可以将工件引入软件配置管理(已识别,版本化,可以管理更改等)。
术语工件也会在业务流程建模中出现,通常指的是由流程生成的物理或电子文档,例如,索赔表,EDI文档或报告输出。
如今,artifact
这个词可能与pretentious management speak一样被认为是这个词,而且这个词通常过于模糊和通用,不能被实际的软件开发团队频繁使用,例如如果你使用如下术语,你会得到空白的目标:
“我已经完成了对工件的检查”
“请你为我们的下一个测试用例写一个工件”
即。您可能希望在软件开发的煤炭面上使用更具体的术语!
答案 1 :(得分:3)
他们指的是你创造的东西,通常是副作用,以帮助你完成某些事情。也许图表,设计文档,GUI原型,http://en.wikipedia.org/wiki/Artifact_(software_development)有更多的洞察力。
(注意,在许多软件工具中,工件具有更窄的含义,意味着在构建/编译某些东西时生成的文件/库/可执行文件)
答案 2 :(得分:2)
通常,在编写当前编程方言时,“工件”是指构建过程后遗留下来的东西。在.NET中,这些是由构建生成的DLL和EXE。
答案 3 :(得分:2)
@nonnb给出的定义很好。当这个词最初被使用时,正如他在三个朋友中所说的那样,我认为它是人工制品而不是人工制品。这是英文版本而不是美国版本,但确实包含美国版本没有的细微差别。人工制品就像人工制品一样,是在开发人造物的过程中产生的东西。细微差别在于它是所采用的过程的函数,而不是最终产品的定义的固有部分。例如,软件开发的目的是生成一个带有适当文档的工作软件系统。这些是软件开发过程所需的最终结果(工件),但项目计划,版本,模型等都是该过程的人工制品。不是绝对必要的,可以被视为与最终产品无关。
这种细微差别可以在third definition of artefact中看到,来自自由词典:
虽然建议在技术的煤炭面上使用更具体的术语是合适的,但从系统和软件开发中引用所有输出(无论是否最终)仍然是一个非常有用的术语。
答案 4 :(得分:0)
创建人工工件是为了描述企业的系统,解决方案或状态。 现在很多开发人员都喜欢软件架构和软件设计这两个术语来表示设计活动产生的所有工件!