Prof. Gloria Lucía Giraldo G. (Ph.D) [email protected] Departamento de Ciencias de la...

43
Prof. Gloria Lucía Giraldo G. (Ph.D) [email protected] Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313 Universidad Nacional de Colombia Ingeniería de Software (IS) Semestre 2 - 2014 http://unvirtual.medellin.unal.edu.co/ ¡¡¡ BIENVENIDOS !!!

Transcript of Prof. Gloria Lucía Giraldo G. (Ph.D) [email protected] Departamento de Ciencias de la...

Page 1: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Prof. Gloria Lucía Giraldo G. (Ph.D)[email protected]

Departamento de Ciencias de la Computación y de la Decisión

Facultad de Minas. Of. M8A-313Universidad Nacional de Colombia

Ingeniería de Software (IS)Semestre 2 - 2014

http://unvirtual.medellin.unal.edu.co/

¡¡¡ BIENVENIDOS !!!

Page 2: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Objetivo General del curso

Desarrollar habilidades de modelado con miras al desarrollo de soluciones informáticas a problemas prácticos, empleando para ello un enfoque metodológico.

Ingeniería de Sistemas

Page 3: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es un Modelo?

Page 4: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Objetivos específicos del curso

Caracterizar los diferentes diagramas y otros artefactos necesarios para la definición, análisis y diseño de soluciones informáticas. UML (Unified Modeling Languaje) y otros.

Emplear los lineamientos teóricos del objetivo anterior en la solución de ejercicios de modelado.

Garantizar el desarrollo de habilidades para la elaboración de modelos en diferentes métodos de desarrollo.

Manejar la terminología apropiada de la ISAprender a trabajar en equipo.

Page 5: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Contenido del curso

1. Artefactos de Definición2. Artefactos de Análisis3. Artefactos de Diseño

Se reconoce la importancia de cada fase del ciclo de vida del software y se estudian y practican diferentes diagramas útiles en cada una de ellas:

Page 6: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Metodología

Clases magistralesMucho trabajo en clase !!!Talleres (Trabajo en equipo)Foros de discusiónExposiciones de los estudiantes de algunos temas asignados.

Juegos (si el tiempo lo permite).

Page 7: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Evaluación Dos (2) talleres 15%,15% 30%Examen Parcial 15% Examen Final 15%Exposición+ Act. 10% Video 15%Seguimiento 10%Desempeño del trabajo en equipo 5%

TOTAL 100%IMPORTANTE !!!

LOS TALLERES, EL TRABAJO Y EL VIDEO SON EN EQUIPO. NO SE ACEPTARÁN TRABAJOS

INDIVIDUALES.

Page 8: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Trabajo en equipoIMPORTANTE !!!

Conformar equipos de 3 estudiantes. Fecha límite de conformación : Jueves 14 de

AgostoEnviar un archivo excel al correo

[email protected] Columnas del archivo: Documento, Nombres, Apellidos, correo electrónico.

El Asunto del correo debe ser: “IS-2014-2 Integrantes Equipo”.

Los estudiantes que para esta fecha no hayan reportado equipo se les asignará uno al azar.

Page 9: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Trabajo en equipoIMPORTANTE !!!

TALLERES

Se asignará un MODELO VERBAL a cada equipo

Los formatos para cada taller se pondrán en la página.

Enviar talleres por correo y entregarlos en medio magnético únicamente.

Page 10: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Trabajo en equipoIMPORTANTE !!!

Guion y Video. Cada equipo:1.Escribe un guion del video (No se entrega). 2.Elabora un video (max. 10 minutos) con

base en el guion escrito.3.Presentar el video y realizar una actividad

relativa al tema del video.4.Entregar el video en medio magnético,

garantizando que se pueda ver y escuchar. Si hay problemas de audio, se deben colocar subtítulos.

Page 11: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Trabajo en equipoIMPORTANTE !!!

DESEMPEÑOPor cada reunión deben elaborar una bitácora y enviarla por correo. Ver formato.

Un día antes de la entrega de cada tarea/trabajo/taller, ya deben haber enviado todas las bitácoras al correo [email protected]

Page 12: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Trabajo en equipoIMPORTANTE !!!

¿Como se medirá el desempeño de un equipo?

CUMPLIMIENTO: Todas las bitácoras enviadas a tiempo. Todos los talleres entregados a tiempo. Todos los integrantes presentes el día de la entrega.

PROMEDIO DE LAS PRUEBAS DE LAS ENTREGAS: El día de cada entrega, se escogerá un integrante al azar quien presentará una prueba. La nota obtenida por ese estudiante será la nota para todo el equipo. Si el estudiante que se escoge está ausente la nota será 0 para todo el equipo.

ANÁLISIS DE LAS BITÁCORAS: Concepto de la profesora gestión del trabajo en equipo.

Page 13: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Contenido del taller #1: Artefactos fase de Definición

