Domanda

Per decenni, il grado accettato per arrivare a diventare uno sviluppatore di software è stato "Compter Science."
Abbiamo avuto alcuni domande già sul fatto che laurea prepara davvero gli studenti a sviluppare software.

Alcune scuole hanno, negli ultimi 8 anni o giù di lì, iniziato ad offrire molteplici major distinti nella programmazione. Utilizzando il programma di studi dalla mia scuola:

  • Informatica , che inizia con alcuni corsi di programmazione intro nel primo anno, e poi si concentra sulla scienza teorica del computer, algoritmi, e un po 'di roba OS. La maggior parte delle classi coinvolgono diversi progetti più piccoli e compiti a casa, da solo fatto o in coppia.
  • Ingegneria del Software , che inizia con gli stessi corsi di programmazione intro, fa alcune classi della teoria, e poi va in pratiche di sviluppo software (testing, metodologie di processo, metriche sofware, raccolta dei requisiti) e software di progettazione (progettazione di sistemi distribuiti, progettazione informazioni di sistema, in tempo reale / progettazione embedded, progettazione sottosistema, etc)

scuole differenti fanno in modo diverso, in modo che il sopra è solo un esempio del mondo reale ho familiarità con. Quello che mi chiedo è: C'è bisogno per le major distinti nella programmazione

?
È stato utile?

Soluzione

Sì, dovrebbero essere.

Il rapporto tra informatica e ingegneria del software è la stessa come il rapporto tra la fisica e l'ingegneria meccanica. Uno fornisce il background teorico, mentre l'altro prende quelle teorie, insieme a buoni principi di ingegneria, e li applica alla progettazione e realizzazione di software.

E 'necessario sia al fine di produrre software nuovo e migliore. Un buon computer science treni istruzione persone per produrre nuovi e migliori algoritmi, strutture dati, linguaggi di programmazione e paradigmi, compilatori, e una serie di altre cose che possono essere utilizzati per migliorare i sistemi di software. Una formazione di ingegneria del software bene, d'altra parte, i treni a prendere questi strumenti e le conoscenze ottenute attraverso uno studio scientifico di calcolo, insieme ad una conoscenza del modelli di processo del ciclo di vita di sviluppo del software e per costruire realmente il sistema che un cliente desideri e bisogni .

Altri suggerimenti

E 'ben noto che un tipico curriculum CS non prepara uno per l'industria, non tanto quanto si vuole di essere preparati in ogni caso. Quindi sì, c'è la necessità di un'ingegneria del software importante, ed i due dovrebbero essere distinti, anche se sicuramente nella stessa facoltà.

Essi dovrebbero essere diverse discipline, ma non a livello universitario. Io non vedo come possano limitare in su tutto ciò che è necessario per Software Engineering su un corso di laurea. Proprio nello stesso modo non vediamo diplomi di laurea in Ingegneria dei Sistemi (in cui la gente ottenere un MS in dopo aver ottenuto una laurea in EE, CE, l'Ing meccanico o CS), si tratta di un caso simile con Software Engineering.

Si tratta di un approccio multidisciplinare basato pesantemente sul informatica e / o MIS. Le persone veramente diventare ingegneri del software, in pratica (e non solo nel titolo), dopo proseguire il lavoro corso avanzato e / o esperienza di lavoro sul campo, a condizione che il più avanti si fa in ambienti conduttrici di ingegneria del software.

La maggior parte delle persone che hanno titoli di ingegneria del software, ma non hanno realmente avanzato al di là di codifica. Questo non è un dis su di loro, ma una constatazione - che non sono stati sufficientemente esposti al tipo di lavoro che li avrebbe aiutati a accumulare esperienza di lavoro al di là di codifica. Peggio ancora, la maggior parte dei posti di lavoro e le organizzazioni sono atrocemente correre, e non sono conduttivi di fare una corretta ingegneria del software.

Inoltre, senza un lavoro o la maturità scolastica, materiale di ingegneria del software semplicemente volare sopra le teste della maggior parte degli studenti undergrad.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
scroll top