TY - GEN
T1 - Documentation as a cross-cutting concern of sofware
AU - Palmer, James D.
AU - McAddis, Nakai
N1 - Publisher Copyright:
© 2019 Copyright held by the owner/author(s). Publication rights licensed to ACM.
PY - 2019/10/4
Y1 - 2019/10/4
N2 - Traditionally, software documentation is either embedded directly into the source code as comments and therefore tightly coupled to it or maintained separately and completely divorced from the code. This work explores an alternative mechanism for writing, storing, and maintaining software documentation where comment points derived from revision control artifacts associated with the software are embedded in source code. These comment points abstractly link to software documentation, which is stored separately from the source code but remains maintainable from the source code using traditional software development tools and workfows, or using documentation focused tools like wikis. By treating documentation as a cross-cutting concern of source code, we intend to increase the modularity of documentation. This, in turn, allows diferent documentation concerns to be supported without mixing those concerns. Examples of such concerns include documentation associated with the architectural design, articulated requirements for the software, a literate description of algorithms, external developer API documentation, accessibility of international documentation, and pedagogical exposition.
AB - Traditionally, software documentation is either embedded directly into the source code as comments and therefore tightly coupled to it or maintained separately and completely divorced from the code. This work explores an alternative mechanism for writing, storing, and maintaining software documentation where comment points derived from revision control artifacts associated with the software are embedded in source code. These comment points abstractly link to software documentation, which is stored separately from the source code but remains maintainable from the source code using traditional software development tools and workfows, or using documentation focused tools like wikis. By treating documentation as a cross-cutting concern of source code, we intend to increase the modularity of documentation. This, in turn, allows diferent documentation concerns to be supported without mixing those concerns. Examples of such concerns include documentation associated with the architectural design, articulated requirements for the software, a literate description of algorithms, external developer API documentation, accessibility of international documentation, and pedagogical exposition.
KW - Collaborative document generation
KW - Comments
KW - Documentation generation
KW - Software documentation
KW - View-oriented documentation
UR - http://www.scopus.com/inward/record.url?scp=85074797725&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85074797725&partnerID=8YFLogxK
U2 - 10.1145/3328020.3353949
DO - 10.1145/3328020.3353949
M3 - Conference contribution
AN - SCOPUS:85074797725
T3 - SIGDOC 2019 - Proceedings of the 37th ACM International Conference on the Design of Communication
BT - SIGDOC 2019 - Proceedings of the 37th ACM International Conference on the Design of Communication
PB - Association for Computing Machinery, Inc
T2 - 37th ACM International Conference on the Design of Communication, SIGDOC 2019
Y2 - 4 October 2019 through 6 October 2019
ER -