Esquema Preconceptual Modelo del dominioDiagrama Causa – Efecto (Ishikawa) Diagrama de Procesos Diagrama de Actividades UML Diagrama de Objetivos de KAOS

Page 14: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Contenido del taller #2: Artefactos fase de Análisis

Diagrama de Procesos de la soluciónDiagrama de Clases de UMLDiagrama de Objetos UMLDiagrama Entidad-AsociaciónDiagrama de Casos de Uso UML

(incluyendo descripción de los casos de uso, interfaces gráficas de usuario que van dentro de la descripción del caso de uso)

Diagrama de Secuencias por cada caso de uso.

Page 15: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

REGLASR1. Todo correo enviado debe llevar

OBLIGATORIAMENTE el asunto de la siguiente forma:

Si es taller: IS-2014-2 Equipo # Taller #

Si es bitácora: IS-2014-2 Equipo # Bitácora #

Si es tarea: IS-2014-2 Equipo # Tarea #

Si es otro tipo de correo: IS-2014-2 Otro

REEMPLAZAR “#” POR SU VALOR CORRESPONDIENTE. EN EL CASO DE UNA TAREA SE REEMPLAZA POR UNA CORTA DESCRIPCIÓN

ATENCIÓN: Correo que no traiga este asunto, no se tendrá en cuenta

Page 16: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

REGLASR2. Después de realizada cada reunión de

equipo, los estudiantes redactan una bitácora y la envían al correo [email protected] antes de realizar la siguiente entrega.

R3. Enviar los talleres al correo [email protected], antes de las 12 de la noche del día anterior al de la entrega.

NOTA: CUMPLIR LAS REGLAS R2 Y R3 AUMENTA LA NOTA DE DESEMPEÑO !!!

Page 17: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

REGLAS

R4. Entregar los archivos solamente en medio magnético (CD). El CD debe contener:-El archivo “.doc” con el enunciado y todos los diagramas.

-Los archivos “.vsd” (VISIO) correspondientes.

-Todas las bitácoras.

R5. El taller 2 debe incluir el taller 1 corregido

Page 18: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Introducción a la Ingeniería de Software (IS)

Page 19: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es Software?

Es el producto que diseñan y construyen los ingenieros de software.

Comprende tanto los programas ejecutables como la documentación de la aplicación.

Page 20: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es la documentación?

-Diagramas-Modelos-Manual de usuario-Comentarios al interior de los programas

¿Qué es Software?

Page 21: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es Ingeniería?

Es el conjunto de conocimientos y técnicas científicas aplicadas, que se dedica a la resolución y optimización de los problemas que afectan directamente a la humanidad.

Page 22: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es Ingeniería?

Rotating Tower, Dubai , Emiratos Árabes Unidos

Viaducto Millau (Francia)Ingenierí

a de Software

?

Page 23: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es la ingeniería de software?

Ingeniería de Software es el estudio de los principios y metodologías para el desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978).

Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollarlos, operarlos y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software ( Bohem, 1976).

Page 24: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

¿Qué es la ingeniería de software?

Ingeniería de Software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales (Bauer, 1972).

La ingeniería del software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software. La ingeniería del software ofrece métodos o técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo, y trata áreas muy diversas de la informática y de las ciencias computacionales (IEEE, 1993).

Page 25: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Naturaleza del Software

Por ser intangible, el software es un producto muy especial:

Se desarrolla, no se fabrica.Se deteriora (degenera), no se

desgasta.Se construye a la medida.

[Pressman, 2002]

Page 26: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapas en la evolución del software

Etapa 1: 1950-1965Etapa 2: 1965-1976Etapa 3: 1976-1989Etapa 4: 1989-2000Etapa 5: 2000- …

Page 27: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 1: 1950 a 1965:

Esfuerzo centrado en hardwareAusencia de métodos de desarrolloConstrucción software a la medida y

baja distribución

Etapas en la evolución del software

Page 28: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 2: 1965 a 1976:Programas de gran extensiónDifícil mantenimiento del softwareAparición de casas de softwareInicio de la Crisis del software:Imprecisión en la planificación del proyecto y estimación de los costos.

Boehm, 1975: 45% de los errores tienen su origen en los requisitos y en el diseño preliminar.

Baja calidad del software.Dificultad de mantenimiento de programas con un diseño poco estructurado, etc.

Etapas en la evolución del software

Page 29: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 3: 1976 a 1989:Hardware a bajo costoPopularización de los PCGrandes inversiones de la industria en

productos de softwareImprecisión en la planificación del

proyecto y estimación de los costos DeMarco, 1984: 56% de los errores que

tienen lugar en un proyecto software se deben a una mala especificación de requisitos.

Etapas en la evolución del software

Page 30: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 4: 1989 a 2000Se construye software utilizando IA Sistemas

expertos.Hay un incremento en la demanda del software.Se reconoce en las organizaciones el valor de la

información.Aparece el entorno Cliente-Servidor y las tecnologías

internet.Se agudiza la crisis por dificultad en mantenimiento de

