Está en la página 1de 5

SÍLABO DEL CURSO

DISEÑO Y ARQUITECTURA DE SOFTWARE

1. DATOS GENERALES
1.1 Facultad : Ingeniería y Arquitectura
1.2 Carrera Profesional : Ingeniería de Sistemas
1.3 Departamento : Ingeniería de Sistemas
1.4 Tipo de curso : Obligatorio
1.5 Requisitos :
1.6 Ciclo de Estudios :6
1.7 Duración del curso : 17 semanas
Inicio : 22 de Agosto del 2011
Término : 17 de Diciembre del 2011
1.8 Extensión horaria : 7 horas semanales
1.9 Créditos :4
1.10 Período lectivo : 2011 – 2
1.11 Docentes : Ingº Jorge A. Sánchez Castro.
jorge.sanchez@upnorte.edu.pe
Ingº Jimmy anhuaman León
Jimmy.anhuaman@upnorte.edu.pe

2. FUNDAMENTACIÓN

Se cubren los conceptos, técnicas y métodos para el diseño detallado de los componentes software,
su API, clases (operaciones, atributos y asociaciones); así como la aplicación de patrones de diseño
de productos software empleando OMG UML y la automatización de dichas actividades a través del
empleo de herramientas CASE. Se aborda la documentación del diseño; así como el diseño e
implementación de pruebas unitarias de acuerdo con el diseño establecido. El curso cubre los
principales estilos arquitectónicos, frameworks y middlewares para el desarrollo de producto software.

3. COMPETENCIA
Al concluir el curso el alumno podrá elaborar un diseño arquitectónico y diseño detallado de
software, así como aplicar patrones de diseño de productos de software empleando UML. y la
automatización de dichas actividades a través del empleo de la herramientas CASE.

4. OBJETIVOS ESPECÍFICOS DEL CURSO

OC1. Comprender el rol de la arquitectura y del Arquitecto dentro del proceso de desarrollo de
software y su importancia.
OC2. Comprender la solución de problemas recurrentes de diseño, aplicando patrones de diseño
(patrones GoF).
OC3. Diseñar API para componentes software que garanticen la integración, en el marco de una
arquitectura definida.
OC4. Diseñar y especificar al detalle las clases que conforman un componente software, aplicando
patrones de diseño.
OC5. Documentar técnicamente componentes de acuerdo a las especificaciones y usando
herramientas de diseño y de automatización de documentación.
OC6. Implementar prototipos arquitectónicos ejecutables que aseguren los requerimientos de alto
riesgo sobre la arquitectura del software utilizando un lenguaje de programación C# de .NET.

5. CONTENIDOS CONCEPTUALES

 Diseño en la Ingeniería, definición del problema, alternativas de solución.


 Acoplamiento y la cohesión.
 Atributos del diseño (confiabilidad, uso, desempeño, puede probarse, tolerancia a fallas, etc.).
Principios, criterios y restricciones del diseño.
 La arquitectura del software. Diseño de capas.
 Patrones de arquitectura de software.
 Diagramas de interacción. Diseño de escenarios. Diagrama de estados. Diagrama de
actividad.
Sílabo del Curso DISEÑO Y ARQUITECTURA DE SOFTWARE

 Componentes del software. Diagramas de Componentes. Diseño de la interfaces.


 Clases de diseño. Diseño de operaciones (pre y post condiciones e invariantes) y atributos.
 Manejo de excepciones. Diseño de interfaces. Diseño de los datos. Diseño de algoritmos.
 Patrones de diseño.

6. CONTENIDOS PROCEDIMENTALES
 Aplican el Lenguaje de Modelamiento Unificado (UML) para representar la arquitectura de un
producto software.
 Emplean herramientas CASE para elaborar las especificaciones de diseño acorde con UML.
 Implementan la arquitectura de un producto software partiendo de las especificaciones de la
arquitectura contenidas en el SAD con un lenguaje orientado a objetos.
 Elaboran la especificación de la arquitectura (SAD) a través de la aplicación de herramientas
CASE generadoras de documentación (IBM Rational SoDA)
 Aplican, utilizando UML, patrones de diseño en la resolución de problemas de diseño,
adaptándolos a casos concretos.
 Implementar un producto de software utilizando .NET

7. CONTENIDOS ACTITUDINALES
 Analítica
 Creatividad
 Crítica
 Trabajo en equipo.
 Comunicativo.
 Motivador.
 Orientado a metas.
 Proactivo.

8. METODOLOGÍA GENERAL DEL CURSO


