Difference between system software and artifact
|ArchiMate Made Practical|
Zie ook: ArchiMate in de praktijk
What is the distinction between the ArchiMate concepts 'System Software' and 'Artifact'? In practice, these concepts are used in different ways.
System Software and Artifact are both concepts from the Infrastructure layer of ArchiMate. System Software is a structural concept, while an artifact is an information concept. The definitions of the two concepts are as follows:
- System Software: System software represents a software environment for specific types of components and objects that are deployed on it in the form of artifacts
- Artifact: A physical piece of information that is used or produced in a software development process, or by deployment and operation of a system
System Software is a specialization of a node, and is used to model the software environment on which artifacts are deployed. An artifact represents a concrete physical element, and is used to model (software) products, such as source code, executables, scripts, database tables, messages, documents, specifications, etc.
- Figure 20: Relation between system software and artifact
Modeling of an element (for example, software) as artifact puts the emphasis on the information-aspect, the physical side (a file, a number of lines of code or a database table). Modeling of an element as system software puts the emphasis on the behavior of that element. There is also a "natural" relationship between artifacts and system software: an artifact is deployed on system software. This is modeled with an assignment relation. Examples would be a database table that is deployed on an SQL Server database, or a DLL on a platform running on Windows XP.
Relationships with other good practices