What is a Software Artifact?

5

In Software Engineering, much is heard about the term Software Artifact. I researched it and found the following definition:

  

An artifact or artifact is one of several types of by-products   produced during software development. Some   artifacts (for example, use cases, class diagrams, and other   UML models, requirements, and project documents) help describe the   function, architecture and software design. Other artifacts are   related to the development process itself - such as   project plans, business processes and risk assessments. They can   be manuals, executable files, modules etc.

     

The term artifact in connection with software development is   widely associated with development methods or processes.   for example, the Unified Process. This use of the term may   have been originated with these methods.

Source: link

I still can not understand. What is a Software Artifact?

    
asked by anonymous 02.10.2015 / 16:22

3 answers

1

Understand as an artifact a subset of the software. It may be from the engineering that resulted in a part or artifact of software, down to the source code that also make one the same. In other words, it is something that makes up the software development cycle that starts the analysis, after the development followed by the tests and finally the delivery of the program. You can think of building a house for example, in it you have several artifacts ranging from designing to building and finishing with finishes.

This is a simpler, more concise definition. If you search the internet you will have more detailed examples. I tried to speak in a simple and objective way, citing an example of everyday life.

    
02.10.2015 / 16:36
1

A software artifact can be summarized as any document or model generated during software development. For some people, a software package can also be considered an artifact.

I personally always imagine an artifact like any document, be it physical or digital, produced during the software development lifecycle. For example, a planning document, requirements document, product backlog, activity diagram, good practice guide, architecture document, etc.

    
23.03.2016 / 21:31
1

When creating or maintaining software, multiple documents are created in the process. For example:

  • Use cases to detail user interaction with software;
  • Data models, to describe how the data that the software uses is structured;
  • The software source itself;
  • UML diagrams of various types;
  • Minutes or other meeting records.

These (and many others) documents are required for people involved in software development to have a common information base to communicate about software. These documents are collectively called software artifacts. Depending on the development methodology (if one is used), artifact types vary.

It's possible, in theory, to have no artifacts except for the source code, but this will make any maintenance task of the program a nightmare: to find out what each part of the system does, you'd have to reverse engineer the program! It is much more practical to consult a diagram or documentation, and to understand how that piece of the system works (or should work).

    
23.03.2016 / 22:31