450 likes | 633 Views
Temario. Conceptos básicos. ¿Que es Ingeniería en Software?. Conceptos básicos. Ingeniería. Software. Proceso. Metodología. Herramienta. Modelo. Sistema. ERS. RUP. ¿Qué es software?. Es un programa para computadora que realiza una o varias tareas.
E N D
Temario Conceptos básicos. ¿Que es Ingeniería en Software?
Conceptos básicos Ingeniería. Software. Proceso. Metodología. Herramienta. Modelo. Sistema. ERS. RUP.
¿Qué es software? Es un programa para computadora que realiza una o varias tareas. Es la transformación de lenguaje natural humano, ideas, a la codificación (lenguaje maquina).
Características del software Intangible. No se desgasta, pero si se deteriora por el ambiente en donde se encuentra.
Objetivos Realiza una o varias tareas: Resuelve problemas. Cubre necesidades.
¿Qué es ingeniería? La ingeniería es el conjunto de conocimientos y técnicas científicas aplicadas a la creación, perfeccionamiento e implementación de estructuras (tanto físicas como teóricas) para la resolución de problemas que afectan la actividad cotidiana de la sociedad, obteniendo resultados con el mejor uso de los recursos.
Características de un ingeniero Capacidad creativa. Capacidad de imaginación para concebir cosas que aún no existen. Capacidad de innovación.
¿Qué es proceso? Un proceso es un conjunto de actividades o eventos (coordinados u organizados) que se realizan para generar un producto de software.
¿Qué es metodología de software? Es una serie de pasos, herramientas, modelos, métodos para el desarrollo de software.
Metodología vs Ciclo de vida Ambos son para desarrollo de software pero el ciclo de vida es estrictamente una serie de pasos por la que debe de pasar el desarrollo de software, metodología son los pasos a desarrollar software utilizando modelos y siendo flexible a los cambios que pudieran suceder en el camino.
¿Qué es modelo? Son lineamientos a seguir en el desarrollo de software.
¿Qué es una técnica? Es un procedimiento para realizar una tarea.
¿Qué es herramienta? Son los elementos que se utilizan para realizar una tarea, una función, etc.
¿Qué es sistema? Es un conjunto de elementos para hacer funcionar software.
El término Ingeniería del software apareció por primera vez en la década de 1950 y principios de los años 1960. El Comité de ciencia de la OTAN patrocinó dos conferencias sobre ingeniería del software en 1968 (Garmisch, Alemania) y en 1969.
Dificultades del software Crecimiento espectacular de los costes del software. Incumplimiento de los plazos de entrega. Muchas dudas sobre la calidad del software construido.
1era Generación (1950-1965) Proyectos de software sobrepasaron el presupuesto y el tiempo estimados. Daños a la propiedad: Defectos de software pueden causar daños a la propiedad. Vida y muerte: Defectos de software pueden matar. Algunos sistemas embebidos en máquinas.
1era Generación (1950-1965) Hardware de propósito general. Software como algo añadido. Software se desarrollo a medida del hardware. Ninguna planificación. Desarrollo a base de prueba y error. Pocos métodos. No había planteamiento previo. Se trabajaba con la idea de codificar y corregir.
1era Generación (1950-1965) Es el único lenguaje que comprende la computadora. Es esta generación es donde surgió la ingeniería en software como una disciplina como consecuencia de los problemas que surgían en las anteriores décadas
2da Generación (1965 - 1975) Simplificar el código. Multiusuario y multiprogramación. Sistemas en tiempo real. Se considera el software como producto. Se indaga sobre procedimientos de desarrollo de software. Mantenimiento.
3ra Generación (1975 - 1990) Complejidad en los sistemas de información. Redes de área local, global y comunicaciones digitales. Amplio uso de microprocesadores. PC’s Sistemas distribuidos Hardware de bajo coste Hasta aqui
4ta Generación (1990- ahora Tecnologías Orientadas a Objetos. Interfaces gráficas de usuario. Sistemas expertos. Proceso paralelo. Tecnologías de componentes. Internet y Servicios Web. Información como base fundamental de las Organizaciones. Redes de información.
4ta Generación (1990- ahora Sistemas expertos. Inteligencia artificial.
Personajes importantes • 1970 Dennis Ritchie y Kenneth Thompson desarrollan unix • 1975 • Bill Gates y Allen desarrollan MS-DOS • Y Wosniak y Steve Jobs desarrollan Apple • 1979 Dan Brickliin y Bob Frankston crean la hoja de calculo VisiCalc • 1991 Tim Berners-Lee crea la World Wide Web
Problemas a resolver sobre el software Retrasos no previstos. Desbordamiento de costes. Software no acorde con los requisitos. Errores en los programas. Sensibilidad a los errores humanos y a las averías físicas. Dificultad de puesta en marcha. Dificultad de evolución. Mantenimiento ruinoso.
¿Qué es ingeniería en software? Es el desarrollo sistematizado de software utilizando técnicas, metodologías y herramientas.
Objetivos de la ingeniería en software: Adoptar un enfoque sistemático Acortar los tiempos de desarrollo Mejorar la calidad del software Aumentar la productividad Fácil de usar.
Obtener software de modo rentable, que sea fiable y trabaje en máquinas reales. Utilización de procesos y metodologías, que sean sistemáticas, predecibles y repetibles, de mejorar la productividad en el desarrollo y la calidad del producto software. Lograr un enfoque sistemático.
Beneficios Incrementar la reutilización del software. Automatización de procesos. Comodidad a un grupo social.
Ciclo de vida del software Análisis de requisitos: captura, análisis y especificación de requisitos de software. Se obtiene mediante: Entrevistas. Cuestionarios. Preguntas abiertas clientes y/o trabajadores. Preguntas cerradas clientes y/o trabajadores. De forma visual. Conversación. Todo el proceso de desarrollo de software se debe de ir documentando.
Ciclo de vida del software Especificación: comportamiento esperado en el software una vez desarrollado. Identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requisitos del software. Mediante: Caso de uso. Historias de usuario.
Ciclo de vida del software Arquitectura: es una actividad de planeación, ya sea a nivel de infraestructura de red y hardware, o de software. Herramientas: Componentes de una aplicación (entidades del negocio).
Ciclo de vida del software Se documenta utilizando diagramas: Diagramas de clases. Diagrama de base de datos. Diagrama de despliegue. Diagrama de secuencia. Herramientas para el diseño y modelado de software se denominan CASE (Competer Aidid Software Engineering)).
Ciclo de vida del software Programación: transformar un diseño a código. La complejidad y la duración esta relacionada con: Lenguajes de programación utilizados. Diseño previamente realizado.
Ciclo de vida del software Prueba: Que el software realice correctamente las tareas indicadas en la especificación del problema. Formas de realizar: Alguien distinto al desarrollador que la programó. Esté compuesta por personal inexperto. Tener un área de pruebas. Nota: el programador debe realizar sus propias pruebas.
Ciclo de vida del software Instalación: entregar el sistema al usuario y asegurar su operatividad.
Ciclo de vida del software Mantenimiento: es mantener y mejorar el software para corregir errores(bugs) descubiertos e incorporar nuevos requisitos. La mayor parte reside en extender el sistema para incorporarle nuevas funcionalidades y hacer frente a su evolución.
Características del proceso de software Entendible: Se encuentra el proceso bien definido y es entendible ?. Soportable: Puede el proceso ser soportado por herramientas CASE ?. Aceptable: El proceso es aceptado por aquellos involucrados en el ?.
Características del proceso de software Confiable: Los errores del proceso son descubiertos antes de que se conviertan en errores del producto ?. Robusto: Puede continuar el proceso a pesar de problemas inesperados ?. Mantenible: Puede el proceso evolucionar.
Modelos y filosofías de desarrollo de software Modelo en cascada o Clásico (modelo tradicional). Modelo de prototipos. Modelo en espiral. Desarrollo por etapas. Desarrollo iterativo y creciente o Iterativo e Incremental. RAD (Rapid Aplicación Development). Desarrollo concurrente. Proceso Unificado. RUP (Proceso Unificado de Rational).
Bibliografía http://www.rodolfoquispe.org/blog/que-es-la-ingenieria-de-software.php http://definicion.de/ingenieria-de-software/ http://itson.mx/oferta/isw/Paginas/isw.aspx http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software http://www.uag.mx/licenciatura/en-software/
http://www.itesm.edu/wps/wcm/connect/itesm/tecnologico+de+monterrey/maestrias+y+doctorados/areas+de+estudio/tecnologias+de+informacion+y+electronica/eishttp://www.itesm.edu/wps/wcm/connect/itesm/tecnologico+de+monterrey/maestrias+y+doctorados/areas+de+estudio/tecnologias+de+informacion+y+electronica/eis • http://www.monografias.com/trabajos5/inso/inso.shtml • http://www.youtube.com/watch?v=YFin8nNnARA • http://definicion.de/ingenieria-de-software/