DISEÑOYARQUITECTURADESOFTWARE Undefined
DISEÑOYARQUITECTURADESOFTWARE Undefined
DISEÑOYARQUITECTURADESOFTWARE Undefined
1. DATOS GENERALES
1.2. Créditos: 3
1.3. Enseñanza de curso: Presencial
1.4. Horas semanales: 4
2. FUNDAMENTACIÓN
La presente asignatura le brindará al estudiante un panorama amplio sobre lo que significa diseño y
arquitectura de software considerando los siguientes aspectos: problemas, principios, patrones, técnicas,
métodos, optimización de caché, wrappers, inversión de control, programación orientada a aspectos, balanceo
de carga, frameworks, orquestación y coreografía de servicios web. Asimismo brindará al estudiante sólidos
conocimientos acerca de arquitecturas como SOA, MVC, REST y arquitecturas Cloud Computing.
3. SUMILLA
La asignatura es de carácter teórico-práctico. Se desarrolla los siguientes contenidos: Introducción a la
arquitectura de software, vistas y estilos de la arquitectura, requisitos de calidad de un software, diagramación
UML orientada al diseño arquitectónico de software, patrones de arquitectura, arquitectura orientada a servicios
( SOA ), Arquitecturas en Cloud Computing , Arquitecturas para software en dispositivos móviles y
documentación de una arquitectura de software.
Temario:
Introducción al diseño y la arquitectura de software. Estado del Arte de la Arquitectura de Software. Contexto
del diseño en múltiples ciclos de vida del desarrollo de software. Mejores Prácticas de la Ing. de Software.
Proceso de desarrollo. Documento de Visión.
Principios y procesos en las arquitecturas de software. Principios del Diseño. Acoplamiento y cohesión.
Conceptos de Orientación a Objetos. Requerimientos de Software. Documento Especificación De
requerimientos de software (SRS).
Diagramas UML orientados a la arquitectura de software. Modelo de Casos de Uso. Modelo del Dominio.
Diagramas de Componentes. Diagramas de Despliegue.
Visión de Arquitecturas de software existente. Arquitecturas Cliente Servidor. Arquitecturas Distribuidas.
Arquitecturas MVC. Arquitecturas SOA. Arquitecturas REST. Arquitecturas Cloud Computing.
Temario:
Análisis de la arquitectura de software. Análisis de Arquitecturas de Software. Patrones Arquitectónicos. Análisis
de arquitecturas centradas en casos de uso.
Diseño de la arquitectura de software. Elementos de Diseño. Mecanismos de Diseño. Patrones de Diseño.
Arquitecturas de software en Tiempo de Ejecución. Modelo de distribución. Diagramas de Interacción.
Diagramas de Componentes. Diagramas de Despliegue. GUI’s.
Patrones y Antipatrones en las arquitecturas de software. Optimización de caché. Wrappers. Inversión de
control e Inyección de Dependencias. Programación Orientada a Aspectos. Balanceo de carga. Frameworks.
Método ADD (Attribute Driven Design).
Análisis y Diseño de patrones arquitectónicos de software. Tácticas para el diseño de Arquitecturas de
software. Modelos de diseño. Diagramas de secuencia de Diseño arquitectónico
Temario:
Análisis Detallado y Diseño Detallado de Arquitecturas de software. Diseño de Subsistemas. Diagramas de
subsistemas.
Diseño Arquitectónico basado en UML para subsistemas. Diseño de Clases y Sub Clases. Diagramas de Clases.
Diseño Arquitectónico basado en UML para la integración de subsistemas. Atributos y Subatributos de Calidad
de Software. Contratos de Servicios.
Diseño Arquitectónico basado en UML para subsistemas en SOA. Protocolos SOA. Orquestación y Coreografía de
servicios web. Diagramas de Componentes para SOA. Diagramas de Despliegue para SOA.
Diseño Arquitectónico basado en UML para subsistemas en Arquitecturas para software de dispositivos móviles.
Protocolos para software para dispositivos móviles. Diagramas de Componentes para REST. Diagramas de
Despliegue para REST.
Arquitecturas Cloud Computing para software en dispositivos móviles.
Herramienta IBM RSA.
Generación de Arquitecturas de servicios utilizando Azure SAS.
6. METODOLOGÍA
Para el desarrollo de los aprendizajes del curso, una de las estrategias que se propone es la exposición del
docente que proporciona la construcción de los conocimientos a partir de ejemplos y casuísticas que faciliten la
comprensión. Asimismo, se promueve la participación activa y permanente del estudiante a través del
desarrollo de ejercicios, lecturas, absolución de preguntas, en forma individual y grupal (aprendizaje
colaborativo) lo que permite un trabajo metacognitivo, a través de la actividad autónoma del estudiante en el
desarrollo de las evaluaciones del curso (aprendizaje autónomo). Por ello es importante que el estudiante asista
a las clases, habiendo leído los temas correspondientes a cada sesión. Finalmente, se utilizan otros recursos,
como: pizarra, multimedia, videos (aprendizaje para la era digital) y comunicación a través de medios
complementarios como correos electrónicos para fomentar una mayor interacción con el estudiante.
7. SISTEMA DE EVALUACIÓN
El cálculo del promedio final se hará de la siguiente manera:
Donde:
2. El estudiante que no rinde el examen final puede rendir un único examen de rezagado. La nota obtenida en
este examen de rezagado reemplaza al examen final no rendido.
El estudiante rinde el examen de rezagado en la fecha programada por la Universidad, previa presentación
de solicitud y pago de los derechos por examen de rezagado dispuesto en el tarifario vigente y publicado
en Portal del Estudiante. Los exámenes de rezagados se aplican al final del período lectivo y abarcan todos
los temas vistos en la asignatura.
3. En caso un estudiante no rinda una práctica calificada (PC) y, por lo tanto, obtenga NSP, este es
reemplazado por la nota obtenida en el examen final. Si también tiene NSP en el examen final, este es
reemplazado por la nota obtenida en el examen rezagado. Este reemplazo de nota es automático. No es
necesario que el estudiante realice trámite alguno para que proceda el remplazo de la nota. En caso de que
el alumno tenga más de una práctica calificada no rendida, solo se reemplaza la práctica calificada de
mayor peso.
8. FUENTES DE INFORMACIÓN
Bibliografía Base:
Ivana Harari ; Díaz, Javier ; Ana Paola Amadeo. (2013). Guía de recomendaciones para diseño de
software centrado en el usuario. D - Editorial de la Universidad Nacional de La Plata.
https://tubiblioteca.utp.edu.pe/cgi-bin/koha/opac-detail.pl?biblionumber=36892
Luis, C., Perla, V., & Humberto, C. . Arquitectura del Software. Cengage Learning Editores SA.
https://tubiblioteca.utp.edu.pe/cgi-bin/koha/opac-detail.pl?biblionumber=29509
Bibliografía Complementaria:
García Mireles, Gabriel Alberto. Aplicación del modelado de procesos en un curso de ingeniería de
software. Red Revista Electrónica de Investigación Educativa. https://tubiblioteca.utp.edu.pe/cgi-
bin/koha/opac-detail.pl?biblionumber=35844
Sosa Flores, Miguel. Diseño de software para evaluación de inversiones en tecnologías de información
y comunicación. El Cid Editor. https://tubiblioteca.utp.edu.pe/cgi-bin/koha/opac-detail.pl?
biblionumber=36378
Segovia Pérez, Javier. (2005). Introducción a la Ingeniería del Software: modelos de desarrollo de
programas. Delta Publicaciones. https://tubiblioteca.utp.edu.pe/cgi-bin/koha/opac-detail.pl?
biblionumber=37015
9. COMPETENCIAS
10.CRONOGRAMA DE ACTIVIDADES
Actividades y
Unidad de aprendizaje Semana Sesión Tema
evaluaciones
Evaluación
PRÁCTICA
CALIFICADA 1
Evaluación
PRÁCTICA
CALIFICADA 2
Evaluación
PRÁCTICA
CALIFICADA 3
Evaluación
EXAMEN FINAL
18 18
INDIVIDUAL