Se desarrolla a través de actividades teórico – prácticas y de laboratorios usando casos de estudios.
Los estudiantes, organizados en equipos, desarrollarán un caso de estudio pequeño a lo largo del
curso en el que aplicarán el diseño arquitectónico y diseño detallado. Las actividades teóricas y
prácticas se desarrollarán a través del desarrollo de casos de estudio. Al finalizar al curso los alumnos
deberán presentar un Proyecto implementado en .NET

9. PROGRAMACIÓN

UNIDAD SEM ACTIVIDAD

 Clase 01: Introducción al curso. Introducción a la Ingeniería de Software.


 Laboratorio RUP01: Caso. Requerimientos. Modelo de Use case.

1 FUENTES BIBLIOGRÁFICAS:
[03] Capítulo 01: Software e Ingeniería de Software.
[03] Capítulo 02: El proceso: una visión general.
[04] Capitulo 06: Requerimientos de Software
 Clase 02 : Arquitectura Empresarial. Arquitecturas de Software. Estilos
Arquitectónicos. Análisis de los principales modelos arquitectónicos de
Arquitectura de Software. Sistemas Distribuidos (Broker). MVC. El Diseño
en Ingeniería y en el ciclo de vida.
UNIDAD 1  Laboratorio RUP02: Rational Requisite Pro. Rational Software Architec.
Introducción al Diseño y Diagrama de Use Case. Arquitectura Funcional
Arquitectura de Software
2
(4 Semana) FUENTES BIBLIOGRÁFICAS:
[05] Capitulo 01 Análisis y Diseño orientado a objetos
[03] Capítulo 09 Ingeniería del Diseño
05] Capítulo10: Modelo del Dominio: visualización de Conceptos
[05] Capítulo 11: Modelo del Dominio: Añadir asociaciones
[05] Capítulo 12: Modelo del Dominio añadir atributos.

3
 Clase 03: Disciplina del Análisis y Diseño. Análisis Arquitectónico. Los
componentes en la arquitectura del software. Diagramas de componentes.
Componentes, interfaces y dependencias. Despliegue. Documtento SAD
 Laboratorio RUP03: Modelo de Diseño.

2
DISEÑO Y ARQUITECTURA DE SOFTWARE Semestre 2011-2

FUENTES BIBLIOGRÁFICAS:
[02] Capítulo 09 Diseño
[03] Capítulo 10 Diseño Arquitectónico
[05] Capitulo 30 Diseño de la Arquitectura Lógica con Patrones

 Clase 04: Operaciones del Sistema. El Diagrama de Clases: Las Clases,


atributos y operaciones. Asociaciones entre clases.
 Laboratorio RUP04: Modelo del Dominio
4
FUENTES BIBLIOGRÁFICAS:
[04] Capítulo 12 Arquitecturas de Sistemas Distribuidos
[04] Capítulo 13 Arquitectura de Aplicaciones
[05] Capitulo 32 Introducción al análisis arquitectural y el SAD

 Practica Calificada 1
 Laboratorio RUP05: Modelo del Diseño. Operaciones del Sistema.

5 FUENTES BIBLIOGRÁFICAS:
[05] Capítulo 16: GRASP: diseño de objetos con responsabilidades
[05] Capítulo 18 : Modelo de Diseño: determinación de la visibilidad
[05] Capítulo 19 : Modelo de Diseño: creación de los diagramas de clases de
diseño

 Clase 06: Presentación de Avance de Proyectos.


 Laboratorio RUP06: Modelo del Diseño. Operaciones del Sistema.
UNIDAD 2
Diseño de Clases y Patrones 6
(3 Semanas) FUENTES BIBLIOGRÁFICAS:
[05] Capítulo 20 : Modelo de Implementación: creación de los diagramas
de clases de diseño

 Clase 07: Patrones de diseño I: Creacionales y Estructurales. Patrones de


diseño II: De Comportamiento
 Laboratorio RUP07: Modelo del Diseño. Diagrama de Secuencia.
7 FUENTES BIBLIOGRÁFICAS:
[05] Capítulo 14: De los requisitos al diseño
[05] Capítulo 15: Notación de los Diagramas de interacción.
[05] Capítulo 13: Modelo De casos de uso: añadir detalles con los contratos de
las operaciones

 AVANCE DE PROYECTO 1
8
 EXAMEN PARCIAL

 Clase 09: Diseño de Use Case. Clases del Diseño. El Documento de


Especificación Detallada.
 Laboratorio RUP09: Modelo del Diseño. Diagrama de Secuencia.

