For many, software is just code, something intangible best defined in contrast with hardware, but it is not particularly illuminating. Microsoft Word turned 30 last year. During its lifetime it has been the subject of numerous changes, as its requirements, code and documentation have continuously evolved. Still a community of users recognizes it as "the same software product", a persistent object undergoing several changes through a social process involving owners, developers, salespeople and users, and it is still producing recognizable effects that meet the same core requirements. It is this process that makes software something different than just a piece of code, and justifies its intrinsic nature as a social artifact. Building on Jackson's and Zave's seminal work on foundations of requirements engineering, we propose in this paper an ontology of software and related notions that accounts for such intuitions, and adopt it in software configuration management to provide a better understanding and control of software changes.
Software as a Social Artifact: A Management and Evolution Perspective
Contributo in atti di convegno
Springer, Berlin , Germania
33rd International Conference on Conceptual Modeling, ER 2014, pp. 321–334, Atlanta, GA, USA, 27-29/10/2014