schultz@grebyn.com (Ronald) (12/21/89)
The topic of paradigm keeps recurring, yet I see little that has provided any practical help in my day to day activities. Even John Chancellor on the 12/19/90 NBC News is using the term. In my work I have found it necessary to address some basic terms. The following are some sample working definitions we have been trying out on our users. I hope these definitions create some discussion. They are by no means fixed, and I am open to new or revised definitions. Reality - The real world, independent of any human interpretation. Expressed in terms of 4 and ocassionally more dimensions. Reality exists independent of any particular individual. Please, no flames over the 'nature of reality' or 'does a falling tree make a sound in an unpopulated forest' ! I've heard of reality defined as the problem space of all problems spaces. Reality is a given. A Framework - A slice of reality selected for viewing and inspection. A framework provides a schematic upon which reality can be considered in some useful manner. One could select a framework of information systems architecture to conduct a review of different approaches to software development. Frameworks are selected explicitly, and are used to partition a problem space into something humanly manageable. A Paradigm - A paradigm is a set of lenses through which one's view of reality is colored, shifted, and oriented. The same thing in reality appears different when viewed through different paradigms. A paradigm can be made somewhat explicit through discussion, concept cluster attachment. Paradigms are influenced by education, beliefs, and to a lesser extent, training. Paradigms are not explicitly selected, but are implicitly learned. New paradigms can be learned much as one learns a new language, but the older one gets, the harder it becomes. Paradigms provide a means of addressing a problem space. The paradigm 'brings to mind' a list of tools, techniques, methods, and skills that are considered appropriate to dealing with a particular problem space. A Concept Model- An approach to addressing a particular piece of a framework viewed through a specific paradigm. Using the functional decomposition paradigm as an example, Structured Analysis is a Concept Model of analyzing software systems. Concept models are developed through training, apprenticeships, and education. Concept models are described in terms of: o Things of interest to the model o Concepts associated within the model o Functionality available in the model o Limitations of the model o Key advantages of the model in relation to the framework, and within the scope of the applied paradigm o Disadvantages of the model in the framework, and within the scope of the applied paradigm A software framework, when approached from the paradigm of functional decomposition, yields concept models of structured analysis, design, coding and testing. Object-Oriented Domain Analysis would not be yielded as a viable concept model within the stated paradigm, because there is no place for an object-orientation in a functional decomposition paradigm (IMHO). This preselection of concept models that occurs based on an individual's paradigm must be recognized and dealt with explicitly during any new technology infusion or transfer. Concept models are selected somewhat explicitly. Individuals apply generic concept models to a wide range of problems. The more concept models available to a paradigm, the more robust the paradigm can be considered. A Methodology - (Please note: Method = Methodology for this definition). A particular and specific way of implementing a concept model. Gane and Sarson's method of Structured Analysis is a different method than Yourdon, although they both fulfill the Concept Model of Structured Analysis and are both contained in the functional decomposition paradigm. A hardware example: A method of implementing the concept model of remote printing is via Channel Extension technology. Methodologies are supported by skills, tools, reference sources, and modeling techniques. My work involves dealing with hardware, software, and telecommunications designers and architects and planners. Trying to find a paradigm that is capable of handling this diverse mix of backgrounds, educations, and skills can drive one to be a multiple- paradigm personality (in other words 'schizophrenic'). This forum needs to explore the OO paradigm, and competing paradigms, in a more formal fashion, minus the flames. If we ever intend to 'show the masses the way', we need to be prepared to identify the impact of paradigm shifts to ourselves, our management, and our clients. The bottom lines are always SO WHAT?, and then if you are successful at answering that, then HOW DO WE GET THERE FROM HERE ? If you have any thoughts on this, please E-Mail me or post your notes to the net. ----------------------------------------------------- ----------- "I don't pretend to have any answers, but I sure do have a lot of questions." ----------------------------------------------------- ------------ Ron Schultz Network Solutions, Inc. schultz@grebyn.com