9
FUENTES BIBLIOGRÁFICAS:
[05] Capítulo 22: GRASP: más patrones para asignar responsabilidades.
[05] Capítulo 23:Diseño de las realizaciones de casos de uso con los patrones
de diseño GoF
[05] Capítulo 17: Modelo de Diseño: realización de los casos de uso con
los patrones GRASP
UNIDAD 3
Diseño Detallado y Patrones
(3 semanas)  Clase 10: Diseño detallado de componentes . Diseño del API: Patrón
Fachada . Requerimientos de arquitectura asociados al diseño de los
componentes
 Laboratorio RUP10 : Diagrama de clases de Diseño.
10
FUENTES BIBLIOGRÁFICAS:
[03] Capitulo 11: Diseño a nivel de componentes
[01] Capitulo 25: Componentes.
[04] Capitulo 19: ingeniería del software basada en componentes.

 Clase 11: Diseño de clases


11
 Laboratorio RUP11 : Diagrama de clases de Diseño.

3
Sílabo del Curso DISEÑO Y ARQUITECTURA DE SOFTWARE

FUENTES BIBLIOGRÁFICAS:
[03] Capitulo 30: Ingeniería de Software basada en Componentes
[01] Capitulo 30: Diagrama de Despliegue.

 Clase 12: Practica Calificada 2


 Laboratorio RUP12: Avance de Proyecto 2
12
FUENTES BIBLIOGRÁFICAS:
[01] Capitulo 29: Diagrama de Componentes.
[01] Capitulo 26: Despliegue.

 Clase 13: Diseño de la persistencia . Mapeo del modelo OO al modelo de


datos . Patrones de diseño para capa de acceso a datos: Abstract Factory,
Bridge y DAO.
 Laboratorio RUP13: Diseño de Base de Datos.
UNIDAD 4 13
Diseño de la Persistencia y
refinamiento FUENTES BIBLIOGRÁFICAS:
(4 semanas)
[05] Capítulo 34: Diseño de un Framework de persistencia con Patrones

 Clase 14: Refinamiento del diseño . Mecanismos de herencia, polimorfismo


y delegación . Manejo de excepciones . Refactoring.
 Laboratorio RUP14: Refactoring
14
FUENTES BIBLIOGRÁFICAS:

[03] Capitulo 31: Reingeniería

15 Presentación del Proyecto Final

16 Examen Final

17 Examen Sustitutorio

10. SISTEMA DE EVALUACIÓN DEL CURSO


El cronograma de la evaluación continua del curso es el siguiente:

ESPECIFICACIÓN DE TRABAJOS DEL CURSO


T Descripción Semana
T1 Práctica Calificada + Practica laboratorio 5
T2 Practica Calificada + Practica Laboratorio 12
T3 Presentación de proyecto en 15

El peso de cada T es:

PESO ESCALA
EVALUACIÓN
(%) VIGESIMAL
T01 20 2,4
T02 35 4,2
T03 45 5,4
TOTAL 100% 12

Los pesos ponderados de las clases de evaluación son los siguientes:

PESO ESCALA
EVALUACIÓN
(%) VIGESIMAL
PARCIAL 20 4
CONTINUA 60 12
FINAL 20 4
TOTAL 100% 20

4
DISEÑO Y ARQUITECTURA DE SOFTWARE Semestre 2011-2

El examen Parcial se llevará a cabo en la semana 8 y el Examen Final se llevará a cabo en la semana
16. La Evaluación Sustitutoria evalúa toda la temática desarrollada en el semestre y se rinde la
semana consecutiva al término de los exámenes finales y su nota reemplazará, necesariamente, a la
nota de un Examen (Parcial o Final) o a la nota de un T (Evaluación Continua), de tal manera que el
resultado final sea favorable al alumno.

11. BIBLIOGRAFÍA OBLIGATORIA

# CÓDIGO AUTOR TITULO


EL LENGUAJE UNIFICADO DE MODELADO,
005.117 BOOC
1 JACOBSON, G. BOOCH, J. RUMBAUGH. GUÍA DEL USUARIO. ED. ADDISON
2006
WESLEY , 1999.
EL PROCESO UNIFICADO DE
2 005.1068 JACO JACOBSON, G. BOOCH, J. RUMBAUGH. DESARROLLO DE SOFTWARE. ED.
ADDISON WESLEY, 1999.
005.1 PRES INGENEIRÍA DE SOFTWARE: UN ENFOQUE
3 PRESSMAN, ROGER PRÁCTICO, 6ta Edición. MADRID:
2005 MCGRAWHILL

005.1 SOMM INGENIERIA DE SOFTWARE. 7ma Edición.


4 SOMMERVILLE IAN
MÉXICO DF. PEARSON EDUCACIÓN.
2005
005.117 LARM UML y patrones una introducción al análisis y
5 Larman, Graig: diseño orientado a objetos y al proceso
2003 unificado

12. BIBLIOGRAFÍA COMPLEMENTARIA

# AUTOR TITULO
4
5
6