O GoConqr está de visual novo! Conte para nós o que você achou.

Slides

Sem título

Andres Sarmiento Espanhol 17 slides

Sem título

Slides do conjunto (17)

  1. INGENIERÍA DE SOFTWARE

    • INGENIERÍA DE SOFTWARE
  2. Desarrollo de software profesional

    • Muchos individuos escriben programas. En las empresas los empleados hacen programas
    • de hoja de cálculo para simplificar su trabajo; científicos e ingenieros elaboran programas
    • para procesar sus datos experimentales, y los aficionados crean programas para su
    • propio interés y satisfacción. Sin embargo, la gran mayoría del desarrollo de software es
    • una actividad profesional, donde el software se realiza para propósitos de negocios específicos,
    • para su inclusión en otros dispositivos o como productos de software, por ejemplo,
    • sistemas de información, sistemas de CAD, etcétera.
  3. Ingeniería de software

    • La ingeniería de software es una disciplina de ingeniería que se interesa por todos los aspectos de la producción de software, desde las primeras etapas de la especificación del sistema hasta el mantenimiento del sistema después de que se pone en operación. En esta definición se presentan dos frases clave:
    • 1. Disciplina de ingeniería Los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos y herramientas donde es adecuado. Sin embargo, los usan de manera selectiva y siempre tratan de encontrar soluciones a problemas, incluso cuando no hay teorías ni métodos aplicables.
    • 2. Todos los aspectos de la producción del software La ingeniería de software no sólo se interesa por los procesos técnicos del desarrollo de software, sino también incluye actividades como la administración del proyecto de software y el desarrollo de herramientas, así como métodos y teorías para apoyar la producción de software.
  4. ¿Por que es importante?

    • 1. Cada vez con mayor frecuencia, los individuos y la sociedad se apoyan en los avanzados sistemas de software. Por ende, se requiere producir económica y rápidamente sistemas confiables.
    • 2. A menudo resulta más barato a largo plazo usar métodos y técnicas de ingeniería de software para los sistemas de software, que sólo diseñar los programas como si fuera un proyecto de programación personal. Para muchos tipos de sistemas, la mayoría de los costos consisten en cambiar el software después de ponerlo en operación.
  5. Proceso de software

    • 1. Especificación del software, donde clientes ingenieros definen el software que se producirá y las restricciones en su operación.
    • 2. Desarrollo del software, donde se diseña y programa el software.
    • 3. Validación del software, donde se verifica el software para asegurar que sea lo que
    • el cliente requiere.
    • 4. Evolución del software, donde se modifica el software para reflejar los requerimientos
    • cambiantes del cliente y del mercado.
  6. Datos

    • 1. Las ciencias de la computación se interesan por las teorías y los métodos que subyacen en las computadoras y los sistemas de software, en tanto que la ingeniería de software se preocupa por los asuntos prácticos de la producción del software. Cierto conocimiento de ciencias de la computación es esencial para los ingenieros de software, del mismo modo que cierto conocimiento de física lo es para los ingenieros
    • electricistas. Sin embargo, con frecuencia la teoría de las ciencias de la computación
    • es más aplicable a programas relativamente pequeños.
    • 2. La ingeniería de sistemas se interesa por todos los aspectos del desarrollo y la evolución
    • de complejos sistemas, donde el software tiene un papel principal. Por lo tanto, la ingeniería de sistemas se preocupa por el desarrollo de hardware, el diseño de políticas y procesos, la implementación del sistema, así como por la ingeniería de software. Los ingenieros de sistemas intervienen en la especificación del sistema, definiendo su arquitectura global y, luego, integrando las diferentes partes para crear el sistema terminado.
  7. Problemas que afectan al software

    • 1. Heterogeneidad Cada vez con mayor frecuencia se requieren sistemas que operen
    • como distribuidos a través de redes que incluyan diferentes tipos de computadoras y
    • dispositivos móviles. Es posible que el software se ejecute tanto en computadoras de
    • propósito general como en teléfonos móviles. Se tendrá que integrar con frecuencia
    • el nuevo software con sistemas legados más viejos, escritos en diferentes lenguajes
    • de programación.
    • 2. Cambio empresarial y social Los negocios y la sociedad cambian de manera
    • increíblemente rápida, conforme se desarrollan las economías emergentes y nuevas
    • tecnologías están a la disposición. Ambos necesitan tener la posibilidad de cambiar
    • su software existe.
    • 3. Seguridad y confianza Dado que el software está vinculado con todos los aspectos
    • de la vida, es esencial confiar en dicho software. Esto es especialmente cierto para los
    • sistemas de software remoto a los que se accede a través de una página Web o una
    • interfaz de servicio Web.ente y desarrollar rápidamente uno nuevo.
  8. Diversidad de la ingeniería de software

    • La ingeniería de software es un enfoque sistemático para la producción de software que
    • toma en cuenta los temas prácticos de costo, fecha y confiabilidad, así como las necesidades
    • de clientes y fabricantes de software. Como este enfoque sistemático realmente implementado varía de manera drástica dependiendo de la organización que desarrolla el software, el tipo de software y los individuos que intervienen en el proceso de desarrollo, no existen métodos y técnicas universales de ingeniería de software que sean adecuados para todos los sistemas y las compañías.
    • Diversidad de la ingeniería de software
  9. Tipos de aplicación

    • 1. Aplicaciones independientes Se trata de sistemas de aplicación que corren en una computadora local, como una PC, e incluyen toda la funcionalidad necesaria y no requieren conectarse a una red. Ejemplos de tales aplicaciones son las de oficina en una PC, programas CAD, software de manipulación de fotografías, etcétera.
    • 2. Aplicaciones interactivas basadas en transacción Consisten en aplicaciones que se ejecutan en una computadora remota y a las que los usuarios acceden desde sus propias PC o terminales. Evidentemente, en ellas se incluyen aplicaciones Web
    • como las de comercio electrónico, donde es posible interactuar con un sistema remoto para comprar bienes y servicios.
    • 3. Sistemas de control embebido Se trata de sistemas de control de software que regulan y gestionan dispositivos de hardware. Numéricamente, quizás existen más sistemas embebidos que cualquier otro tipo de sistema.
    • 4. Sistemas de procesamiento en lotes Son sistemas empresariales que se diseñan para procesar datos en grandes lotes (batch). Procesan gran cantidad de entradas individuales para crear salidas correspondientes.
    • 5. Sistemas de entretenimiento Son sistemas para uso sobre todo personal, que tienen la intención de entretener al usuario. La mayoría de estos sistemas son juegos de uno u otro tipo.
    • 6. Sistemas para modelado y simulación Éstos son sistemas que desarrollan científicos e ingenieros para modelar procesos o situaciones físicas, que incluyen muchos objetos separados interactuantes.
    • 7. Sistemas de adquisición de datos Son sistemas que desde su entorno recopilan datos usando un conjunto de sensores, y envían dichos datos para su procesamiento a otros sistemas.
  10. Fundamentos para crear software

    • 1. Deben llevarse a cabo usando un proceso de desarrollo administrado y comprendido. La organización que diseña el software necesita planear el proceso de desarrollo, así como tener ideas claras acerca de lo que producirá y el tiempo en que estará completado.
    • 2. La confiabilidad y el desempeño son importantes para todos los tipos de sistemas.
    • El software tiene que comportarse como se espera, sin fallas, y cuando se requiera estar disponible.
    • 3. Es importante comprender y gestionar la especificación y los requerimientos del
    • software (lo que el software debe hacer).
    • 4. Tiene que usar de manera tan efectiva como sea posible los recursos existentes. Esto significa que, donde sea adecuado, hay que reutilizar el software que se haya desarrollado, en vez de diseñar uno nuevo.
  11. Ética en la ingeniería de software

    • Como otras disciplinas de ingeniería, la ingeniería de software se realiza dentro de un marco social y legal que limita la libertad de la gente que trabaja en dicha área. Como ingeniero de software, usted debe aceptar que su labor implica responsabilidades
    • mayores que la simple aplicación de habilidades técnicas.
    • Sin embargo, existen áreas donde los estándares de comportamiento aceptable no están acotados por la legislación,
    • sino por la noción más difusa de responsabilidad profesional. Algunas de ellas son:
    • 1. Confidencialidad Por lo general, debe respetar la confidencialidad de sus empleadores o clientes sin importar si se firmó o no un acuerdo formal sobre la misma.
    • 2. Competencia No debe desvirtuar su nivel de competencia. Es decir, no hay que aceptar de manera intencional trabajo que esté fuera de su competencia.
    • 3. Derechos de propiedad intelectual Tiene que conocer las leyes locales que rigen el uso de la propiedad intelectual, como las patentes y el copyright. Debe ser cuidadoso para garantizar que se protege la propiedad intelectual de empleadores y clientes.
    • 4. Mal uso de computadoras No debe emplear sus habilidades técnicas para usar incorrectamente las computadoras de otros individuos. El mal uso de computadoras varía desde lo relativamente trivial (esto es, distraerse con los juegos de la
    • PC del compañero) hasta lo extremadamente serio (diseminación de virus u otro malware).
  12. CRISIS DEL SOFTWARE

    • CRISIS DEL SOFTWARE
  13. CRISIS...

    • El término “Crisis del Software” fue acuñado a principios de los años 70, cuando la ingeniería de software era prácticamente inexistente. El término expresaba las dificultades del desarrollo de software frente al rápido crecimiento de la demanda por software, de la complexidad de los problemas a ser resueltos y de la inexistencia de técnicas establecidas para el desarrollo de sistemas que funcionaran adecuadamente o pudieran ser validados.
    • La percepción de que esta crisis existía empezó a mediados de los años 60. Una de las primeras referencias al término, y de las más notables, fue hecha por E.W.Dijkstra, en el discurso que pronuncio durante la entrega del premio Turing en 1972.
    • En este trabajo abordaremos por que se produjo esta crisis, y cuál fue el camino adoptado para resolverla, o minimizar sus efectos de algún modo.
  14. CAUSAS DE LA CRISIS

    • Durante finales de los años 50 y principios de los 60, la potencia computacional de las maquinas era bastante limitada. Es por esto que los programas que se desarrollaban eran “simples” desde nuestro punto de vista actual. Seguían un proceso de desarrollo bastante artesanal, sin una metodología o un camino a seguir para su desarrollo. En esta época se solían usar los lenguajes de bajo nivel para el desarrollo de Software.
    • Pero a finales de los 60, la potencia de las maquinas empezó a aumentar de forma considerable. Empezaron a aparecer los lenguajes de programación de alto nivel, y las maquinas necesitaban programas mucho más complejos de los desarrollados hasta la época. En definitiva, fue un salto tremendo en cuanto a potencial de hardware, que no fue acompañado por un salto en el desarrollo de software.
    • En esta época, se empezó a concebir el Software como producto, y se empezaron a desarrollar algunos proyectos para que funcionaran en las máquinas de la época. Pero aparecieron importantes problemas: los productos excedían la estimación de costes, había retrasos en las entregas, las prestaciones no eran las solicitadas, el mantenimiento se hacía extremadamente complicado y a veces imposible, las modificaciones tenían un coste prohibitivo…en resumen, se desarrollaba software de mala calidad, ya que la técnica utilizada para desarrollar pequeños programas para maquinas con mucho menos potencial se quedaba desfasada, y muchas veces este software acababa en el olvido.
  15. ING. DEL SOFTWARE, LA SOLUCIÓN.

    • ING. DEL SOFTWARE, LA SOLUCIÓN.
    • Después de esta crisis, se intentaron establecer estas pautas, aplicándolos a algunos proyectos y aumentando la inversión. En 1991 se hizo un estudio para comprobar los resultados de la aplicación de estos métodos, y los resultados fueron bastante buenos. El 52% de los proyectos se terminaron con éxito, frente al 2% del año 1979 y el 31,1% se terminó con algunas modificaciones respecto a lo acordado inicialmente, frente al 3% del año 1979. Pero el resultado más espectacular se obtuvo en los proyectos abandonados. En 1991 sólo se abandonaron el 16,2% de proyectos, frente al casi 76% del año 1979. Una reducción increíble de casi el 60% que no hacía mas que confirmar la bondad de estos métodos aplicados al proceso de desarrollo de software. Había nacido una nueva disciplina, la Ingeniería del Software.
  16. BIBLIOGRAFÍA

    • https://histinf.blogs.upv.es/2011/01/04/la-crisis-del-software/
    • Ingeniería del software. Ian Sommerville. Novena edición. 9 edición
  17. GRACIAS...

    • GRACIAS...

Informações

Descrição
Slides sobre Sem título, criado por Andres Sarmiento em 17-06-2017.
Visualizações
1
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?