Pontificia Universidad Católica Argentina



Documentos relacionados
Contenidos. Parte I - Introducción Capítulo 1 - Evolución. Capítulo 2 Condiciones de trabajo en el Desarrollo de Software

Curso: El Proceso de Desarrollo de Software

Interacción Persona - Ordenador

Ingeniería de Software

Programación orientada a

Tema 3 Metodologías de Desarrollo de Software


Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

UML 2 Iniciación, ejemplos y ejercicios corregidos

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Proceso de desarrollo del software modelo en cascada

Fundamentos del diseño 3ª edición (2002)

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Análisis y Diseño de Sistemas : T-INF107

Ingeniería de Software: Parte 2

Programa de Asignatura

IES - Introducción a la Ingeniería del Software

DIPLOMADO EN TECNOLOGÍAS DE LA INFORMACIÓN

Programa de la asignatura Curso: 2009 / 2010 ANÁLISIS E INGENIERÍA DEL SOFTWARE (1296)

PROGRAMA DE ASIGNATURA. ASIGNATURA: Ingeniería del Software I AÑO: 2012 CARÁCTER: Obligatoria CARRERA: Licenciatura en Ciencias de la Computación

Teórica 2 64 Laboratorio 1 32 Resolución de problemas Ejemplos prácticos en clase Suma 4 128

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Fundamentos de Ingeniería de Software. Ingeniería en Sistemas Computacionales.

INGENIERÍA DEL SOFTWARE

Introducción. Conceptos y principios. Introducción. Introducción. Elementos del modelo de análisis. Elementos del modelo de diseño.

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Curso Taller de Arquitectura de Software usando UML

PROGRAMA ANALÍTICO PLAN DE ESTUDIOS 2011

TABLA DE CONTENIDOS. Dedicatoria. Agradecimientos. Tabla de Contenidos. Indice de Figuras. Indice de Tablas. Resumen

1 FUNDAMENTACION DE LA MATERIA

ASI. Análisis del Sistema de Información

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO DE ANALISIS Y DISEÑO DE SISTEMAS 1

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

14. Ingeniería de software. Ing. Alejandro Adorjan

Base de Datos, Teoría General de Sistemas Área:

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

Ingeniería de Software. Nombre de la asignatura: Ingeniería De Software. Carrera: Ingeniería En Sistemas Computacionales

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

Instruir al alumno con los conceptos, modelos, teorías y principios básicos estudiados en la Ingeniería de Software

DISEÑO DE COMPONENTES DE SOFTWARE *

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS

Carrera: Licenciatura en Sistemas. Materia: Programación de computadoras. Profesor Asociado: Cdor. Héctor A. Carballo

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

El Proceso Unificado de Desarrollo de Software

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Elementos del modelo de análisis. Modelado del análisis

Instituto Educación Superior Tecnológico Privado El Buen Pastor

FORMACIÓN Principios de la programación orientada a objetos

SÍLABO. : Obligatorio : Ingeniería de Sistemas : IS0704. : VII Ciclo : 03 Teoría y 02 Práctica : 04 : Lenguaje de Programación II

Fundamentos de Ingeniería del Software

Anexo 4 Documento de Arquitectura

Actividad ASI 1: Definición del Sistema

Ingeniería de Software. Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María

Desarrollo de software

Programa de Asignatura Base de datos

Pontificia Universidad Católica del Ecuador

DOCUMENTACION A PRESENTAR: TRABAJADORES (RÉGIMEN GENERAL, ADMINISTRACIÓN PÚBLICA, AUTÓNOMOS) DEMANDANTES DE EMPLEO

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

Sumario... 5 Prólogo Unidad didáctica 1. Modelos y sistema de información Objetivos de la Unidad... 11

TEMA 1.-Programación orientada a objetos (POO) Objetivo

El Proceso Unificado Rational para el Desarrollo de Software.

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

GUÍA DOCENTE DE LA ASIGNATURA

ESTÁNDAR TÉCNICO DE COMPETENCIAS PARA EL DESARROLLO DE SOFTWARE ARQUITECTO DE SOFTWARE

Arquitecturas de Software

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

GUÍA DOCENTE. Curso DESCRIPCIÓN DE LA ASIGNATURA. Ingeniería Informática en Sistemas de Información Doble Grado: Módulo: Módulo 6

Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Asignaturas antecedentes y subsecuentes

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Universidad Autónoma del Estado de México Licenciatura en Informática Administrativa Programa de Estudios: Bases de Datos Relacionales

