Transactions on Information and Communications Technologies vol 4, 1993 WIT Press, ISSN

Similar documents
MetaMet - A Soft Systemic Way Toward the Quality of Information Systems

Socio-cognitive Engineering

Soft Systems in Software Design*

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE

A SYSTEMIC APPROACH TO KNOWLEDGE SOCIETY FORESIGHT. THE ROMANIAN CASE

Towards a Software Engineering Research Framework: Extending Design Science Research

Thriving Systems Theory:

Online Public Services Access and the Elderly: Assessing Determinants of Behaviour in the UK and Japan

Course Syllabus. P age 1 5

Systems. Professor Vaughan Pomeroy. The LRET Research Collegium Southampton, 11 July 2 September 2011

POLICY RESEARCH, ACTION RESEARCH, AND INTERPRETIVE RESEARCH IN INFORMATION SYSTEMS AREAS

A Case Study on Actor Roles in Systems Development

Modelling Critical Context in Software Engineering Experience Repository: A Conceptual Schema

Course Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007

An Exploratory Study of Design Processes

TANGIBLE IDEATION: HOW DIGITAL FABRICATION ACTS AS A CATALYST IN THE EARLY STEPS OF PRODUCT DEVELOPMENT

Towards the definition of a Science Base for Enterprise Interoperability: A European Perspective

OXNARD COLLEGE ACADEMIC SENATE

AGILE USER EXPERIENCE

4 The Examination and Implementation of Use Inventions in Major Countries

CONCURRENT AND RETROSPECTIVE PROTOCOLS AND COMPUTER-AIDED ARCHITECTURAL DESIGN

A Three Cycle View of Design Science Research

CHAPTER 8 RESEARCH METHODOLOGY AND DESIGN

Common Core Structure Final Recommendation to the Chancellor City University of New York Pathways Task Force December 1, 2011

Aesthetics Change Communication Communities. Connections Creativity Culture Development. Form Global interactions Identity Logic

Virtualization and Educational Technology in Post-industrial Society

Issues and Challenges in Coupling Tropos with User-Centred Design

The Tool Box of the System Architect

TOWARDS AN ARCHITECTURE FOR ENERGY MANAGEMENT INFORMATION SYSTEMS AND SUSTAINABLE AIRPORTS

Faculty of Humanities and Social Sciences

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey

An Integrated Expert User with End User in Technology Acceptance Model for Actual Evaluation

Architectural assumptions and their management in software development Yang, Chen

Evolving a Software Requirements Ontology

Context Sensitive Interactive Systems Design: A Framework for Representation of contexts

Countering Capability A Model Driven Approach

Social Data Analytics Tool (SODATO)

Towards a Design Theory for Trustworthy Information

Revolutionizing Engineering Science through Simulation May 2006

The Darwinian Revolution HSTR 282CS Spring 2014

Interoperable systems that are trusted and secure

Sustainable development

The workspace design concept: A new framework of participatory ergonomics

Ideation TRIZ Roots and Differentiations

Argumentative Interactions in Online Asynchronous Communication

SOME THOUGHTS ON INFORMATION SYSTEMS AND ORGANISATIONS

Dice Games and Stochastic Dynamic Programming

Learning Goals and Related Course Outcomes Applied To 14 Core Requirements

Comparing the Design Cognition of Concept Design Reviews of Industrial and Mechanical Engineering Designers

Supporting medical technology development with the analytic hierarchy process Hummel, Janna Marchien

Revised East Carolina University General Education Program

Towards a multi-view point safety contract Alejandra Ruiz 1, Tim Kelly 2, Huascar Espinoza 1

AI Principles, Semester 2, Week 1, Lecture 2, Cognitive Science and AI Applications. The Computational and Representational Understanding of Mind

SOFT 437. Software Performance Analysis. What is UML? UML Tutorial

Playware Research Methodological Considerations

Computer Ethics. Ethical questions in the design of technology. Viola Schiaffonati October 24 th 2017

ENHANCED HUMAN-AGENT INTERACTION: AUGMENTING INTERACTION MODELS WITH EMBODIED AGENTS BY SERAFIN BENTO. MASTER OF SCIENCE in INFORMATION SYSTEMS

A Conceptual Model of Software Development

learning progression diagrams

Women's Capabilities and Social Justice

Each copy of any part of a JSTOR transmission must contain the same copyright notice that appears on the screen or printed page of such transmission.

DiMe4Heritage: Design Research for Museum Digital Media

RecordDNA. What is a Record? Differing visions and perspectives

