Thinking in Terms of Flow in Design of Software Systems
Computer Engineering Department, Kuwait University, Kuwait
This paper examines conceptual models and their application to the task of software system design. With the software development life cycle in mind, the concern here is the initial phases of the design process, when customer needs are investigated, conceptualized, and included in specifications. More specifically, the paper concentrates on the “patterning aspect of cognition” (i.e., object-oriented) where pattern refers to recurring templates used by designers in thinking. It is proposed that representation of thinking activity be based on flows of things using flow machines formed by stages (states) occurring sequentially in a flow. According to such an approach, a designer’s “thought machine” forms a train of thought that excludes other modes such as procedural and object-oriented modes of thinking. The new idea presented here is that flow-based modelling is used not only as an external representation of the design’s thinking but also as the style of thinking. A thinking style involves how one organizes thoughts and is a “conscious system of design.” The method is illustrated by remodelling examples from the object-oriented paradigm. It seems to have merits that deserve further development.
© The Authors, published by EDP Sciences, 2017
This is an Open Access article distributed under the terms of the Creative Commons Attribution License 4.0, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.