Artifact (software development)
Artifact is highly associated and related to specific methods or processes of development. Methods or processes can be project plans, business cases, or risk assessments. Distinct gathering and collections of detailed information are generally organized and incorporated into artifact sets. A set generally represents complete aspect of system. This is simply done to make development and establishment of complete software system in manageable manner.
Artifacts of the life-cycle of software are generally organized and divided into two sets i.e., Management set and Engineering set. These sets are further divided or partitioned by underlying language of set. These artifact sets are shown below in diagram :
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
1. Engineering Sets :
In this set, primary mechanism or method for forming an idea regarding evolving quality of these artifact sets in transitioning of information from one set to another. This set is further divided into four distinct sets that include requirements set, design set, implementation set, and deployment set.
- Requirement Set –
This set is primary engineering context simply used for evaluating other three artifact sets of engineering set and basis of test cases. Artifacts of this set are evaluated, checked, and measured through combination of following:
- Analysis of consistency among present vision and requirements models.
- Analysis of consistency with supplementary specifications of management set.
- Analysis of consistency among requirement models.
- Design Set –
Tools that are used in Visually modeling tools. To engineer design model, UML (Unified Modeling Language) notations are used. This sets simply contains many different levels of abstractions. Design model generally includes all structural and behavioral data or information to ascertain bill of material. These set artifacts mostly include test models, design models, software architecture descriptions.
- Implementation Set –
Tools that are used are debuggers, compilers, code analyzers, tools for test management. This set generally contains source code as implementation of components, their form, interfaces, and executables that are necessary for stand-alone testing of components.
- Development Set –
Tools that are used are network management tools, test coverage, and test automation tools, etc. To simply use end result or product in its environment where it is supposed to be used, these set generally contains executable software’s, build scripts, ML notations, installation scripts.
2. Management Set :
This set usually captures artifacts that are simply associated with planning and execution or running process. These artifacts generally make use of ad hoc notations. It also includes text, graphics or whatever representation is required or needed to simply capture “contracts” among all project personnel (such as project developers, project management, etc.), among different stakeholders (such as user, project manager, etc.), and even between stakeholders and project personnel.
This set includes various artifacts such as work breakdown structure, business case, software development plan, deployment, Environment. Artifacts of this set are evaluated, checked, and measured through combination of following :
- Review of relevant stakeholder.
- Analyzing alterations or changes among present version of artifact and previous versions.
- Demonstrations of major milestone regarding balance between all artifacts and, in specific or particular, accuracy of business case and vision artifacts.