Syllabus - Departamento de Ingeniería de Sistemas

Anuncio
Pontificia Universidad Javeriana
Departamento de Ingeniería de Sistemas
Análisis y Diseño Orientado a Objetos
Syllabus
Nombre de la Asignatura
Id de la Asignatura
Fecha de Actualización
Horas semanales
Créditos Académicos
Pre-Requisitos
Vigencia
Análisis y Diseño Orientado a Objetos
004183
Enero de 2015
Horas Contacto Clase : 4
Horas Trabajo Independiente : 2
2
Pensamiento Algorítmico
2016-30
Objetivos
Se pretende que el estudiante:
•
Asimile los conceptos fundamentales de análisis y diseño orientado a objetos.
•
Conozca los conceptos básicos del Proceso de Ingeniería de software, y sus etapas (obtención de
requerimientos, análisis, diseño, implementación, pruebas, puesta en marcha).
•
Aprenda a modelar gráficamente (diseñar) la solución de problemas con un enfoque Orientado a Objetos
(ABET c).
•
Conozca y aprenda a usar un lenguaje de modelado, en este caso UML. Adicionalmente, podrá
implementar dicho lenguaje en un editor de UML (ABET k).
•
Esté en capacidad de analizar, diseñar e implementar soluciones a problemas usando el paradigma
orientado a objetos, sustentado bajo un esquema de proceso de ingeniería de software básico. Esto es, el
estudiante obtiene la capacidad de realizar una formalización conceptual de una solución (ABET e).
Habilidades que contribuye a Desarrollar
•
Estimular la destreza para solucionar problemas mediante una metodología de análisis y diseño OO,
enmarcada dentro del proceso de ingeniería de software.
•
Dominar una herramienta de modelado para reflejar el análisis y el diseño OO.
Estrategias Pedagógicas
1.
Aprendizaje directivo mediado (Clases magistrales)
2.
Aprendizaje colaborativo (Trabajo en grupo)
3.
Talleres basados en problemas
4.
Las categorías de trabajo independiente son:
- Tareas y ejercicios
- Preparación de clases
- Preparación de Talleres
- Proyectos
Evaluación
Parciales:
Primer Parcial (20%)
Segundo Parcial (20%)
Tercer Parcial (15%)
Trabajo en Clase (20%):
Talleres en Clase (10%)
Quices y tareas (10%)
Proyecto (trabajo en equipo):
Proyecto de análisis en el semestre (25%)
- Primera entrega - Análisis (7%)
- Segunda entrega - Diseño 1 (9%)
- Tercera entrega - Diseño 2 (9%)
Referencias Bibliográficas
Textos guías
LARMAN, C. “UML y Patrones”, Segunda Edición, Pearson Educación, 2002. (2 copias en Consulta en Sala
– piso 0 Biblioteca U. Javeriana: ref 001.6424 L17U)
[1]. BOOCH, G., RUMBAUGH, J. y JACOBSON, I. “El Lenguaje Unificado de Modelado UML”, Pearson Educación,
Segunda Edición 2006.
[2]. FOWLER M. “UML Distilled: A Brief Guide to the Standard Object Modeling Language”, Third Edition Sep.2003
[3]. BRUEGGE, B. y DUTOIT, A. “Ingeniería de Software Orientado a Objetos”. Prentice Hall, 2002.
[4] HOOKS, Ivy, “Writing Good Requirements”. Proceedings of the Third NCOSE Symposium, Vol. 2, 1993.
[5] WIEGERS, Karl E., “Writing Quality Requirements”, Process Impact, www.processimpact.com
[6]. COCKBURN, “A. Basic Use Case Template”. Sep. 2006
[7]. ECKEL B. “Thinking in Java, Thinking in Patterns”, Sep.2006
* Material de apoyo en UML en Internet:
o IBM_Clases
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/nov03/t_modelinguml_db.pdf
o The Object Primer, Copyright 2003-2006 Scott W. Ambler
http://www.agilemodeling.com/artifacts/classDiagram.htm#Associations
o UML 2.0 http://www.uml.org/index.htm#UML2.0
Programa por semana y por clase
Semana
Clase
Tema
1
1
Presentación del Curso
1
2
•
Presentación del Curso
•
Proceso de desarrollo de software y especialidades de la Ingeniería de Sistemas
•
Importancia del modelado en el proceso de desarrollo de Sw
•
El proceso de Ingeniería de Sw
•
RUP estrategias y contexto en ADOO
•
Procesos ágiles
•
Introducción UML (Historia, Contextualización y Presentación de los diagramas
más usados y su contexto dentro del proceso de IS)
•
Relación de diagramas UML con los procesos de Ingeniería de Software
* Tarea. Leer:
* Capítulo 1. “Por qué Modelamos” [Booch]
* Capítulo 2 “Development Process” de [Fowler]
* Para profundizar.
* Capítulo 1. “Introduction” de [Fowler]
* Capítulo 2 “Desarrollo Iterativo y el Proceso Unificado” de [Larman])
2
3
•
Ingeniería de Requerimientos
•
Clasificación de Requerimientos
* Tarea: investigación sobre los requerimientos: definición, tipos y FURPS+. Entregar
un resumen de una página.
* Tarea: Leer sobre requerimientos:
* Cap 5 “Comprensión de los requisitos” de [Larman]
2
4
•
Buenas prácticas para la escritura de requerimientos
•
Validación y verificación de requerimientos
•
Taller de requerimientos (verificación y validación de la tarea)
* Tarea. lectura sobre:
* Buenos Requerimientos [Ivy Hooks]
* Escribiendo Requerimientos de Calidad [Karl E. Wiegers]
* Tarea: identificar y escribir los requerimientos de un sistema de software que desee
un familiar.
3
5
•
Casos de Uso
•
Teoría (Relaciones: inclusión, extensión y generalización)
•
Ejemplos
* Tarea. lectura sobre UML:
* Capítulo 6 “Modelo de Casos de Uso” [Larman]
* Capítulo 9 “Use Cases” [Fowler]
3
6
•
Taller de Casos de Uso
* Tarea: descripción de tres editores de UML para la elaboración de los diferentes
diagramas en UML. En una página.
4
7
•
Documentación de casos de uso esenciales
•
Explicación de la herramienta HACER-USOS
•
Explicación de la plantilla de Cockburn
•
Taller de documentación de casos de uso
* Tarea: leer la documentación de HACER-USOS.
4
8
5
9
5
10
6
11
•
Taller de casos de uso y documentación
•
Taller de casos de uso y documentación
Primer parcial
•
Conceptos Básicos de OO
•
Paradigma de POO
•
Evolución, Beneficios, Desventajas
* Tarea. Lectura de conceptos POO: Capítulo 1 “Introducción a los objetos” de [Eckel]
6
12
•
Solución de parcial
•
Herencia
o
Concepto Herencia
o
Vinculación dinámica
o
Polimorfismo
Primera entrega proyecto
7
13
•
Taller de Conceptos de Paradigma OO
7
14
•
TC: Comprobación de lectura de conceptos OO
•
Introducción al modelo de Dominio
* Tarea: lectura del modelo de dominio:
* Capítulo 10. “Visualización de conceptos” [Larman]
* Capítulo 11. “Añadir Operaciones” [Larman]
* Capítulo 12. “Añadir Atributos” de [Larman]
8
15
8
16
9
17
9
18
10
19
•
Taller modelo de dominio
•
Taller modelo de dominio
•
Diagrama de clases:
o
Identificación de clases
o
Atributos y Características
•
Conceptos de clase
•
Relaciones entre clases
•
Taller Diagrama de clases
•
Taller Diagrama de clases
* Tarea: preparar el diagrama de clases (caso dado en clase)
10
20
•
Diagramas de interacción – Secuencia
•
Taller de Diagramas de Secuencia
* Tarea. Lectura
* Capítulo 15: “Notación de los diagramas de Interacción” de [Larman]
11
21
11
22
12
23
•
Taller de diagramas de secuencia
•
Taller de diagramas de secuencia
•
Diagramas de Colaboración
* Tarea: lectura sobre los diagramas de Colaboración:
* Capítulo 19: “Diagramas de Interacción” de [Booch, R. & J.]
12
24
13
25
13
26
•
Taller de Diagramas de Colaboración
Segundo parcial
•
Introducción de Patrones GRASP
•
Ejercicios Aplicación GRASP
* Tarea: lectura de Patrones GRASP:
* Cap 16: “GRASP: Diseño de Objetos con Responsabilidades” de [Larman]
Segunda entrega proyecto
14
27
•
Ejercicios Aplicación GRASP
* Tarea: lectura de Patrones GRASP
14
28
•
Patrones GoF:
o
Singleton
o
Factory Method
o
Composite
* Tarea: lectura de los patrones GoF
* Cap 23: “Patrones de diseño GoF” de [Larman]
15
29
•
Patrones GoF:
o
Adapter
o
Strategy
o
Observer
o
MVC
* Tarea: lectura de los patrones GoF:
* Cap 23: “Patrones de diseño GoF” de [Larman]
15
30
16
31
16
32
•
Taller de Patrones GoF
•
Taller de Patrones GoF
•
Diagrama de Actividad
Tercer Parcial
Tercera entrega proyecto
Descargar