Antecedentes Generales

Clave Nombre de la asignatura
EII -210 Arquitectura de Sistemas de Software
Horas semanales de cátedra Horas semanales prácticas Créditos PUCV
Taller Ayudantía
6 2 2 5
Pre-requisitos
  EII -147 Introducción a las Tecnologías de la Información

Resumen

Esta asignatura presenta principios de diseño, herramientas y técnicas utilizadas en el desarrollo de software orientado a objetos, en el diseño de bases de datos y en la implementación de aplicaciones sobre servidores Web. Los conocimientos son integrados y practicados mediante la realización de un proyecto grupal de desarrollo de software.

Objetivos de Aprendizaje

Al cursar esta asignatura el alumno será capaz de:

  • Interpretar modelos de diseño expresados como diagramas de clases, diagramas de objetos y diagramas de interacción de UML (Unified Modelling Language).
  • Aplicar principios de diseño orientado a objetos en el diseño de arquitecturas de software.
  • Aplicar patrones de diseño para lenguajes orientados a objetos en la resolución de problemas de desarrollo de software.
  • Implementar en un lenguaje de programación orientado a objetos estructuras de datos dinámicas más comunes empleadas para la manipulación de datos en memoria principal.
  • Diseñar e implementar bases de datos relacionales y manipularlas mediante SQL (Structured Query Language).
  • Desarrollar aplicaciones simples de tres capas, para operar en Web.
  • Practicar el desarrollo de software como trabajo en equipo.

Contenidos de la Asignatura

Unidad 1 : Introducción a las arquitecturas de software (3 sesiones)

  • Descripción de arquitectura de software
  • Software monolítico, arquitectura cliente/servidor, arquitectura de tres capas.
  • Ingeniería de software: presentación.


Unidad 2 : Diseño orientado a objetos (9 sesiones)

  • El Lenguaje Unificado de Modelamiento (UML): Diagramas de Clases, Diagramas e Objetos, Diagramas de Interacción.
  • Principios de diseño orientado a objetos: Principio de Sustitución de LIskov, Principio Abierto-Cerrado, Principio de Inversión de Dependencia, Principio de encapsulación (encapsulación de datos, de operaciones, de tipo, y de detalles arquitecturales).
  • Patrones de diseño: definiciones, ejemplos de patrones GoF, patrón Modelo-Vista-Controlador.


Unidad 3 : Estructuras de datos en memoria principal (6 sesiones)

  • Estructuras dinámicas elementales: lista simplemente enlazada, doblemente enlazada, lista circular.
  • Colecciones tradicionales (lista, pila, cola): implementación mediante estructuras dinámicas y estáticas; ventajas y desventajas.
  • Árboles: definiciones; Árbol Binario de Búsqueda (ABB); operaciones y recorrido sobre un ABB.


Unidad 4 : Sistemas de Bases de datos (6 sesiones)

  • Definiciones: sistema de base de datos, sistema de administración de base de datos.
  • El modelo de bases de datos relacional: fundamentos.
  • Álgebra relacional
  • Modelo Entidad-Relación
  • Normalización de bases de datos relacionales
  • Diseño de bases de datos relacionales
  • Lenguaje de consulta estructurado (SQL); SQL inserto en aplicaciones.
  • Bases de datos orientadas a objetos: presentación, características.


Unidad 5 : Aplicaciones sobre Internet (9 sesiones)

  • Protocolos de red en Internet
  • Lenguajes para desarrollo de aplicaciones en Web
  • XML como lenguaje de intercambio de datos entre aplicaciones.
  • Tecnologías para la integración de sistemas distribuidos (ej. Webservices)