tema 02 el papel del ingeniero de software

Upload: sthephanie-rivera

Post on 05-Oct-2015

11 views

Category:

Documents


0 download

DESCRIPTION

ingeniero del software

TRANSCRIPT

  • Tema 02: El papel del ingeniero de software

    OBJETIVOS - Comprender el papel del ingeniero del software.

    - Comprender la diferencia entre el papel del programador y del ingeniero del software.

    - Conocer la responsabilidad y tica que debe cumplir un ingeniero de software.

    1 / 16

  • Tema 02: El papel del ingeniero de software

    Evolucin de la ingeniera del software

    Inicialmente la programacin de las computadoras era un arte que no dispona de mtodossistemticos en que poder basarse para la realizacin de productos software, por ello serealizaban sin ninguna planificacin.

    En el ao 1950 ya se hablaba de que existan programadores que escriban programas pero notenan muchos conocimientos tcnicos, ni experiencia.

    2 / 16

  • Tema 02: El papel del ingeniero de software

    A principios de los aos 60, ya existan los programadores expertos que desarrollaban grandesproyectos.

    A finales de los aos 60, surgieron los grandes sistemas comerciales de software, el trabajo yano consista solo en la programacin, va ms all, se crea el trmino ingeniera de software.

    Desde mediados de los 60 hasta finales de los 70 se caracteriz por el establecimiento delsoftware como un producto que se desarrollaba para una distribucin general. En esta pocanaci lo que se conoce como el mantenimiento del software que se da cuando cambian losrequisitos de los usuarios y se hace necesaria la modificacin del software. El esfuerzorequerido para este mantenimiento era en la mayora de los casos tan elevado que se hacaimposible su mantenimiento.

    3 / 16

  • Tema 02: El papel del ingeniero de software

    A continuacin, surge una etapa que se caracteriza por la aparicin de una serie de tcnicas como la Programacin Estructurada y las Metodologas de Diseo que solucionan los problemas anteriores. A finales de esta etapa aparecen las herramientas CASE, aunque como podemos imaginar eran muy rudimentarias.

    Hoy en da, los ingenieros de software estn muy orgullosos, ya que debido a la complejidad del software que han desarrollado a lo largo del siglo XX, es que han logrado muchas contribuciones en todas las actividades cotidianas que efectuamos, pero la contribucin en el siglo XXI ser an ms grande, ya visitamos el espacio, se cre Internet, el transporte es controlado por un software, etc.

    El ingeniero en general

    Un ingeniero es alguien que resuelve problemas utilizando las fuerzas de la naturaleza. Susherramientas principales son conocimientos cientficos y una serie de tcnicas aprendidas porexperiencia o en sus estudios de la ingeniera.

    El ingeniero del software

    La ingeniera de software es una disciplina de la ingeniera que concierne a todos los aspectosde la produccin de software.

    4 / 16

  • Tema 02: El papel del ingeniero de software

    Los ingenieros de software adoptan un enfoque sistemtico para llevar a cabo su trabajo,utilizan las herramientas y tcnicas necesarias para resolver el problema planteado, de acuerdoa las restricciones de desarrollo y recursos disponibles.

    Diferencia entre ingeniero del software y los programadores

    El programador es un especialista en algunos mbitos de la ingeniera de software. Uningeniero de software est a cargo del proceso global de desarrollo de software y se esperaque mejore la fiabilidad y el mantenimiento de este complejo proceso.

    Un ingeniero de software puede tener un equipo de programadores informticos que trabajanbajo su supervisin.

    Relaciones de la ingeniera del software

    5 / 16

  • Tema 02: El papel del ingeniero de software

    El ingeniero del software como especialista se relaciona con mltiples reas en la empresa, ascomo ajenos a ella:

    - El cliente (usuarios). - Programadores, diseadores, testers, mantenimiento y calidad. - La alta gerencia. - Proveedores y grupos de inters.

    Mtodo de la ingeniera del software

    Consiste en usar heursticas para causar, con los recursos disponibles, el mejor cambio posibleen una situacin incierta o pobremente comprendida.

    6 / 16

  • Tema 02: El papel del ingeniero de software

    A diferencia de la ciencia, la ingeniera no busca modelar la realidad, sino la percepcin quetiene la sociedad de la realidad, incluyendo sus mitos y prejuicios.

    Caractersticas aplicables

    Responsabilidad profesional y tica del ingeniero de software

    Los ingenieros de software no solo deben considerar aspectos tcnicos, deben tener una visin

    7 / 16

  • Tema 02: El papel del ingeniero de software

    ms amplia, en lo tico, social y profesional.

    Dentro de los aspectos ticos tenemos:

    - Confidencialidad. - Competencia. - Derechos de propiedad intelectual. - Uso del equipo informtico.

    La responsabilidad en la ingeniera de software es un concepto complejo, sobre todo porque alestar los sistemas informticos fuertemente caracterizados por su complejidad, es difcilapreciar sus consecuencias.

    8 / 16

  • Tema 02: El papel del ingeniero de software

    En la ingeniera del software la responsabilidad ser compartida por un grupo grande depersonas, que comprende desde el ingeniero de requisitos, hasta el arquitecto software, ycontando con el diseador, o el encargado de realizar las pruebas. Por encima de todos ellosdestaca el director del proyecto. El software demanda una clara distribucin de laresponsabilidad entre los diferentes roles que se dan en el proceso de produccin.

    El ingeniero del software tiene una responsabilidad moral y legal limitada a las consecuenciasdirectas.

    No basta con decir que debes poseer estndares normales de honestidad e integridad. Existenreas donde los estndares de comportamiento no estn acotados por las leyes, sino por lanocin de la responsabilidad profesional. Algunas de estas son:

    9 / 16

  • Tema 02: El papel del ingeniero de software

    Organizaciones como la ACM, el IEEE y la British Computer Society publican un cdigo deconducta profesional o de tica.En cualquier situacin en la que diferentes personas tienen distintos puntos de vista y objetivos,ser posible encontrar problemas ticos. Los problemas ticos aparecen en nuestra vidaprofesional y, afortunadamente en muchos casos, son relativamente menores y se puedenresolver sin dificultad. Cuando no se pueden resolver, los ingenieros se enfrentan con otroproblema, ya que la accin con base en sus principios podra ser renunciar a su trabajo, peroesto puede afectar a otros, como por ejemplo, a sus colaboradores o a sus hijos.El rea de tica y responsabilidad profesional ha recibido creciente atencin en los pasadosaos. Los principios de tica se pueden considerar desde un punto de vista filosfico, y la ticade la ingeniera de software se debe tratar con referencia a estos principios bsicos. Este es elenfoque considerado por Laudon (1995) y por Huff y Martin (1995).Perfil del ingeniero de softwareEl ingeniero de software es un profesional con slidas bases metodolgicas en el desarrollo desoftware a pequea y gran escala, por tanto, debe contar con algunas caractersticas deconocimientos para poder desempear de forma correcta sus funciones.Cdigo de tica y prctica profesional de la ingeniera de softwareLa ingeniera de software debe adherirse a los siguientes ocho principios:

    10 / 16

  • Tema 02: El papel del ingeniero de software

    Aunque cada uno de estos ocho principios es igualmente importante, aparece un tema msrelevante: un ingeniero de software debe trabajar en pro del inters pblico.En el mbito personal, un ingeniero de software debe atenerse a las siguientes reglas: - Nunca robar datos para beneficio personal. - Nunca distribuir o vender informacin patentada que haya obtenido como parte de su trabajoen un proyecto de software. - Nunca destruir o modificar maliciosamente los programas, archivos o datos de otra persona. - Nunca violar la privacidad de un individuo, grupo u organizacin. - Nunca atacar un sistema por deporte o beneficio. - Nunca crear o difundir un virus o un gusano de computadora. - Nunca usar la tecnologa de computacin para facilitar la discriminacin o el hostigamiento. Durante la dcada pasada, ciertos miembros de la industria del software han cabildeado poruna legislacin protectora que: - Permita a las compaas liberar el software sin revelar los defectos conocidos. - Exentar a los desarrolladores de responsabilidad penal por cualesquiera daos que resultendebido a dichos defectos conocidos. - Restringir a otros la revelacin de defectos sin permiso del desarrollador original. - Permitir la incorporacin de software de autoayuda dentro de un producto que pueda desactivar(va comandos remotos) la operacin del producto. - Exentar a los desarrolladores de software con autoayuda de los daos en caso de que elsoftware lo desactive una tercera persona. Al igual que con cualquier legislacin, el debate con frecuencia se centra en conflictos polticos,no tecnolgicos. Sin embargo, mucha gente considera que la legislacin protectora, si sepropone de manera inadecuada, entra en conflicto con el cdigo de tica de la ingeniera desoftware al exentar indirectamente a los ingenieros de software de su responsabilidad paraproducir software de alta calidad. var respuesta; var tmp_1 = tmp_2 = tmp_3 = tmp_4 = 0; var contador=0; functiondesmarcar(documentito) { document.getElementById("r_1").innerHTML=" ";document.getElementById("r_2").innerHTML=" ";document.getElementById("r_3").innerHTML=" ";document.getElementById("r_4").innerHTML=" "; var tmp_1 = tmp_2 = tmp_3 = tmp_4 = 0; } function res1(respuesta){tmp_1=respuesta;} function res2(respuesta){tmp_2=respuesta;}function res3(respuesta){tmp_3=respuesta;} function res4(respuesta){tmp_4=respuesta;} function eva(documentito) { if(tmp_1 == 0 || tmp_2 == 0 || tmp_3 == 0 || tmp_4 == 0) {alert("Tiene preguntas sin responder");} else { contador=0; if(tmp_1==1) {document.getElementById("r_1").innerHTML=""; contador=contador+1;} else {document.getElementById("r_1").innerHTML="";} if(tmp_2==1) {document.getElementById("r_2").innerHTML=""; contador=contador+1;} else {document.getElementById("r_2").innerHTML="";} if(tmp_3==2) {document.getElementById("r_3").innerHTML=""; contador=contador+1;} else {document.getElementById("r_3").innerHTML="";} if(tmp_4==1) {document.getElementById("r_4").innerHTML=""; contador=contador+1;} else {document.getElementById("r_4").innerHTML="";} alert("USTED HA CONTESTADO CORRECTAMENTE "+contador+" PREGUNTAS."); } } CONTROL DE LECTURA

    11 / 16

  • Tema 02: El papel del ingeniero de software

    Lea, analice y responda las siguientes preguntas

    1. Las herramientas principales de un ingeniero son sus conocimientos cientficos y una serie de tcnicas aprendidas por experiencia o en sus estudios de la ingeniera.

    Verdadero

    Falso

    12 / 16

  • Tema 02: El papel del ingeniero de software

    2. La responsabilidad en la ingeniera de software es un concepto complejo, sobre todo porque al estar los sistemas informticos fuertemente caracterizados por su complejidad, es difcil apreciar sus consecuencias.

    Verdadero

    Falso

    3. El concepto de confidencialidad indica que no debes aceptar conscientemente trabajos que estn fuera de tu capacidad, tampoco debes falsificar tu nivel de competencias.

    13 / 16

  • Tema 02: El papel del ingeniero de software

    Verdadero

    Falso

    4. El ingeniero de software es un profesional con slidas bases metodolgicas en el desarrollo de software a pequea y gran escala, por tanto, debe contar con algunas caractersticas de conocimientos para poder desempear de forma correcta sus funciones.

    Verdadero

    14 / 16

  • Tema 02: El papel del ingeniero de software

    Falso

    15 / 16

  • Tema 02: El papel del ingeniero de software

    Bibliografa

    -

    Ingeniera del Software, Un Enfoque Prctico, Roger S. Pressman, Sexta Edicin, Editorial McGraw Hill, 2006.

    -

    Ingeniera de Software Clsica y Orientada a Objetos, Stephen R. Schach, Sexta Edicin,Editorial Mc Graw Hill, 2006.

    16 / 16