• No se han encontrado resultados

Pontificia Universidad Católica Argentina

N/A
N/A
Protected

Academic year: 2021

Share "Pontificia Universidad Católica Argentina"

Copied!
6
0
0

Texto completo

(1)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

PROGRAMA DE INGENIERÍA DE SOFTWARE I

2010

Carrera : Ingeniería Informática

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.

(2)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

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.

Ejercitación Práctica.

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.

Ejercitación Práctica.

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.

(3)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

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.

Ejercitación Práctica. 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.

Ejercitación Práctica.

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.

(4)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

Ejercitación Práctica.

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.

Ejercitación Práctica.

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.

Ejercitación Práctica.

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.

(5)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

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, black-box y white-black-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)

Pontificia Universidad Católica Argentina

“SANTA MARÍA DE LOS BUENOS AIRES”

Facultad de Ciencias Fisicomatemáticas e Ingeniería

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.

Referencias

Documento similar