Goals of the AP World History Course Historical Periodization Course Themes Course Schedule (Periods) Historical Thinking Skills

CHAPTER LEARNING OUTCOMES. By the end of this section, students will be able to:

Conceptual Metaphors for Explaining Search Engines

A Modeling Method to Develop Goal Oriented Adaptive Agents in Modeling and Simulation for Smart Grids

Software Engineering Principles: Do They Meet Engineering Criteria?

The aims. An evaluation framework. Evaluation paradigm. User studies

Thomas Jefferson High School for Science and Technology INTRODUCTION TO SCIENCE POLICY Program of Studies

More of the same or something different? Technological originality and novelty in public procurement-related patents

INTELLIGENT SOFTWARE QUALITY MODEL: THE THEORETICAL FRAMEWORK

Reverse Engineering A Roadmap

SUBJECT MATTER OF LEGAL THEORY

Mission Reliability Estimation for Repairable Robot Teams

Towards an MDA-based development methodology 1

On the use of the Goal-Oriented Paradigm for System Design and Law Compliance Reasoning

Research Foundations for System of Systems Engineering

A KNOWLEDGE-BASED SUPERPOSING SKETCH TOOL FOR DESIGN CONCEPT GENERATION THROUGH REFLECTION OF VERBAL AND DRAWING EXPRESSION

Calculators will not be permitted on the exam. The numbers on the exam will be suitable for calculating by hand.

AN INTERROGATIVE REVIEW OF REQUIREMENT ENGINEERING FRAMEWORKS

Separation of Concerns in Software Engineering Education

Engineering Scenarios for the Reinforcement of Global Business Intelligence:

HELPING THE DESIGN OF MIXED SYSTEMS

COMPARATIVE STUDY OF METHODS Part Five

Using Variability Modeling Principles to Capture Architectural Knowledge

D1.10 SECOND ETHICAL REPORT

An Introduction to Agent-based

Project Design of Social Entrepreneurship. DECISION SCIENCES INSTITUTE An Innovative Approach to Project Design of Social Entrepreneurship

Patents & Innovation In the Pharmaceutical Industry: Literature Review. Jonathan Gock POL 459 Prof. Hira Fall 09

Current Challenges for Measuring Innovation, their Implications for Evidence-based Innovation Policy and the Opportunities of Big Data

Impediments to designing and developing for accessibility, accommodation and high quality interaction

REPORT ON THE EUROSTAT 2017 USER SATISFACTION SURVEY

Pervasive Services Engineering for SOAs

Scope of OOSE. A. Starts. CMPSC 487 Lecture 01 Topics: Schach - Chap 1. The Scope of Object-Oriented Software Engineering

PART I: Workshop Survey

Getting from Knowledge to Action: Effectively communicating Research & Development value to multiple Stakeholder Groups.

Edgewood College General Education Curriculum Goals

45 INFORMATION TECHNOLOGY

Agent-Based Modeling Tools for Electric Power Market Design

Transcription:

