Prof. Gloria Lucía Giraldo G. (Ph.D) [email protected] Departamento de Ciencias de la...
-
Upload
tito-cornejo -
Category
Documents
-
view
2 -
download
2
Transcript of Prof. Gloria Lucía Giraldo G. (Ph.D) [email protected] Departamento de Ciencias de la...
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 !!!
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
¿Qué es un Modelo?
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.
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:
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).
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.
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.
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.
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.
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]
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.
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
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.
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
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 !!!
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
Introducción a la Ingeniería de Software (IS)
¿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.
¿Qué es la documentación?
-Diagramas-Modelos-Manual de usuario-Comentarios al interior de los programas
¿Qué es Software?
¿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.
¿Qué es Ingeniería?
Rotating Tower, Dubai , Emiratos Árabes Unidos
Viaducto Millau (Francia)Ingenierí
a de Software
?
¿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).
¿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).
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]
Etapas en la evolución del software
Etapa 1: 1950-1965Etapa 2: 1965-1976Etapa 3: 1976-1989Etapa 4: 1989-2000Etapa 5: 2000- …
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
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
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
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
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
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
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
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
Problemática del desarrollo de software
Fases del ciclo de vida del desarrollo del software
Análisis y definición de requisitosDiseñoConstrucciónPruebasMantenimiento
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.
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.
• 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
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.
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.
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.
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.