33
Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Embed Size (px)

Citation preview

Page 1: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Ingeniería de software

TIC SI 5-1 Profesor: Chenoweth Juan R.

Alumno: Carrera Vazquez Wilghen

Page 2: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Introducción

• Tema principal es definiciones, orígenes, su importancia. Definiciones de Software Engineering Suit (SEI) y el World Wide Web Consortium (W3C) que son organizaciones que se encargan de la ingeniería de software como nos ayuda a la creación de software de calidad que también se incluyen los modelos de desarrollo y sus procesos para el desarrollo del mismo.

Page 3: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Definición

• Ingeniería de Software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo operación (funcionamiento) y mantenimiento del software: es decir, la aplicación de ingeniería al software. [IEEE, 1993]

Page 4: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Inicios

Page 5: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• El concepto de ingeniería del software surgió en 1968, tras una conferencia en Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis del software. Este fue ocasionado por el avance desmesurado de el hardware lo que hacia el software cada vez mas completo y generalmente nunca se terminaba a tiempo.

Page 6: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Importancia

Page 7: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final. Lo anterior es posible gracias a los objetivos que esta propone

Page 8: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.

• Mejorar la calidad de los productos de software.

• Aumentar la productividad y el trabajo de los ingenieros de software.

Page 9: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Utilidad

Page 10: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Facilitar el control en el proceso de desarrollo de software

• Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.

• Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

Page 11: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Organizaciones

Page 12: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

SEI (Software Engineering Institute)

• Es un centro de investigación y desarrollo fundado por el Departamento de Defensa de los Estados Unidos y operado por la Carnegie Mellon University, en Pittsburgh, Pennsylvania. La SEI ayuda en el avance de los principios y prácticas de la ingeniería de software, y sirve como un recurso nacional en la ingeniería de software, seguridad en computación, y mejora en procesos.

Page 13: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

W3C (World Wide Web Consortium)

• Es la principal organización internacional de estándares para la World Wide Web. Fue fundada por Tim Berners-Lee en Octubre de 1994, en la MIT/LCS (Massachusetts Institute Of Tecnology Laboratory for Computer Science), y actualmente es quien lo encabeza. Dicho consorcio está conformado por organizaciones que mantienen un staff de tiempo completo con el propósito de trabajar juntos en el desarrollo de estándares para la World Wide Web.

Page 14: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Modelos y filosofías de desarrollo de software.

Page 15: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Modelo en Cascada: Es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior. Un ejemplo de dicha metodología es:

• Análisis de requisitos.

• Diseño del Sistema.

• Diseño del Programa.

• Codificación.

• Pruebas.

• Implantación.

• Mantenimiento.

De esta forma, cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo.

Page 16: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Modelo de Prototipos: Se trata de un modelo de desarrollo de tipo evolutivo. La mecánica consiste en construir un prototipo en poco tiempo, utilizando los programas adecuados y tratando de no usar mucho dinero pues, a partir de que el prototipo sea aprobado, se podrá comenzar con el desarrollo del producto final.

• El modelo de prototipos consta de varias etapas.• Comunicación• Plan Rápido• Modelado, Diseño Rápido• Construcción del Prototipo• Desarrollo, Entrega y Retroalimentación

Page 17: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Modelo en Espiral: Es un modelo de desarrollo evolutivo. Las actividades a realizar se encuentran dentro de una espiral, donde cada bucle representa un conjunto de actividades, las cuales no cuentan con ninguna prioridad, sino que las siguientes se definen en función del análisis de riesgos.

• Para cada ciclo, habrá cuatro actividades a realizar.

Page 18: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Determinar o fijar objetivos:• - Fijar también los productos definidos a

obtener: requerimientos, especificación, manual de usuario.

• - Fijar las restricciones.• - Identificación de riesgos del proyecto y

estrategias alternativas para evitarlos.• - Hay una cosa que solo se hace una vez: la

planificación inicial.

Page 19: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Análisis del riesgo: - Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daños y consecuencias que éstas puedan producir.• Planificar: - Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad.

