Enginyeria de programari

De Viquipèdia
Dreceres ràpides: navegació, cerca
Enginyer de programari treballant en el desenvolupament de MediaWiki.

L'enginyeria de programari és la disciplina o àrea de la informàtica que ofereix mètodes i tècniques per a desenvolupar i mantenir programari de qualitat. La creació del programari és un procés intrínsecament creatiu i l'enginyeria de programari mira de sistematitzar aquest procés amb la finalitat d'acotar el risc del fracàs en la consecució de l'objectiu creatiu per mitjà de diverses tècniques que s'han demostrat adequades a partir de l'experiència prèvia. Aquesta enginyeria tracta amb àrees molt diverses de la informàticai de les ciències de la computació, com ara construcció de compiladors, sistemes operatius; utilitza totes les fases del cicle de vida del desenvolupament de qualsevol tipus de sistemes d'informació i és aplicable a infinitat d'àrees: negocis, investigació científica, medicina, logística, banca, control del trànsit, meteorologia, dret, Internet.

El terme enginyeria de programari va ser popularitzat l'any 1968 en la NATO Software Engineering Conference (que va tenir lloc a Garmisch, Alemanya) pel seu president F.L. Bauer, i s'ha fet servir àmpliament des de llavors. La disciplina d'enginyeria de programari comprèn coneixements, eines, i mètodes per a la definició de requeriments de programari, i la realització de tasques de disseny de programari, programació de computadors, disseny d'interfícies d'usuari, proves de programari, i manteniment de programari.[1]

L'enginyeria de programari també es recolza en coneixements de ciències de la computació, enginyeria de la computació, gestió, matemàtiques, gestió de projectes, gestió de la qualitat, ergonomia de programari, i enginyeria de sistemes.[1]

El terme enginyeria de programari ha generat certa polèmica, ja que és discutible que el desenvolupament de programes informàtics és més un art que una ciència,[2] i que tracten d'imposar disciplines de l'enginyeria sobre un tipus d'art és un exercici inútil com el que representa una bona pràctica en la creació de programari no està encara definida.[3]

L'Institut d'Enginyers Elèctrics i Electrònics defineix "Enginnering programari" com l'aplicació d'un enfocament sistemàtic, disciplinat, enfocament quantificable al desenvolupament, operació i manteniment del programari, i l'estudi d'aquests enfocaments, és a dir, l'aplicació d'Enginyeria del programari.[4]

L'enginyeria de software aparèixer per primera vegada el 1968 de l'OTAN Conferència d'Enginyeria de Software i estava destinada a suscitar la reflexió sobre l'actual "crisi del programari" en el moment.[5] [6] Des de llavors, ha continuat com a professió i el camp d'acció per a dissenyar, implementar i millorar el programari que és de més qualitat, més accessible, fàcil de mantenir, i més ràpid de desenvolupar. Atès que el camp és encara relativament jove en comparació amb els seus germans dels camps de l'enginyeria, hi ha molt debat sobre què és realment l'enginyeria de programari, i si s'ajusta a la definició clàssica de l'enginyeria.

Tot i que és discutible l'impacte que ha tingut en el desenvolupament de programes efectius en els últims més de 40 anys,[7][8] el futur del camp sembla brillant d'acord amb Money Magazine i Salary.com que van qualificar de "enginyeria de programari" com el millor treball en els Estats Units en 2006.[9]

Història[modifica | modifica el codi]

Quan els primers equips digitals moderns van aparèixer a la dècada de 1940,[10] les instruccions per fer-los funcionar s'implementaven directament a la màquina. Els professionals es van adonar ràpidament que aquest disseny no era flexible i se li va acudir la "arquitectura de programa emmagatzemat", o l'arquitectura de Von Neumann. Així, la primera divisió entre "maquinari" i "programari", va començar amb abstracció s'utilitza per tractar la complexitat de la computació.