las aplicaciones.Imprecisión en la planificación del proyecto y

estimación de los costos.

Etapas en la evolución del software

Page 31: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 4: 1989 a 2000Chaos Report, 1995: Los factores principales que

conducen al fracaso en los proyectos software son: – Falta de comunicación con los usuarios. – Requisitos incompletos. – Cambios a los requisitos.

NECESIDAD DE UNA METODOLOGÍA PARA EL

DESARROLLO DE SOFTWARE

Etapas en la evolución del software

Page 32: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Etapa 5: 2000 - …Omnipresencia de la WebReutilización de informaciónComponentes de software reutilizables

Etapas en la evolución del software

NECESIDAD DE UNA METODOLOGÍA PARA EL

DESARROLLO DE SOFTWARE

Page 33: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Algunos desastres famosos relacionados con el software

El cohete Mariner sin rumbo (1962)Descripción: investigación espacial deVenusCosto: 18.5 millones de dólaresCausa: una mala codificación de una fórmula hizo que el

cohete se saliera de la orbita y se destruyó pasados 293 segundos después de su despegue.

La máquina asesina – Therac 25 (1985)Descripción: máquina de terapia radiactiva emitió dosis letales

de radiación a los pacientesCosto: varias vidas humanasCausa : un bug permitió que un técnico configurara mal la

máquina.

NECESIDAD DE UNA METODOLOGÍA PARA EL DESARROLLO DE SOFTWARE

Page 34: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Algunos desastres famosos relacionados con el software

El Ariane 5 (1996)Descripción: cohete espacial europeo no tripuladoCosto: 500 millones de dólaresCausa: error en el algoritmo al calcular la velocidad.

Se generó un problema de desbordamiento al convertir un valor punto flotante de 64 bits a un entero de 16 bits.

NECESIDAD DE UNA METODOLOGÍA PARA EL DESARROLLO DE SOFTWARE

Page 35: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Problemática del desarrollo de software

Page 36: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Fases del ciclo de vida del desarrollo del software

Análisis y definición de requisitosDiseñoConstrucciónPruebasMantenimiento

Page 37: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Análisis y definición de requisitos

Extraer requisitos de un producto de software es la primera etapa para crearlo: se requiere de habilidad y experiencia para reconocer requisitos incompletos, ambiguos y contradictorios.

Page 38: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Diseño y construcción de productos de software

El diseño describe cómo se construirá la aplicación de softwareArquitectura de sistemas: es una

actividad de planeación, ya sea a nivel de infraestructura de red y hardware, o de Software (diseño de componentes de una aplicación).

Programación, pruebas y mantenimiento: no debe ser lo más complicado ni lo más demandante de tiempo.

Page 39: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

• Hace ya muchos años se mostró el problema generado por la ausencia de técnicas sistemáticas para desarrollar el software.

• Actualmente, el software está presente en muchísimos aspectos de la vida diaria.

• Por tanto, es de vital importancia, entender y difundir el carácter vital de la aplicación de dichas técnicas.

CONCLUSIÓN

Page 40: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Actividaden equipos de 3 estudiantes

Tomar 3 ejemplos de modelos de la vida real y discutirlos en equipo.

Entregar cada uno de los ejemplos acompañados de una explicación del por qué se consideran modelos.

Page 41: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Tarea Individual (seguimiento)

Investigar y explicar :1. Qué es ciclo de vida del

software?2. Qué es Ingeniería de Software?

Entregar esta tarea escrita a mano.

ATENCIÓN: No olvidar la bibliografía.

Page 42: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

Bibliografía

FOWLER, M. UML Distilled: A brief guide to the Standard Object Modeling Language. Addison Wesley, Reading, 2004.

PRESSMAN, R. Ingeniería de Software, un enfoque práctico. Quinta edición. McGraw-Hill, New York, 2002.

BARKER, R. Case Method Entity Relationship Modelling. Addison Wesley.1990.

SOMMERVILLE, I. Ingeniería de Software. Addison Wesley, Reading, Sexta Edición. 2000.

Page 43: Prof. Gloria Lucía Giraldo G. (Ph.D) glgiraldog@unal.edu.co Departamento de Ciencias de la Computación y de la Decisión Facultad de Minas. Of. M8A-313.

BibliografíaZAPATA, C. M. y GÓMEZ, M. C. Ingeniería del

Software: Una disciplina de Modelamiento. Carlos M. Zapata (Ed.), Medellín, 2006.

ZAPATA, C. M. y OLAYA, Y. Ingeniería de Software para Analistas. Carlos M. Zapata (Ed.), Medellín, 2007.

ARANGO, F. y ZAPATA, C. M. UN-Método para la elicitación de Requisitos de Software. Carlos M. Zapata (Ed.), Medellín, 2007.

ZAPATA, C. M. y ARANGO, F. Construcción automática de Esquemas Conceptuales a partir de Lenguaje Natural. Carlos M. Zapata (Ed.), Medellín, 2007.