Conceptual Design of Software: A Research Agenda

Daniel Jackson · DSpace@MIT (Massachusetts Institute of Technology) · 2013

A research agenda in software design is outlined, focusing on the role of concepts. The no-tions of concepts as “abstract affordances ” and of conceptual integrity are discussed, and a series of small examples of conceptual models is given. What is Conceptual Integrity? In the field of software design, there is little agreement to be found amongst experts over ex-actly how software should be structured, what languages and tools should be used, and so on. And yet a handful of general notions—separation of concerns, abstraction, decoupling, representation independence, and so on—have received wide approbation and thus repre-sent the closest we have to some kind of consensus. Amongst these notions, one is of partic-ular interest because it addresses not only the internals of the software but also the behavior experienced by the user, and is thus most relevant to the question of how software should be designed in the larger (and more experiential) sense of “design ” used in the more estab-lished design disciplines (such as architecture and industrial design). This is the notion of “conceptual integrity”, which has been held up not merely as one

Read the paper · More papers on PaperTik