Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONTENIDOS
1.
2. 3. 4. 5.
Ciclo de vida del software El proceso de desarrollo OO UML NOTACIN UML: Diagrama de Clases Ejemplo: Gestin Acadmica
EL PROCESO DE DESARROLLO OO
1.
2.
3.
UML
El Unified Modeling Language (UML) define un lenguaje de modelado orientado a objetos comn para visualizar, especificar, construir y documentar los componentes de un sistema software OO. El UML no es una metodologa, sino una notacin que trata de posibilitar el intercambio de modelos de software.
UML
Diagramas para modelar el Comportamiento del Sistema: Diagrama de Casos de Uso: Muestra un conjunto de casos de uso y actores y sus relaciones. Diagrama de Secuencia: Diagrama de interaccin con la relacin temporal de los mensajes y los objetos. Diagrama de Colaboracin: Diagrama de interaccin que resalta la organizacin estructural de los objetos que envan y reciben mensajes. Diagrama de Estados: Muestra una mquina de estados, que consta de estados, transiciones, eventos y actividades. Vista dinmica del sistema. Diagrama de Actividades: Muestra el flujo de actividades dentro de un sistema. Diagramas para modelar la Estructura del Sistema: Diagrama de Clases: Muestra un conjunto de clases, interfaces y colaboraciones, as como sus relaciones. Diagrama de Objetos: Muestra un conjunto de objetos y sus relaciones. Diagrama de Componentes: Muestra la organizacin y las dependencias entre un conjunto de componentes. Diagrama de Despliegue: Representa la infraestructura de un sistema en tiempo de ejecucin.
Programacin Orientada a Objetos Tema 4: ANLISIS Y DISEO OO CON UML
Un Diagrama de Estructura Esttica (conocido ms popularmente como Diagrama de Clases) muestra la estructura esttica del modelo del sistema, es decir, todo aquello que exista en el sistema, mostrando su estructura interna as como sus relaciones entre los diferentes elementos. En un diagrama de clases, los elementos que nos vamos a encontrar son: las clases y las relaciones entre clases. Clase: Nombre + Atributos + Operaciones
Interfaces: Representan un conjunto de operaciones que especifican los servicios que puede brindar una clase o componente y nunca debe especificar sus implementaciones.
Las asociaciones pueden estar formadas por un nmero indeterminado de clases pero las ms comunes y utilizadas son las asociaciones binarias, es decir, aquellas relaciones entre dos clases.
Agregacin (relacin del tipo todo/parte) entre clases se expresa mediante un rombo adyacente a la clase que representa la totalidad y de dicho rombo parten las asociaciones al resto de clases que forman dicha agregacin.
Composicin (relacin de pertenencia) es representada de igual forma que la agregacin pero con el interior del rombo pintado de negro.
10
Herencia (o generalizacin) se representa mediante un tringulo unido a la clase padre por un vrtice y del cual salen las relaciones a las clases hijas.
11
Ejemplo: En este ejemplo se pueden apreciar las relaciones que hay entre una facultad, sus departamentos, sus profesores y sus alumnos:
12
2.
3.
4.
5.
Realizar un anlisis sintctico-gramatical de la documentacin existente: Utilizar la documentacin de los casos de uso. Subrayar cada nombre (sustantivo) o clusula nominal. Decidir qu objetos se admiten como objetos del sistema. A partir de los nombres subrayados, proponer varios objetos potenciales. Identificacin de relaciones: Las relaciones se obtienen analizando la estructura de la informacin del sistema. Expresiones como: es, tiene, consta de, en la descripcin del sistema, sugieren la existencia de relaciones entre objetos. Identificacin de atributos: Los atributos se obtienen de la lista de objetos candidatos y de la descripcin del sistema. Los objetos descartados por simples sern atributos. Identificacin de operaciones: Las operaciones de los objetos se derivan de los verbos que aparecen en la descripcin del sistema. Los parmetros de las operaciones se derivan de la informacin intercambiada por los objetos que interactan.
Programacin Orientada a Objetos Tema 4: ANLISIS Y DISEO OO CON UML
13
Se desea desarrollar una aplicacin para la gestin acadmica de una universidad. Especificaciones:
El sistema debe ser capaz de gestionar todos los expedientes acadmicos de los alumnos dando la posibilidad de realizar las operaciones tpicas de altas, bajas, modificaciones y consultas de los datos del mismo. Debemos dar un nmero de expediente nico en el sistema y una fecha de apertura.
La informacin mnima que se debe guardar de un alumno son el DNI, nombre, direccin, la titulacin en la que est matriculado, as como las asignaturas que est cursando actualmente. Tambin debemos almacenar su historial acadmico, donde deben aparecer todas las asignaturas cursadas y sus respectivas notas y convocatoria.
14
Se debe realizar la gestin de las distintas titulaciones que existen en la universidad teniendo en cuenta que una titulacin slo se da en un campus determinado y los datos que podemos consultar son el nombre, el nmero de crditos, si es de primer o segundo ciclo, etc. Se tienen que gestionar las asignaturas que se imparten en una titulacin, teniendo en cuenta que una asignatura solo se puede dar en un nico curso. Algunos de los datos que se pueden consultar de una asignatura son: el nombre, nmero de crditos, cuatrimestre en el que se imparte y su tipo (obligatoria, troncal, optativa). Se debe guardar la informacin de los profesores que imparten las distintas asignaturas de la titulacin. Se debe almacenar como mnimo su DNI, nombre, direccin y departamento al que pertenece. Tambin se podr consultar las distintas asignaturas que imparte.
15
16
BIBLIOGRAFA
Anlisis y diseo estructurado y orientado a objetos de sistemas informticos. Amescua, Antonio. McGraw-Hill, 2003. Programacin orientada a objetos. Segunda Edicin. Joyanes Aguilar, Luis. McGraw-Hill, 1998. Utilizacin de UML en Ingeniera del Software con Objetos y componentes. Stevens, Perdita. Addison Wesley, 2002. El Proceso Unificado de Desarrollo de Software. Jacobson, Ivar; Booch, Grady, Rumbaugh, James. Addison Wesley, 2000. El Lenguaje Unificado de Modelado. Booch, Grady, Rumbaugh, James; Jacobson, Ivar. Addison Wesley, 2001. Ingeniera de software orientado a objetos. Bruegge, Brend; Dutoit, Allen H. Prentice Hall, 2002. www.uml.org Ingeniera de software. 6 Edicin. www.programacion.com/tutorial/uml Sommerville, Ian. www.csi.map.es/csi/metrica3 Addison Wesley, 2002. Programacin Orientada a Objetos Tema 4: ANLISIS Y DISEO OO CON UML