El alumno debe tener cursadas Introducción al Análisis de sistemas y Estructuras y Algoritmos.

Programación Orientada a Objetos

Pontificia Universidad Católica del Ecuador

Que el alumno esté en condiciones de establecer qué hace un sistema de información mediante el uso de las herramientas más adecuadas.

CICLO DE VIDA DEL SOFTWARE

Guía Docente 2013/2014

Garantía de Calidad. Calidad durante el Proceso de Ingeniería. Recapitulación (I)

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

FORMACIÓN Diseño de bases de datos relacionales

Ingeniería del Software II

Ing. Norman Vargas Chévez Facultad de Electrotecnia y Computación Universidad Nacional de Ingeniería norman.vargas@uni.edu.

Participantes

Objetivo Las personas que realicen el curso aprenderán a:

Fundamentos de Ingeniería del Software

PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Ingeniería de Software. Procesos. Proyecto de Ingeniería. Metodologías. Metodologías. Metodologías. Metodologías de desarrollo

Tema 5. Diseño detallado.

Bases de Datos Especializadas

Programación de Bases de Datos

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Carrera: SCM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Del Modelo Conceptual a los Diagramas de Clases

INGENIERÍA DEL SOFTWARE I Práctica 4 Interacciones

Transcripción:

Carrera : Ingeniería Informática Pontificia Universidad Católica Argentina PROGRAMA DE INGENIERÍA DE SOFTWARE I 2010 Ubicación en el Plan de Estudios : 3 er Año, cuatrimestral Carga Horaria : 8 hs / semana ( 30 clases ) Objetivos de la materia : Aprender los conceptos básicos y las principales técnicas y metodologías relacionadas con el desarrollo de sistemas de información, especialmente las relacionadas con las técnicas orientadas a objeto de desarrollo de sistemas. Contenidos de la materia : I. INTRODUCCION (1ra. y 2da Clase Bibliografía # 1 y 2) Ingeniería de Software. Antecedentes. Definición. La comunicación en el desarrollo de sistemas. Definiciones. El desarrollo de sistemas como resultado colectivo y compartido. Modelo de Mensaje. Lenguaje y estructura de un mensaje. El ciclo de vida de los sistemas de información. Qué es el análisis?. Qué es el diseño?. La pirámide de sistemas de información. Problemas actuales en el desarrollo del software. Complejidad del software. Complejidad del dominio del problema. Atributos de un sistema complejo. Crisis en el desarrollo de sistemas. Modelo Estructurado vs. Modelo Orientado a Objetos. Características y diferencias. Ejercitación Práctica II. DEFINICION DE DATOS (3ra. y 4ta. Clase Bibliografía # 1, 2, 3, 5 y 6) Modelo de Entidad-Relación (ERM). Objetivo. Terminología. Simbología. Cardinalidad y opcionalidad. Etapas de construcción. Modelo Conceptual de Datos (CDM). Terminología y simbología. Pasos para su construcción. Relación con el Modelo de Entidad-Relación. Restricciones de eliminación, dependencia existencial, grado de una relación. Entidades características y asociadas. Relación entre modelos. Diagrama de Estado-Transición (STD). Terminología. Pasos. Relación con otros modelos. Uso. Ejercitación Práctica 1

III. DEFINICION DE PROCESOS (4ta. y 5ta Clase Bibliografía # 1 y 5) Diagrama de Flujo de Datos (DFD). Terminología. Simbología y reglas. Balanceo de diagramas. Primitivas. DFD's físico y lógico: definiciones, pasos para su construcción, diagramas del sistema actual y del propuesto. Relación con el ERM. Ejercitación Práctica IV. ANALISIS ESTRUCTURADO DE SISTEMAS (6ta. y 7ma Clase Bibliografía # 2 y 3) Problemas con el análisis de sistemas tradicional. Análisis estructurado de sistemas. Definición de análisis estructurado. Evolución de las técnicas estructuradas. Elementos del análisis estructurado. Comparación entre Tom de Marco y Gane & Sarson. Críticas al análisis estructurado clásico. Ventajas del enfoque moderno. Concepto de tecnología perfecta. Componentes de un sistema esencial. Modelos. Pasos para lograr el DFD lógico. Partición del sistema en actividades esenciales. Partición de la memoria esencial. Tratamiento de estímulos. Relación con el STD. V. DISEÑO ESTRUCTURADO DE SISTEMAS (8va. y 9na Clase Bibliografía # 3, 4 y 7) Objetivo y definición del diseño estructurado de sistemas. Teorema fundamental de la ingeniería de software. Concepto de independencia entre módulos. Modelos a utilizar para el diseño de procesos. Modelos a utilizar para el diseño de datos. Diseño de Procesos. Objetivo y conceptos fundamentales. Qué es un módulo?. Concepto de la caja negra. Concepto y tipos de conexión. Concepto y tipos de acoplamiento. Diseño de Datos. Modelo Lógico de Datos (LDM). Objetivo. Simbología y reglas. Normalización de datos. Formas Normales. Pasos para la normalización. VI. CRITERIOS DE EVALUACION DEL DISEÑO (10ma. y 11ma Clase Bibliografía # 4, 3 y 7) Distintos tipos de evaluaciones. Acoplamiento y cohesión. Conceptos fundamentales. El efecto Ripple. Acoplamiento: propósito. Principios del acoplamiento. Tipos de acoplamiento: mínimo, datos, estructura, control, común y patológico. Medida del acoplamiento. 2

Cohesión: propósito. Alto y bajo grado de cohesión. Niveles de cohesión: funcional, secuencial, de comunicación, de procedimiento, temporal, lógico y casual. Medida de la cohesión. VII. 1er. Parcial (12va. Clase) VIII. DESARROLLO DE SISTEMAS ORIENTADO A OBJETOS (13va. y 14va Clase Bibliografía # 10 y 11) Introducción. Qué es un objeto?. Qué es orientado a objetos?. Antecedentes y evolución histórica. Conceptos fundamentales. Reusabilidad. Niveles de reusabilidad. Elementos Fundamentales: Abstracción, Encapsulamiento, Modularidad y Jerarquía. Elementos Secundarios. Concurrencia. Persistencia. Tipificación. Clases y objetos. Definiciones. Características fundamentales de los objetos: Estado, Comportamiento e Identidad. Mensaje. Características de las clases: Acoplamiento, Cohesión, Suficiencia y Compleción. Conceptos de Primitiva e Instanciación. Herencia: concepto. Modelo UML. Antecedentes históricos. Qué es UML?. Visón general y conceptos básicos. Principios de modelado. Necesidad de modelar. Desarrollo OO. Diagramas estructurales. Diagramas de comportamiento. Análisis OO. Definiciones. Diagramas. Modelo de Análisis. Diseño OO. Definiciones. Modelo de Diseño. Programación OO. Definiciones e interrelaciones. IX. DIAGRAMA DE CLASES (15va. a 18va Clase Bibliografía # 8 y 11) Terminología y conceptos. Simbología. Distintas notaciones. Relaciones entre clases: definiciones y conceptos. Tipos de relaciones: conceptos. Dependencia, Generalización y Asociación. Agregación, Composición y Enlace. Visibilidad. Similitudes y diferencias con las técnicas estructuradas. Tarjetas CRC. Antecedentes y conceptos. Pasos para obtener las tarjetas CRC. Ingeniería Directa e Ingeniería Inversa: conceptos y definiciones. Reusabilidad del código. Early-Binding y Late-Binding: conceptos y definiciones. Polimorfismo. Overriding y Overloading: conceptos y definiciones. Ampliación del concepto de Herencia: Especialización y Extensión. 3

X. DIAGRAMA DE CASOS DE USO (19va. a 22va Clase Bibliografía # 8 y 12) Definiciones y conceptos. Antecedentes. Secuencia de acciones. Diagrama de Casos de Uso. Simbología. El Caso de Uso como Caja Negra. El Caso de Uso como texto. Actores: definición y concepto. Stakeholders. Actor principal y Actor Secundario. Notación. Diagramas de Caso de Uso: Flujo de Eventos, Interacciones, Escenarios de Éxito y de Fracaso. Pasos para el desarrollo de Diagramas de Casos de Uso. Redacción de Casos de Uso: Plantillas, Precondiciones, Disparadores, Escenarios de Éxito, Extensiones. Reglas y notaciones. Organización de los casos de uso. Niveles de Casos de Uso. Simbología. Relaciones entre Casos de Uso: Asociación, Extensión, Generalización e Inclusión. Colaboraciones. XI. DIAGRAMAS DE INTERACCION (23va. y 25va Clase Bibliografía # 8 y 13) Interacciones y Mensajes: conceptos y definiciones. Tipos de Diagramas de Interacción: Diagrama de Secuencia y Diagrama de Colaboración. Diagrama de Secuencia: definiciones y conceptos. Fortalezas y debilidades. Relaciones con los Casos de Uso. Sintaxis. Pasos y reglas para su construcción. Control Centralizado y Control Distribuido. Creación y destrucción de objetos. Ciclos y condicionales. Llamadas sincrónicas y asincrónicas. Diagrama de Colaboración: definiciones y conceptos. Sintaxis. Pasos y reglas para su construcción. Relaciones con los Casos de Uso. Concepto de Iteración, Bifurcación y Transformación de Objetos. Relación con el Diagrama de Secuencia. Relación con el Diagrama de Clases. XII. PARADIGMAS DE DESARROLLO (26va. Clase Bibliografía # 9 y 14) Distintos paradigmas de desarrollo de sistemas. Ventajas y desventajas. Enfoques para el desarrollo de sistemas. Enfoque en Cascada. Enfoque en Espiral. Modelo de Boehm. Otros modelos en espiral. Prototipos. Definiciones. Clases de prototipos. Costos y beneficios. Prototipación: definición y pasos metodológicos. 4

Desarrollo Iterativo: conceptos. Iteración: definición y conceptos. Planificación manejada por el riesgo y manejada por el cliente. Desarrollo Iterativo Time-Boxing: conceptos y definiciones. Priorización de requerimientos. Consideraciones y riesgos. Desarrollo Iterativo Evolutivo y Desarrollo Evolutivo Adaptable. Entrega Incremental. Desarrollo Agil: conceptos. Manifiesto Agil. Principios. Métodos específicos. Métodos Iterativos: Scrum, XP, Evo, RUP, etc. Principales características. Ventajas y antecedentes. XIII. CONCEPTOS DE CALIDAD Y MANTENIMIENTO DE SISTEMAS (27va. Clase Bibliografía # 5) Calidad del desarrollo de sistemas: definición, Administración de Calidad, componentes de la Administración de la Calidad, Control de Calidad. Prueba de un sistema: definiciones, blackbox y white-box testing, pruebas de regresión, pruebas unitarias, prueba del sistema, prueba de aceptación, pasos para una correcta prueba de un sistema. Mantenimiento de sistemas. Problemática. Distintos enfoques. Pasos clave para un mantenimiento exitoso. Organización del mantenimiento. XIV. 2do. Parcial (28va. Clase) XV. Entrega notas, presentación de TP s (29va. Clase) XVI. Recuperatorios de Parciales (30va. Clase) XVII.BIBLIOGRAFIA 1. STRUCTURED SYSTEMS ANALYSIS: Tools & Techniques; Chris Gane y Trish Sarson; Improved Systems Technologies - 1977. 2. MODERN STRUCTURED ANALYSIS; Edward Yourdon; Prentice Hall - 1989. 3. A PRACTICAL GUIDE TO LOGICAL DATA MODELING; George Tillmann; McGraw- Hill; 1993. 4. THE PRACTICAL GUIDE TO STRUCTURED SYSTEMS DESIGN; Meilir Page-Jones ; Yourdon Press - 1989. 5. STRUCTURED ANALYSIS AND SYSTEM SPECIFICATION; Tom de Marco; Yourdon Press - 1978. 6. JOURNEY OF THE SOFTWARE PROFESSIONAL; Luke Hohmann; Prentice Hall - 1997. 5

7. STRUCTURED DESIGN; Edward Yourdon y Larry Constantine; Yourdon Press - 1979. BIBLIOGRAFIA 2da. PARTE 8. EL LENGUAJE UNIFICADO DE MODELADO; J.Rumbaugh, I.Jacobson & G.Booch; Addison-Wesley. 9. UML y PATRONES; C. Larman; Addison-Wesley. 10. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS; Timothy Budd; Addison-Wesley. 11. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CON APLICACIONES 2da Edición; Grady Booch; Addison-Wesley/Díaz de Santos. 12. WRITING EFFECTIVE USE CASES; A. Cockburn; Addison-Wesley. 13. UML DESTILLED; M. Fowler; Addison-Wesley. 14. AGILE AND ITERATIVE DEVELOPMENT; C. Larman; Addison-Wesley. 6