3.2. SOFTWARE ENGINEERING MANAGEMENT AND METHODOLOGY
Several participants were concerned with software engineering management and methodology, as exemplified by the following remarks.
Kolence: (from On the interaction between software design techniques and software management problems)
» A software design methodology is composed of the knowledge and understanding of what a program is, and the set of methods, procedures, and techniques by which it is developed. With this understanding it becomes obvious that the techniques and problems of software management are interrelated with the existing methodologies of software design.«
d’Agapeyeff: (from Reducing the cost of software)
»Programming is still too much of an artistic endeavour. We need a more substantial basis to be taught and monitored in practice on the:
(i) structure of programs and the flow of their execution;
(ii) shaping of modules and an environment for their testing;
(iii) simulation of run time conditions.«
Kinslow: There are two classes of system designers. The first, if given five problems will solve them one at a time. The second will come back and announce that these aren’t the real problems, and will eventually propose a solution to the single problem which underlies the original five. This is the ‘system type’ who is great during the initial stages of a design project. However, you had better get rid of him after the first six months if you want to get a working system.
Berghuis: (from The establishment of standard programming and management techniques throughout the development and production of software and their enforcement)
» Independent software packages don’t exist; they run on an equipment (hardware), they need procedures by which to be operated and that indicates that we have to define what a system, project, phase of a project, releases, versions, etc., mean. Also we have to consider the organisation from the point of view of developing systems and in fact we are faced with the differences between functional and project organisation. We are also faced with the difficulties of system-engineering. «
Detailed information related to one particular, large project is given below.
Harr: (from: The design and production of real-time software for Electronic Switching Systems):
»In order to set the stage for a discussion on techniques for management of program design and production, I would like to first review with you the program design process. By program design process I mean all of the activities required to produce a documented, tested and working program. Regardless of how large or small a programming task is, it requires essentially the following sequence of steps:
1. The design process
a. Specification of the complete hardware-software system.
b. Definition of the functions to be performed by the program.
c. Design and documentation of the master (overall) program plan.
d. Subdivision of the large system program into manageable program blocks.
e. At this point, the interfaces between the program blocks must be precisely defined and documented. Since the usual means of passing data between program jobs is via the use of data in the memory of the system, the fundamental program progress