Designing for quality with the metaparadigm P. Kokol o/ ABSTRACT Our practical experiences and theoretical research in the field of software design and its management have resulted in the conclusion that to enable the design of quality software systems in any design situation we must first design an appropriate design paradigm. This activity was called the metadesign and a metadesign paradigm a metaparadigm. Following recent scientific findings we decided that a metaparadigm should be pluralistic, useful, systemic, easy to use and recursively adaptable. It should be composed out of a suitable framework, theory and a metadesign methodology and philosophy. Currently we have designated the idea of a process as the framework, the Checklands Soft System Methodology as the methodology and philosophy, and the process formalization (metamodeling) as the theory. INTRODUCTION Designing for Quality The engineering process that underlines software design is critical in determining what products are successful. We agree with the belief (Basili^) that the software quality will be quantified and brought to the center of the design process. It is clear that the ultimate quality goal is the user satisfaction (Kokol*', Basili^). But the quality is not a single idea, it is a multidimensional concept. The dimensions of quality include entities of interests (final and intermediate products, and process components), viewpoints on that documents and quality attributes. Quality

150 Software Quality Management attributes contain such attributes as reliability, readability, elapsed time, portability etc. To achieve the quality it is not enough to test the final product according to desired quality attributes, we have to design for quality. That means that every entity and every view to these entities should posessjall needed quality attributes. Indeed, the quality is required in every phase of the software system life cycle. Therefore, to meet above quality objectives an appropriate quality-oriented design process is indispensable. In the manner to have such processes we need suitable process models and suitable design paradigms. But that's not enough - according to the complexity of above processes we have to design, measure and manage them. In this paper we have* concentrated on the first topic: namely designing software design paradigms. Metaparadicnn and Ideas Behind It Usingrecentresults(Brooks,Checkland, Dickson ) from the system and design theory we conclude that the software system design: - is a human activity system (Checkland-*) ; - is a process (Osterveil^) performed in a specific design situation, according to a specific design paradigm; - is a goal-oriented decision making exploration and learning activity; - occurs in two contexts: the context within which the designer operates and the context produced by the designing design itself. Analyzing design processes, design situations, design paradigms and relations between them (Kokol ) we found that: - there are no absolute good or bad design paradigms, they perform good or bad only in specific design situations; - there are design situations for which no known design paradigm is appropriate. Congruent to the above findings we contend that to enable successful software system design in any design situation we must first design an appropriate design paradigm. This activity was called the metadesign and a metadesign paradigm a metaparadigm. METAPARADIGM Before describing the metaparadigm in more detail we would like first to define the idiom paradigm. According to some basic denotations stating that the paradigm is

Software Quality Management 151 (1) a set of universally recognized scientific achievements that for a time provide a model of solutions to the community of practitioners or (2) a set of meta-theoretical assumptions about the nature of the subject of study, we have defined it as a pattern for executing actual actions in the real world. Using the last denotation we claim that the SS design paradigm is a pattern for executing actual SS design actions in designing real-world SS applications and the metaparadigm is a pattern for executing actual design actions in designing real world-design paradigms. An adequate metaparadigm should permit the following minimal set of activities: - formal description of design paradigms, design process and design situations; - formal evaluation and comparison of design paradigms; - metadesign of design paradigms, where metadesign is treated in a very broad sense as invention of new design paradigms, adoption of known design paradigms, composition of known design paradigms, selection between design paradigms etc.; and - learning and accumulation of new knowledge. Emphasizing the above arguments and respecting recent scientific findings (the crisis of the traditional scientific approach (Checkland^), tendency toward more softer system thinking (Checkland^), research paradox (Kokol ) and the software crisis (Kokol^) we decided that a metaparadigm should be pluralistic, useful, systemic, easy to use and recursively adaptable (recursive adaptability states that a metaparadigm must be an iterative learning system accumulating new knowledge about metadesign, software system design and related). It should be composed out of a suitable framework, theory and a metadesign methodology and philosophy. In our first attempt we have designated the idea of a process as the framework, the Checklands Soft System Methodology (CSSM) as the methodology and philosophy, and the process formalization (metamodeling) as the theory. Some important arguments for the selection were: the

152 Software Quality Management applicability of CSSM for researching human activity systems, the similarity between definitions of a process and a human activity system, and a strong relationship between a process and its forma1i z at ion. product/ customer document role \attribute > activity -» information flow Figure 1. The BSM metamodel Process and its Formalization An SS design process is defined as a collection of related activities, seen as a coherent process subject to reasoning, involved in the production of a software system. Its formalization requires to identify a clear hierarchy of concerns, from metamodels that establish a linguistic framework for reasoning about the subject, down to the structure of particular tools. The main goals, of the formalization are to provide a framework (Kokol*) which should: enable a linguistic support to describe, compare and contrast processes and its derivations; support reasoning in the manner to demonstrate equivalences, pinpointing differences, measuring etc.

processes and its derivations; Software Quality Management 153 - support the automatization of the activities performed during the development process. There are many views (management, technical, psychological, communication etc.), dimensions (political, cultural, social, technological etc.), levels (general, custom, specific, etc.) of the SS design process and it is clear that all it's instances can not be described with a single metamodel. Figure 1 presents a simple metamodel called BSM used for describing some important aspects of the SS design process. Checkland's Soft System Methodology (CSSM) Following recent research which shows that the conventional scientific approach is not successful in solving unstructured and complex real - world problems, we have selected the CSSM (Checkland^) as the appropriate paradigms design methodology. The CSSM uses system ideas to formulate basic mental acts of four kinds: perceiving, predicting, comparing and deciding on actions. The CSSM begins with a soft and unstructured expression of a problem situation, and continues with the definition of some human activity systems which seems relevant to the problem situation, named root definitions. Every root definition should include six crucial characteristics namely Customer, Actor, Transformation, Weltanschauung, Owner and Environment (CATWOE elements). These definitions are used next as the basis for making conceptual models of systems being selected. After the model is built it is compared with the situation perceived. The primary aim of the comparison is to comprise a debate, discussion or argument out of which suitable changes can be made. Once the debate stages have revealed possible changes, then the new problem situation becomes that of implementing these changes in the real world. The CSSM never solves problems out of existence, it is just the never ending learning process which should possibly improve the problem situation, and enables with the gained new knowledge to start another cycle of learning. METAPARADIGM AND SS DESIGN Designing software systems with the metaparadigm proceeds as presented in Figure 2 and requires the collaboration of three groups of customers: users, design group and paradigm design group (Figure 3).

154 Software Quality Management use evaluation design description - I I invention reuse adaption instanation customization.* i i i SS design SS design SS design paradigm approach process Figure 2. The use of the metaparadigm in SS design According to one of the most important metaparadigm's feature that the design process is an infinitive learning loop, the SS and the ISDP design should advance in parallel. As the consequence the ISDP appears in three different forms during its life cycle (Figure 4.). During the Phase 1 an intuitive (prototype) of the ISDP is constructed which reflects the initial users and design group visions about the ISDP. The Phase 2 is similar to Phase 1 except that the ISDP design is performed in a much more precise way. The outcome of the Phase 2 is an initial ISDP which is in the case of new requirements, conflicting situations, new customer groups, changing environment etc. improved or adapted during the Phase 3. While in Phase 2 the intuitive ISDP is used in designing of some preliminary ISP versions, and in Phase 3 the initial or adapted ISDP is used to design the final SS.

Software Quality Management 155 Temporary system P's knowledge D's knowledge U's requirement IS Ds knowledge Requirement Requirement Ps knowledge ISDP IS ISDP Figure 3. The temporary SS design system. U is the user, D the design group and the P the paradigm design group. CONCLUSION The aim of this paper was to introduce the metaparadigm and present its applicability in designing for quality. It is believed and confirmed with real world examples that using the metaparadigm can enhance many SS design weaknesses and as a consequence result in quality software systems design and quality oriented software system design processes and paradigms. The greatest advantages of the metaparadigm are: pluralism, the strong theoretical base, it can be used in any design situation, it can be tailored for personal needs, and it is systemic, easy to use, learn and teach. Its greatest weakness is relative immaturity. In future.work we must first empirically research and test its use in many various design situations. Next we have to construct some computerized tools which should support metaparadigms basic functions and finally we need to research the possibility to extend, adapt and improve its

156 Software Quality Management PHASE 1 PHASE 2 PHASE 3 ISDP improvement I ISDP design using ISDP, desigi1 14, iiqinn TCRP IS Figure 4. The SS development process using the metaparadigm.

theoretical base. REFERENCES Software Quality Management 157 1. Basili, V. (1991). The Future Engineering of Software: A Management Perspective. IEEE Computer. 24. 90-96. 2. Brooks, P. F. (1987). No silver bullet: essence and accidents of software engineering. IEEE Computer, 20. 10-19. 3.Checkland, P. (1981). Systems Thinking, System Practice. John Wiley and Sons, Chichester. 4.Kokol, P. (1989). Some notes on developing reliable medical software. MEDINFO'89. Barber B. et al (eds.). North-Holland, Amsterdam, 294-29 5.Kokol, P. (1989). Formalization of the software development process using meta-models. ACM Software Engineering Notes, 14(4). 118-123. 6.Kokol, P., B. Stiglic, V. Zumer, B. Novak (1990). Software crisis and new development paradigms or how to design reliable medical software. CBMS 90. Nagle T (ed.) IEEE CS Press, New York, 137-144. 7.Kokol, P., B. Stiglic, V Zumer (1991). New Evaluation Framework for Assessing the Reliability of Engineering Software Systems, RRES'91. BrebbiaC. A., Ferrante A. J. (eds.), CMI and Elsevier, 174-184. S.Kokol, P., B. Stiglic, V. Zumer (1992). Software Design Tools Evaluation in the Context of a Netaparadigm, SAOD'92. E. Nahouraii (ed.) IEEE CS Press, New York, 34-41. 9.Osterveil, L. (1987). Software processes are programs too. ICSE 87. Riddle W E (ed.). IEEE CS Press, New York, 2-13. lo.sorensen, P. G., J. P. Tremblay, A. J. McAllister (1988). The Metaview System for Many Specification Environment. IEEE Software. 2. 30-38. ll.tracz, W. (1991). A conceptual model for megaprogramming. ACM Software Engineering Notes. 16(3), 36-45. 12.Dickson, B. (1989). Developing quality system. Me Graw Hill, New York.