Page 20: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Desarrollar, verificar y validar (probar):- Tareas de la actividad propia y de prueba.- Análisis de alternativas e identificación resolución de riesgos.- Dependiendo del resultado de la evaluación de los riesgos, se elige un modelo para el desarrollo, el que puede ser cualquiera de los otros existentes, como formal, evolutivo, cascada, etc. Si lo riesgos de protección son la principal consideración, un desarrollo basado en transformaciones formales podría ser el más apropiado.

Page 21: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Ciclo de vida del desarrollo de software

Page 22: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.

• Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.

Page 23: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Diseño general: requisitos generales de la arquitectura de la aplicación.

• Diseño en detalle: definición precisa de cada subconjunto de la aplicación.

• Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.

Page 24: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.

• Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.

Page 25: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.

• Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.

Page 26: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• Implementación

• Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

Page 27: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Arquitectura de Software

Page 28: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel más alto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software.

Page 29: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Patrones de Arquitectura de Software

• Cliente-Servidor• Blackboard• Modelo entre capas• Intérprete• Orientado a serviciosCuenta con varios modelos• Estructurales, dinámicos y de procesos.

Page 30: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Conclusión

• Esta actividad nos mostró una investigación de un glosario de las definiciones que son muy específicas, así como definiciones de la Ingeniería de Software y que sin importar su modelo o definición de diferentes organizaciones y puntos de vista se utiliza para la creación de un mejor software de calidad con el desarrollo de software mediante a sus procesos métodos e herramientas que posee.

Page 31: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Bibliografía• http://html.rincondelvago.com/conceptos-y-evolucion-de-la-ingenieria-del-soft

ware.html• http://zarza.fis.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/e-elearning.pdf• http://www.desarrolloweb.com/articulos/499.php• http://www.arrakis.es/~abelp/ApuntesJava/ClasesAbstractas.htm• http://www.infor.uva.es/~mlaguna/is1/apuntes/1-intro.pdf• http://mexcontrol.blogspot.mx/2010/08/el-sistema-minimo.html• http://es.scribd.com/doc/96228551/Sistema-Embebido• http://www.proyectosagiles.org/que-es-scrum• http://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software• http://es.wikipedia.org/wiki/Sistema_de_planificaci%C3%B3n_de_recursos_em

presariales• http://es.kioskea.net/contents/entreprise/business-intelligence.php3• http://en.wikipedia.org/wiki/Evaluation_Assurance_Level• http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_procesos_de_negocio• http://www.desarrolloweb.com/articulos/2358.php

Page 32: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

• http://www.mercadeo.com/blog/2010/01/software-como-servicio/• http://html.rincondelvago.com/conceptos-y-evolucion-de-la-ingenieria-del-software.html• http://zarza.fis.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/e-elearning.pdf• http://www.desarrolloweb.com/articulos/499.php• http://www.arrakis.es/~abelp/ApuntesJava/ClasesAbstractas.htm• http://www.infor.uva.es/~mlaguna/is1/apuntes/1-intro.pdf• http://mexcontrol.blogspot.mx/2010/08/el-sistema-minimo.html• http://es.scribd.com/doc/96228551/Sistema-Embebido• http://www.proyectosagiles.org/que-es-scrum• http://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software• http://es.wikipedia.org/wiki/Sistema_de_planificaci%C3%B3n_de_recursos_empresariales• http://es.kioskea.net/contents/entreprise/business-intelligence.php3• http://en.wikipedia.org/wiki/Evaluation_Assurance_Level• http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_procesos_de_negocio• http://www.desarrolloweb.com/articulos/2358.php• http://www.mercadeo.com/blog/2010/01/software-como-servicio/

Page 33: Ingeniería de software TIC SI 5-1 Profesor: Chenoweth Juan R. Alumno: Carrera Vazquez Wilghen

Videos relacionados (nota: no son mis videos los tomes como consulta adicional están interesantes):

• http://www.youtube.com/watch?v=YFin8nNnARA• http://www.youtube.com/watch?v=Xxsf0wXq5OY• http://www.youtube.com/watch?v=wCnrPpuWVcU• http://www.youtube.com/watch?v=r9hRk-S2qrQ