Chi è stato il primo ingegnere del software?

7

È risaputo che il primo programmatore non era che chi era o sono stati i primi ingegneri del software? Per ingegnere informatico intendo qualcuno che utilizza specifiche e metodi formalizzati per fornire software non solo un lavoro di programmazione batch. Quando è stato usato per la prima volta?

    
posta World Engineer 23.05.2012 - 19:04
fonte

4 risposte

20

Le prime discussioni sull'ingegneria del software sono iniziate a metà degli anni '50, che la collocano nello stesso periodo di CONDIVIDI gruppo di utenti precedentemente citato in una risposta cancellata .

L'inizio ampiamente accettato dell'ingegneria del software come professione fu alla conferenza della commissione scientifica della NATO nel 1968 a Garmisch, in Germania. Il report della conferenza (PDF) è spesso considerato la prima definizione di Ingegneria software. Una seconda conferenza, tenutasi nel 1969 a Roma, in Italia, è stata anche sponsorizzata dal Comitato scientifico della NATO e ha continuato il lavoro del primo ( documento di reportage PDF ). Potresti definire i partecipanti a questa conferenza come i primi ingegneri del software.

Tuttavia, ci sono alcune prove che la prima persona a coniare il termine "ingegneria del software" era Margaret Hamilton . Ha iniziato a usare il termine al MIT durante i primi giorni della creazione di software per le missioni Apollo.

Alcuni dei primi contributori all'ingegneria del software includono:

  • Edsger W. Dijkstra, creatore della programmazione strutturata (anni '60) oltre a numerosi contributi alla matematica e all'informatica
  • C.A.R. Hoare, creator o Hoare logic (1969) e Communicating Sequential Processes (1978) oltre alla creazione di Quicksort
  • Winston W. Royce, autore del documento che descriveva formalmente il modello Waterfall e come non era appropriato per costruire efficacemente sistemi software su larga scala (1970)
  • David Parnas, con il merito di aver creato il nascondiglio delle informazioni (1972) e un strong promotore di professionalità ed etica nell'ingegneria del software
  • Fred Brooks, autore di The Mythical Man-Month (1975) e altri saggi sulla gestione di progetti software
  • Michael A. Jackson, creatore di Jackson Structured Programming (anni '70) e Jackson System Development (anni '80)
  • Edward Yourdon, ha lavorato sulle tecniche di analisi strutturata (anni '70) e Yourdon / Whitehead (anni '80) e Coad / Yourdon (1990) sulle metodologie di analisi / progettazione orientate agli oggetti
  • Victor Basili, autore di numerose relazioni e documenti sul processo di sviluppo del software e spesso attribuito all'avvio dell'ingegneria del software empirico, in particolare l'approccio obiettivo / domanda / metrica, il Quality Improvement Paradigm e la Experience Factory mentre lavorava alla NASA's Software Engineering Laboratorio dalla metà degli anni '70 ai primi anni 2000
  • Barry Boehm, creatore di COCOMO (1981), Spiral Model (1986) COCOMO II (2000), Spiral Model, autore di numerosi articoli e libri sul processo di sviluppo software, metriche software e modelli di costo del software (la maggior parte in particolare Software Engineering Economics, 1981)

La ricerca di "padre dell'ingegneria del software" tende a rivelare molti nomi diversi, dal momento che c'erano molte persone che facevano ricerche accademiche, analisi di progetti software e lavori di ingegneria applicata al software presso università e aziende in tutto il mondo. Tuttavia, David Parnas (professionalità / etica), Fred Brooks (gestione dei progetti software), Barry Boehm (metriche e costi) e Victor Basili (ingegneria del software empirico) tendono a presentarsi con una certa frequenza nei loro rispettivi campi.

Qualcos'altro da considerare è che l'ingegneria del software è un'attività di squadra. Molte delle persone che ho nominato sopra erano leader di gruppi o organizzazioni, il loro lavoro era supportato da un numero qualsiasi di persone "nelle trincee" che potrebbero non ottenere mai il merito di essere parte di un progetto o di uno sforzo di ricerca che oggi è visto come il inizio dell'ingegneria del software.

    
risposta data 23.05.2012 - 20:15
fonte
6

dal Ingegneria del software della NATO nel 1968:

In the Autumn of 1967 the Science Committee established a Study Group on Computer Science. ... In late 1967 the Study Group recommended the holding of a working conference on Software Engineering. The phrase 'software engineering' was deliberately chosen as being provocative, in implying the need for software manufacture to be based on the types of theoretical foundations and practical disciplines, that are traditional in the established branches of engineering.

Ciò implica che prima c'erano professionisti del software, ma il titolo di lavoro non è apparso fino alla fine degli anni '60.

    
risposta data 23.05.2012 - 19:27
fonte
3

Direi che Herman Hollerith praticamente aveva "specifiche e metodi formalizzati" in il suo progetto per un tabulatore del censimento nel 1889. Le sue specifiche sono piuttosto tipiche per le specifiche dell'ingegnere di quell'epoca. Sebbene sia coinvolto un sacco di hardware, puoi prendere parte al software delle sue specifiche e scrivere un programma di tabulazione decente utilizzando strumenti moderni.

    
risposta data 23.05.2012 - 23:22
fonte
1

Direi che non esiste un ingegnere del software primo perché non penso che lo sviluppo del software sia un disciplina ingegneristica per cominciare.

L'American Engineers 'Council for Professional Development (ECPD, il predecessore di ABET) ha definito "engineering" come:

The creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them singly or in combination; or to construct or operate the same with full cognizance of their design; or to forecast their behavior under specific operating conditions; all as respects an intended function, economics of operation and safety to life and property.

La parte grassetto della citazione sopra riportata è la mia enfasi.

Gli ingegneri lavorano con materiali che seguono le regole della fisica che sono deterministiche, non ci sono materiali nello sviluppo di software e software, in particolare il software concorrente è non deterministico di natura.

L'ingegneria basata sui materiali può dimostrare i comportamenti di un progetto in qualsiasi condizione, poiché tali condizioni sono limitate a causa delle leggi della fisica.

Anche con i software di sistemi critici che gestiscono centrali nucleari, apparecchiature mediche e altri sistemi di controllo, non c'è modo di dimostrare che l'assenza di bug in un sistema, poiché il comportamento degli input di un sistema non è finito e quindi il il comportamento del sistema non è deterministico.

Ecco un editoriale recente che rende il punto che gli ingegneri del software non esistono perché possono essere definito .

    
risposta data 24.05.2012 - 02:36
fonte

Leggi altre domande sui tag