Els llenguatges de programació van començar a aparèixer a la dècada de 1950 i això és també un altre pas important en l'abstracció. Principals idiomes com el Fortran, ALGOL, i Cobol van ser alliberats a finals de 1950 per fer front a científics, algorísmica, i els problemes de negocis, respectivament. E.W. Dijkstra va escriure el seu treball seminal, "GO TO considerades perjudicials",[11] el 1968 i David Parnas va introduir el concepte clau de la modularitat i ocultació d'informació el 1972[12] per ajudar els programadors bregar amb la complexitat cada vegada major de sistemes informàtics. Un sistema de programari per a la gestió del maquinari anomenada sistema operatiu també va ser introduït, en particular per Unix el 1969. El 1967, el Simula va introduir el llenguatge de programació orientada a objectes paradigma.

Aquests avenços en el programari es van trobar amb més avenços en el maquinari. A la dècada de 1970, el microordinadors es va introduir, per la qual cosa és econòmic per als aficionats per obtenir un ordinador i escriviu programari per a això. Això, al seu torn va conduir a l'ara famós ordinador personal (PC) i Microsoft Windows. El Desenvolupament de Software Cicle de Vida o SDLC també comencen a aparèixer com un consens per a la construcció centralitzada de programari en els anys 1980. Finals de 1970 i principis de 1980 va veure la introducció de diversos nous Simula inspirat en els llenguatges de programació orientada, incloent-hi C, Smalltalk, i Objective C.

Codi obert de programari van començar a aparèixer en els anys 90 en la forma de Linux i altre programari en presentar el "basar" o l'estil descentralitzat de la construcció de programari.[13] Després de la Internet i World Wide Web va arribar a mitjans dels 90, el canvi de l'enginyeria de programari, una vegada més. Sistemes distribuïts va guanyar influència com una forma de disseny de sistemes, i la Java llenguatge de programació es va introduir amb el seu propi màquina virtual com un pas més en abstracció. Programadors col·laborat i va escriure la Manifest àgil, que va afavorir els processos més lleuger per crear més barat i més oportuna de programari.

Implicacions socioeconòmiques[modifica | modifica el codi]

L'enginyeria de programari afecta l'economia i les societats de diverses maneres. A més, amb la indústria del llenguatge s'està trobant cada vegada més camps d'aplicació a escala global.

L'enginyeria de programari canvia la cultura del món a causa de l'estès ús de l'ordinador. El correu electrònic (E-mail), la WWW i la missatgeria instantània permeten a la gent interaccionar de noves formes. El programari baixa el cost i millora la qualitat dels serveis de salut, els departaments de bombers, les dependències governamentals i altres serveis socials. Els projectes reeixits on s'han utilitzat mètodes d'enginyeria de programari inclouen GNU / Linux, el programa del transbordador espacial, els caixers automàtics i molts altres.

Metodologia[modifica | modifica el codi]

Un objectiu de dècades ha estat trobar processos i metodologies, que siguin sistemàtiques, predictibles i repetibles, per tal de millorar la productivitat en el desenvolupament i la qualitat del producte software.

Etapes del procés[modifica | modifica el codi]

L'enginyeria de programari requereix dur a terme nombroses tasques, dins d'etapes com les següents:

Anàlisi de requisits[modifica | modifica el codi]

Extreure els requisits d'un producte de programari és la primera etapa per crear-lo. Mentre que els clients pensen que ells saben el que el programari ha de fer, es requereix d'habilitat i experiència en l'enginyeria de programari per reconèixer requisits incomplets, ambigus o contradictoris. El resultat de l'anàlisi de requisits amb el client es plasma en el document ERS, Especificació de Requisits del sistema. Així mateix, es defineix un diagrama d'Entitat/Relació, en què es plasmen les principals entitats que participaran en el desenvolupament del programari.

