Optimal Process Structuring

Systems of increasing complexity have led to an apparent need for computer aided techniques in software design. It is the ultimate task of software engineering to develop tools and procedures which reduce the effort involved in the production of effective software. In effective' software we look for the characteristics of correctness, reliability, efficiency, flexibility, and maintainability. Measures of these characteristics have been proposed in the literature in terms of relationships between modules. These measures have been given the names coupling, cohesion, and transport volume, among others. In this paper, we review a procedure to develop a single measure for intermodule connections based on a combination of the more common measures. The measures utilized are from common attributes found in a complete system dictionary. The availability of the measures yields a metric that can be derived in a completely automated fashion. The derived metric is used in a mathematical model that describes the total interactions among system or program modules. This mathematical model is in turn used as an integer program to derive a hierarchy chart of the identified processes in a top-down, optimal fashion. The integer program allows for module limits on time and size, precedence relationships, and specification of mutually exclusive and mutually inclusive processes. Since the model is a mathematical program, other constraints may be added giving the method a great deal of flexibility. An efficient algorithm for solving the integer programming problem is presented along with implementation issues . The algorithm is illustrated with an example. Computational results of the code show that the method is viable for problems of realistic size.

[1]  Jay F. Nunamaker,et al.  Processing Systems Optimization through Automatic Design and Reorganization of Program Modules , 1974 .

[2]  H. Crowder,et al.  Cluster Analysis: An Application of Lagrangian Relaxation , 1979 .

[3]  D. J. Collington Structured design: Fundamentals of a discipline of computer program and systems design: Edward Yourdon and Larry L. Constantine Prentice-Hall, Englewood Cliffs, 1979. £13.70 , 1980 .

[4]  S. Y. Dennis Some Probabilities Associated with the Ordering of Unknown Multinomial Cell Probabilities , 1986 .

[5]  David C. Ling,et al.  UNDERSTANDING THE REAL ESTATE PROVISIONS OF TAX REFORM: MOTIVATION AND IMPACT , 1987, National Tax Journal.

[6]  Gary Klein,et al.  An Exact Algorithm for Variations of the Assembly line Balancing Problem , 1988 .

[7]  Gary Klein,et al.  Computer-Aided Process Structuring Via Mixed Integer Programming , 1988 .

[8]  Brian Everitt,et al.  Clustering of large data sets , 1983 .

[9]  E. Balas An Additive Algorithm for Solving Linear Programs with Zero-One Variables , 1965 .

[10]  J. Michael Geringer,et al.  Criteria for Selecting Joint Venture Partners , 1987 .

[11]  Glenford J Myers,et al.  Reliable software through composite design , 1975 .

[12]  Jahangir Karimi,et al.  An Automated Software Design Methodology Using CAPO , 1987, J. Manag. Inf. Syst..

[13]  Richard A. Bettis,et al.  Financial returns and strategic interaction: The case of instant photography , 1987 .

[14]  Jahangir Karimi Computer aided process organization in software design , 1983 .

[15]  Rosalind B. Marimont,et al.  A New Method of Checking the Consistency of Precedence Matrices , 1959, JACM.

[16]  Michael Jackson,et al.  Principles of program design , 1975 .

[17]  Glenn D. Bergland,et al.  A Guided Tour of Program Design Methodologies , 1981, Computer.

[18]  Peter J. Rousseeuw,et al.  CLUSTERING LARGE DATA SETS , 1986 .

[19]  John W. Slocum,et al.  Life stage versus career stage: A comparative test of the theories of Levinson and Super , 1989 .

[20]  Jeffrey E. Kottemann,et al.  Complexity assessment: a design and management tool for information system development , 1983, Inf. Syst..

[21]  S. Y. Dennis A Probabilistic Analysis of the Eigenvector Problem for Dominance Matrices of Unit Rank , 1986 .

[22]  Fred McLanahan Tonge,et al.  A heuristic program for assembly line balancing , 1961 .