Conceptualizacion de Ingeniería de Software

download Conceptualizacion de Ingeniería de Software

of 26

Transcript of Conceptualizacion de Ingeniería de Software

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    1/26

    INGENIERA DE SOFTWAREQu es la Ingeniera de Software?

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    2/26

    CONTENIDO

    Qu es la Ingeniera de Software ? Cuales son los problemas en la Ingeniera de

    Software?

    Cul es la diferencia entre un programador y unIngeniero de Software? Cual es la diferencia entre la Ingenieria de

    Software y la Computacion ? Cual es la diferencia entre la Ingenieria de

    Software y la Ingeniera de Sistemas? Que es el software ? Cuales son los retos de la Ingeniera de Software?

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    3/26

    QU ES LA INGENIERA DE SOFTWARE?

    Es la disciplina profesional que distingue entreprogramar un computador y desarrollar unproducto software

    El uso de metodologas, herramientas y tcnicas

    para resolver problemas prcticos que sepresentan en la construccin, desarrollo, soportey evolucin del software

    La aplicacin de un enfoque sistemtico,disciplinado y cuantificable al desarrollo,operacin (funcionamiento) y mantenimiento delsoftware; es decir, la aplicacin de ingeniera alsoftware (IEEE,1993)

    La Ingeniera de Software es una diciplina de laIngeniera que concierne a todos los aspectos dela produccin de software

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    4/26

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    5/26

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    6/26

    PROBLEMAS

    Los usuarios no saben lo que quieren. Un sistema tiene muchos usuarios y

    ninguno tiene una visin de conjunto.

    No saben cmo hacer ms eficiente laoperacin en su conjunto

    No saben qu partes de su trabajopueden transformarse en software.

    No saben detallar lo que saben de

    forma precisa.

    La ingeniera de software buscadar soluciones

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    7/26

    PROBLEMAS

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    8/26

    ING. DE SOFTWARE VS PROGRAMADOR

    VS

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    9/26

    CUL ES LA DIFERENCIA ENTRE UNINGENIERO DE SOFTWARE Y UN PROGRAMADOR?

    Un programador no es equivalente a un ingenierode Software

    Todo mundo puede sentarse a programar

    Esto no garantiza que se pueda crear unasolucin compleja en tiempo, costo y calidad El desarrollar software sin conocer tcnicas de

    ingeniera representa un enfoque artesanal de

    desarrollo que hoy en da sigue siendo comn.Los esfuerzos de profesionalizacin mencionadosatrs (certificaciones de individuos y deempresas) buscan reducir este enfoqueartesanal en el desarrollo

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    10/26

    CUL ES LA DIFERENCIA ENTRE LAINGENIERA DE SOFTWARE Y LA COMPUTACIN?

    La computacin concierne a la teora yfundamentos de cualquier sistema de computo,sea de hardware o de software.

    La Ingeniera de software concierne solo aldesarrollo de sistemas o productos de software

    La Ingeniera de Software todava esta lejos deser una ciencia como los son la Qumica, laIngeniera Civil o la Electrnica.

    El desarrollo de software necesita entonces tantolos fundamentos desarrollados dentro de lasciencias de la computacin como el rigor que lasdisciplinas de ingeniera aportan a laconfiabilidad de los artefactos que se producen.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    11/26

    CUL ES LA DIFERENCIA ENTRE LAINGENIERA DE SOFTWARE Y LA INGENIERA DE

    SISTEMAS?

    La Ingeniera de Sistemas concierne a todos losaspectos del desarrollo de sistemas basados en

    cmputo, que incluyen hardware, software y elproceso de Ingeniera. La Ingeniera de Softwarees solo parte de este proceso.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    12/26

    QU ES EL SOFTWARE?

    Es la parte lgica del ordenador, esto es, elconjunto de programas que puede ejecutar elhardware para la realizacin de las tareas de

    computacin a las que se destina. Sistemas o Productos de software grandes y complejos.

    Que contiene el software.

    Que tipos de software hay ?

    Cual es el costo del software.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    13/26

    PRODUCTOS DE SOFTWARE

    Productos genricos.y Productos que son producidos por una organizacin

    para ser vendidos al mercado.

    Productos hechos a medida.y Sistemas que son desarrollados bajo pedido a un

    desarrollador especfico.

    La mayor parte del gasto del software es enproductos genricos, pero hay ms esfuerzo en el

    desarrollo de los sistemas hechos a medida.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    14/26

    CARACTERSTICAS DE LOS PRODUCTOS DESOFTWARE

    Mantenibles.y Debe ser posible que el software evolucione y que siga

    cumpliendo con sus especificaciones. Confiabilidad.

    y El software no debe causar danos fsicos o econmicos en elcaso de fallos.

    Eficiencia.y El software no debe desperdiciar los recursos del sistema.

    Utilizacin adecuada.y El software debe contar con una interfaz de usuario

    adecuada y su documentacin. Econmico Flexible Portable Mantenible

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    15/26

    QU CONTIENE EL SOFTWARE?

    El software contiene:y Lneas de cdigo de algn lenguajey Instrucciones de computadora.y

    Descripcin de las estructuras de datos.y Algoritmos.y Procedimientos y funciones.y Componentes de software.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    16/26

    QU TIPOS DE SOFTWARE HAY?

    Sistemas Operativos

    Lenguajes De Programacin

    Aplicativos (escritorio)

    Aplicativos (Web)

    Motores y gestores de Bases de datos

    Programas de bajo nivel (ensambladores)

    Software

    Windows, Linux, Mac os, Unix,

    JAVA, C++, PHP, JSP, VisualBasic

    Office, Autocat, Winamp,Fotoshop

    Google, Web de bancos,Traductores en Lnea

    MySql, Oracle,Postgrest

    Maplab, Assembler, Plc

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    17/26

    COSTOS DEL SOFTWARE

    Los costos del software a menudo dominan al costo delsistema. El costo del software en un PC es a menudomas caro que la PC.

    Cuesta mas mantener el software que desarrollarlo.Para sistemas con una larga vida, este costo semultiplica.

    La Ingeniera de Software concierne a un desarrolloefectivo en cuanto a costes del software.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    18/26

    RETOS DE LA INGENIERA DE SOFTWARE Qu Desarrollar?, Por qu? y Cmo Desarrollarlo?, Bajo

    que Criterios de Aceptacin?- Satisfaccin Balanceada de las necesidades de losStakeholder del Negocio

    Quienes Desarrollan, Donde ?

    - Staff; organizacin; outsourcing Como Desarrollar, Cuando, en que Orden?

    - Metodologas,Procesos, herramientas, componentes,incrementos

    Como se va a ir adaptando a los cambios?

    - Necesidades de los usuarios, condiciones del mercado,avances tecnolgicos Balance Integrado?

    - Funcionalidad, Calidad, Arquitectura, Modelamiento,Pruebas

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    19/26

    RETOS DE LA INGENIERA DESOFTWARE

    Mantener y tratar con sistemas legados. Tratar conuna mayor diversidad de sistemas con mayoresdemandas de computo, y menores tiempos de entrega

    Sistemas Legadosy Sistemas antiguos que deben ser mantenidos y mejorados.

    Heterogeneidady Sistemas que incluyen una mezcla de software y hardware.

    Entregay Existe una presin incremental por una entrega a tiempo

    de los productos de software.

    Formalidad.y Existe una gran demanda de que exista formalidad en el

    proceso de desarrollo de software

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    20/26

    RESPONSABILIDAD PROFESIONAL

    Los Ingenieros de software no solo debenconsiderar aspectos tcnicos. Deben tener unavisin mas amplia, en lo tico, social yprofesional.

    No existe estatutos o son muy escasos para estosaspectos.y Desarrollo de sistemas militares.y Piratera.y Que es mejor para la profesin de Ingeniero de

    Software.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    21/26

    INGENIERA DE SOFTWARE

    Pretende

    Analizar, Disear, construir y dar mantenimiento agrandes y complejos sistemas de software

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    22/26

    CAPAS DE LA INGENIERA DE SOFTWARE

    La Ing. Software es una tecnologa multicapay Enfoque de Calidady Procesoy

    Mtodosy Herramientas

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    23/26

    CAPAS DE LA INGENIERA DE SOFTWARE

    MARCO DE CALIDADy Contexto de Negociosy Satisfaccin de Necesidades de los Stakeholdersy

    Organizacin, Orden, Transparencia, Controlesy Estndares Internacionales de mejores prcticas

    PROCESOSy Fases del Ciclo de Vida del Softwarey Asegurando un Producto Excelente

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    24/26

    CAPAS DE LA INGENIERA DE SOFTWARE

    METODOLOGASy Orientaciones sobre como manejar el desarrollo a

    travs del ciclo de vida del software

    HERRAMIENTASy Uso de tecnologas para asistir el desarrollo delsoftware y asegurar el cumplimiento de los objetivosdel software

    y Enfoque automtico / semiautomtico

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    25/26

    PROCESOS DE LA INGENIERA DESOFTWARE

    El Proceso general para la solucin de problemascontempla estas etapas:y Decidir que hacery

    Decidir como hacerloy Hacerloy Probar el resultadoy Usar el resultado

    Objetivosy Satisfacer una necesidad mediante una solucin

    tratable por ordenador.y Producir el mantenimiento del software hasta el fin

    de su vida til.

  • 8/9/2019 Conceptualizacion de Ingeniera de Software

    26/26

    FASES DEL PROCESO DE SOFTWARE