El objetivo general de la asignatura es proporcionar al alumno los fundamentos teóricos y las competencias prácticas que le permitan analizar, diseñar, desarrollar y depurar aplicaciones informáticas siguiendo el paradigma orientado a objetos. Esta es una asignatura eminentemente práctica y en este sentido está orientada al trabajo de los alumnos en la realización de uno o varios proyectos.
Para facilitar el desarrollo de los proyectos, en la asignatura se realizará primeramente una muy breve introducción a la disciplina de Ingeniería del Software, conectandola con el paradigma de la programacion orientada a objetos (POO) y limitandola solo a las etapas de análisis, diseño, implementación y depuración. A continuación se analizarán en detalle los elementos de la POO, utilizando elementos y diagramas UML que serán utilizados por los alumnos en sus desarrollos.
Para alcanzar este objetivo general los contenidos que se verán en la asignatura se pueden resumir en los siguientes ítems:
- Conceptos básicos de Ingeniería del Software.
- Conceptos básicos de la orientación a objetos: clases y objetos.
- Encapsulación. Principio de ocultación. Conceptos de desacoplamiento y cohesión
- Herencia, abstracción, polimorfismo y reutilización
- Relaciones entre clases: generalización, asociación y dependencia.
- Comunicación entre objetos: métodos, eventos, mensajes.
- Persistencia. Almacenamiento en ficheros y en bases de datos.
- Generación, captura y procesamiento de excepciones.