La captura, anàlisi i especificació de requisits (fins i tot proves d'ells), és una part crucial; d'aquesta etapa depèn en gran mesura l'assoliment dels objectius finals. S'han ideat models i diversos processos de treball per a aquests fins. Tot i que encara no està formalitzada, ja es parla de l'anàlisi de requeriments.

La IEEE Std 830-1998 normalitza la creació de les Especificacions de Requeriments de Programari (Software Requirements Specification).

Especificació[modifica | modifica el codi]

L'Especificació de Requeriments descriu el comportament esperat en el programari un cop desenvolupat. Gran part de l'èxit d'un projecte de programari radicarà en la identificació de les necessitats del negoci (definides pel client o el director de producte), així com la interacció amb els usuaris funcionals per a la recollida, classificació, identificació, priorització i especificació dels requeriments del programari.

Entre les tècniques utilitzades per a l'especificació de requeriments es troben:

Sent els primers més rigorosos i formals, els segons més àgils i informals.

Arquitectura[modifica | modifica el codi]

La integració d'infraestructura, desenvolupament d'aplicacions, bases de dades i eines gerencials, requereixen de capacitat i lideratge per poder ser conceptualizats i projectats en un futur, solucionant els problemes d'avui. El rol en el qual es deleguen totes aquestes activitats és el de l'Arquitecte.

L'Arquitecte del Software és la persona que afegeix valor als processos de negoci gràcies a la seva aportació important de solucions tecnològiques. L'Arquitectura de Sistemes en general, és una activitat de planificació, ja sigui a nivell d'infraestructures de xarxa i hardware, o de Software. L'arquitectura de Software consisteix en el disseny de components d'una aplicació (entitats del negoci), generalment utilitzant patrons d'arquitectura. El disseny arquitectònic ha de permetre visualitzar la interacció entre les entitats del negoci i a més pot ser validat, per exemple per mitjà dels diagrames de seqüència.

Un disseny arquitectònic descriu en general com es construirà una aplicació de software. Per això es documenta utilitzant diagrames, per exemple:

Sent els dos primers els mínims necessaris per descriure l'arquitectura d'un projecte. Depenent de l'abast, complexitat i necessitats del projecte, els arquitectes trien quins diagrames elaborar.

Programació[modifica | modifica el codi]

Reduir un disseny a codi pot ser la part més òbvia del treball d'enginyeria de programari, però no necessàriament és la que demana més treball i ni la més complicada. La complexitat i la durada d'aquesta etapa està íntimament relacionada al o als llenguatges de programació utilitzats, així com al disseny prèviament realitzat.

Prova[modifica | modifica el codi]

Consisteix en comprovar que el programari realitzi correctament les tasques indicades en l'especificació del problema. Una tècnica de prova és provar per separat cada mòdul del programari, i després provar-lo de forma integral, per així arribar a l'objectiu.

Es considera una bona pràctica que les proves siguin efectuades per algú diferent del desenvolupador que el va programar, idealment una àrea de proves, sense perjudicis el programador ha de fer les seves pròpies proves.

En general hi ha dues grans formes d'organitzar una àrea de proves, la primera és que estigui formada per personal inexpert i que desconegui el tema de proves, d'aquesta manera s'avalua que la documentació lliurada sigui de qualitat, que els processos descrits són tan clars que qualsevol pot entendre'ls i el programari fa les coses tal com estan descrites. El segon enfocament és tenir una àrea de proves conformada per programadors amb experiència, persones que saben sense més indicacions en quines condicions pot fallar una aplicació i que poden posar atenció en detalls que personal inexpert no consideraria.

Documentació[modifica | modifica el codi]

Tot el que està relacionat amb la documentació del propi desenvolupament del programari i de la gestió del projecte, passant per models (UML), diagrames, proves, manuals d'usuari, manuals tècnics, etc.; tot amb el propòsit d'eventuals correccions, usabilitat, manteniment futur i ampliacions al sistema. Aquesta part és força important, ja que des de sempre es pensa el producte des de zero, i el client final no arribarà a entendre-ho tan bé com nosaltres. Per això cal documentar tot el material existent. Proves, manuals, instruccions específiques...tot en general, per tal que el client sempre sigui capaç de resoldre ell tot sol un possible problema de conceptes.

Manteniment[modifica | modifica el codi]

Mantenir i millorar el software per arreglar errors i aplicar nous requisits. Això pot dur a terme més temps que fins i tot el propi desenvolupament inicial del software. Al voltant d'un 60% de tota l'enginyeria del software té a veure amb el manteniment. Una petita part del treball consisteix en solucionar errors, o bugs. La major part consisteix en estendre el sistema per fer noves aplicacions. De forma similar, al voltant del 60% de tota l'enginyeria civil, arquitectura i treballs de construcció és donar manteniment.

Models de desenvolupament de programari[modifica | modifica el codi]

L'enginyeria de programari té diversos models, paradigmes o filosofies de desenvolupament en els quals es pot donar suport per a la realització de programari, dels quals podem destacar aquests per ser els més utilitzats i els més complets:

  • Model cascada o Clàssic (model tradicional)
  • Model espiral (model evolutiu)
  • Desenvolupament per etapes
  • Desenvolupament iteratiu i creixent o iterativa i incremental
  • RAD (Rapid Application Development)
  • Desenvolupament concurrent
  • RUP (Model Racional)
  • UML

L'enginyeria de programari té a veure amb diversos camps en diferents formes:

  • Matemàtiques: Els programes tenen moltes propietats matemàtiques. Per exemple la correcció i la complexitat de molts algorismes són conceptes matemàtics que poden ser rigorosament provats. L'ús de matemàtiques a la EP és anomenat mètodes formals.
  • Creació:Els programes són construïts en una seqüència de passos. El fet de definir pròpiament i dur a terme aquests passos, com en una línia d'acoblament, és necessari per millorar la productivitat dels desenvolupadors i la qualitat final dels programes. Aquest punt de vista inspira els diferents processos i metodologies que trobem a la EP.
  • Gestió de Projectes :El programari comercial (i la majoria del no comercial) requereix gestió de projectes. Hi ha pressupostos i establiment de temps. Gent per liderar. Recursos (espai d'oficina, ordinadors) per adquirir. Tot això encaixa apropiadament amb la visió de la Gestió de Projectes.
  • Art:Els programes contenen molts elements artístics. Les interfícies d'usuari, la codificació, etc. Fins i tot la decisió per un nom d'una variable o una classe.

Fases de desenvolupament del programari[modifica | modifica el codi]

El lliurament de programari es la distribució, ja sigui pública o privada, d'un producte nou o millorat en forma de programa per a ordinador. Cada cop que es canvia un programa o sistema, els enginyers informàtics i les empreses que realitzen el treball decideixen com canviaran o lliuraran aquests productes. Les actualitzacions de programari són un mètode de distribució de canvis, així com les descàrregues i els discos compactes.

Professió[modifica | modifica el codi]

Els requisits legals per a la concessió de llicències o certificació d'enginyers de programari professionals varien al voltant del món. Molts estats dels enginyers de llicència de programari dels Estats Units ((edita | data = gener 2010)). Al Regne Unit, el British Computer Society llicències dels enginyers de programari i dels membres de la societat també pot convertir-se en Enginyers Públics (céng), mentre que en algunes zones del Canadà, com a Alberta, Ontàrio,[14] i Quebec, els enginyers de programari pot contenir l'Enginyer Professional (P. Eng) la designació i / o el professional de Sistemes d'Informació (ISP) la designació, però, no hi ha cap requisit legal perquè aquestes qualificacions.

El IEEE Computer Society i la ACM, les dues principals organitzacions professionals de l'enginyeria de programari, publicar guies per a la professió de l'enginyeria de programari. L'IEEEGuía per al Cos d'Enginyeria del Software de coneixement - 2004 Versió, o SWEBOK, defineix l'àmbit i descriu el coneixement de la IEEE s'espera que un enginyer de programari de la pràctica de [[]] a tenir. L'IEEE també promulga una "." Enginyeria de Programari de Codi d'Ètica[15]

Ocupació[modifica | modifica el codi]

El 2004, el U. S. Bureau of Labor Statistics comptats a 760.840 enginyer de programari s sostenint l'ocupació en la EUA, en el mateix període de temps hi va haver uns 1,4 milions de professionals empleats en els EUA en totes les disciplines d'enginyeria combinat.[16] causa de la seva relativa novetat com un camp d'estudi, la formació acadèmica en enginyeria de programari sovint s'ensenya com a part d'un pla d'estudis d'informàtica, i com a resultat de la majoria dels enginyers de programari tenen títols de ciències de la computació.[17]

La majoria d'enginyers de programari de treball com a empleats o contractistes. Els enginyers de programari treballen amb empreses, organismes governamentals (civils o militars), i organitzacions no lucratives. Alguns enginyers de programari treballen per a si mateixos com independent s. Algunes organitzacions compten amb especialistes per dur a terme cada una de les tasques de la procés de desenvolupament de programari. Altres organitzacions que requereixen els enginyers de programari per a fer moltes o totes elles. En els grans projectes, les persones poden especialitzar-se en una sola funció. En els projectes petits, les persones poden omplir diversos o tots els rols al mateix temps. Especialitzacions són: a la indústria (Analistes, Arquitectes, desenvolupadors, emprovadors, el suport tècnic, administradors) i en l'acadèmia (educador s, investigador s).

Hi ha un debat considerable sobre les perspectives futures d'ocupació per als enginyers de programari i altres IT professionals. Per exemple, un mercat de futurs en línia anomenat el "Futur de la TI ITJOBS llocs de treball als Estats Units"[18] intenta respondre si hi haurà més llocs de treball de TI, incloent enginyers de programari, l'any 2012 que hi havia a 2002.

Certificació[modifica | modifica el codi]

La certificació professional dels enginyers de programari és un tema polèmic, amb algunes organitzacions professionals que hi donen suport,[19] i altres que afirmen que no és apropiat donada l'actual nivell de maduresa en la professió.[20] Alguns ho veuen com una eina per millorar la pràctica professional; "L'únic propòsit dels enginyers de programari de llicència és per protegir el públic".[21]

El ACM tenia un programa de certificació professional en la dècada de 1980, ((edita | data = març 2009)), que es va suspendre a causa de la manca d'interès. L'ACM ha examinat la possibilitat de la certificació professional dels enginyers de programari a finals de 1990, però finalment es va decidir que aquesta certificació no era l'adequada per a la pràctica professional de l'enginyeria industrial de programari.[20] A 2006 l'IEEE havia certificat a més de 575 professionals de programari.[19] Al Regne Unit, el British Computer Society desenvolupà una certificació professional reconeguda legalment llamadaChartered IT Professional (CITP) , a disposició dels membres complet (MBCS'). Al Canadà, la Societat Canadenca de Tractament de la Informació ha desenvolupat una certificació professional reconeguda legalment llamadaSistemas d'Informació Professional (ISP).[22] El Software Engineering Institute ofereix certificació en temes específics com la seguretat, La millora de processos i arquitectura de programari.[23]

La majoria de certificació en els programes de la tecnologia IT, la indústria estan orientades a tecnologies específiques, i són gestionats pels venedors d'aquestes tecnologies.[24] Aquests programes de certificació s'adapten a les institucions que donen feina a persones que utilitzen aquestes tecnologies.

En alguns països, l'enginyer de programari és un títol d'enginyeria reals (Bachelor of Science o llicenciatura d'enginyeria), com un exemple en Educació a Israel enginyer de programari té el dret d'estar redactada en l'[Registre d'enginyeria http://www.tamas.gov.il/NR/exeres/DACD5881-70D5-463A-BDF2-AA363197FB2F.htm], i seria un delicte greu si una persona descriu a si mateix com un enginyer (la Llei d'enginyeria, defineix que una persona que declari a si mateix com un enginyer sense la deguda llicència o registre podria ser condemnat a fins a 6 mesos a la presó).

Impacte de la globalització[modifica | modifica el codi]

Tot i que les estadístiques no mostren actualment una amenaça per a l'enginyeria de programari en si, una carrera relacionada, programació d'ordinadors sembla haver estat afectats.[25] Sovint un s'espera que comenci a terme com a programador d'ordinadors abans de ser promogut a enginyer de programari. Així, la carrera d'enginyeria de programari poden ser difícils, especialment durant les recessions. És la quasi-aspectes de la gestió de l'enginyeria de programari que semblen ser el que li ha impedit sent impactada per la globalització.[26]

Responsabilitat[modifica | modifica el codi]

La responsabilitat de l'enginyeria de programari és un concepte complex, sobre tot perquè a l'estar els sistemes informàtics fortament caracteritzats per la seva complexitat, és difícil apreciar les seves conseqüències. En l'enginyeria de programari la responsabilitat sera compartida per un grup gran de persones, que abarca desde l'enginyer de requisits, fins a l'arquitecte de programari, i comptant amb el disenyador, o l'encarregat de realitzar les proves. Per sobre de tots ells destaca el director del projecte. El programari demana una clara distribució de la responsabilitat entre els diferents rols que es donen en el procés de producció. L'enginyer de programari té una responsabilitat moral i legal limitada a les conseqüències directes.


Disciplines relacionades amb l'enginyeria del programari[modifica | modifica el codi]

L'enginyeria de programari es podria dividir en:

L'enginyeria de programari està relacionada amb les disciplines de ciències de la computació, gestió de projectes i enginyeria de sistemes.

Informàtica
L'enginyeria de programari es considerada un subcamp de la informàtica per molts acadèmics. Molts dels fonaments de l'enginyeria de programari provenen de la informàtica.

Gestió de projectes

La construcció d'un sistema de programari es considera generalment com un projecte i la gestió dels que pren prestats molts principis del camp de la gestió de projectes.

Enginyeria de sistemes

Els enginyers de sistemes s'han ocupat de la complexitat dels sistemes durant moltes dècades i el seu coneixement s'aplica a molts problemes d'enginyeria de programari.


Sub-disciplines[modifica | modifica el codi]

L'enginyeria de programari pot ser dividit en deu subdisciplines. Ells són:[4]

  • Requisits de programari: L'anàlisi de l'obtenció, especificació i validació de requisits de programari.
  • Disseny de software: El disseny del programari se sol fer amb Computer-Aided Software Engineering (CASE) i l'ús de normes per al format, com el Llenguatge Unificat de Modelat ( UML ).
  • Desenvolupament de programari: La construcció de programari a través de la utilització de llenguatges de programació.
  • Proves de programari
  • Manteniment de programari: Els sistemes de programari sovint tenen problemes i millores de la necessitat d'un llarg temps després de la primera efectuada. En aquest subcamp amb aquests problemes.
  • Gestió de configuració de programari: Com que els sistemes de programari són molt complexos, la seva configuració (com ara el control de versions i control de codi font) han de ser gestionats en un mètode normalitzat i estructurat.
  • Gestió d'enginyeria de progeamari: La gestió dels sistemes de programari s'inspira en gran mesura a partir de gestió de projectes, però hi ha matisos trobats en el programari que no es veu en les disciplines de gestió.
  • Procés de desenvolupament de programari:El procés de construcció de programari és objecte d'acalorats debats entre els professionals amb els principals paradigmes que àgils de desenvolupament de programari o model en cascada.
  • Les eines d'enginyeria de programari, vegeu Eines CASE
  • La qualitat del programari

Educació[modifica | modifica el codi]

El coneixement de la programació és el principal requisit per a convertir-se en un enginyer de programari, però no és suficient. Molts enginyers de programari tenen títols en informàtica a causa de la manca de programes d'enginyeria de programari a l'educació superior. Tanmateix, això ha començat a canviar amb la introducció de noves titulacions d'enginyeria de software, especialment en l'educació de postgrau. Un programa internacional per a les titulacions d'enginyeria de programari de pregrau va ser definit pel CCSE.

Steve McConnell opina que pel fet que la majoria de les universitats ensenyen ciències de la computació en lloc d'enginyeria de programari, hi ha una veritable escassetat d'enginyers de programari.[27] El 2004, el IEEE Computer Society va produir el SWEBOK, que s'ha convertit en un estàndard ISO que descriu el cos de coneixement cobert per un enginyer de programari de ((edita | data = agost 2008)).

El Comissió Europea al Erasmus Mundus Programa ofereix una màster europeu graus, anomenada Màster Europeu en Enginyeria de Programari per als estudiants d'Europa i també fora d'Europa.[28] Aquest és un programa conjunt (doble titulació) la participació de quatre universitats a Europa.

Organitzacions[modifica | modifica el codi]

Referències[modifica | modifica el codi]

  1. 1,0 1,1 «Guide to the Software Engineering Body of Knowledge», 6 febrer 2004. [Consulta: 2007-02-13].
  2. Hey, Programmers! We Got No Theory! Dr Dobbs Journal , 22 març 2010
  3. Per què necessitem una teoria d'Enginyeria de Software, Ivar Jacobson i Ian Spence, el Dr Dobbs Journal, 2 d'octubre, 2009
  4. 4,0 4,1 editors executius, Alain Obrin, James W. Moore, editors, Pierre Bourque, Robert Dupuis. IEEE Computer Society. Guia per al Cos d'Enginyeria del Software de coneixement - 2004 Version, 2004, p. 1/1. ISBN 0-7695-2330-7. , Software Engineering Body of Knowledge
  5. Peter, Naur; Brian Randell. «Enginyeria de programari: Informe d'una conferència patrocinada pel Comitè Científic de l'OTAN» (PDF). Garmisch, Alemanya: Afers Científics de la Divisió de l'OTAN, 7/11 October 1.968.
  6. Randell, Brian. «La 1968/69 de l'OTAN d'Enginyeria de Programari Informes». Brian Randell Pàgina d'inici. L'Escola de les Ciències de la Computació, Universitat de Newcastle, 10 agost 2001. «La idea de la primera Conferència d'Enginyeria de Software de l'OTAN i, en particular la d'adoptar el terme llavors pràcticament desconegut "enginyeria de programari" com el seu (deliberadament provocador) del títol, crec que va venir originalment pel professor Fritz Bauer .»
  7. [final http://alistair.cockburn.us/The d'enginyeria de programari i l'inici dels jocs de cooperació econòmic-El final de l'enginyeria de programari i l'inici dels jocs de cooperació econòmica]
  8. 35 anys a: en quina mesura el disseny d'enginyeria de programari ha assolit els seus objectius ?
  9. Kalwarski, Tara; Daphne Mosher, Janet Paskin i Donna Rosato. «Millors Llocs de treball als Estats Units». CNN, 2006.04.20.
  10. Leondes. CRC Press. sistemes intel·ligents: la tecnologia i aplicacions, 2002. ISBN 9780849311215. 
  11. Williams, Edsger_Dijkstra. «d'Enginyers Professionals d'Ontario per als professionals de l'enginyeria de llicències de programari». Enginyeria de Software d'Educació i Formació, 2001 Proceedings. 14a Conferència sobre. The Institute of Electrical and Electronics Engineers [Charlotte, Carolina del Nord], 11, 19-21 febrer 2001, pàg. 77-78.
  12. Enginyeria de Programari de Codi d'Ètica " '
  13. Oficina d'Estadístiques Laborals, Departament de Treball dels EUA, USDL 05-2145: Occupational Employment and Wages, novembre de 2004, el Quadre 1
  14. «Software Enginyeria», 2008-02-01.
  15. [Ocupació http://www.ideosphere.com/fx-bin/Claim?claim=ITJOBS Futur de la TI als Estats Units]
  16. 19,0 19,1 IEEE Computer Society. «GA2006/Tab18b-US-IEEE.pdf 2.006 IEEE Computer Society informe a l'Assemblea General de IFIP».
  17. 20,0 20,1 «~ coppit/csci690-spring2004/papers/selep_main.pdf A Resum de la posició de l'ACM d'Enginyeria del Software com a professió llicència Enginyeria». Association for Computing Machinery (ACM), 17 juliol 2000. «En la seva reunió de maig de 2000, el Consell va concloure així mateix que el marc d'un un enginyer professional, originalment desenvolupat per als enginyers civils, no coincideix amb la pràctica industrial professional de l'enginyeria de programari. La concessió de llicències pràctiques donaria falses seguretats de competència, fins i tot si el cos de coneixements s'està madura, i s'oposen a molts dels enginyers de software més qualificat d'obtenir la llicència.»
  18. [Kruchten http://www.computer.org/portal/cms_docs_software/software/homepage/2008/s6car.pdf, Philippe "Llicències de Software Engineers?", IEEE Software novembre / desembre 2008]
  19. Societat Canadenca de Tractament de la Informació. «[http:// www.cips.ca/standards/isp ISP Designació]».
  20. [enllaç sense format] http://www.sei.cmu.edu/certification/
  21. «10 problemes amb ell de certificació en 2008». InformIT, 14 març 2008.
  22. [enllaç sense format] http://www.infoworld.com/article/07/03/13/HNslowsoftdev_1.html
  23. doble funció: El robot rostre canviant de les TI
  24. McConnell, Steve (10 de juliol de 2003. Professionals de desenvolupament de programari: programes més breus, Productes de Qualitat Superior, projectes més reeixits, Carreras millorada. ISBN 978-0-321-19367-4.
  25. [enllaç sense format] http://ec.europa.eu/education/programmes/mundus/index_es.html

Vegeu també[modifica | modifica el codi]

Bibliografia[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Enginyeria de programari Modifica l'enllaç a Wikidata